components

SYSTEMS AND METHODS FOR ULTRASONIC INSPECTION OF TURBINE COMPONENTS

Embodiments of the disclosure relate to ultrasonic inspection of turbine components. In one embodiment, a method for ultrasonic inspection of a turbine component can include mounting at least one array of transducer elements to the turbine component, (a) separately pulsing a transducer element of the at least one array of transducer elements to transmit a signal to the turbine component, (b) capturing reflected signals from the turbine component at each transducer element in the at least one array of transducer elements, repeating (a) and (b) for each of the other transducer elements in the at least one array of transducer elements, maintaining a constant relative position of the array of transducer elements with respect to the turbine component, analyzing the captured reflected signals using a computer, generating an image of the interior volume of the turbine component by reconstruction of the captured reflected signals and based at least in part on detecting an anomaly in the image of the interior volume of the turbine component, identifying at least one defect or failure in the turbine component.




components

AMPLIFYING ELECTRONIC CIRCUIT WITH REDUCED START-UP TIME FOR A SIGNAL INCLUDING QUADRATURE COMPONENTS

An electronic circuit for amplifying signals with two components in phase quadrature, which includes: a feedback amplifier with a feedback capacitor; a switch that drives charging and discharging of the feedback capacitor; an additional capacitor; and a coupling circuit, which alternatively connects the additional capacitor in parallel to the feedback capacitor or else decouples the additional capacitor from the feedback capacitor. The switch opens at a first instant, where a first one of the two components assumes a first zero value; the coupling circuit decouples the additional capacitor from the feedback capacitor in a way synchronous with a second instant, where the first component assumes a second zero value.




components

A Proteomic Analysis of Human Cilia: Identification of Novel Components

Lawrence E. Ostrowski
Jun 1, 2002; 1:451-465
Research




components

On the predictive potential of kernel principal components

Ben Jones, Andreas Artemiou, Bing Li.

Source: Electronic Journal of Statistics, Volume 14, Number 1, 1--23.

Abstract:
We give a probabilistic analysis of a phenomenon in statistics which, until recently, has not received a convincing explanation. This phenomenon is that the leading principal components tend to possess more predictive power for a response variable than lower-ranking ones despite the procedure being unsupervised. Our result, in its most general form, shows that the phenomenon goes far beyond the context of linear regression and classical principal components — if an arbitrary distribution for the predictor $X$ and an arbitrary conditional distribution for $Yvert X$ are chosen then any measureable function $g(Y)$, subject to a mild condition, tends to be more correlated with the higher-ranking kernel principal components than with the lower-ranking ones. The “arbitrariness” is formulated in terms of unitary invariance then the tendency is explicitly quantified by exploring how unitary invariance relates to the Cauchy distribution. The most general results, for technical reasons, are shown for the case where the kernel space is finite dimensional. The occurency of this tendency in real world databases is also investigated to show that our results are consistent with observation.




components

Application of weighted and unordered majorization orders in comparisons of parallel systems with exponentiated generalized gamma components

Abedin Haidari, Amir T. Payandeh Najafabadi, Narayanaswamy Balakrishnan.

Source: Brazilian Journal of Probability and Statistics, Volume 34, Number 1, 150--166.

Abstract:
Consider two parallel systems, say $A$ and $B$, with respective lifetimes $T_{1}$ and $T_{2}$ wherein independent component lifetimes of each system follow exponentiated generalized gamma distribution with possibly different exponential shape and scale parameters. We show here that $T_{2}$ is smaller than $T_{1}$ with respect to the usual stochastic order (reversed hazard rate order) if the vector of logarithm (the main vector) of scale parameters of System $B$ is weakly weighted majorized by that of System $A$, and if the vector of exponential shape parameters of System $A$ is unordered mojorized by that of System $B$. By means of some examples, we show that the above results can not be extended to the hazard rate and likelihood ratio orders. However, when the scale parameters of each system divide into two homogeneous groups, we verify that the usual stochastic and reversed hazard rate orders can be extended, respectively, to the hazard rate and likelihood ratio orders. The established results complete and strengthen some of the known results in the literature.




