@planningcenter/tapestry 3.3.2-qa-891.0 → 3.4.0
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/dist/components/combo-box/ComboBox.d.ts +9 -1
- package/dist/components/combo-box/ComboBox.d.ts.map +1 -1
- package/dist/components/combo-box/ComboBox.js +1 -1
- package/dist/components/combo-box/ComboBox.js.map +1 -1
- package/dist/index.css +36 -36
- package/dist/index.css.map +1 -1
- package/dist/product-tokens/home.css +1 -0
- package/dist/reactRender.css +1975 -1975
- package/dist/reactRender.css.map +1 -1
- package/dist/reactRenderLegacy.css +1975 -1975
- package/dist/reactRenderLegacy.css.map +1 -1
- package/dist/tokens.css +8 -7
- package/dist/tokens.css.map +1 -1
- package/dist/unstable.css +36 -36
- package/dist/unstable.css.map +1 -1
- package/package.json +5 -5
|
@@ -29,6 +29,14 @@ export interface ComboBoxProps<T extends object = object> {
|
|
|
29
29
|
* - Other values render as `"idle"`.
|
|
30
30
|
*/
|
|
31
31
|
loadingState?: ComboBoxLoadingState;
|
|
32
|
+
/**
|
|
33
|
+
* The interaction that opens the popover.
|
|
34
|
+
* - `"input"`: opens when the user enters text in the input.
|
|
35
|
+
* - `"focus"`: opens when the user focuses (via click or keyboard) into the input.
|
|
36
|
+
* - `"manual"`: opens only via the trigger button or arrow keys.
|
|
37
|
+
* @default "focus"
|
|
38
|
+
*/
|
|
39
|
+
menuTrigger?: "focus" | "input" | "manual";
|
|
32
40
|
/**
|
|
33
41
|
* Called when the selected value(s) change.
|
|
34
42
|
* Receives `Key[]` when `selectionMode` is `"multiple"`, otherwise `Key | null`.
|
|
@@ -48,7 +56,7 @@ export interface ComboBoxProps<T extends object = object> {
|
|
|
48
56
|
size?: ComboBoxSize;
|
|
49
57
|
}
|
|
50
58
|
type AriaComboBoxPropsToOmit = "slot";
|
|
51
|
-
type AriaComboBoxPropsToInclude = "allowsEmptyCollection" | "defaultInputValue" | "defaultItems" | "defaultValue" | "disabledKeys" | "inputValue" | "items" | "
|
|
59
|
+
type AriaComboBoxPropsToInclude = "allowsEmptyCollection" | "defaultInputValue" | "defaultItems" | "defaultValue" | "disabledKeys" | "inputValue" | "items" | "name" | "onInputChange" | "selectionMode" | "value";
|
|
52
60
|
export type ComboBoxElementProps<T extends object = object> = CombineAriaPropsWithCustomProps<AriaComboBoxProps<T, "single" | "multiple">, ComboBoxProps<T>, AriaComboBoxPropsToOmit, AriaComboBoxPropsToInclude>;
|
|
53
61
|
/**
|
|
54
62
|
* A combo box combines a text input with a filterable popover
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../src/components/combo-box/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,CAAA;AAC1B,OAAO,8BAA8B,CAAA;AACrC,OAAO,aAAa,CAAA;AAIpB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAA;AAEhF,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAIL,KAAK,aAAa,IAAI,iBAAiB,EAEvC,KAAK,GAAG,EAIR,KAAK,gBAAgB,EAErB,KAAK,YAAY,IAAI,gBAAgB,EAErC,KAAK,mBAAmB,EAGzB,MAAM,gCAAgC,CAAA;AAIvC,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAA;AAEtC,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,WAAW,GACX,MAAM,GACN,SAAS,GACT,aAAa,GACb,SAAS,CAAA;AAEb,KAAK,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CACnD,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAChC,CAAA;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IACtD,mCAAmC;IACnC,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;IAC7B,gGAAgG;IAChG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAA;IAC3D,qGAAqG;IACrG,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAA;IACb;;;;;OAKG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAA;IACnC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,CAAA;IACnE,iHAAiH;IACjH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,wFAAwF;IACxF,gBAAgB,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,CAAA;IAChD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iCAAiC;IACjC,IAAI,CAAC,EAAE,YAAY,CAAA;CACpB;AAED,KAAK,uBAAuB,GAAG,MAAM,CAAA;AAErC,KAAK,0BAA0B,GAC3B,uBAAuB,GACvB,mBAAmB,GACnB,cAAc,GACd,cAAc,GACd,cAAc,GACd,YAAY,GACZ,OAAO,GACP,
|
|
1
|
+
{"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../src/components/combo-box/ComboBox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ function resolveEmptyState(value) {
|
|
|
22
22
|
* @component
|
|
23
23
|
* @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-combobox--docs | Storybook Documentation}
|
|
24
24
|
*/
|
|
25
|
-
function ComboBox({ allowsEmptyCollection = true, children, className, description, disabled, filter, hideLabel, invalid, label, loadingState, menuTrigger, onChange, onLoadMore, placeholder, readOnly, renderEmptyState = "No results", required, size = "md", ...restProps }) {
|
|
25
|
+
function ComboBox({ allowsEmptyCollection = true, children, className, description, disabled, filter, hideLabel, invalid, label, loadingState, menuTrigger = "focus", onChange, onLoadMore, placeholder, readOnly, renderEmptyState = "No results", required, size = "md", ...restProps }) {
|
|
26
26
|
const combinedClassName = classNames("tds-field tds-combo-box", {
|
|
27
27
|
"tds-combo-box--lg": size === "lg",
|
|
28
28
|
"tds-field--lg": size === "lg",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.js","sources":["../../../src/components/combo-box/ComboBox.tsx"],"sourcesContent":["import \"../button/btn.css\"\nimport \"../input-text-base/index.css\"\nimport \"./index.css\"\n\nimport LoadingSpinner from \"@components/internal/LoadingSpinner\"\nimport Icon from \"@utilities/Icon\"\nimport type { CombineAriaPropsWithCustomProps } from \"@utilities/reactAriaProps\"\nimport classNames from \"classnames\"\nimport React, { type ReactNode } from \"react\"\nimport {\n Button,\n Collection,\n ComboBox as AriaComboBox,\n type ComboBoxProps as AriaComboBoxProps,\n Input,\n type Key,\n Label,\n ListBox,\n ListBoxItem,\n type ListBoxItemProps,\n ListBoxLoadMoreItem,\n type ListBoxProps as AriaListBoxProps,\n ListBoxSection,\n type ListBoxSectionProps,\n Popover,\n Text,\n} from \"react-aria-components/ComboBox\"\nimport { Group } from \"react-aria-components/Group\"\nimport { Header } from \"react-aria-components/Header\"\n\nexport type ComboBoxSize = \"md\" | \"lg\"\n\nexport type ComboBoxLoadingState =\n | \"error\"\n | \"filtering\"\n | \"idle\"\n | \"loading\"\n | \"loadingMore\"\n | \"sorting\"\n\ntype ComboBoxChildren<T extends object> = NonNullable<\n AriaListBoxProps<T>[\"children\"]\n>\n\nexport interface ComboBoxProps<T extends object = object> {\n /** The contents of the listbox. */\n children: ComboBoxChildren<T>\n /** Helper text displayed below the component. Styled as error text when `invalid` is `true`. */\n description?: string\n /** Disables the field and trigger button. */\n disabled?: boolean\n /** Custom filter function for determining if an item should appear in the list. */\n filter?: (textValue: string, inputValue: string) => boolean\n /** If `true`, the `label` text is rendered as an `aria-label` instead of a visible label element. */\n hideLabel?: boolean\n /** Whether the input is in an invalid state. */\n invalid?: boolean\n /** Accessible label for the field. */\n label: string\n /**\n * Async loading state for the listbox.\n * - `\"loading\"`: while the collection is empty, replaces the empty state with a spinner.\n * - `\"loadingMore\"`: shows an inline spinner at the bottom of the listbox (use with `onLoadMore`).\n * - Other values render as `\"idle\"`.\n */\n loadingState?: ComboBoxLoadingState\n /**\n * Called when the selected value(s) change.\n * Receives `Key[]` when `selectionMode` is `\"multiple\"`, otherwise `Key | null`.\n */\n onChange?: ((value: Key | null) => void) | ((value: Key[]) => void)\n /** Called when the user scrolls near the bottom of the listbox. Pair with `loadingState` for infinite scroll. */\n onLoadMore?: () => void\n /** Placeholder text for the input. */\n placeholder?: string\n /** If `true`, allows the value to be read but not changed. */\n readOnly?: boolean\n /** Content to display when there are no items in the list. Defaults to \"No results\". */\n renderEmptyState?: ReactNode | (() => ReactNode)\n /** If `true`, appends an asterisk at the end of the label text. */\n required?: boolean\n /** The size of the combo box. */\n size?: ComboBoxSize\n}\n\ntype AriaComboBoxPropsToOmit = \"slot\"\n\ntype AriaComboBoxPropsToInclude =\n | \"allowsEmptyCollection\"\n | \"defaultInputValue\"\n | \"defaultItems\"\n | \"defaultValue\"\n | \"disabledKeys\"\n | \"inputValue\"\n | \"items\"\n | \"menuTrigger\"\n | \"name\"\n | \"onInputChange\"\n | \"selectionMode\"\n | \"value\"\n\nexport type ComboBoxElementProps<T extends object = object> =\n CombineAriaPropsWithCustomProps<\n AriaComboBoxProps<T, \"single\" | \"multiple\">,\n ComboBoxProps<T>,\n AriaComboBoxPropsToOmit,\n AriaComboBoxPropsToInclude\n >\n\nfunction resolveEmptyState(value: ReactNode | (() => ReactNode)): ReactNode {\n return typeof value === \"function\" ? value() : value\n}\n\n/**\n * A combo box combines a text input with a filterable popover\n * listbox, allowing users to type to search and select from a list of options.\n *\n * It supports both single and multiple selection (`selectionMode`), custom filtering,\n * and asynchronous data loading with infinite scroll capabilities (`loadingState` and `onLoadMore`).\n * Collections can be either static or dynamic, managed via the `children`, `items`,\n * or `defaultItems` props. To construct the dropdown list, compose this component\n * with `ComboBoxItem` for individual options and `ComboBoxSection` for grouping.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-combobox--docs | Storybook Documentation}\n */\nexport function ComboBox<T extends object>({\n allowsEmptyCollection = true,\n children,\n className,\n description,\n disabled,\n filter,\n hideLabel,\n invalid,\n label,\n loadingState,\n menuTrigger,\n onChange,\n onLoadMore,\n placeholder,\n readOnly,\n renderEmptyState = \"No results\",\n required,\n size = \"md\",\n ...restProps\n}: ComboBoxElementProps<T>) {\n const combinedClassName = classNames(\n \"tds-field tds-combo-box\",\n {\n \"tds-combo-box--lg\": size === \"lg\",\n \"tds-field--lg\": size === \"lg\",\n },\n className\n )\n\n const loadMoreItem = onLoadMore && (\n <ListBoxLoadMoreItem\n className=\"tds-combo-box-load-more\"\n isLoading={loadingState === \"loadingMore\"}\n onLoadMore={onLoadMore}\n >\n <div aria-label=\"Loading more\" role=\"status\">\n <LoadingSpinner />\n </div>\n </ListBoxLoadMoreItem>\n )\n\n const renderChildren = () => {\n if (typeof children === \"function\") {\n return (\n <Collection items={restProps.items ?? restProps.defaultItems}>\n {children}\n </Collection>\n )\n }\n return children\n }\n\n return (\n // React Aria's ComboBox is generic over selection mode (M). We instantiate\n // it with the union \"single\" | \"multiple\" so value/defaultValue/selectionMode\n // accept both shapes. onChange still needs a cast because our type is a union\n // of function types (to allow narrower handlers like\n // `setValue: (Key|null) => void`), which isn't assignable to RAC's\n // single-function signature.\n <AriaComboBox<T, \"single\" | \"multiple\">\n {...restProps}\n allowsEmptyCollection={allowsEmptyCollection}\n aria-label={hideLabel ? label : undefined}\n className={combinedClassName}\n defaultFilter={filter}\n isDisabled={disabled}\n isInvalid={invalid}\n isReadOnly={readOnly}\n isRequired={required}\n menuTrigger={menuTrigger}\n onChange={onChange as (value: Key | Key[] | null) => void}\n >\n {!hideLabel && <Label className=\"tds-field-label\">{label}</Label>}\n <Group className=\"tds-field-control tds-combo-box-field\">\n <Input className=\"tds-combo-box-input\" placeholder={placeholder} />\n {menuTrigger !== \"focus\" && !readOnly && (\n <Button className=\"tds-combo-box-button tds-btn tds-btn--infield\">\n <Icon aria-hidden symbol=\"general#down-caret\" />\n </Button>\n )}\n </Group>\n <Popover className=\"tds-combo-box-popover\">\n <ListBox\n className=\"tds-combo-box-list\"\n renderEmptyState={\n allowsEmptyCollection\n ? () => (\n <div\n aria-label={\n loadingState === \"loading\" ? \"Loading\" : undefined\n }\n className=\"tds-combo-box-empty-state\"\n role={loadingState === \"loading\" ? \"status\" : undefined}\n >\n {loadingState === \"loading\" ? (\n <LoadingSpinner />\n ) : (\n resolveEmptyState(renderEmptyState)\n )}\n </div>\n )\n : undefined\n }\n >\n {renderChildren()}\n {loadMoreItem}\n </ListBox>\n </Popover>\n {description && (\n <Text className=\"tds-field-description\" slot=\"description\">\n <Icon\n aria-hidden\n className=\"tds-field-description-invalid-icon\"\n symbol=\"general#exclamation-triangle\"\n />\n {description}\n </Text>\n )}\n </AriaComboBox>\n )\n}\n\nexport interface ComboBoxItemProps {\n /** Disables the item. */\n disabled?: boolean\n}\n\ntype AriaListBoxItemPropsToOmit = \"isDisabled\"\n\ntype AriaListBoxItemPropsToInclude = \"onAction\" | \"textValue\" | \"value\"\n\nexport type ComboBoxItemElementProps<T extends object = object> =\n CombineAriaPropsWithCustomProps<\n ListBoxItemProps<T>,\n ComboBoxItemProps,\n AriaListBoxItemPropsToOmit,\n AriaListBoxItemPropsToInclude\n >\n\n/**\n * A selectable option within a {@link ComboBox}. Renders as a listbox item.\n *\n * Provide an `id` (or `key` when rendering from a collection) to identify the\n * option, and `textValue` when the visible children are not plain text so\n * type-ahead and screen readers have a stable label to use.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-combobox--docs | Storybook Documentation}\n */\nexport function ComboBoxItem<T extends object>({\n className,\n disabled,\n ...restProps\n}: ComboBoxItemElementProps<T>) {\n return (\n <ListBoxItem\n {...restProps}\n className={classNames(\"tds-combo-box-list-item\", className)}\n isDisabled={disabled}\n />\n )\n}\n\nexport interface ComboBoxSectionProps {\n /** The items rendered within the section. */\n children: ReactNode\n /** Optional heading text rendered above the section's items. */\n title?: string\n}\n\ntype AriaListBoxSectionPropsToInclude = \"dependencies\"\n\nexport type ComboBoxSectionElementProps<T extends object = object> =\n CombineAriaPropsWithCustomProps<\n ListBoxSectionProps<T>,\n ComboBoxSectionProps,\n never,\n AriaListBoxSectionPropsToInclude\n >\n\n/**\n * A group of related {@link ComboBoxItem}s within a {@link ComboBox}. Renders\n * an optional `title` heading above its items.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-combobox--docs | Storybook Documentation}\n */\nexport function ComboBoxSection<T extends object>({\n children,\n className,\n title,\n ...restProps\n}: ComboBoxSectionElementProps<T>) {\n return (\n <ListBoxSection\n {...restProps}\n className={classNames(\"tds-combo-box-list-section\", className)}\n >\n {title && (\n <Header className=\"tds-combo-box-section-header\">{title}</Header>\n )}\n {children}\n </ListBoxSection>\n )\n}\n"],"names":["React","AriaComboBox"],"mappings":";;;;;;;;AA6GA,SAAS,iBAAiB,CAAC,KAAoC,EAAA;AAC7D,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,EAAE,GAAG,KAAK;AACtD;AAEA;;;;;;;;;;;;AAYG;AACG,SAAU,QAAQ,CAAmB,EACzC,qBAAqB,GAAG,IAAI,EAC5B,QAAQ,EACR,SAAS,EACT,WAAW,EACX,QAAQ,EACR,MAAM,EACN,SAAS,EACT,OAAO,EACP,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,gBAAgB,GAAG,YAAY,EAC/B,QAAQ,EACR,IAAI,GAAG,IAAI,EACX,GAAG,SAAS,EACY,EAAA;AACxB,IAAA,MAAM,iBAAiB,GAAG,UAAU,CAClC,yBAAyB,EACzB;QACE,mBAAmB,EAAE,IAAI,KAAK,IAAI;QAClC,eAAe,EAAE,IAAI,KAAK,IAAI;KAC/B,EACD,SAAS,CACV;IAED,MAAM,YAAY,GAAG,UAAU,KAC7BA,cAAA,CAAA,aAAA,CAAC,mBAAmB,IAClB,SAAS,EAAC,yBAAyB,EACnC,SAAS,EAAE,YAAY,KAAK,aAAa,EACzC,UAAU,EAAE,UAAU,EAAA;AAEtB,QAAAA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,YAAA,EAAgB,cAAc,EAAC,IAAI,EAAC,QAAQ,EAAA;AAC1C,YAAAA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,IAAA,CAAG,CACd,CACc,CACvB;IAED,MAAM,cAAc,GAAG,MAAK;AAC1B,QAAA,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AAClC,YAAA,QACEA,cAAA,CAAA,aAAA,CAAC,UAAU,EAAA,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,YAAY,IACzD,QAAQ,CACE;QAEjB;AACA,QAAA,OAAO,QAAQ;AACjB,IAAA,CAAC;IAED;;;;;;;IAOEA,cAAA,CAAA,aAAA,CAACC,UAAY,OACP,SAAS,EACb,qBAAqB,EAAE,qBAAqB,EAAA,YAAA,EAChC,SAAS,GAAG,KAAK,GAAG,SAAS,EACzC,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,QAAQ,EACpB,SAAS,EAAE,OAAO,EAClB,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,QAAQ,EACpB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAA+C,EAAA;QAExD,CAAC,SAAS,IAAID,cAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,iBAAiB,EAAA,EAAE,KAAK,CAAS;AACjE,QAAAA,cAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,uCAAuC,EAAA;YACtDA,cAAA,CAAA,aAAA,CAAC,KAAK,IAAC,SAAS,EAAC,qBAAqB,EAAC,WAAW,EAAE,WAAW,EAAA,CAAI;AAClE,YAAA,WAAW,KAAK,OAAO,IAAI,CAAC,QAAQ,KACnCA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,+CAA+C,EAAA;gBAC/DA,cAAA,CAAA,aAAA,CAAC,IAAI,yBAAa,MAAM,EAAC,oBAAoB,EAAA,CAAG,CACzC,CACV,CACK;AACR,QAAAA,cAAA,CAAA,aAAA,CAAC,OAAO,EAAA,EAAC,SAAS,EAAC,uBAAuB,EAAA;YACxCA,cAAA,CAAA,aAAA,CAAC,OAAO,IACN,SAAS,EAAC,oBAAoB,EAC9B,gBAAgB,EACd;sBACI,OACEA,cAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,YAAA,EAEI,YAAY,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS,EAEpD,SAAS,EAAC,2BAA2B,EACrC,IAAI,EAAE,YAAY,KAAK,SAAS,GAAG,QAAQ,GAAG,SAAS,EAAA,EAEtD,YAAY,KAAK,SAAS,IACzBA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,IAAA,CAAG,KAElB,iBAAiB,CAAC,gBAAgB,CAAC,CACpC,CACG;AAEV,sBAAE,SAAS,EAAA;AAGd,gBAAA,cAAc,EAAE;AAChB,gBAAA,YAAY,CACL,CACF;QACT,WAAW,KACVA,cAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,uBAAuB,EAAC,IAAI,EAAC,aAAa,EAAA;YACxDA,cAAA,CAAA,aAAA,CAAC,IAAI,yBAEH,SAAS,EAAC,oCAAoC,EAC9C,MAAM,EAAC,8BAA8B,EAAA,CACrC;AACD,YAAA,WAAW,CACP,CACR,CACY;AAEnB;AAmBA;;;;;;;;;AASG;AACG,SAAU,YAAY,CAAmB,EAC7C,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACgB,EAAA;IAC5B,QACEA,6BAAC,WAAW,EAAA,EAAA,GACN,SAAS,EACb,SAAS,EAAE,UAAU,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAC3D,UAAU,EAAE,QAAQ,EAAA,CACpB;AAEN;AAmBA;;;;;;AAMG;AACG,SAAU,eAAe,CAAmB,EAChD,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,SAAS,EACmB,EAAA;AAC/B,IAAA,QACEA,cAAA,CAAA,aAAA,CAAC,cAAc,EAAA,EAAA,GACT,SAAS,EACb,SAAS,EAAE,UAAU,CAAC,4BAA4B,EAAE,SAAS,CAAC,EAAA;QAE7D,KAAK,KACJA,cAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAC,8BAA8B,EAAA,EAAE,KAAK,CAAU,CAClE;QACA,QAAQ,CACM;AAErB;;;;"}
|
|
1
|
+
{"version":3,"file":"ComboBox.js","sources":["../../../src/components/combo-box/ComboBox.tsx"],"sourcesContent":["import \"../button/btn.css\"\nimport \"../input-text-base/index.css\"\nimport \"./index.css\"\n\nimport LoadingSpinner from \"@components/internal/LoadingSpinner\"\nimport Icon from \"@utilities/Icon\"\nimport type { CombineAriaPropsWithCustomProps } from \"@utilities/reactAriaProps\"\nimport classNames from \"classnames\"\nimport React, { type ReactNode } from \"react\"\nimport {\n Button,\n Collection,\n ComboBox as AriaComboBox,\n type ComboBoxProps as AriaComboBoxProps,\n Input,\n type Key,\n Label,\n ListBox,\n ListBoxItem,\n type ListBoxItemProps,\n ListBoxLoadMoreItem,\n type ListBoxProps as AriaListBoxProps,\n ListBoxSection,\n type ListBoxSectionProps,\n Popover,\n Text,\n} from \"react-aria-components/ComboBox\"\nimport { Group } from \"react-aria-components/Group\"\nimport { Header } from \"react-aria-components/Header\"\n\nexport type ComboBoxSize = \"md\" | \"lg\"\n\nexport type ComboBoxLoadingState =\n | \"error\"\n | \"filtering\"\n | \"idle\"\n | \"loading\"\n | \"loadingMore\"\n | \"sorting\"\n\ntype ComboBoxChildren<T extends object> = NonNullable<\n AriaListBoxProps<T>[\"children\"]\n>\n\nexport interface ComboBoxProps<T extends object = object> {\n /** The contents of the listbox. */\n children: ComboBoxChildren<T>\n /** Helper text displayed below the component. Styled as error text when `invalid` is `true`. */\n description?: string\n /** Disables the field and trigger button. */\n disabled?: boolean\n /** Custom filter function for determining if an item should appear in the list. */\n filter?: (textValue: string, inputValue: string) => boolean\n /** If `true`, the `label` text is rendered as an `aria-label` instead of a visible label element. */\n hideLabel?: boolean\n /** Whether the input is in an invalid state. */\n invalid?: boolean\n /** Accessible label for the field. */\n label: string\n /**\n * Async loading state for the listbox.\n * - `\"loading\"`: while the collection is empty, replaces the empty state with a spinner.\n * - `\"loadingMore\"`: shows an inline spinner at the bottom of the listbox (use with `onLoadMore`).\n * - Other values render as `\"idle\"`.\n */\n loadingState?: ComboBoxLoadingState\n /**\n * The interaction that opens the popover.\n * - `\"input\"`: opens when the user enters text in the input.\n * - `\"focus\"`: opens when the user focuses (via click or keyboard) into the input.\n * - `\"manual\"`: opens only via the trigger button or arrow keys.\n * @default \"focus\"\n */\n menuTrigger?: \"focus\" | \"input\" | \"manual\"\n /**\n * Called when the selected value(s) change.\n * Receives `Key[]` when `selectionMode` is `\"multiple\"`, otherwise `Key | null`.\n */\n onChange?: ((value: Key | null) => void) | ((value: Key[]) => void)\n /** Called when the user scrolls near the bottom of the listbox. Pair with `loadingState` for infinite scroll. */\n onLoadMore?: () => void\n /** Placeholder text for the input. */\n placeholder?: string\n /** If `true`, allows the value to be read but not changed. */\n readOnly?: boolean\n /** Content to display when there are no items in the list. Defaults to \"No results\". */\n renderEmptyState?: ReactNode | (() => ReactNode)\n /** If `true`, appends an asterisk at the end of the label text. */\n required?: boolean\n /** The size of the combo box. */\n size?: ComboBoxSize\n}\n\ntype AriaComboBoxPropsToOmit = \"slot\"\n\ntype AriaComboBoxPropsToInclude =\n | \"allowsEmptyCollection\"\n | \"defaultInputValue\"\n | \"defaultItems\"\n | \"defaultValue\"\n | \"disabledKeys\"\n | \"inputValue\"\n | \"items\"\n | \"name\"\n | \"onInputChange\"\n | \"selectionMode\"\n | \"value\"\n\nexport type ComboBoxElementProps<T extends object = object> =\n CombineAriaPropsWithCustomProps<\n AriaComboBoxProps<T, \"single\" | \"multiple\">,\n ComboBoxProps<T>,\n AriaComboBoxPropsToOmit,\n AriaComboBoxPropsToInclude\n >\n\nfunction resolveEmptyState(value: ReactNode | (() => ReactNode)): ReactNode {\n return typeof value === \"function\" ? value() : value\n}\n\n/**\n * A combo box combines a text input with a filterable popover\n * listbox, allowing users to type to search and select from a list of options.\n *\n * It supports both single and multiple selection (`selectionMode`), custom filtering,\n * and asynchronous data loading with infinite scroll capabilities (`loadingState` and `onLoadMore`).\n * Collections can be either static or dynamic, managed via the `children`, `items`,\n * or `defaultItems` props. To construct the dropdown list, compose this component\n * with `ComboBoxItem` for individual options and `ComboBoxSection` for grouping.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-combobox--docs | Storybook Documentation}\n */\nexport function ComboBox<T extends object>({\n allowsEmptyCollection = true,\n children,\n className,\n description,\n disabled,\n filter,\n hideLabel,\n invalid,\n label,\n loadingState,\n menuTrigger = \"focus\",\n onChange,\n onLoadMore,\n placeholder,\n readOnly,\n renderEmptyState = \"No results\",\n required,\n size = \"md\",\n ...restProps\n}: ComboBoxElementProps<T>) {\n const combinedClassName = classNames(\n \"tds-field tds-combo-box\",\n {\n \"tds-combo-box--lg\": size === \"lg\",\n \"tds-field--lg\": size === \"lg\",\n },\n className\n )\n\n const loadMoreItem = onLoadMore && (\n <ListBoxLoadMoreItem\n className=\"tds-combo-box-load-more\"\n isLoading={loadingState === \"loadingMore\"}\n onLoadMore={onLoadMore}\n >\n <div aria-label=\"Loading more\" role=\"status\">\n <LoadingSpinner />\n </div>\n </ListBoxLoadMoreItem>\n )\n\n const renderChildren = () => {\n if (typeof children === \"function\") {\n return (\n <Collection items={restProps.items ?? restProps.defaultItems}>\n {children}\n </Collection>\n )\n }\n return children\n }\n\n return (\n // React Aria's ComboBox is generic over selection mode (M). We instantiate\n // it with the union \"single\" | \"multiple\" so value/defaultValue/selectionMode\n // accept both shapes. onChange still needs a cast because our type is a union\n // of function types (to allow narrower handlers like\n // `setValue: (Key|null) => void`), which isn't assignable to RAC's\n // single-function signature.\n <AriaComboBox<T, \"single\" | \"multiple\">\n {...restProps}\n allowsEmptyCollection={allowsEmptyCollection}\n aria-label={hideLabel ? label : undefined}\n className={combinedClassName}\n defaultFilter={filter}\n isDisabled={disabled}\n isInvalid={invalid}\n isReadOnly={readOnly}\n isRequired={required}\n menuTrigger={menuTrigger}\n onChange={onChange as (value: Key | Key[] | null) => void}\n >\n {!hideLabel && <Label className=\"tds-field-label\">{label}</Label>}\n <Group className=\"tds-field-control tds-combo-box-field\">\n <Input className=\"tds-combo-box-input\" placeholder={placeholder} />\n {menuTrigger !== \"focus\" && !readOnly && (\n <Button className=\"tds-combo-box-button tds-btn tds-btn--infield\">\n <Icon aria-hidden symbol=\"general#down-caret\" />\n </Button>\n )}\n </Group>\n <Popover className=\"tds-combo-box-popover\">\n <ListBox\n className=\"tds-combo-box-list\"\n renderEmptyState={\n allowsEmptyCollection\n ? () => (\n <div\n aria-label={\n loadingState === \"loading\" ? \"Loading\" : undefined\n }\n className=\"tds-combo-box-empty-state\"\n role={loadingState === \"loading\" ? \"status\" : undefined}\n >\n {loadingState === \"loading\" ? (\n <LoadingSpinner />\n ) : (\n resolveEmptyState(renderEmptyState)\n )}\n </div>\n )\n : undefined\n }\n >\n {renderChildren()}\n {loadMoreItem}\n </ListBox>\n </Popover>\n {description && (\n <Text className=\"tds-field-description\" slot=\"description\">\n <Icon\n aria-hidden\n className=\"tds-field-description-invalid-icon\"\n symbol=\"general#exclamation-triangle\"\n />\n {description}\n </Text>\n )}\n </AriaComboBox>\n )\n}\n\nexport interface ComboBoxItemProps {\n /** Disables the item. */\n disabled?: boolean\n}\n\ntype AriaListBoxItemPropsToOmit = \"isDisabled\"\n\ntype AriaListBoxItemPropsToInclude = \"onAction\" | \"textValue\" | \"value\"\n\nexport type ComboBoxItemElementProps<T extends object = object> =\n CombineAriaPropsWithCustomProps<\n ListBoxItemProps<T>,\n ComboBoxItemProps,\n AriaListBoxItemPropsToOmit,\n AriaListBoxItemPropsToInclude\n >\n\n/**\n * A selectable option within a {@link ComboBox}. Renders as a listbox item.\n *\n * Provide an `id` (or `key` when rendering from a collection) to identify the\n * option, and `textValue` when the visible children are not plain text so\n * type-ahead and screen readers have a stable label to use.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-combobox--docs | Storybook Documentation}\n */\nexport function ComboBoxItem<T extends object>({\n className,\n disabled,\n ...restProps\n}: ComboBoxItemElementProps<T>) {\n return (\n <ListBoxItem\n {...restProps}\n className={classNames(\"tds-combo-box-list-item\", className)}\n isDisabled={disabled}\n />\n )\n}\n\nexport interface ComboBoxSectionProps {\n /** The items rendered within the section. */\n children: ReactNode\n /** Optional heading text rendered above the section's items. */\n title?: string\n}\n\ntype AriaListBoxSectionPropsToInclude = \"dependencies\"\n\nexport type ComboBoxSectionElementProps<T extends object = object> =\n CombineAriaPropsWithCustomProps<\n ListBoxSectionProps<T>,\n ComboBoxSectionProps,\n never,\n AriaListBoxSectionPropsToInclude\n >\n\n/**\n * A group of related {@link ComboBoxItem}s within a {@link ComboBox}. Renders\n * an optional `title` heading above its items.\n *\n * @component\n * @see {@link https://planningcenter.github.io/tapestry/?path=/docs/components-combobox--docs | Storybook Documentation}\n */\nexport function ComboBoxSection<T extends object>({\n children,\n className,\n title,\n ...restProps\n}: ComboBoxSectionElementProps<T>) {\n return (\n <ListBoxSection\n {...restProps}\n className={classNames(\"tds-combo-box-list-section\", className)}\n >\n {title && (\n <Header className=\"tds-combo-box-section-header\">{title}</Header>\n )}\n {children}\n </ListBoxSection>\n )\n}\n"],"names":["React","AriaComboBox"],"mappings":"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"}
|
package/dist/index.css
CHANGED
|
@@ -227,10 +227,10 @@
|
|
|
227
227
|
--t-fill-color-product-staff:hsl(328, 100%, 45%);
|
|
228
228
|
--t-fill-color-product-staff-dark:hsl(328, 100%, 38%);
|
|
229
229
|
--t-fill-color-product-staff-darker:hsl(328, 100%, 33%);
|
|
230
|
-
--t-fill-color-product-accounts-gradient-brand:linear-gradient(135deg, hsl(
|
|
230
|
+
--t-fill-color-product-accounts-gradient-brand:linear-gradient(135deg, hsl(205, 86%, 57%), hsl(210, 55%, 50%));
|
|
231
231
|
--t-fill-color-product-accounts-gradient-page:linear-gradient(111.72deg, hsl(220, 73%, 81%), hsl(220, 73%, 81%), hsl(204, 67%, 73%));
|
|
232
232
|
--t-fill-color-product-accounts-gradient-tint:linear-gradient(111.72deg, hsl(218, 73%, 94%), hsl(218, 73%, 94%), hsl(204, 67%, 92%));
|
|
233
|
-
--t-fill-color-product-api-gradient-brand:linear-gradient(180deg, hsl(221, 100%, 62%), hsl(
|
|
233
|
+
--t-fill-color-product-api-gradient-brand:linear-gradient(180deg, hsl(221, 100%, 62%), hsl(221, 91%, 55%));
|
|
234
234
|
--t-fill-color-product-calendar-gradient-brand:linear-gradient(135deg, hsl(10, 88%, 58%), hsl(8, 60%, 51%));
|
|
235
235
|
--t-fill-color-product-calendar-gradient-page:linear-gradient(111.72deg, hsl(5, 80%, 80%), hsl(293, 13%, 74%), hsl(204, 67%, 73%));
|
|
236
236
|
--t-fill-color-product-calendar-gradient-tint:linear-gradient(111.72deg, hsl(8, 100%, 94%), hsl(285, 18%, 91%), hsl(204, 67%, 92%));
|
|
@@ -245,10 +245,11 @@
|
|
|
245
245
|
--t-fill-color-product-groups-gradient-page:linear-gradient(111.72deg, hsl(17, 88%, 80%), hsl(293, 13%, 74%), hsl(204, 67%, 73%));
|
|
246
246
|
--t-fill-color-product-groups-gradient-tint:linear-gradient(111.72deg, hsl(18, 87%, 94%), hsl(300, 12%, 92%), hsl(204, 67%, 92%));
|
|
247
247
|
--t-fill-color-product-headcounts-gradient-brand:linear-gradient(135deg, hsl(283, 37%, 59%), hsl(285, 23%, 47%));
|
|
248
|
+
--t-fill-color-product-home-gradient-brand:linear-gradient(135deg, hsl(205, 86%, 57%), hsl(221, 91%, 55%));
|
|
248
249
|
--t-fill-color-product-home-gradient-page:linear-gradient(111.72deg, hsl(220, 73%, 81%), hsl(220, 73%, 81%), hsl(204, 67%, 73%));
|
|
249
250
|
--t-fill-color-product-home-gradient-tint:linear-gradient(111.72deg, hsl(218, 73%, 94%), hsl(218, 73%, 94%), hsl(204, 67%, 92%));
|
|
250
251
|
--t-fill-color-product-musicstand-gradient-brand:linear-gradient(135deg, hsl(204, 64%, 51%), hsl(211, 55%, 51%));
|
|
251
|
-
--t-fill-color-product-people-gradient-brand:linear-gradient(135deg, hsl(205, 86%, 57%), hsl(220,
|
|
252
|
+
--t-fill-color-product-people-gradient-brand:linear-gradient(135deg, hsl(205, 86%, 57%), hsl(220, 74%, 57%));
|
|
252
253
|
--t-fill-color-product-people-gradient-page:linear-gradient(111.72deg, hsl(220, 73%, 81%), hsl(220, 73%, 81%), hsl(204, 67%, 73%));
|
|
253
254
|
--t-fill-color-product-people-gradient-tint:linear-gradient(111.72deg, hsl(218, 73%, 94%), hsl(218, 73%, 94%), hsl(204, 67%, 92%));
|
|
254
255
|
--t-fill-color-product-publishing-gradient-brand:linear-gradient(135deg, hsl(240, 4%, 49%), hsl(240, 6%, 39%));
|
|
@@ -308,7 +309,7 @@
|
|
|
308
309
|
--t-fill-color-button-neutral-solid-hover:hsl(0, 0%, 88%);
|
|
309
310
|
--t-fill-color-button-neutral-solid-active:hsl(0, 0%, 81%);
|
|
310
311
|
--t-fill-color-button-neutral-solid-disabled:hsl(0, 0%, 95%);
|
|
311
|
-
--t-fill-color-button-neutral-outline:
|
|
312
|
+
--t-fill-color-button-neutral-outline:hsl(0, 0%, 100%);
|
|
312
313
|
--t-fill-color-button-neutral-outline-hover:hsl(0, 0%, 95%);
|
|
313
314
|
--t-fill-color-button-neutral-outline-active:hsl(0, 0%, 93%);
|
|
314
315
|
--t-fill-color-button-neutral-outline-disabled:hsl(0, 0%, 98%);
|
|
@@ -324,7 +325,7 @@
|
|
|
324
325
|
--t-fill-color-button-interaction-solid-hover:hsl(204, 100%, 35%);
|
|
325
326
|
--t-fill-color-button-interaction-solid-active:hsl(204, 100%, 30%);
|
|
326
327
|
--t-fill-color-button-interaction-solid-disabled:hsl(0, 0%, 95%);
|
|
327
|
-
--t-fill-color-button-interaction-outline:
|
|
328
|
+
--t-fill-color-button-interaction-outline:hsl(0, 0%, 100%);
|
|
328
329
|
--t-fill-color-button-interaction-outline-hover:hsl(204, 100%, 97%);
|
|
329
330
|
--t-fill-color-button-interaction-outline-active:hsl(203, 94%, 94%);
|
|
330
331
|
--t-fill-color-button-interaction-outline-disabled:hsl(0, 0%, 98%);
|
|
@@ -336,7 +337,7 @@
|
|
|
336
337
|
--t-fill-color-button-delete-solid-hover:hsl(8, 60%, 45%);
|
|
337
338
|
--t-fill-color-button-delete-solid-active:hsl(8, 60%, 40%);
|
|
338
339
|
--t-fill-color-button-delete-solid-disabled:hsl(0, 0%, 95%);
|
|
339
|
-
--t-fill-color-button-delete-outline:
|
|
340
|
+
--t-fill-color-button-delete-outline:hsl(0, 0%, 100%);
|
|
340
341
|
--t-fill-color-button-delete-outline-hover:hsl(7, 60%, 97%);
|
|
341
342
|
--t-fill-color-button-delete-outline-active:hsl(9, 59%, 93%);
|
|
342
343
|
--t-fill-color-button-delete-outline-disabled:hsl(0, 0%, 98%);
|
|
@@ -418,7 +419,7 @@
|
|
|
418
419
|
--t-focus-ring-width:2px;
|
|
419
420
|
--t-form-background-color:var(--t-fill-color-neutral-100);
|
|
420
421
|
--t-form-background-color-disabled:var(--t-fill-color-neutral-070);
|
|
421
|
-
--t-form-background-color-error:var(--t-fill-color-
|
|
422
|
+
--t-form-background-color-error:var(--t-fill-color-status-error-dim);
|
|
422
423
|
--t-form-background-color-readonly:var(--t-fill-color-neutral-070);
|
|
423
424
|
--t-form-border-color:var(--t-border-color);
|
|
424
425
|
--t-form-border-color-disabled:var(--t-border-color);
|
|
@@ -1773,6 +1774,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
1773
1774
|
|
|
1774
1775
|
.tds-btn--outline-interaction{
|
|
1775
1776
|
--tds-btn-color:var(--t-text-color-interaction);
|
|
1777
|
+
--tds-btn-bg:var(--t-fill-color-button-interaction-outline);
|
|
1776
1778
|
--tds-btn-border-color:var(--t-border-color-button-info);
|
|
1777
1779
|
--tds-btn-color-hover:var(--tds-btn-color);
|
|
1778
1780
|
--tds-btn-bg-hover:var(--t-fill-color-button-interaction-outline-hover);
|
|
@@ -1788,6 +1790,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
1788
1790
|
|
|
1789
1791
|
.tds-btn--outline-delete{
|
|
1790
1792
|
--tds-btn-color:var(--t-text-color-status-error);
|
|
1793
|
+
--tds-btn-bg:var(--t-fill-color-button-delete-outline);
|
|
1791
1794
|
--tds-btn-border-color:var(--t-border-color-button-delete);
|
|
1792
1795
|
--tds-btn-color-hover:var(--tds-btn-color);
|
|
1793
1796
|
--tds-btn-bg-hover:var(--t-fill-color-button-delete-outline-hover);
|
|
@@ -2116,9 +2119,8 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
2116
2119
|
display:inline-grid;
|
|
2117
2120
|
grid-template-columns:auto;
|
|
2118
2121
|
grid-auto-columns:1fr;
|
|
2119
|
-
gap:var(--t-spacing-fourth)
|
|
2122
|
+
gap:var(--t-spacing-fourth) 0;
|
|
2120
2123
|
line-height:var(--tds-checkbox-line-height);
|
|
2121
|
-
cursor:var(--tds-checkbox-cursor);
|
|
2122
2124
|
-webkit-user-select:none;
|
|
2123
2125
|
-moz-user-select:none;
|
|
2124
2126
|
user-select:none;
|
|
@@ -2126,6 +2128,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
2126
2128
|
|
|
2127
2129
|
.tds-checkbox label{
|
|
2128
2130
|
grid-area:1 / 2;
|
|
2131
|
+
padding-inline-start:var(--t-spacing-1);
|
|
2129
2132
|
font-size:var(--tds-checkbox-font-size);
|
|
2130
2133
|
font-weight:var(--t-font-weight-normal);
|
|
2131
2134
|
color:var(--tds-checkbox-label-color);
|
|
@@ -2261,6 +2264,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
2261
2264
|
grid-area:2 / 2;
|
|
2262
2265
|
gap:var(--t-spacing-half);
|
|
2263
2266
|
align-items:flex-start;
|
|
2267
|
+
padding-inline-start:var(--t-spacing-1);
|
|
2264
2268
|
margin:0;
|
|
2265
2269
|
font-size:var(--tds-checkbox-description-font-size);
|
|
2266
2270
|
line-height:var(--tds-checkbox-description-line-height);
|
|
@@ -2288,15 +2292,13 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
2288
2292
|
--tds-checkbox-group-line-height:1.4;
|
|
2289
2293
|
--tds-checkbox-group-gap:var(--t-spacing-1);
|
|
2290
2294
|
|
|
2291
|
-
--tds-checkbox-group-legend-margin-bottom:var(--tds-checkbox-group-gap);
|
|
2292
|
-
|
|
2293
2295
|
--tds-checkbox-group-description-font-size:var(--t-font-size-sm);
|
|
2294
2296
|
--tds-checkbox-group-description-line-height:1.35;
|
|
2295
2297
|
--tds-checkbox-group-description-color:var(--t-text-color-secondary);
|
|
2296
2298
|
--tds-checkbox-group-description-invalid-icon-display:none;
|
|
2297
2299
|
display:flex;
|
|
2298
2300
|
flex-direction:column;
|
|
2299
|
-
gap:
|
|
2301
|
+
gap:0;
|
|
2300
2302
|
padding:0;
|
|
2301
2303
|
margin:0;
|
|
2302
2304
|
|
|
@@ -2306,12 +2308,9 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
2306
2308
|
}
|
|
2307
2309
|
|
|
2308
2310
|
.tds-checkbox-group legend{
|
|
2311
|
+
float:left;
|
|
2309
2312
|
padding:0;
|
|
2310
|
-
margin
|
|
2311
|
-
}
|
|
2312
|
-
|
|
2313
|
-
.tds-checkbox-group:has(.tds-checkbox-group-description){
|
|
2314
|
-
--tds-checkbox-group-legend-margin-bottom:var(--t-spacing-fourth);
|
|
2313
|
+
margin:0;
|
|
2315
2314
|
}
|
|
2316
2315
|
|
|
2317
2316
|
.tds-checkbox-group[aria-invalid="true"]{
|
|
@@ -2334,13 +2333,14 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
2334
2333
|
flex-direction:column;
|
|
2335
2334
|
gap:var(--tds-checkbox-group-gap);
|
|
2336
2335
|
align-items:flex-start;
|
|
2336
|
+
margin-top:var(--t-spacing-1);
|
|
2337
2337
|
}
|
|
2338
2338
|
|
|
2339
2339
|
.tds-checkbox-group-description{
|
|
2340
2340
|
display:flex;
|
|
2341
2341
|
gap:var(--t-spacing-half);
|
|
2342
2342
|
align-items:flex-start;
|
|
2343
|
-
margin:0;
|
|
2343
|
+
margin:var(--t-spacing-fourth) 0 0;
|
|
2344
2344
|
font-size:var(--tds-checkbox-group-description-font-size);
|
|
2345
2345
|
line-height:var(--tds-checkbox-group-description-line-height);
|
|
2346
2346
|
color:var(--tds-checkbox-group-description-color);
|
|
@@ -2751,6 +2751,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
2751
2751
|
appearance:none;
|
|
2752
2752
|
cursor:text;
|
|
2753
2753
|
outline:var(--t-focus-ring-width) solid transparent;
|
|
2754
|
+
outline-color:rgb(from var(--t-focus-ring-color) r g b / 0);
|
|
2754
2755
|
outline-offset:0;
|
|
2755
2756
|
background-color:var(--tds-field-background-color);
|
|
2756
2757
|
border:var(--t-form-border-width) solid var(--tds-field-border-color);
|
|
@@ -3279,9 +3280,8 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3279
3280
|
display:inline-grid;
|
|
3280
3281
|
grid-template-columns:auto;
|
|
3281
3282
|
grid-auto-columns:1fr;
|
|
3282
|
-
gap:var(--t-spacing-fourth)
|
|
3283
|
+
gap:var(--t-spacing-fourth) 0;
|
|
3283
3284
|
line-height:var(--tds-radio-line-height);
|
|
3284
|
-
cursor:var(--tds-radio-cursor);
|
|
3285
3285
|
-webkit-user-select:none;
|
|
3286
3286
|
-moz-user-select:none;
|
|
3287
3287
|
user-select:none;
|
|
@@ -3289,6 +3289,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3289
3289
|
|
|
3290
3290
|
.tds-radio label{
|
|
3291
3291
|
grid-area:1 / 2;
|
|
3292
|
+
padding-inline-start:var(--t-spacing-1);
|
|
3292
3293
|
font-size:var(--tds-radio-font-size);
|
|
3293
3294
|
font-weight:var(--t-font-weight-normal);
|
|
3294
3295
|
color:var(--tds-radio-label-color);
|
|
@@ -3374,6 +3375,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3374
3375
|
grid-area:2 / 2;
|
|
3375
3376
|
gap:var(--t-spacing-half);
|
|
3376
3377
|
align-items:flex-start;
|
|
3378
|
+
padding-inline-start:var(--t-spacing-1);
|
|
3377
3379
|
margin:0;
|
|
3378
3380
|
font-size:var(--tds-radio-description-font-size);
|
|
3379
3381
|
line-height:var(--tds-radio-description-line-height);
|
|
@@ -3394,15 +3396,13 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3394
3396
|
--tds-radio-group-line-height:1.4;
|
|
3395
3397
|
--tds-radio-group-gap:var(--t-spacing-1);
|
|
3396
3398
|
|
|
3397
|
-
--tds-radio-group-legend-margin-bottom:var(--tds-radio-group-gap);
|
|
3398
|
-
|
|
3399
3399
|
--tds-radio-group-description-font-size:var(--t-font-size-sm);
|
|
3400
3400
|
--tds-radio-group-description-line-height:1.35;
|
|
3401
3401
|
--tds-radio-group-description-color:var(--t-text-color-secondary);
|
|
3402
3402
|
--tds-radio-group-description-invalid-icon-display:none;
|
|
3403
3403
|
display:flex;
|
|
3404
3404
|
flex-direction:column;
|
|
3405
|
-
gap:
|
|
3405
|
+
gap:0;
|
|
3406
3406
|
padding:0;
|
|
3407
3407
|
margin:0;
|
|
3408
3408
|
|
|
@@ -3412,12 +3412,9 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3412
3412
|
}
|
|
3413
3413
|
|
|
3414
3414
|
.tds-radio-group legend{
|
|
3415
|
+
float:left;
|
|
3415
3416
|
padding:0;
|
|
3416
|
-
margin
|
|
3417
|
-
}
|
|
3418
|
-
|
|
3419
|
-
.tds-radio-group:has(.tds-radio-group-description){
|
|
3420
|
-
--tds-radio-group-legend-margin-bottom:var(--t-spacing-fourth);
|
|
3417
|
+
margin:0;
|
|
3421
3418
|
}
|
|
3422
3419
|
|
|
3423
3420
|
.tds-radio-group[aria-invalid="true"]{
|
|
@@ -3449,13 +3446,14 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3449
3446
|
flex-direction:column;
|
|
3450
3447
|
gap:var(--tds-radio-group-gap);
|
|
3451
3448
|
align-items:flex-start;
|
|
3449
|
+
margin-top:var(--t-spacing-1);
|
|
3452
3450
|
}
|
|
3453
3451
|
|
|
3454
3452
|
.tds-radio-group-description{
|
|
3455
3453
|
display:flex;
|
|
3456
3454
|
gap:var(--t-spacing-half);
|
|
3457
3455
|
align-items:flex-start;
|
|
3458
|
-
margin:0;
|
|
3456
|
+
margin:var(--t-spacing-fourth) 0 0;
|
|
3459
3457
|
font-size:var(--tds-radio-group-description-font-size);
|
|
3460
3458
|
line-height:var(--tds-radio-group-description-line-height);
|
|
3461
3459
|
color:var(--tds-radio-group-description-color);
|
|
@@ -3485,7 +3483,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3485
3483
|
--tds-select-placeholder-color:var(--t-form-placeholder-color);
|
|
3486
3484
|
--tds-select-font-size:var(--t-font-size-md);
|
|
3487
3485
|
--tds-select-min-height:var(--t-container-size-md);
|
|
3488
|
-
--tds-select-padding-block:
|
|
3486
|
+
--tds-select-padding-block:0;
|
|
3489
3487
|
--tds-select-description-color:var(--t-text-color-secondary);
|
|
3490
3488
|
--tds-select-description-invalid-icon-display:none;
|
|
3491
3489
|
--tds-select-transition-property:background-color, border-color, outline-color, outline-offset;
|
|
@@ -3552,7 +3550,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3552
3550
|
padding-inline-end:calc(var(--t-spacing-1) + var(--tds-select-caret-size) + .5em);
|
|
3553
3551
|
font-family:inherit;
|
|
3554
3552
|
font-size:var(--tds-select-font-size);
|
|
3555
|
-
line-height:1;
|
|
3553
|
+
line-height:1.15;
|
|
3556
3554
|
color:var(--tds-select-color);
|
|
3557
3555
|
text-align:left;
|
|
3558
3556
|
-webkit-appearance:none;
|
|
@@ -3631,6 +3629,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3631
3629
|
overflow:hidden;
|
|
3632
3630
|
text-overflow:ellipsis;
|
|
3633
3631
|
font-size:var(--tds-select-option-font-size);
|
|
3632
|
+
line-height:1;
|
|
3634
3633
|
color:var(--tds-select-option-color);
|
|
3635
3634
|
white-space:nowrap;
|
|
3636
3635
|
cursor:default;
|
|
@@ -3638,7 +3637,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3638
3637
|
}
|
|
3639
3638
|
|
|
3640
3639
|
:is(.tds-select :is(li[role="option"],option:not([hidden]))):focus-visible{
|
|
3641
|
-
outline:
|
|
3640
|
+
outline:0;
|
|
3642
3641
|
}
|
|
3643
3642
|
|
|
3644
3643
|
:is(.tds-select :is(li[role="option"],option:not([hidden]))):is(:focus,:hover,.tds-select-option--active):not([disabled],[aria-disabled="true"]){
|
|
@@ -3765,6 +3764,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3765
3764
|
width:var(--tds-select-caret-size);
|
|
3766
3765
|
height:var(--tds-select-caret-size);
|
|
3767
3766
|
margin-block:auto;
|
|
3767
|
+
line-height:1;
|
|
3768
3768
|
pointer-events:none;
|
|
3769
3769
|
content:var(--tds-select-background-image);
|
|
3770
3770
|
transform:rotate(0);
|
|
@@ -3842,6 +3842,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
3842
3842
|
width:var(--tds-select-caret-size);
|
|
3843
3843
|
height:var(--tds-select-caret-size);
|
|
3844
3844
|
margin-inline-end:var(--tds-select-caret-inline-offset);
|
|
3845
|
+
line-height:1;
|
|
3845
3846
|
content:var(--tds-select-background-image);
|
|
3846
3847
|
transition:var(--tds-select-caret-transition);
|
|
3847
3848
|
}
|
|
@@ -4026,7 +4027,6 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
4026
4027
|
|
|
4027
4028
|
.tds-toggle-switch{
|
|
4028
4029
|
--tds-toggle-switch-font-size:var(--t-font-size-md);
|
|
4029
|
-
--tds-toggle-switch-column-gap:var(--t-spacing-1);
|
|
4030
4030
|
--tds-toggle-switch-cursor:pointer;
|
|
4031
4031
|
--tds-toggle-switch-display:inline-grid;
|
|
4032
4032
|
--tds-toggle-switch-line-height:1.4;
|
|
@@ -4051,7 +4051,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
4051
4051
|
display:var(--tds-toggle-switch-display);
|
|
4052
4052
|
grid-template-columns:auto;
|
|
4053
4053
|
grid-auto-columns:1fr;
|
|
4054
|
-
gap:var(--t-spacing-fourth)
|
|
4054
|
+
gap:var(--t-spacing-fourth) 0;
|
|
4055
4055
|
-webkit-user-select:none;
|
|
4056
4056
|
-moz-user-select:none;
|
|
4057
4057
|
user-select:none;
|
|
@@ -4080,8 +4080,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
4080
4080
|
.tds-toggle-switch label{
|
|
4081
4081
|
display:inline-flex;
|
|
4082
4082
|
grid-area:1 / 2;
|
|
4083
|
-
-
|
|
4084
|
-
column-gap:var(--tds-toggle-switch-column-gap);
|
|
4083
|
+
padding-inline-start:var(--t-spacing-1);
|
|
4085
4084
|
margin-top:-.09375em;
|
|
4086
4085
|
font-size:var(--tds-toggle-switch-font-size);
|
|
4087
4086
|
font-weight:var(--t-font-weight-normal);
|
|
@@ -4145,6 +4144,7 @@ tds-sidenav-section:not(.hydrated) > [slot="ssr"]{
|
|
|
4145
4144
|
display:flex;
|
|
4146
4145
|
grid-area:2 / 2;
|
|
4147
4146
|
align-items:flex-start;
|
|
4147
|
+
padding-inline-start:var(--t-spacing-1);
|
|
4148
4148
|
margin:0;
|
|
4149
4149
|
font-size:var(--tds-toggle-switch-description-font-size);
|
|
4150
4150
|
line-height:var(--tds-toggle-switch-description-line-height);
|