@ntbjs/react-components 3.0.0-rc.1 → 3.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/build/data/Alert/Alert.js.map +1 -1
- package/build/data/Alert/Alert.styled.js.map +1 -1
- package/build/data/Badge/Badge.js.map +1 -1
- package/build/data/Badge/Badge.styled.js.map +1 -1
- package/build/data/Popover/Popover.js.map +1 -1
- package/build/data/Popover/Popover.styled.js.map +1 -1
- package/build/data/SeverityBadge/SeverityBadge.js.map +1 -1
- package/build/data/Tab/Tab.js.map +1 -1
- package/build/data/Tab/Tab.styled.js.map +1 -1
- package/build/data/Tabs/Tabs.js.map +1 -1
- package/build/data/Tabs/Tabs.styled.js.map +1 -1
- package/build/data/Tooltip/Tooltip.js.map +1 -1
- package/build/data/Tooltip/Tooltip.styled.js.map +1 -1
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.js.map +1 -1
- package/build/data/VerificationStatusIcon/VerificationStatusIcon.styled.js.map +1 -1
- package/build/data/_shared/FloatingArrow.styled.js.map +1 -1
- package/build/hooks/useEventListner.js.map +1 -1
- package/build/hooks/useFloatingPopover.js.map +1 -1
- package/build/hooks/useIsomorphicLayoutEffect.js.map +1 -1
- package/build/hooks/useOnClickOutside.js.map +1 -1
- package/build/hooks/useTooltipAutoShow.js.map +1 -1
- package/build/inputs/ActionButton/ActionButton.js.map +1 -1
- package/build/inputs/ActionButton/ActionButton.styled.js.map +1 -1
- package/build/inputs/Button/Button.js.map +1 -1
- package/build/inputs/Button/Button.styled.js.map +1 -1
- package/build/inputs/Checkbox/Checkbox.js.map +1 -1
- package/build/inputs/Checkbox/Checkbox.styled.js.map +1 -1
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.js.map +1 -1
- package/build/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.js.map +1 -1
- package/build/inputs/CompactStarRating/CompactStarRating.js.map +1 -1
- package/build/inputs/CompactStarRating/CompactStarRating.styled.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.js.map +1 -1
- package/build/inputs/CompactTextInput/CompactTextInput.styled.js.map +1 -1
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.js.map +1 -1
- package/build/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.js.map +1 -1
- package/build/inputs/MultiLevelCheckbox/types.js.map +1 -1
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.js.map +1 -1
- package/build/inputs/MultiLevelCheckboxSelect/MultiLevelCheckboxSelect.styled.js.map +1 -1
- package/build/inputs/MultiSelect/MultiSelect.js.map +1 -1
- package/build/inputs/MultiSelect/MultiSelect.styled.js.map +1 -1
- package/build/inputs/Radio/Radio.js.map +1 -1
- package/build/inputs/Radio/Radio.styled.js.map +1 -1
- package/build/inputs/Switch/Switch.styled.js.map +1 -1
- package/build/inputs/TextArea/TextArea.js.map +1 -1
- package/build/inputs/TextArea/TextArea.styled.js.map +1 -1
- package/build/inputs/TextInput/TextInput.js.map +1 -1
- package/build/inputs/TextInput/TextInput.styled.js.map +1 -1
- package/build/layout/InputGroup/InputGroup.js.map +1 -1
- package/build/layout/InputGroup/InputGroup.styled.js.map +1 -1
- package/build/layout/SectionSeparator/SectionSeparator.js.map +1 -1
- package/build/layout/SectionSeparator/SectionSeparator.styled.js.map +1 -1
- package/build/styles/utils/colors-export.d.ts +6 -25
- package/build/utils/dateTime.js.map +1 -1
- package/build/utils/defaultTheme.js.map +1 -1
- package/build/utils/getElementRef.js.map +1 -1
- package/build/utils/parseTrigger.js.map +1 -1
- package/build/widgets/AssetAction/AssetAction.js.map +1 -1
- package/build/widgets/AssetAction/AssetAction.styled.js.map +1 -1
- package/build/widgets/AssetActionsBase/AssetActionsBase.js.map +1 -1
- package/build/widgets/AssetActionsBase/AssetActionsBase.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGallery.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js.map +1 -1
- package/build/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.js.map +1 -1
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.js.map +1 -1
- package/build/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenu.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenu.styled.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.js.map +1 -1
- package/build/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.styled.js.map +1 -1
- package/build/widgets/InfoCard/InfoCard.js.map +1 -1
- package/build/widgets/InfoCard/InfoCard.styled.js.map +1 -1
- package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.js.map +1 -1
- package/build/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.js.map +1 -1
- package/build/widgets/Instructions/Instructions.js.map +1 -1
- package/build/widgets/Instructions/Instructions.styled.js.map +1 -1
- package/build/widgets/ProgressBar/ProgressBar.js.map +1 -1
- package/build/widgets/ProgressBar/ProgressBar.styled.js.map +1 -1
- package/build/widgets/SummaryCard/SummaryCard.js.map +1 -1
- package/build/widgets/SummaryCard/SummaryCard.styled.js.map +1 -1
- package/package.json +8 -1
- package/styles/utils/colors-export.d.ts +6 -25
- package/types/components/data/Alert/Alert.styled.d.ts +6 -37
- package/types/components/data/Badge/Badge.d.ts +1 -9
- package/types/components/data/Badge/Badge.styled.d.ts +0 -99
- package/types/components/data/Popover/Popover.d.ts +11 -100
- package/types/components/data/Tab/Tab.d.ts +1 -14
- package/types/components/data/Tabs/Tabs.styled.d.ts +1 -17
- package/types/components/data/Tooltip/Tooltip.d.ts +4 -50
- package/types/components/data/VerificationStatusIcon/VerificationStatusIcon.styled.d.ts +3 -22
- package/types/components/data/_shared/FloatingArrow.styled.d.ts +1 -101
- package/types/components/inputs/ActionButton/ActionButton.styled.d.ts +2 -20
- package/types/components/inputs/Button/Button.styled.d.ts +0 -42
- package/types/components/inputs/Checkbox/Checkbox.d.ts +0 -9
- package/types/components/inputs/Checkbox/Checkbox.styled.d.ts +6 -10
- package/types/components/inputs/CompactAutocompleteSelect/CompactAutocompleteSelect.styled.d.ts +4 -57
- package/types/components/inputs/CompactStarRating/CompactStarRating.styled.d.ts +3 -55
- package/types/components/inputs/CompactTextInput/CompactTextInput.styled.d.ts +4 -32
- package/types/components/inputs/MultiLevelCheckbox/MultiLevelCheckbox.styled.d.ts +2 -10
- package/types/components/inputs/MultiLevelCheckbox/types.d.ts +3 -46
- package/types/components/inputs/MultiSelect/MultiSelect.d.ts +0 -57
- package/types/components/inputs/MultiSelect/MultiSelect.styled.d.ts +0 -65
- package/types/components/inputs/Radio/Radio.styled.d.ts +3 -3
- package/types/components/inputs/Switch/Switch.styled.d.ts +3 -7
- package/types/components/inputs/TextArea/TextArea.d.ts +0 -4
- package/types/components/inputs/TextArea/TextArea.styled.d.ts +5 -7
- package/types/components/inputs/TextInput/TextInput.styled.d.ts +1 -1
- package/types/components/layout/SectionSeparator/SectionSeparator.styled.d.ts +2 -9
- package/types/components/widgets/AssetAction/AssetAction.styled.d.ts +2 -7
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryBase.d.ts +0 -12
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.styled.d.ts +7 -55
- package/types/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.styled.d.ts +7 -43
- package/types/components/widgets/AssetGallery/asset.types.d.ts +31 -148
- package/types/components/widgets/AssetPreview/AssetPreviewTopBar/AssetPreviewTopBar.styled.d.ts +6 -20
- package/types/components/widgets/ContextMenu/ContextMenu.d.ts +1 -17
- package/types/components/widgets/ContextMenu/ContextMenuItem/ContextMenuItem.styled.d.ts +5 -13
- package/types/components/widgets/ContextMenu/ContextMenuItemsGroup/ContextMenuItemsGroup.d.ts +0 -18
- package/types/components/widgets/InfoCard/InfoCard.styled.d.ts +2 -19
- package/types/components/widgets/InstructionSeverityDisplay/InstructionSeverityDisplay.styled.d.ts +9 -19
- package/types/components/widgets/Instructions/Instructions.styled.d.ts +2 -14
- package/types/components/widgets/ProgressBar/ProgressBar.styled.d.ts +6 -43
- package/types/components/widgets/SummaryCard/SummaryCard.styled.d.ts +7 -46
- package/types/hooks/useElementSize.d.ts +3 -14
- package/types/hooks/useEventListner.d.ts +6 -38
- package/types/hooks/useFloatingPopover.d.ts +9 -90
- package/types/hooks/useIsomorphicLayoutEffect.d.ts +0 -23
- package/types/hooks/useOnClickOutside.d.ts +5 -23
- package/types/hooks/useTooltipAutoShow.d.ts +8 -57
- package/types/styles/utils/colors-export.d.ts +6 -25
- package/types/utils/dateTime.d.ts +2 -7
- package/types/utils/defaultTheme.d.ts +13 -92
- package/types/utils/getElementRef.d.ts +0 -19
- package/types/utils/parseTrigger.d.ts +8 -78
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import * as S from './MultiSelect.styled';
|
|
3
|
-
/**
|
|
4
|
-
* MultiSelect's OWN props — the 19 members that were the entirety of this component's
|
|
5
|
-
* declared surface until NMB-3998, unchanged. They stay authoritative: `MultiSelectProps`
|
|
6
|
-
* below `Omit`s these keys out of the base before intersecting, so nothing here is
|
|
7
|
-
* narrowed by a colliding member of react-select's props.
|
|
8
|
-
*/
|
|
9
3
|
export type MultiSelectOwnProps = {
|
|
10
4
|
/**
|
|
11
5
|
*
|
|
@@ -116,57 +110,6 @@ export type MultiSelectOwnProps = {
|
|
|
116
110
|
*/
|
|
117
111
|
warning?: boolean | string;
|
|
118
112
|
};
|
|
119
|
-
/**
|
|
120
|
-
* THE PUBLISHED PROPS TYPE. It has a base, and that is playbook §C.2, not a convenience.
|
|
121
|
-
*
|
|
122
|
-
* This component destructures `...rest` (below) and spreads it into react-select —
|
|
123
|
-
* `sharedSelectProps = { ...rest, … }`, handed to `<SelectComponent {...sharedSelectProps} />`.
|
|
124
|
-
* A closed 19-member type therefore REJECTED props that this component forwards and that
|
|
125
|
-
* work at runtime: measured against mb-main-client, `className`, `name`, `onBlur` and
|
|
126
|
-
* `required` are all real react-select props being passed today and all four were a hard
|
|
127
|
-
* TS2322 the moment the library started shipping `.d.ts`. That is the library lying about
|
|
128
|
-
* its own contract, which is the exact class §C.2 exists to prevent — and it is NOT the
|
|
129
|
-
* same finding as the other 22 rejected consumer attributes, which are props no component
|
|
130
|
-
* here spreads anywhere and which stay rejected on purpose.
|
|
131
|
-
*
|
|
132
|
-
* THE BASE IS READ OFF WHAT `rest` IS ACTUALLY SPREAD ONTO, never assumed. That target is
|
|
133
|
-
* one of the four `styled(<react-select …>)` wrappers, chosen at runtime by `loadOptions`
|
|
134
|
-
* and `creatable`. `S.MultiSelect` — `styled(Select)` — is the deliberate choice among the
|
|
135
|
-
* four: `CreatableSelect`/`AsyncPaginate` add props on top of the plain select's surface,
|
|
136
|
-
* so plain `Select` is the set that is valid in ALL FOUR configurations. Basing this on the
|
|
137
|
-
* async-creatable wrapper instead would admit `debounceTimeout` and friends in the default
|
|
138
|
-
* configuration, where they do nothing — the same mistake in the other direction.
|
|
139
|
-
*
|
|
140
|
-
* `Omit<Base, keyof Own> & Own`, NOT `Base & Own`. An intersection intersects a colliding
|
|
141
|
-
* MEMBER rather than replacing it; measured on `TextArea`, `rows?: number | string` met
|
|
142
|
-
* `styled.textarea`'s `rows?: number` and `rows="4"` became an error — half a published
|
|
143
|
-
* prop silently deleted by the pass meant to widen it. Disjoint pairs collapse to `never`.
|
|
144
|
-
*
|
|
145
|
-
* `ComponentPropsWithoutRef`, NOT `…WithRef`. `React.forwardRef` below supplies `ref`
|
|
146
|
-
* itself; `WithRef` was measured to let `<MultiSelect ref={…} />` compile with the ref
|
|
147
|
-
* silently dropped.
|
|
148
|
-
*
|
|
149
|
-
* BOTH ALIASES ARE `export`ed AND THE `const` BELOW IS ANNOTATED, for declaration emit
|
|
150
|
-
* only — same mechanism and same audit as `CompactAutocompleteSelect` (577fc8d, §G.4.1).
|
|
151
|
-
* tsc prints an exported alias from its source text and EXPANDS an unexported one, and the
|
|
152
|
-
* expansion here reaches react-select's `PublicBaseSelectProps` /
|
|
153
|
-
* `StateManagerAdditionalProps`, which `react-select`'s `exports` map does not serve:
|
|
154
|
-
* TS2883, and with `noEmitOnError: false` that means the `.d.ts` is silently not written.
|
|
155
|
-
* The annotation on the `const` is needed for the same reason — `forwardRef` infers
|
|
156
|
-
* `ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<any>>` and tsc computes
|
|
157
|
-
* `PropsWithoutRef<P>` eagerly, which re-expands what the exported alias just avoided.
|
|
158
|
-
*
|
|
159
|
-
* THE SWALLOW THIS PARAGRAPH USED TO RECORD AS OPEN IS FIXED. `sharedSelectProps` still
|
|
160
|
-
* lists 14 keys after `...rest` and they still win — deliberately, and the reasoning is
|
|
161
|
-
* written out at the literal itself — but `onFocus`, `onBlur` and `onChange` are no longer
|
|
162
|
-
* among them: they now run the component's own logic and then call the caller's handler.
|
|
163
|
-
* So `onBlur`, the one a consumer passes today, is both admitted by this type and actually
|
|
164
|
-
* forwarded. Do not narrow this type to "reflect" the remaining 14: they are the runtime
|
|
165
|
-
* form of props this component already declares (`selectedOptions`, `availableOptions`,
|
|
166
|
-
* `disabled`/`readOnly`, `loadOptions`) plus its own rendering and CSS contract, and
|
|
167
|
-
* `Omit`ting them would only stop react-select's own names from being accepted while
|
|
168
|
-
* changing nothing about which value wins.
|
|
169
|
-
*/
|
|
170
113
|
export type MultiSelectProps = Omit<React.ComponentPropsWithoutRef<typeof S.MultiSelect>, keyof MultiSelectOwnProps> & MultiSelectOwnProps;
|
|
171
114
|
declare const MultiSelect: React.ForwardRefExoticComponent<MultiSelectProps & React.RefAttributes<any>>;
|
|
172
115
|
export default MultiSelect;
|
|
@@ -3,66 +3,9 @@ import Select from 'react-select';
|
|
|
3
3
|
import CreatableSelect from 'react-select/creatable';
|
|
4
4
|
import { AsyncPaginate } from 'react-select-async-paginate';
|
|
5
5
|
import type { PartialNtbTheme } from '../../../utils/defaultTheme';
|
|
6
|
-
/**
|
|
7
|
-
* The `theme` prop of the four react-select wrappers below, restated as OUR theme.
|
|
8
|
-
*
|
|
9
|
-
* WHY THIS EXISTS. `theme` is the one prop name that both styled-components and
|
|
10
|
-
* react-select claim. react-select declares it `ThemeConfig = Theme | ((t: Theme) => Theme)`
|
|
11
|
-
* and its `Theme` requires `borderRadius`, which `NtbTheme` does not have — so
|
|
12
|
-
* `.attrs(applyDefaultTheme)`, whose return type is `{ theme: NtbTheme }`, was
|
|
13
|
-
* unassignable to `Attrs<SelectProps>` and each wrapper reported:
|
|
14
|
-
*
|
|
15
|
-
* TS2345 … Types of property 'theme' are incompatible.
|
|
16
|
-
* Type 'NtbTheme' is not assignable to type 'ThemeConfig'.
|
|
17
|
-
* Property 'borderRadius' is missing in type 'NtbTheme' but required in type 'Theme'.
|
|
18
|
-
*
|
|
19
|
-
* `.attrs<{ theme?: PartialNtbTheme }>` fixes it because `attrs`' generic is applied as
|
|
20
|
-
* `Substitute<OuterProps, P> = FastOmit<OuterProps, keyof P> & P` — i.e. declaring
|
|
21
|
-
* `theme` REPLACES react-select's declaration of it rather than intersecting with it.
|
|
22
|
-
*
|
|
23
|
-
* AND THAT IS THE TRUTH ABOUT THIS BOUNDARY, not a workaround. At runtime `.attrs()`
|
|
24
|
-
* hands react-select the merged `NtbTheme`, and react-select's `getTheme()` does
|
|
25
|
-
* `{ ...its defaultTheme, ...this.props.theme }`: our `colors` and `spacing` win — which
|
|
26
|
-
* is why `ThemeColors`/`ThemeSpacing` in `utils/defaultTheme.ts` carry react-select's
|
|
27
|
-
* member names and not design-token names — and `borderRadius` falls through to
|
|
28
|
-
* react-select's own `4`. `NtbTheme` is deliberately a PARTIAL override of react-select's
|
|
29
|
-
* theme, so `ThemeConfig` was never the right type for this prop here.
|
|
30
|
-
*
|
|
31
|
-
* `PartialNtbTheme` and not `NtbTheme` because this is the INPUT side: a caller may pass
|
|
32
|
-
* any subset and `applyDefaultTheme` fills the rest in, exactly as `ThemedProps` states
|
|
33
|
-
* for every other file. Do NOT "fix" this by adding `borderRadius` to `NtbTheme`: that
|
|
34
|
-
* would hand react-select a border radius it does not get today and is a render change.
|
|
35
|
-
*/
|
|
36
6
|
interface SelectThemeProp {
|
|
37
|
-
/** A partial override merged over `defaultTheme` by `applyDefaultTheme`. */
|
|
38
7
|
theme?: PartialNtbTheme;
|
|
39
8
|
}
|
|
40
|
-
/**
|
|
41
|
-
* The WRITTEN type of the four `styled(<react-select component>)` exports below, and the
|
|
42
|
-
* reason they are annotated at all when nothing else in this repo is.
|
|
43
|
-
*
|
|
44
|
-
* `styled(Select).attrs<SelectThemeProp>(…)` INFERS a correct type. It is not a
|
|
45
|
-
* WRITEABLE one: `tsc --declaration` has to print it into `MultiSelect.styled.d.ts`, the
|
|
46
|
-
* printed form expands to react-select's `PublicBaseSelectProps` and
|
|
47
|
-
* `StateManagerAdditionalProps`, and neither is re-exported from `react-select`'s public
|
|
48
|
-
* entry — react-select has an `exports` map with no wildcard, so
|
|
49
|
-
* `react-select/dist/declarations/src/Select` does not resolve for a consumer at all.
|
|
50
|
-
* The result was 11 x TS2883 in this file, and the consequence was worse than the
|
|
51
|
-
* message: `noEmitOnError` is false, so the build "succeeded" while this file's `.d.ts`
|
|
52
|
-
* was SILENTLY NOT WRITTEN.
|
|
53
|
-
*
|
|
54
|
-
* A generic alias fixes it because tsc prints an alias APPLICATION by reference —
|
|
55
|
-
* `SelectWrapper<typeof Select>` — instead of expanding it, and `typeof Select` is
|
|
56
|
-
* `typeof import('react-select').default`, which is nameable. Nothing here is widened or
|
|
57
|
-
* narrowed for the sake of the declaration: `Omit<ComponentProps<C>, keyof P> & P` is
|
|
58
|
-
* exactly styled-components' own `Substitute<OuterProps, P>`, which is the rule
|
|
59
|
-
* `SelectThemeProp` above relies on.
|
|
60
|
-
*
|
|
61
|
-
* What IS given up is the styled-components-specific surface of these four bindings —
|
|
62
|
-
* `.withConfig()`, `.attrs()` and re-wrapping with `styled(S.MultiSelect)`. Audited:
|
|
63
|
-
* nothing in this repo does any of the three to them. Adding one means annotating with
|
|
64
|
-
* `IStyledComponent` instead, which puts the same non-portable expansion back.
|
|
65
|
-
*/
|
|
66
9
|
type SelectWrapper<C extends React.ComponentType<any>> = React.ComponentType<Omit<React.ComponentProps<C>, keyof SelectThemeProp> & SelectThemeProp>;
|
|
67
10
|
declare const AsyncCreatableSelectPaginate: import("react-select-async-paginate").WithAsyncPaginateType;
|
|
68
11
|
export declare const MultiSelectWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
|
|
@@ -83,16 +26,8 @@ export declare const DropdownOptionDeleteIcon: import("styled-components/dist/ty
|
|
|
83
26
|
export declare const ShowMoreWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
|
|
84
27
|
export declare const ShowMoreOverlay: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
|
|
85
28
|
export declare const ShowMoreText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
|
|
86
|
-
/**
|
|
87
|
-
* `MultiSelect.tsx` renders `<S.ErrorMessage $error={!!error} $warning={!!warning}>`
|
|
88
|
-
* (line 461), so both are `boolean` — the `!!` is in the JSX, not here. Optional per
|
|
89
|
-
* §J.5; the template's own ternary chain already ends in `'inherit'` for the
|
|
90
|
-
* neither-set case.
|
|
91
|
-
*/
|
|
92
29
|
interface ErrorMessageStyleProps {
|
|
93
|
-
/** `!!error` — red. Wins over `$warning` when both are set. */
|
|
94
30
|
$error?: boolean;
|
|
95
|
-
/** `!!warning` — orange. */
|
|
96
31
|
$warning?: boolean;
|
|
97
32
|
}
|
|
98
33
|
export declare const ErrorMessage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, ErrorMessageStyleProps>, never>> & string;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export declare const RadioLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
|
|
2
2
|
interface RadioStyleProps {
|
|
3
|
-
/** `checked` —
|
|
3
|
+
/** `checked` — passed through as the checked-state affordance. */
|
|
4
4
|
$isChecked?: boolean;
|
|
5
|
-
/** `disabled` —
|
|
5
|
+
/** `disabled` — leaks to DOM. */
|
|
6
6
|
disabled?: boolean;
|
|
7
|
-
/** `readOnly` —
|
|
7
|
+
/** `readOnly` — leaks to DOM. */
|
|
8
8
|
readOnly?: boolean;
|
|
9
9
|
}
|
|
10
10
|
export declare const Radio: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>>, RadioStyleProps>, never>> & string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface SwitchStyleProps {
|
|
2
|
-
/** `disabled` — dims and blocks pointer events. Leaks to
|
|
2
|
+
/** `disabled` — dims and blocks pointer events. Leaks to DOM. */
|
|
3
3
|
disabled?: boolean;
|
|
4
|
-
/** `readOnly` — dims and blocks pointer events. Leaks to
|
|
4
|
+
/** `readOnly` — dims and blocks pointer events. Leaks to DOM. */
|
|
5
5
|
readOnly?: boolean;
|
|
6
6
|
}
|
|
7
7
|
export declare const Switch: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, SwitchStyleProps>, never>> & string;
|
|
@@ -10,11 +10,7 @@ export declare const SwitchIndicatorButton: import("styled-components/dist/types
|
|
|
10
10
|
export declare const SwitchIndicatorLabelText: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, never>, never>> & string;
|
|
11
11
|
export declare const SwitchLabel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>, import("react").DetailedHTMLProps<import("react").LabelHTMLAttributes<HTMLLabelElement>, HTMLLabelElement>>, never>, never>> & string;
|
|
12
12
|
export declare const Description: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, {
|
|
13
|
-
/**
|
|
14
|
-
* `spaciousDescription` — `PropTypes.bool`. Lower-case `$spaciousdescription` by
|
|
15
|
-
* existing convention at both ends; renaming it would be a two-file change for no
|
|
16
|
-
* type benefit.
|
|
17
|
-
*/
|
|
13
|
+
/** `spaciousDescription` — lower-case by convention; renaming would require two-file change. */
|
|
18
14
|
$spaciousdescription?: boolean;
|
|
19
15
|
}>, never>> & string;
|
|
20
16
|
export {};
|
|
@@ -73,10 +73,6 @@ type TextAreaOwnProps = {
|
|
|
73
73
|
style?: any;
|
|
74
74
|
/**
|
|
75
75
|
* Add padding (small-medium-large)
|
|
76
|
-
*
|
|
77
|
-
* `''` is not from this component's propTypes; `Instructions` forwards its own
|
|
78
|
-
* `'' | 'small' | 'medium' | 'large'` straight in at `Instructions.tsx:354`. Kept in
|
|
79
|
-
* sync with `TextAreaPadding` in `TextArea.styled.ts`, which has the full rationale.
|
|
80
76
|
*/
|
|
81
77
|
padding?: '' | 'small' | 'medium' | 'large';
|
|
82
78
|
/**
|
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* carried as `$type` by `TextInputField`, `TextInputFieldIconAlert`, `TextInput` and
|
|
5
5
|
* `Description`.
|
|
6
6
|
*
|
|
7
|
-
* Closed on purpose
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* member because the component defaults `type = ''` (tsx line 40).
|
|
7
|
+
* Closed on purpose: the templates branch on this value 26 times, so a mistyped state name
|
|
8
|
+
* becomes a type error instead of a rule that silently never fires. `''` is a member because
|
|
9
|
+
* the component defaults `type = ''`.
|
|
11
10
|
*/
|
|
12
11
|
type TextAreaType = '' | 'error' | 'error-border' | 'warning-border' | 'warning' | 'loading' | 'success' | 'instructions-warning';
|
|
13
12
|
/**
|
|
@@ -33,9 +32,8 @@ export declare const InputIconContainer: import("styled-components/dist/types").
|
|
|
33
32
|
* Props of `TextInputField`, the `<textarea>` itself. Six transient props plus the two
|
|
34
33
|
* halves of a defect.
|
|
35
34
|
*
|
|
36
|
-
* `readOnly` and `disabled` are
|
|
37
|
-
*
|
|
38
|
-
* so those reads already typecheck and declaring them would add nothing. §J.9's first case.
|
|
35
|
+
* `readOnly` and `disabled` are deliberately absent: both are real `TextareaHTMLAttributes`
|
|
36
|
+
* members, so the template's reads already typecheck.
|
|
39
37
|
*/
|
|
40
38
|
export interface TextInputFieldStyleProps {
|
|
41
39
|
/**
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* `boolean` for both, and NOT the `bool | string` that `error`'s and `warning`'s own
|
|
5
5
|
* propTypes allow: `TextInput.tsx` derives `hasError` / `hasWarning`
|
|
6
6
|
* (`isBoolean(x) ? x : !isEmpty(x)`) and passes those, keeping the message text for
|
|
7
|
-
* `Description`'s children.
|
|
7
|
+
* `Description`'s children. The JSX site says which value arrives.
|
|
8
8
|
*/
|
|
9
9
|
export interface ValidationStyleProps {
|
|
10
10
|
/** `hasError` — red border / red message. */
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Props of the styled root, i.e. `SectionSeparator.tsx`'s `vertical` / `margin`
|
|
3
|
-
* carried across the `shouldForwardProp` boundary.
|
|
4
|
-
*/
|
|
5
1
|
export interface SectionSeparatorStyleProps {
|
|
6
|
-
/** `vertical` — swaps which axis gets the 1px hairline
|
|
2
|
+
/** `vertical` — swaps which axis gets the 1px hairline. */
|
|
7
3
|
$vertical?: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* `margin` — px, interpolated as `${props.$margin}px`, so `number` and not
|
|
10
|
-
* `number | string`: a string here would already render `margin-top: 8pxpx`.
|
|
11
|
-
*/
|
|
4
|
+
/** `margin` — px, interpolated so type is `number`. */
|
|
12
5
|
$margin?: number;
|
|
13
6
|
}
|
|
14
7
|
export declare const SectionSeparator: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, SectionSeparatorStyleProps>, never>> & string;
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* `$actionWidthHeight={action.actionWidthHeight}` and nothing else.
|
|
2
|
+
* Props passed by `AssetAction.tsx` to `<S.AssetActionButton>`.
|
|
4
3
|
*/
|
|
5
4
|
interface AssetActionButtonStyleProps {
|
|
6
5
|
/**
|
|
7
|
-
* `
|
|
8
|
-
* `[width, height]`. `number[]` and not `[number, number]`: the propTypes say an
|
|
9
|
-
* array of numbers of any length, and the template guards on the array's presence
|
|
10
|
-
* rather than its length. The values are px and are also used arithmetically
|
|
11
|
-
* (`- 14`), so `number` and not `number | string`.
|
|
6
|
+
* `[width, height]` in pixels, used arithmetically.
|
|
12
7
|
*/
|
|
13
8
|
$actionWidthHeight?: number[];
|
|
14
9
|
}
|
|
@@ -32,18 +32,6 @@ type AssetGalleryBaseOwnProps = {
|
|
|
32
32
|
customSelectedBorder?: string[];
|
|
33
33
|
/**
|
|
34
34
|
* An array containing the key of all selected assets
|
|
35
|
-
*
|
|
36
|
-
* NMB-3998: `(string | number)[]`, not the `string[] | number[]` the propTypes codemod
|
|
37
|
-
* produced from `oneOfType([arrayOf(string), arrayOf(number)])`. Calling `.includes()` on
|
|
38
|
-
* a union OF ARRAY TYPES intersects the candidate signatures' parameters, giving
|
|
39
|
-
* `string & number` = `never`, so all three `selectedAssetKeys.includes(...)` reads in
|
|
40
|
-
* this file failed with "not assignable to parameter of type 'never'".
|
|
41
|
-
*
|
|
42
|
-
* The union was also the wrong contract, not merely an awkward one. `Asset['key']` is
|
|
43
|
-
* `string | number`, and this array is compared against `asset.key` at lines 585, 659 and
|
|
44
|
-
* 676 — so a gallery whose assets have mixed key types needs a mixed array, which
|
|
45
|
-
* `arrayOf(string) | arrayOf(number)` cannot express. This records what the component
|
|
46
|
-
* does; it is a pure widening, so no existing consumer call site can break.
|
|
47
35
|
*/
|
|
48
36
|
selectedAssetKeys: (string | number)[];
|
|
49
37
|
/**
|
|
@@ -1,68 +1,20 @@
|
|
|
1
1
|
import type { AssetNoteType } from '../../asset.types';
|
|
2
|
-
/**
|
|
3
|
-
* `asset.disabled` — `PropTypes.bool` on the asset shape.
|
|
4
|
-
*
|
|
5
|
-
* NO `$`, AND THAT IS A DEFECT — AND THIS IS THE ONE OF THE FOUR THAT IS ALREADY IN
|
|
6
|
-
* THE BASELINE. `shouldForwardProp` forwards every non-`$` prop; React does recognise
|
|
7
|
-
* `disabled` and renders it as a bare boolean attribute even on a `<div>`, so
|
|
8
|
-
* `disabled=""` sits on both the wrapper and the card root in
|
|
9
|
-
* `scripts/r19-harness/baseline.json` under `widgets/AssetGalleryCompactCard#disabled`.
|
|
10
|
-
* Grep it: `disabled=` appears 35 times across that file.
|
|
11
|
-
*
|
|
12
|
-
* The fix is to rename it `$disabled` at both ends, which REMOVES that attribute and
|
|
13
|
-
* therefore MOVES the render baseline — C10 work, §E.4.
|
|
14
|
-
*
|
|
15
|
-
* Hosts: `AssetGalleryWrapper` and `AssetGalleryCompactCard`.
|
|
16
|
-
*/
|
|
2
|
+
/** NO `$` is a defect but already in baseline (`disabled=""` on wrapper and card). Deferred to C10. */
|
|
17
3
|
interface AssetGalleryDisabledStyleProps {
|
|
18
4
|
disabled?: boolean;
|
|
19
5
|
}
|
|
20
|
-
/**
|
|
21
|
-
* The selection-state props, declared once because six components take overlapping
|
|
22
|
-
* subsets of them; each one below `Pick`s exactly what its JSX site passes.
|
|
23
|
-
* `AssetGalleryCompactCard.tsx` is the only caller.
|
|
24
|
-
*/
|
|
6
|
+
/** Selection-state props used across multiple components. AssetGalleryCompactCard.tsx is the only caller. */
|
|
25
7
|
interface AssetGallerySelectionStyleProps {
|
|
26
|
-
/**
|
|
27
|
-
* `selected` — `PropTypes.bool`.
|
|
28
|
-
*
|
|
29
|
-
* NO `$`, AND THAT IS A DEFECT — BUT NOT A DOM LEAK, and the difference is worth
|
|
30
|
-
* stating because the obvious guess is wrong. `shouldForwardProp` does forward it to
|
|
31
|
-
* React, but React DROPS a boolean `selected` on anything that is not an `<option>`,
|
|
32
|
-
* silently and with no warning; measured by rendering `<div selected>` through
|
|
33
|
-
* react-dom@19.2.4, and confirmed by `selected=` appearing ZERO times in
|
|
34
|
-
* `scripts/r19-harness/baseline.json`.
|
|
35
|
-
*
|
|
36
|
-
* So the defect is that the prop is unfiltered and the render only stays clean because
|
|
37
|
-
* React cleans up after it. Prefixing it is still the right fix and still a behaviour
|
|
38
|
-
* change to review on its own (C10) — it just would not move the baseline.
|
|
39
|
-
*/
|
|
8
|
+
/** NO `$` is a defect but not a DOM leak: React drops boolean `selected` on non-`<option>` elements. Deferred to C10. */
|
|
40
9
|
selected?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* required declaration produces TS2769 at `<X />` and at `<X {...props} />`. §J.5. */
|
|
10
|
+
/** Optional here to avoid TS2769 at call sites, though required on the component itself. */
|
|
43
11
|
$softSelected?: boolean;
|
|
44
|
-
/** `
|
|
45
|
-
* `[darkModeColor, lightModeColor]`. `string[]` and not `[string, string]`, because
|
|
46
|
-
* that is what the propTypes say. */
|
|
12
|
+
/** Read as `[darkModeColor, lightModeColor]`; `string[]` not `[string, string]` to match propTypes. */
|
|
47
13
|
$customSelectedBorder?: string[];
|
|
48
14
|
}
|
|
49
|
-
/**
|
|
50
|
-
* The card root's props. `as={ComputedRootComponent}` is passed alongside these and that
|
|
51
|
-
* wrapper re-renders this same styled component with the leftover props, so both passes
|
|
52
|
-
* see the same shape.
|
|
53
|
-
*/
|
|
15
|
+
/** Card root props (both passes see the same shape via ComputedRootComponent). */
|
|
54
16
|
interface AssetGalleryCompactCardStyleProps extends AssetGalleryDisabledStyleProps, Pick<AssetGallerySelectionStyleProps, 'selected'> {
|
|
55
|
-
/**
|
|
56
|
-
* `extendedSelectMode` — `PropTypes.bool`. Makes the whole card a selectable area.
|
|
57
|
-
*
|
|
58
|
-
* NO `$`, AND THAT IS A DEFECT — and it reaches the DOM even less than `selected`
|
|
59
|
-
* does, for two independent reasons. `ComputedRootComponent` explicitly `omit`s this
|
|
60
|
-
* key before re-rendering the card, so the inner pass never sees it; and React drops
|
|
61
|
-
* an unrecognised camelCase prop whose value is `true` anyway, warning "React does
|
|
62
|
-
* not recognize the `extendedSelectMode` prop on a DOM element". Both measured.
|
|
63
|
-
* `extendedselectmode` appears ZERO times in the recorded baseline, with the base
|
|
64
|
-
* fixture passing `extendedSelectMode: true`. Declared here, renamed in C10.
|
|
65
|
-
*/
|
|
17
|
+
/** NO `$` is a defect but not a DOM leak: ComputedRootComponent omits it and React drops camelCase props. Deferred to C10. */
|
|
66
18
|
extendedSelectMode?: boolean;
|
|
67
19
|
}
|
|
68
20
|
export declare const AssetGalleryWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, AssetGalleryDisabledStyleProps>, never>> & string;
|
|
@@ -1,56 +1,20 @@
|
|
|
1
1
|
export declare const AssetGalleryWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, Pick<AssetGalleryGridCardStyleProps, "disabled">>, never>> & string;
|
|
2
|
-
/**
|
|
3
|
-
* What `ringState` reads. Also the reason the card root needs a generic at all: three of
|
|
4
|
-
* these five are only ever read HERE, inside the `.attrs()` callback, not in the template.
|
|
5
|
-
*/
|
|
2
|
+
/** Props that ringState reads. Reason card root needs a generic at all. */
|
|
6
3
|
interface AssetGalleryGridCardRingProps {
|
|
7
|
-
/**
|
|
8
|
-
* `selected` — `PropTypes.bool`.
|
|
9
|
-
*
|
|
10
|
-
* NO `$`, AND THAT IS A DEFECT — but NOT a DOM leak. `ComputedRootComponent` spreads it
|
|
11
|
-
* onto a plain `<div>` and React DROPS a boolean `selected` on any element that is not
|
|
12
|
-
* an `<option>`, silently; `selected=` occurs zero times in
|
|
13
|
-
* `scripts/r19-harness/baseline.json`. Prefixing it is still a behaviour change to
|
|
14
|
-
* review on its own (C10, §E.4) — it just would not move the baseline.
|
|
15
|
-
*/
|
|
4
|
+
/** NO `$` is a defect but not a DOM leak: React drops boolean `selected` on non-`<option>` elements. Deferred to C10. */
|
|
16
5
|
selected?: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* `asset.completed` — `PropTypes.bool`.
|
|
19
|
-
*
|
|
20
|
-
* NO `$`, AND THAT IS A DEFECT — and again not a DOM leak, for a different reason:
|
|
21
|
-
* `ComputedRootComponent` explicitly `omit`s `completed`, and React would drop it
|
|
22
|
-
* anyway ("Received `true` for a non-boolean attribute `completed`"). Measured both ways.
|
|
23
|
-
*/
|
|
6
|
+
/** NO `$` is a defect but not a DOM leak: ComputedRootComponent explicitly omits it. Deferred to C10. */
|
|
24
7
|
completed?: boolean;
|
|
25
|
-
/** `softSelected` — `PropTypes.bool.isRequired` on the COMPONENT, optional here per §J.5. */
|
|
26
8
|
$softSelected?: boolean;
|
|
27
|
-
/** `asset.hasError` — `PropTypes.bool`. */
|
|
28
9
|
$hasError?: boolean;
|
|
29
|
-
/** `
|
|
30
|
-
* `[darkModeColor, lightModeColor]` and written into the `--ring-dark` / `--ring-light`
|
|
31
|
-
* custom properties by the `.attrs()` callback. */
|
|
10
|
+
/** Read as `[darkModeColor, lightModeColor]` and written to `--ring-dark` / `--ring-light` custom properties. */
|
|
32
11
|
$customSelectedBorder?: string[];
|
|
33
12
|
}
|
|
34
|
-
/**
|
|
35
|
-
* The card root's props: everything `ringState` reads, plus the two the TEMPLATE reads.
|
|
36
|
-
*/
|
|
13
|
+
/** Card root props: everything ringState reads, plus what the template reads. */
|
|
37
14
|
interface AssetGalleryGridCardStyleProps extends AssetGalleryGridCardRingProps {
|
|
38
|
-
/**
|
|
39
|
-
* `asset.disabled` — `PropTypes.bool`.
|
|
40
|
-
*
|
|
41
|
-
* NO `$`, AND THIS IS THE ONE THAT REALLY REACHES THE DOM. React recognises
|
|
42
|
-
* `disabled` and renders it as a bare boolean attribute even on a `<div>`, so
|
|
43
|
-
* `disabled=""` is on both the wrapper and the card root in
|
|
44
|
-
* `widgets/AssetGalleryGridCard#disabled` in the recorded baseline. Renaming it
|
|
45
|
-
* `$disabled` REMOVES that attribute and therefore MOVES the baseline — C10, §E.4.
|
|
46
|
-
*/
|
|
15
|
+
/** NO `$` reaches the DOM; defect deferred to C10. Baseline shows `disabled=""` on wrapper and card root. */
|
|
47
16
|
disabled?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* `extendedSelectMode` — `PropTypes.bool`. Makes the whole card a selectable area.
|
|
50
|
-
*
|
|
51
|
-
* NO `$`, AND THAT IS A DEFECT — not a DOM leak twice over: `ComputedRootComponent`
|
|
52
|
-
* `omit`s it, and React drops an unrecognised camelCase prop whose value is `true`.
|
|
53
|
-
*/
|
|
17
|
+
/** NO `$` is a defect but not a DOM leak: ComputedRootComponent omits it and React drops unrecognised camelCase props. */
|
|
54
18
|
extendedSelectMode?: boolean;
|
|
55
19
|
}
|
|
56
20
|
export declare const AssetGalleryGridCard: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>>, AssetGalleryGridCardStyleProps>, never>> & string;
|