components

African edible insects as alternative source of food, oil, protein and bioactive components

9783030329525 (electronic bk.)




components

Efficient estimation of linear functionals of principal components

Vladimir Koltchinskii, Matthias Löffler, Richard Nickl.

Source: The Annals of Statistics, Volume 48, Number 1, 464--490.

Abstract:
We study principal component analysis (PCA) for mean zero i.i.d. Gaussian observations $X_{1},dots,X_{n}$ in a separable Hilbert space $mathbb{H}$ with unknown covariance operator $Sigma $. The complexity of the problem is characterized by its effective rank $mathbf{r}(Sigma):=frac{operatorname{tr}(Sigma)}{|Sigma |}$, where $mathrm{tr}(Sigma)$ denotes the trace of $Sigma $ and $|Sigma|$ denotes its operator norm. We develop a method of bias reduction in the problem of estimation of linear functionals of eigenvectors of $Sigma $. Under the assumption that $mathbf{r}(Sigma)=o(n)$, we establish the asymptotic normality and asymptotic properties of the risk of the resulting estimators and prove matching minimax lower bounds, showing their semiparametric optimality.




components

Eigenvalue distributions of variance components estimators in high-dimensional random effects models

Zhou Fan, Iain M. Johnstone.

Source: The Annals of Statistics, Volume 47, Number 5, 2855--2886.

Abstract:
We study the spectra of MANOVA estimators for variance component covariance matrices in multivariate random effects models. When the dimensionality of the observations is large and comparable to the number of realizations of each random effect, we show that the empirical spectra of such estimators are well approximated by deterministic laws. The Stieltjes transforms of these laws are characterized by systems of fixed-point equations, which are numerically solvable by a simple iterative procedure. Our proof uses operator-valued free probability theory, and we establish a general asymptotic freeness result for families of rectangular orthogonally invariant random matrices, which is of independent interest. Our work is motivated in part by the estimation of components of covariance between multiple phenotypic traits in quantitative genetics, and we specialize our results to common experimental designs that arise in this application.




components

Estimating the number of connected components in a graph via subgraph sampling

Jason M. Klusowski, Yihong Wu.

Source: Bernoulli, Volume 26, Number 3, 1635--1664.

Abstract:
Learning properties of large graphs from samples has been an important problem in statistical network analysis since the early work of Goodman ( Ann. Math. Stat. 20 (1949) 572–579) and Frank ( Scand. J. Stat. 5 (1978) 177–188). We revisit a problem formulated by Frank ( Scand. J. Stat. 5 (1978) 177–188) of estimating the number of connected components in a large graph based on the subgraph sampling model, in which we randomly sample a subset of the vertices and observe the induced subgraph. The key question is whether accurate estimation is achievable in the sublinear regime where only a vanishing fraction of the vertices are sampled. We show that it is impossible if the parent graph is allowed to contain high-degree vertices or long induced cycles. For the class of chordal graphs, where induced cycles of length four or above are forbidden, we characterize the optimal sample complexity within constant factors and construct linear-time estimators that provably achieve these bounds. This significantly expands the scope of previous results which have focused on unbiased estimators and special classes of graphs such as forests or cliques. Both the construction and the analysis of the proposed methodology rely on combinatorial properties of chordal graphs and identities of induced subgraph counts. They, in turn, also play a key role in proving minimax lower bounds based on construction of random instances of graphs with matching structures of small subgraphs.




components

A novel slow (< 1 Hz) oscillation of neocortical neurons in vivo: depolarizing and hyperpolarizing components

M Steriade
Aug 1, 1993; 13:3252-3265
Articles




components

SOLIDWORKS Electrical Formula SAE Tutorial: How to open a SOLIDWORKS Electrical project and associate electrical components

In today's video, we will learn how to open a SOLIDWORKS Electrical project in the SOLIDWORKS and associate components to the SOLIDWORKS part using SOLIDWORKS Electrical.

Author information

Ajay Vaidya

I am the SOLIDWORKS Education Brand Advocacy Digital Marketing Intern in Waltham, MA. I go to Marywood University, Scranton, PA. Currently, I am studying Management Information Systems. During my free time, I love to play the keyboard, guitar, and ukulele. I can speak 8 languages!

The post SOLIDWORKS Electrical Formula SAE Tutorial: How to open a SOLIDWORKS Electrical project and associate electrical components appeared first on SOLIDWORKS Education Blog.




components

Lighten your Components by over 50 Percent with Topology Optimization in SOLIDWORKS Simulation

Learn how you can reduce the weight of your components without impacting performance with SOLIDWORKS Simulation solutions.

Author information

Mai Doan

Mai DOAN is a Product Portfolio Manager for SOLIDWORKS Simulation. She has 20 years of experience in Simulation and Design. Prior to joining SOLIDWORKS in 2014 as a Territory Technical Manager, Mai worked as a Senior Application Engineer for ANSYS with expertise in Finite Element Analysis for more than 8 years. Before that, she developed her real world experience by designing mobile devices with an emphasis on Simulation for High Tech companies such as Siemens and Novatel Wireless. She holds Bachelor and Master's degrees in Mechanical Engineering, and speaks English, French & Vietnamese fluently.

The post Lighten your Components by over 50 Percent with Topology Optimization in SOLIDWORKS Simulation appeared first on The SOLIDWORKS Blog.




components

Genetic and Environmental Components of Neonatal Weight Gain in Preterm Infants

Several studies have focused on birth weight heritability, reporting results that range between 40% and 80%. Few studies have focused on the process of weight gain and were mainly based on heterogeneous samples of infants.

The present work looks at a uniform set of healthy preterm newborn twins. The resulting high heritability estimate could suggest using the inclusion criteria to identify genes that regulate postnatal weight gain or failure. (Read the full article)




components

Hottest PC Components and Storage at CES 2020: AMD, and SSDs, Still Rising

A 64-core/128-thread CPU. A new challenger in laptop processors. A feisty new fighter in midrange graphics. These three things have three letters in common. Plus: SSDs take on stunning new capacities, speeds, and looks.




components

Choosing the right PC components based on your needs




components

IC Packagers: Identify Your Components

We’ve all seen bar codes and the more modern QR codes. They’re everywhere you go – items at the grocery store, advertisements and posters, even on websites. Did you know that, with the productivity toolbox in Allegro Package Designe...(read more)



  • Allegro Package Designer
  • Allegro PCB Editor

components

Is it possible to find or create a Pspice model for the JT3028, LD7552 components?

I would like to add these components to the component bank in ORCAD simulation. Even an accessible or free course that explained how to create these components.




components

JBL_Flip5_ECO_components_FOREST_x2




components

JBL_Flip5_ECO_components_OCEAN_x2




components

Connectivity & ADAS: Two Foundational Components for High Level Automotive Autonomy

While the automotive industry is taking great strides to make a truly autonomous future a reality, there is still a long way to go before fully autonomous vehicles are on our roads. In the meantime, automakers and technology suppliers are developing...




components

Porphyromonas gingivalis Cell Wall Components Induce Programmed Death Ligand 1 (PD-L1) Expression on Human Oral Carcinoma Cells by a Receptor-Interacting Protein Kinase 2 (RIP2)-Dependent Mechanism [Cellular Microbiology: Pathogen-Host Cell Molecular Inte

Programmed death-ligand 1 (PD-L1/B7-H1) serves as a cosignaling molecule in cell-mediated immune responses and contributes to chronicity of inflammation and the escape of tumor cells from immunosurveillance. Here, we investigated the molecular mechanisms leading to PD-L1 upregulation in human oral carcinoma cells and in primary human gingival keratinocytes in response to infection with Porphyromonas gingivalis (P. gingivalis), a keystone pathogen for the development of periodontitis. The bacterial cell wall component peptidoglycan uses bacterial outer membrane vesicles to be taken up by cells. Internalized peptidoglycan triggers cytosolic receptors to induce PD-L1 expression in a myeloid differentiation primary response 88 (Myd88)-independent and receptor-interacting serine/threonine-protein kinase 2 (RIP2)-dependent fashion. Interference with the kinase activity of RIP2 or mitogen-activated protein (MAP) kinases interferes with inducible PD-L1 expression.




components

Blood Components for Pediatric Transfusions




components

Ecological and Ontogenetic Components of Larval Lake Sturgeon Gut Microbiota Assembly, Successional Dynamics, and Ecological Evaluation of Neutral Community Processes [Microbial Ecology]

Gastrointestinal (GI) or gut microbiotas play essential roles in host development and physiology. These roles are influenced partly by the microbial community composition. During early developmental stages, the ecological processes underlying the assembly and successional changes in host GI community composition are influenced by numerous factors, including dispersal from the surrounding environment, age-dependent changes in the gut environment, and changes in dietary regimes. However, the relative importance of these factors to the gut microbiota is not well understood. We examined the effects of environmental (diet and water sources) and host early ontogenetic development on the diversity of and the compositional changes in the gut microbiota of a primitive teleost fish, the lake sturgeon (Acipenser fulvescens), based on massively parallel sequencing of the 16S rRNA gene. Fish larvae were raised in environments that differed in water source (stream versus filtered groundwater) and diet (supplemented versus nonsupplemented Artemia fish). We quantified the gut microbial community structure at three stages (prefeeding and 1 and 2 weeks after exogenous feeding began). The diversity declined and the community composition differed significantly among stages; however, only modest differences associated with dietary or water source treatments were documented. Many taxa present in the gut were over- or underrepresented relative to neutral expectations in each sampling period. The findings indicate dynamic relationships between the gut microbiota composition and host gastrointestinal physiology, with comparatively smaller influences being associated with the rearing environments. Neutral models of community assembly could not be rejected, but selectivity associated with microbe-host GI tract interactions through early ontogenetic stages was evident. The results have implications for sturgeon conservation and aquaculture production specifically and applications of microbe-based management in teleost fish generally.

IMPORTANCE We quantified the effects of environment (diet and water sources) and host early ontogenetic development on the diversity of and compositional changes in gut microbial communities based on massively parallel sequencing of the 16S rRNA genes from the GI tracts of larval lake sturgeon (Acipenser fulvescens). The gut microbial community diversity declined and the community composition differed significantly among ontogenetic stages; however, only modest differences associated with dietary or water source treatments were documented. Selectivity associated with microbe-host GI tract interactions through early ontogenetic stages was evident. The results have implications for lake sturgeon and early larval ecology and survival in their natural habitat and for conservation and aquaculture production specifically, as well as applications of microbe-based management in teleost fish generally.




components

How manufacturers can ensure quality of plastic components

Stephen Sanderson, group inspection product manager and Guven Turemen, group metrology product manager, both from manufacturer Vision Engineering, discusses how manufacturers can ensure the quality of plastic components.




components

Röchling supplies thermoplastic components to help with the pandemic

Röchling Engineering Plastics UK is supporting the medical and healthcare sectors with thermoplastic components and materials to assist the NHS and worldwide OEMs.




components

Director of Singapore Firm Pleads Guilty to Illegally Exporting Controlled Aircraft Components to Iran

Laura Wang-Woodford, a U.S. citizen who served as a director of Monarch Aviation Pte, Ltd. (“Monarch”), a Singapore company that imported and exported military and commercial aircraft components for more than 20 years, pled guilty today in federal court in Brooklyn to conspiring to violate the U.S. trade embargo by exporting controlled aircraft components to Iran.



  • OPA Press Releases

components

Control Components Inc. Pleads Guilty to Foreign Bribery Charges and Agrees to Pay $18.2 Million Criminal Fine

Control Components Inc. (CCI), a Rancho Santa Margarita, Calif.-based company, pleaded guilty today to violations of the Foreign Corrupt Practices Act (FCPA) and the Travel Act in a decade-long scheme to secure contracts in approximately 36 countries by paying bribes to officials and employees of various foreign state-owned companies as well as foreign and domestic private companies.



  • OPA Press Releases

components

Dutch Firm and Two Officers Plead Guilty to Conspiracy to Export Aircraft Components and Other Goods to Iran

A Dutch aviation services company, its director and sales manager pleaded guilty today in the District of Columbia to federal charges related to a conspiracy to illegally export aircraft components and other items from the United States to entities in Iran via the Netherlands, the United Arab Emirates and Cyprus.



  • OPA Press Releases

components

Director of Singapore Firm Sentenced for Illegally Exporting Controlled Aircraft Components to Iran

Laura Wang-Woodford, a U.S. citizen who served as a director of Monarch Aviation Pte Ltd., a Singapore company that imported and exported military and commercial aircraft components for more than 20 years, was sentenced today in federal court in Brooklyn to 46 months in prison for conspiring to violate the U.S. trade embargo by exporting controlled aircraft components to Iran.



  • OPA Press Releases

components

Taiwan Exporter Arrested on Charges of Exporting Missile Components from the United States to Iran

Yi-Lan Chen, aka "Kevin Chen," 40, a Taiwan passport holder, was arrested on Feb. 3, 2010, on charges of illegally exporting commodities for Iran’s missile program.



  • OPA Press Releases

components

Taiwan Citizen Pleads Guilty to Conspiring to Export Missile Components from the U.S. to Iran

Yi-Lan Chen, aka Kevin Chen, 40, a Taiwan passport holder, and his Taiwan corporation, Landstar Tech Company Limited, pleaded guilty today in Miami to charges of conspiring to illegally export dual-use commodities to Iran.



  • OPA Press Releases

components

Two Chinese Nationals Convicted of Illegally Exporting Electronics Components Used in Military Radar & Electronic Warfare

Zhen Zhou Wu aka Alex Wu, Yufeng Wei aka Annie Wei and Chitron Electronics Inc. (Chitron-US), were convicted of unlawfully exporting defense articles and Commerce controlled goods to China on numerous occasions between 2004 and 2007 and conspiring to violate U.S. export laws over a period of ten years.



  • OPA Press Releases

components

Two Chinese Nationals Charged with Illegally Attempting to Export Military Satellite Components to the PRC

Two Chinese nationals have been indicted by a federal grand jury in Alexandria, Va., for attempting to obtain radiation-hardened microchips, which are prohibited defense items used in the military and aerospace industry.



  • OPA Press Releases

components

Members of International Procurement Network Indicted for Supplying Iran with U.S. Military Aircraft Components

Seven individuals and five corporate entities based in the United States, France, the United Arab Emirates (U.A.E.) and Iran have been indicted in the Middle District of Georgia for their alleged roles in a conspiracy to illegally export military components for fighter jets and attack helicopters from the United States to Iran.



  • OPA Press Releases

components

Five Individuals Indicted in a Fraud Conspiracy Involving Exports to Iran of U.S. Components Later Found in Bombs in Iraq

Five individuals and four of their companies have been indicted as part of a conspiracy to defraud the United States that allegedly caused thousands of radio frequency modules to be illegally exported from the United States to Iran, at least 16 of which were later found in unexploded improvised explosive devices (IEDs) in Iraq.



  • OPA Press Releases

components

Georgia Man Sentenced to Nearly Four Years in Prison in Plot to Supply Iran with U.S. Military Aircraft Components

Michael Edward Todd, a U.S. national who is president of The Parts Guys LLC, a company in Port Orange, Fla., that maintains a warehouse at the Middle Georgia Municipal Airport in Macon, was sentenced this morning in federal court in the Middle District of Georgia.



  • OPA Press Releases

components

Creating dynamic, reusable components with Edge Animate

Easily create reusable, multistate button components for a slideshow project that features a self-generating, dynamic navigation. (6:45)




components

Blood Pressure Components Help Predict Heart Attack, Stroke Risk

The systolic and diastolic numbers in blood pressure reading predicted the risk of heart attack or stroke in a very large Kaiser Permanente study that




components

April Patch Tuesday: Fixes for Font-Related, Microsoft SharePoint, Windows Components Vulnerabilities

Microsoft’s Patch Tuesday for April released fixes for a couple of critical font-related vulnerabilities, like an earlier disclosed one found in Adobe Type Manager Library (atmfd.dll). It also featured patches for vulnerabilities in Microsoft SharePoint and Windows Components.

The post April Patch Tuesday: Fixes for Font-Related, Microsoft SharePoint, Windows Components Vulnerabilities appeared first on .




components

NPD Manager-Ludhiana(Process NPD,Tool Die design,Hot Forged/Steel & Alloy Components)

Company: P & I Management Consultants
Experience: 0 to 50
location: India
Ref: 24341090
Summary: Job Description: 1. Knowledge and ability to develop new products and process of hot forged Steel and Alloy components 2. Knowledge and ability to develop new products and process of sheet metal components including progressive and....




components

Canada Exports of Electrical Components

Exports of (bop) - Electrical Components in Canada increased to 484.70 CAD Million in March from 483 CAD Million in February of 2020. Exports of (bop) - Electrical Components in Canada averaged 314.42 CAD Million from 1988 until 2020, reaching an all time high of 720 CAD Million in February of 2014 and a record low of 68.10 CAD Million in January of 1988. This page includes a chart with historical data for Canada Exports of (bop) - Electrical Components.




components

Canada Imports Prefabricated Buildings And Components

Imports (Bop) - Prefabricated Buildings And Components in Canada decreased to 31.90 CAD Million in March from 39.80 CAD Million in February of 2020. Imports (Bop) - Prefabricated Buildings And Compon in Canada averaged 19.74 CAD Million from 1988 until 2020, reaching an all time high of 134.80 CAD Million in June of 1995 and a record low of 2.20 CAD Million in January of 1988. This page includes a chart with historical data for Canada Imports of (bop) - Prefabricated Buildings And Co.




components

South Africa Exports of Original Equipment Components CMLV

Exports of Original Equipment Components CMLV in South Africa increased to 1.57 ZAR Million in March from 1.49 ZAR Million in February of 2020. Exports of Original Equipment Components CMLV in South Africa averaged 6.41 ZAR Million from 2014 until 2020, reaching an all time high of 21.42 ZAR Million in December of 2017 and a record low of 0.11 ZAR Million in January of 2017. South Africa accounts for Exports of Original Equipment Components using cumulative values for each year (CMLV). This page includes a chart with historical data for South Africa Exports of Original Equipment Components CMLV.




components

South Africa Imports of Original Equipment Components CMLV

Imports of Original Equipment Components CMLV in South Africa increased to 28077.08 ZAR Million in March from 18339.06 ZAR Million in February of 2020. Imports of Original Equipment Components CMLV in South Africa averaged 49374.62 ZAR Million from 2014 until 2020, reaching an all time high of 107374.04 ZAR Million in December of 2019 and a record low of 6128.64 ZAR Million in January of 2015. South Africa accounts for Imports of Original Equipment Components using cumulative values for each year (CMLV). This page includes a chart with historical data for South Africa Imports of Original Equipment Components CMLV.




components

China Imports of Automatic Data Proc. Eq. & Components

Imports of Automatic Data Proc. Eq. & Components in China increased to 4696200 USD THO in April from 4362100 USD THO in March of 2020. Imports of Automatic Data Proc. Eq. & Components in China averaged 1650802.16 USD THO from 1996 until 2020, reaching an all time high of 6685000 USD THO in February of 2020 and a record low of 16177 USD THO in May of 2014. This page includes a chart with historical data for China Imports of Automatic Data Proc. Eq. & Components.




components

Gas turbine design, components and system design integration [Electronic book] / Meinhard T. Schobeiri.

Cham, Switzerland : Springer, [2019]




components

Content Marketing: The 4 Most Critical Components to Measure & Analyze

Content marketing has gained much traction over the last 18 months and for good reasons. It is becoming an important part of any organizations marketing mix and can have an immediate impact on how companies are perceived, as well as their success online.

Content marketing also has an immediate impact on search.

complete article




components

Nesting Components

Using CSS components is somewhat straightforward. We add the markup and give it the component’s class name and all is good. Where it gets trickier is when we try to nest components. And when they need to be tweaked based on the context. Where should the styles be defined? It’s a question I’ve been asking myself a few times and what this article is trying to explore.

Just to clarify before we start, with “CSS components”, I mean the small building blocks that get used to assemble a website or app. Like buttons, inputs, navs, headers etc. Some also call them modules or patterns. Also I’m using the SUIT naming convention in the examples below, but any other convention would be fine as well. And just a heads, there isn’t some awesome solution at the end that solves all the problems. It’s just me whining most of the time.

Ok, best is to go straight into it and look at an example. Let’s say we have a Header component where we would like to add a Button component inside.

<header class=“Header”>
  <button class=“Button”>Button</button>
</header>

Now because the Button is inside the Header, we want to make the Button a bit smaller than it would be on its own.

Here a few approaches how to do that:

Option 1 - Descendant selector

Maybe the most common way is to use a descendant selector to change the font-size whenever a Button is inside a Header.

.Header .Button {
  font-size: .75em;
}

This works great but the question is, where should this rule be added? We probably split our components into separate files, so is it in header.scss or in button.scss? In other words, should the Header know about what other components might get nested or should the Button know in what environment it will get placed?

But wait, the point of creating components is to separate them, make them modular. Each component should be kept isolated and shouldn’t know about other components. So we can make changes, rename or remove them without having to check if they might get used somewhere else.

Option 2 - Variations

Another way is to create variations. We add a .Button--small class that we can use whenever we would like the button to be smaller without having to worry about ancestors.

.Button--small {
  font-size: .75em;
}
<header class=“Header”>
  <button class=“Button Button--small>Button</button>
</header>

This works great too, but could get out of hand quickly. What do you do if at some point you want the font-size to be .9em? Create yet another variation? Button--justALittleSmaller. As the project keeps growing, the number of variations will too. We will start to loose sight where they actually get used and we’re not sure anymore if we can change a variation or if it will have side effects in some other place. We could create “contextual” variations like Button--header or Button--footer, but then we’re back at the beginning and could just as well use “descendant selectors”.

Same goes for using states. .Button.is-small should only be used if there is a change in state and not to fit a certain context.

Option 3 - Adopted Child

I can’t remember where I read about this approach but somehow it stuck with me. I also forgot how it was called. So for now I’ll just call it “Adopted Child”.

Let’s switch it around and look at it from the Header’s perspective. What would we do if we wouldn’t know what the components are called that might get nested? But we know that we want to make them a bit smaller. Well, we probably would create a generic .Header-item class and use it like this:

.Header-item {
  font-size: .75em;
}
<header class=“Header”>
  <div class=“Header-item”></div>
</header>

Ok, that gets us a bit closer. Now, it’s probably strange saying it like that when talking about CSS, but what would we do if we don’t want to create an own child, but still have one. Right, we could adopt one. In our example we adopt a Button component as our own child. We didn’t create it, but now we can tweak.. erm.. I mean “raise” it like it’s our own:

// born in button.scss
.Button {
  font-size: 1em;
}

// raised in header.css
.Header .Header-item {
  font-size: .75em;
}
<header class=“Header”>
  <button class=“Header-item Button>Button</button>
</header>

It is a bit uncommon that the same HTML element shares classes from two different components. And it’s not without any risks. More about them later. But I really like this approach because it keeps the components independent without having to know about each other.

Another nice thing is that if we want to add other components to the Header that also need the same adjustments, we can reuse the same Header-item class, like for example on a text Input.

<header class=“Header”>
	<input class=“Header-item Input>
  <button class=“Header-item Button>Button</button>
</header>

Ok, about those risks. Well, depending on what properties we wanna change, it might not always be ideal. For example, because the Button already had font-size defined, we had to increase specificity by using .Header .Header-item. But that would also override variations like .Button--small. That might be how we want it, but there are also situations where we’d like the variation to always be “stronger”. An example would be when changing colors. When the color of Buttons should be different inside a Header, but not when its a variation, like .Button—primary. Yeah, we could take a look inside button.scss or our style-guide, but remember our goal.. we actually don’t want to make decisions by looking how other components are made.

So, as a general rule, don’t use “adopted children” for any properties that are theme related and only where you can be sure that you want to override them all the time. Like for layout/size related properties or adjusting the position.

More options?

There are some more ways to do contextual styling that came to mind. I’ll just mention them briefly for completeness, but think the 3 above are better suited.

Option 4 - We could use a preprocessor to extend an existing component. In our example it would be a clone of the Button with some tweaks added and used as a new child component .Header-button. Now we only rely that the Button exists in the source, but don’t have to worry about other contexts. Downside is inflating our CSS output. As well as having to remember lots of new child component classes.

Option 5 - We could create a utility class like .u-small. It’s similar to variations, but not scoped to a single component and could be used for other components as well. And for that reason it becomes very risky to ever change later.

Option 6 - And of course, we could use inline styles. But I would leave that to JavaScript only.


So after all that, which is best? I’m afraid there isn’t a clear winner. It would be nice to keep it consistent with a single approach throughout the entire project, but I guess we just have to decide on a per case basis:

  1. Descendant selectors if we can expect that components don’t change much. Like when using a UI Kit or library.
  2. Variations if it makes sense that a component has different versions that get reused anyways, and not just for a specific context.
  3. Adopted Child for layout, sizing, positioning or where we are sure to always want to override a property. Also for changing multiple child components at once.
  4. Extending when we truly want the components to be separated and don’t mind inflating the CSS output.
  5. Utilities for very specific things, that once the class is defined, it will never change, like clearing floats.
  6. Inline styles if it needs to be dynamically added with JavaScript.

As said at the beginning, I haven’t found a “fits all” solution and maybe the conclusion is: Try to keep contextual styling to a minimum.

Updates

The “Adopted Child” approach is called “Mixes” in BEM. Here some more infos.


SUIT also recommends using “Adopted Child/Mixes”. But also another option:

Option 7 - Adding a wrapper element. It’s the <div class="Excerpt-wrapButton"> in that example. I think it works great in most cases. But for example when using Flexbox, because it has this parent/child relationship, adding an extra wrapper in between would break it. And then you might still need to set the width of the wrapped component to 100% or so. Anyways, this is a great addition. Thanks Pablo in the comments.


Option 8 - Single Purpose Classes. It’s where every class has only a single property. It’s somewhere between utilities (Option 5) and inline styles (Option 6). Atomic CSS and Tachyons use this approach. I haven’t used them on a real project, but just from looking at it, the concerns are similar to the ones from utilities. If you want to change the value in a SP class, it seems unpredictable. Because in another place (where that same class is used), you might want to keep the current value. So you would have to first check if the change has any unwanted effects somewhere else.




components

A Caveat to Common Hemicyanine Dye Components and Its Resolution

Chem. Commun., 2020, Accepted Manuscript
DOI: 10.1039/D0CC01833C, Communication
Hyeon Jin Park, Chang Wook Song, Sourav Sarkar, Yong Woong Jun, Ye Jin Reo, Mingchong Dai, Kyo Han Ahn
Near-infrared-emitting hemicyanine dyes are widely used in activatable fluorescent probes for various biological analytes, which fact, on the contrary, poses a chemical stability issue along with photoinstability as shown here...
The content of this RSS Feed (c) The Royal Society of Chemistry




components

Gravitational Biology II: Interaction of Gravity with Cellular Components and Cell Metabolism / Wolfgang Hanke [and more]

Online Resource