@salt-ds/lab 1.0.0-alpha.11 → 1.0.0-alpha.12

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.
Files changed (90) hide show
  1. package/dist-cjs/accordion/Accordion.css.js +1 -1
  2. package/dist-cjs/accordion/Accordion.js +33 -108
  3. package/dist-cjs/accordion/Accordion.js.map +1 -1
  4. package/dist-cjs/accordion/AccordionContext.js +15 -11
  5. package/dist-cjs/accordion/AccordionContext.js.map +1 -1
  6. package/dist-cjs/accordion/AccordionGroup.js +23 -0
  7. package/dist-cjs/accordion/AccordionGroup.js.map +1 -0
  8. package/dist-cjs/accordion/AccordionHeader.css.js +6 -0
  9. package/dist-cjs/accordion/AccordionHeader.css.js.map +1 -0
  10. package/dist-cjs/accordion/AccordionHeader.js +50 -0
  11. package/dist-cjs/accordion/AccordionHeader.js.map +1 -0
  12. package/dist-cjs/accordion/AccordionPanel.css.js +6 -0
  13. package/dist-cjs/accordion/AccordionPanel.css.js.map +1 -0
  14. package/dist-cjs/accordion/AccordionPanel.js +45 -0
  15. package/dist-cjs/accordion/AccordionPanel.js.map +1 -0
  16. package/dist-cjs/form-field-legacy/FormFieldLegacy.css.js +1 -1
  17. package/dist-cjs/index.js +8 -9
  18. package/dist-cjs/index.js.map +1 -1
  19. package/dist-cjs/list-deprecated/ListItem.css.js +1 -1
  20. package/dist-cjs/list-next/ListItemNext.css.js +1 -1
  21. package/dist-cjs/multiline-input/MultilineInput.css.js +6 -0
  22. package/dist-cjs/multiline-input/MultilineInput.css.js.map +1 -0
  23. package/dist-cjs/multiline-input/MultilineInput.js +150 -0
  24. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -0
  25. package/dist-cjs/pill/Pill.css.js +1 -1
  26. package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
  27. package/dist-cjs/tokenized-input/TokenizedInput.css.js +1 -1
  28. package/dist-cjs/toolbar/ToolbarButton.css.js +1 -1
  29. package/dist-es/accordion/Accordion.css.js +1 -1
  30. package/dist-es/accordion/Accordion.js +35 -110
  31. package/dist-es/accordion/Accordion.js.map +1 -1
  32. package/dist-es/accordion/AccordionContext.js +15 -11
  33. package/dist-es/accordion/AccordionContext.js.map +1 -1
  34. package/dist-es/accordion/AccordionGroup.js +19 -0
  35. package/dist-es/accordion/AccordionGroup.js.map +1 -0
  36. package/dist-es/accordion/AccordionHeader.css.js +4 -0
  37. package/dist-es/accordion/AccordionHeader.css.js.map +1 -0
  38. package/dist-es/accordion/AccordionHeader.js +46 -0
  39. package/dist-es/accordion/AccordionHeader.js.map +1 -0
  40. package/dist-es/accordion/AccordionPanel.css.js +4 -0
  41. package/dist-es/accordion/AccordionPanel.css.js.map +1 -0
  42. package/dist-es/accordion/AccordionPanel.js +41 -0
  43. package/dist-es/accordion/AccordionPanel.js.map +1 -0
  44. package/dist-es/form-field-legacy/FormFieldLegacy.css.js +1 -1
  45. package/dist-es/index.js +4 -4
  46. package/dist-es/list-deprecated/ListItem.css.js +1 -1
  47. package/dist-es/list-next/ListItemNext.css.js +1 -1
  48. package/dist-es/multiline-input/MultilineInput.css.js +4 -0
  49. package/dist-es/multiline-input/MultilineInput.css.js.map +1 -0
  50. package/dist-es/multiline-input/MultilineInput.js +146 -0
  51. package/dist-es/multiline-input/MultilineInput.js.map +1 -0
  52. package/dist-es/pill/Pill.css.js +1 -1
  53. package/dist-es/toggle-button/ToggleButton.css.js +1 -1
  54. package/dist-es/tokenized-input/TokenizedInput.css.js +1 -1
  55. package/dist-es/toolbar/ToolbarButton.css.js +1 -1
  56. package/dist-types/accordion/Accordion.d.ts +22 -6
  57. package/dist-types/accordion/AccordionContext.d.ts +8 -8
  58. package/dist-types/accordion/AccordionGroup.d.ts +4 -0
  59. package/dist-types/accordion/AccordionHeader.d.ts +4 -0
  60. package/dist-types/accordion/AccordionPanel.d.ts +4 -0
  61. package/dist-types/accordion/index.d.ts +3 -4
  62. package/dist-types/index.d.ts +1 -0
  63. package/dist-types/multiline-input/MultilineInput.d.ts +40 -0
  64. package/dist-types/multiline-input/index.d.ts +1 -0
  65. package/package.json +3 -3
  66. package/dist-cjs/accordion/AccordionDetails.js +0 -87
  67. package/dist-cjs/accordion/AccordionDetails.js.map +0 -1
  68. package/dist-cjs/accordion/AccordionSection.js +0 -111
  69. package/dist-cjs/accordion/AccordionSection.js.map +0 -1
  70. package/dist-cjs/accordion/AccordionSectionContext.js +0 -24
  71. package/dist-cjs/accordion/AccordionSectionContext.js.map +0 -1
  72. package/dist-cjs/accordion/AccordionSummary.js +0 -64
  73. package/dist-cjs/accordion/AccordionSummary.js.map +0 -1
  74. package/dist-cjs/accordion/utils.js +0 -8
  75. package/dist-cjs/accordion/utils.js.map +0 -1
  76. package/dist-es/accordion/AccordionDetails.js +0 -83
  77. package/dist-es/accordion/AccordionDetails.js.map +0 -1
  78. package/dist-es/accordion/AccordionSection.js +0 -107
  79. package/dist-es/accordion/AccordionSection.js.map +0 -1
  80. package/dist-es/accordion/AccordionSectionContext.js +0 -19
  81. package/dist-es/accordion/AccordionSectionContext.js.map +0 -1
  82. package/dist-es/accordion/AccordionSummary.js +0 -60
  83. package/dist-es/accordion/AccordionSummary.js.map +0 -1
  84. package/dist-es/accordion/utils.js +0 -4
  85. package/dist-es/accordion/utils.js.map +0 -1
  86. package/dist-types/accordion/AccordionDetails.d.ts +0 -8
  87. package/dist-types/accordion/AccordionSection.d.ts +0 -9
  88. package/dist-types/accordion/AccordionSectionContext.d.ts +0 -8
  89. package/dist-types/accordion/AccordionSummary.d.ts +0 -5
  90. package/dist-types/accordion/utils.d.ts +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = ".saltAccordion {\n --accordion-borderStyle: var(--saltAccordion-borderStyle, none);\n --accordion-borderColor: var(--saltAccordion-borderColor, transparent);\n --accordion-borderWidth: var(--saltAccordion-borderWidth, 0);\n --accordion-borderRadius: var(--saltAccordion-borderRadius, 0);\n --accordion-padding: var(--saltAccordion-padding, 0);\n --accordion-margin: var(--saltAccordion-margin, 0);\n}\n\n.saltAccordion {\n border-style: var(--accordion-borderStyle);\n border-color: var(--accordion-borderColor);\n border-width: var(--accordion-borderWidth);\n padding: var(--accordion-padding);\n margin: var(--accordion-margin);\n border-radius: var(--accordion-borderRadius);\n}\n\n.salt-density-high {\n --accordion-summary-paddingLeft: 20px;\n --accordion-details-padding: 3px 4px 5px 20px;\n}\n\n.salt-density-medium {\n --accordion-summary-paddingLeft: 28px;\n --accordion-details-padding: 8px 8px 9px 28px;\n}\n\n.salt-density-low {\n --accordion-summary-paddingLeft: 36px;\n --accordion-details-padding: 12px 12px 13px 38px;\n}\n\n.salt-density-touch {\n --accordion-summary-paddingLeft: 44px;\n --accordion-details-padding: 18px 16px 17px 44px;\n}\n\n.saltAccordionSection {\n --accordion-summary-height: var(--saltAccordion-summary-height, var(--salt-size-stackable));\n --accordion-summary-fontWeight: var(--saltAccordion-summary-fontWeight, initial);\n\n --accordion-summary-background: var(--saltAccordion-summary-background, var(--salt-container-primary-background));\n --accordion-summary-background-active: var(--saltAccordion-summary-background-active, var(--salt-container-primary-background));\n --accordion-summary-background-disabled: var(--saltAccordion-summary-background-disabled, var(--salt-container-primary-background));\n --accordion-summary-background-hover: var(--saltAccordion-summary-background-hover, var(--salt-actionable-primary-background-hover));\n\n --accordion-summary-text-color: var(--saltAccordion-summary-text-color, var(--salt-text-primary-foreground));\n --accordion-summary-text-color-active: var(--saltAccordion-summary-text-color-active, var(--salt-text-primary-foreground));\n --accordion-summary-text-color-disabled: var(--saltAccordion-summary-text-color-disabled, var(--salt-text-primary-foreground-disabled));\n --accordion-summary-text-color-hover: var(--saltAccordion-summary-text-color-hover, var(--salt-text-primary-foreground));\n\n --accordion-summary-icon-transition-default: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n --accordion-summary-icon-transform: var(--saltAccordion-summary-icon-expand-transform, rotate(90deg));\n --accordion-summary-icon-transition: var(--saltAccordion-summary-icon-transition, var(--accordion-summary-icon-transition-default));\n}\n\n.saltAccordionSection {\n border-color: var(--saltAccordion-section-borderColor, var(--salt-separable-secondary-borderColor));\n border-style: var(--saltAccordion-section-borderStyle, var(--salt-container-borderStyle));\n border-width: var(--saltAccordion-section-borderWidth, 0 0 1px 0);\n margin: var(--saltAccordion-section-margin, 0);\n position: relative;\n}\n\n.saltAccordionSection:focus-within {\n z-index: var(--salt-zIndex-default);\n}\n\n.saltAccordionSection-expanded {\n}\n\n.saltAccordionSection-disabled {\n}\n\n.saltAccordionSummary {\n height: var(--accordion-summary-height);\n line-height: var(--accordion-summary-height);\n font-weight: var(--accordion-summary-fontWeight);\n background: var(--accordion-summary-background);\n color: var(--accordion-summary-text-color);\n font-size: var(--saltAccordion-summary-fontSize, var(--salt-text-fontSize));\n font-family: var(--saltAccordion-summary-fontFamily, var(--salt-text-fontFamily));\n display: flex;\n align-items: center;\n}\n\n.saltAccordionSummary:focus-visible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n.saltAccordionSummary:hover {\n background: var(--accordion-summary-background-hover);\n color: var(--accordion-summary-text-color-hover);\n cursor: var(--salt-selectable-cursor-hover);\n}\n\n.saltAccordionSummary-expanded {\n background: var(--accordion-summary-background-active);\n color: var(--accordion-summary-text-color-active);\n}\n\n.saltAccordionSummary-disabled,\n.saltAccordionSummary.saltAccordionSummary-disabled:hover {\n background: var(--accordion-summary-background-disabled);\n color: var(--accordion-summary-text-color-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n.saltAccordionSummary-icon {\n width: var(--accordion-summary-paddingLeft);\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n transition: var(--accordion-summary-icon-transition);\n}\n\n.saltAccordionSummary-expanded .saltAccordionSummary-icon {\n transform: var(--accordion-summary-icon-transform);\n}\n\n.saltAccordionDetails {\n transition: height 150ms cubic-bezier(0.4, 0, 0.2, 1);\n overflow: hidden;\n}\n\n.saltAccordionDetails-content {\n padding: var(--saltAccordion-details-padding, var(--accordion-details-padding));\n}\n\n.saltAccordionDetails-disabled {\n}\n\n.saltAccordionDetails-dummy {\n position: fixed;\n top: -10000px;\n left: 0;\n}\n";
3
+ var css_248z = ".saltAccordion {\n border-bottom: var(--salt-size-border) var(--salt-separable-borderStyle) var(--salt-separable-tertiary-borderColor);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=Accordion.css.js.map
@@ -12,122 +12,47 @@ var styles = require('@salt-ds/styles');
12
12
  var Accordion$1 = require('./Accordion.css.js');
13
13
 
14
14
  const withBaseName = core.makePrefixer("saltAccordion");
15
- function sliceToSize(items, size) {
16
- if (size !== void 0) {
17
- const cutOffCount = items ? items.length - size : 0;
18
- if (cutOffCount > 0) {
19
- items = items.slice(cutOffCount);
20
- }
21
- }
22
- return items;
23
- }
24
15
  const Accordion = React.forwardRef(
25
- function Accordion2({
26
- disabled = false,
27
- expandedSectionIds: expandedSectionIdsProp,
28
- defaultExpandedSectionIds = [],
29
- maxExpandedItems,
30
- onChange: onChangeProp,
31
- className,
32
- children,
33
- ...restProps
34
- }, ref) {
16
+ function Accordion2(props, ref) {
17
+ const {
18
+ className,
19
+ defaultExpanded,
20
+ expanded: expandedProp,
21
+ disabled,
22
+ id: idProp,
23
+ onToggle,
24
+ value,
25
+ ...rest
26
+ } = props;
27
+ const id = core.useId(idProp);
35
28
  const targetWindow = window.useWindow();
36
29
  styles.useComponentCssInjection({
37
30
  testId: "salt-accordion",
38
31
  css: Accordion$1,
39
32
  window: targetWindow
40
33
  });
41
- const [sectionIds, setSectionIds] = React.useState(/* @__PURE__ */ new Set());
42
- const [expandedSectionIds, setExpandedSectionIds] = core.useControlled(
43
- {
44
- controlled: expandedSectionIdsProp,
45
- default: defaultExpandedSectionIds,
46
- name: "Accordion",
47
- state: "ExpandedSectionIds"
48
- }
49
- );
50
- const registerSection = React.useCallback(
51
- (sectionId, isExpanded2) => {
52
- setSectionIds((sectionIds2) => {
53
- const newSectionIds = new Set(sectionIds2);
54
- newSectionIds.add(sectionId);
55
- return newSectionIds;
56
- });
57
- if (isExpanded2) {
58
- setExpandedSectionIds((oldExpandedSectionIds) => {
59
- const newExpandedSectionIds = [...oldExpandedSectionIds];
60
- newExpandedSectionIds.push(sectionId);
61
- return newExpandedSectionIds;
62
- });
63
- }
64
- },
65
- []
66
- );
67
- const unregisterSection = React.useCallback((sectionId) => {
68
- if (expandedSectionIds.includes(sectionId)) {
69
- setExpandedSectionIds(
70
- (oldValue) => oldValue.filter((id) => id !== sectionId)
71
- );
72
- }
73
- setSectionIds((sectionIds2) => {
74
- const newSectionIds = new Set(sectionIds2);
75
- newSectionIds.delete(sectionId);
76
- return newSectionIds;
77
- });
78
- }, []);
79
- React.useEffect(() => {
80
- if (expandedSectionIds && maxExpandedItems !== void 0 && expandedSectionIds.length > maxExpandedItems) {
81
- const newExpandedSectionIds = sliceToSize(
82
- expandedSectionIds,
83
- maxExpandedItems
84
- );
85
- setExpandedSectionIds(newExpandedSectionIds || []);
86
- if (onChangeProp) {
87
- onChangeProp(newExpandedSectionIds || null);
88
- }
89
- }
90
- }, [maxExpandedItems]);
91
- const onChange = React.useCallback(
92
- (sectionId, isExpanded2) => {
93
- let newExpandedSectionIds = [...expandedSectionIds];
94
- if (isExpanded2) {
95
- newExpandedSectionIds.push(sectionId);
96
- if (maxExpandedItems != null && newExpandedSectionIds.length > maxExpandedItems) {
97
- newExpandedSectionIds.shift();
98
- }
99
- } else {
100
- newExpandedSectionIds = newExpandedSectionIds.filter(
101
- (id) => id !== sectionId
102
- );
103
- }
104
- setExpandedSectionIds(newExpandedSectionIds);
105
- if (onChangeProp) {
106
- onChangeProp(newExpandedSectionIds);
107
- }
34
+ const [expanded, setExpanded] = core.useControlled({
35
+ controlled: expandedProp,
36
+ default: Boolean(defaultExpanded),
37
+ name: "Accordion",
38
+ state: "expanded"
39
+ });
40
+ const toggle = (event) => {
41
+ setExpanded((prev) => !prev);
42
+ onToggle == null ? void 0 : onToggle(event);
43
+ };
44
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionContext.AccordionContext.Provider, {
45
+ value: {
46
+ value,
47
+ toggle,
48
+ expanded,
49
+ disabled: Boolean(disabled),
50
+ id: id != null ? id : ""
108
51
  },
109
- [expandedSectionIds, onChangeProp]
110
- );
111
- const isExpanded = React.useCallback(
112
- (sectionId) => expandedSectionIds.includes(sectionId),
113
- [expandedSectionIds]
114
- );
115
- const contextValue = React.useMemo(() => {
116
- return {
117
- registerSection,
118
- unregisterSection,
119
- onChange,
120
- isExpanded,
121
- disabled
122
- };
123
- }, [registerSection, unregisterSection, onChange, isExpanded, disabled]);
124
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
125
- className: clsx.clsx(withBaseName(), className),
126
- ...restProps,
127
- ref,
128
- children: /* @__PURE__ */ jsxRuntime.jsx(AccordionContext.AccordionContext.Provider, {
129
- value: contextValue,
130
- children
52
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
53
+ ref,
54
+ className: clsx.clsx(withBaseName(), className),
55
+ ...rest
131
56
  })
132
57
  });
133
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import {\n forwardRef,\n HTMLAttributes,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\nimport { makePrefixer, useControlled } from \"@salt-ds/core\";\n\nimport { clsx } from \"clsx\";\nimport { AccordionContext } from \"./AccordionContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport accordionCss from \"./Accordion.css\";\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport interface AccordionProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\"> {\n disabled?: boolean;\n maxExpandedItems?: number;\n expandedSectionIds?: string[];\n defaultExpandedSectionIds?: string[];\n // expandedSectionIds in the order they were expanded.\n // The oldest expanded item is the first in this list.\n // When maxExpandedItems is reached, the first item in this list is the first to be collapsed\n onChange?: (expandedSectionIds: string[] | null) => void;\n}\n\nfunction sliceToSize<T>(items?: T[], size?: number) {\n if (size !== undefined) {\n const cutOffCount = items ? items.length - size : 0;\n if (cutOffCount > 0) {\n items = items!.slice(cutOffCount);\n }\n }\n return items;\n}\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(\n {\n disabled = false,\n expandedSectionIds: expandedSectionIdsProp,\n defaultExpandedSectionIds = [],\n maxExpandedItems,\n onChange: onChangeProp,\n className,\n children,\n ...restProps\n },\n ref\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion\",\n css: accordionCss,\n window: targetWindow,\n });\n\n const [sectionIds, setSectionIds] = useState<Set<string>>(new Set());\n\n const [expandedSectionIds, setExpandedSectionIds] = useControlled<string[]>(\n {\n controlled: expandedSectionIdsProp,\n default: defaultExpandedSectionIds,\n name: \"Accordion\",\n state: \"ExpandedSectionIds\",\n }\n );\n\n const registerSection = useCallback(\n (sectionId: string, isExpanded: boolean) => {\n setSectionIds((sectionIds) => {\n const newSectionIds = new Set(sectionIds);\n newSectionIds.add(sectionId);\n return newSectionIds;\n });\n if (isExpanded) {\n setExpandedSectionIds((oldExpandedSectionIds) => {\n const newExpandedSectionIds = [...oldExpandedSectionIds];\n newExpandedSectionIds.push(sectionId);\n return newExpandedSectionIds;\n });\n }\n },\n []\n );\n\n const unregisterSection = useCallback((sectionId: string) => {\n if (expandedSectionIds.includes(sectionId)) {\n setExpandedSectionIds((oldValue) =>\n oldValue.filter((id) => id !== sectionId)\n );\n }\n setSectionIds((sectionIds) => {\n const newSectionIds = new Set(sectionIds);\n newSectionIds.delete(sectionId);\n return newSectionIds;\n });\n }, []);\n\n useEffect(() => {\n if (\n expandedSectionIds &&\n maxExpandedItems !== undefined &&\n expandedSectionIds.length > maxExpandedItems\n ) {\n const newExpandedSectionIds = sliceToSize(\n expandedSectionIds,\n maxExpandedItems\n );\n setExpandedSectionIds(newExpandedSectionIds || []);\n if (onChangeProp) {\n onChangeProp(newExpandedSectionIds || null);\n }\n }\n }, [maxExpandedItems]);\n\n const onChange = useCallback(\n (sectionId: string, isExpanded: boolean) => {\n let newExpandedSectionIds = [...expandedSectionIds];\n if (isExpanded) {\n newExpandedSectionIds.push(sectionId);\n if (\n maxExpandedItems != null &&\n newExpandedSectionIds.length > maxExpandedItems\n ) {\n newExpandedSectionIds.shift();\n }\n } else {\n newExpandedSectionIds = newExpandedSectionIds.filter(\n (id) => id !== sectionId\n );\n }\n setExpandedSectionIds(newExpandedSectionIds);\n if (onChangeProp) {\n onChangeProp(newExpandedSectionIds);\n }\n },\n [expandedSectionIds, onChangeProp]\n );\n\n const isExpanded = useCallback(\n (sectionId: string) => expandedSectionIds.includes(sectionId),\n [expandedSectionIds]\n );\n\n const contextValue: AccordionContext = useMemo(() => {\n return {\n registerSection,\n unregisterSection,\n onChange,\n isExpanded,\n disabled,\n };\n }, [registerSection, unregisterSection, onChange, isExpanded, disabled]);\n\n return (\n <div className={clsx(withBaseName(), className)} {...restProps} ref={ref}>\n <AccordionContext.Provider value={contextValue}>\n {children}\n </AccordionContext.Provider>\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Accordion","useWindow","useComponentCssInjection","accordionCss","useState","useControlled","useCallback","isExpanded","sectionIds","useEffect","useMemo","jsx","clsx","AccordionContext"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sources":["../src/accordion/Accordion.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, SyntheticEvent } from \"react\";\nimport { makePrefixer, useControlled, useId } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { AccordionContext } from \"./AccordionContext\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport accordionCss from \"./Accordion.css\";\nexport interface AccordionProps extends ComponentPropsWithoutRef<\"div\"> {\n /**\n * AccordionGroup value.\n */\n value: string;\n /**\n * Whether the accordion is expanded.\n */\n expanded?: boolean;\n /**\n * Whether the accordion is expanded by default.\n */\n defaultExpanded?: boolean;\n /**\n * Callback fired when the accordion is toggled.\n * @param event\n */\n onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;\n /**\n * Whether the accordion is disabled.\n */\n disabled?: boolean;\n}\n\nconst withBaseName = makePrefixer(\"saltAccordion\");\n\nexport const Accordion = forwardRef<HTMLDivElement, AccordionProps>(\n function Accordion(props, ref) {\n const {\n className,\n defaultExpanded,\n expanded: expandedProp,\n disabled,\n id: idProp,\n onToggle,\n value,\n ...rest\n } = props;\n\n const id = useId(idProp);\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion\",\n css: accordionCss,\n window: targetWindow,\n });\n\n const [expanded, setExpanded] = useControlled({\n controlled: expandedProp,\n default: Boolean(defaultExpanded),\n name: \"Accordion\",\n state: \"expanded\",\n });\n\n const toggle = (event: SyntheticEvent<HTMLButtonElement>) => {\n setExpanded((prev) => !prev);\n onToggle?.(event);\n };\n\n return (\n <AccordionContext.Provider\n value={{\n value,\n toggle,\n expanded,\n disabled: Boolean(disabled),\n id: id ?? \"\",\n }}\n >\n <div ref={ref} className={clsx(withBaseName(), className)} {...rest} />\n </AccordionContext.Provider>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Accordion","useId","useWindow","useComponentCssInjection","accordionCss","useControlled","jsx","AccordionContext","clsx"],"mappings":";;;;;;;;;;;;;AA+BA,MAAM,YAAA,GAAeA,kBAAa,eAAe,CAAA,CAAA;AAE1C,MAAM,SAAY,GAAAC,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,KAAA,EAAO,GAAK,EAAA;AAC7B,IAAM,MAAA;AAAA,MACJ,SAAA;AAAA,MACA,eAAA;AAAA,MACA,QAAU,EAAA,YAAA;AAAA,MACV,QAAA;AAAA,MACA,EAAI,EAAA,MAAA;AAAA,MACJ,QAAA;AAAA,MACA,KAAA;AAAA,MACG,GAAA,IAAA;AAAA,KACD,GAAA,KAAA,CAAA;AAEJ,IAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,gBAAA;AAAA,MACR,GAAK,EAAAC,WAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIC,kBAAc,CAAA;AAAA,MAC5C,UAAY,EAAA,YAAA;AAAA,MACZ,OAAA,EAAS,QAAQ,eAAe,CAAA;AAAA,MAChC,IAAM,EAAA,WAAA;AAAA,MACN,KAAO,EAAA,UAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,CAAC,KAA6C,KAAA;AAC3D,MAAY,WAAA,CAAA,CAAC,IAAS,KAAA,CAAC,IAAI,CAAA,CAAA;AAC3B,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IACE,uBAAAC,cAAA,CAACC,kCAAiB,QAAjB,EAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAA;AAAA,QACA,MAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,QAC1B,IAAI,EAAM,IAAA,IAAA,GAAA,EAAA,GAAA,EAAA;AAAA,OACZ;AAAA,MAEA,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,QAAI,GAAA;AAAA,QAAU,SAAW,EAAAE,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,QAAI,GAAG,IAAA;AAAA,OAAM,CAAA;AAAA,KACvE,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -2,20 +2,24 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var core = require('@salt-ds/core');
5
6
  var React = require('react');
6
- var utils = require('./utils.js');
7
7
 
8
- const AccordionContext = React.createContext(
9
- void 0
10
- );
11
- const useAccordionContext = () => {
12
- const context = React.useContext(AccordionContext);
13
- if (utils.isNotProduction() && !context) {
14
- console.error("useAccordionContext should be used inside of Accordion");
8
+ const AccordionContext = core.createContext(
9
+ "AccordionContext",
10
+ {
11
+ value: "",
12
+ expanded: false,
13
+ toggle: () => {
14
+ },
15
+ disabled: false,
16
+ id: ""
15
17
  }
16
- return context;
17
- };
18
+ );
19
+ function useAccordion() {
20
+ return React.useContext(AccordionContext);
21
+ }
18
22
 
19
23
  exports.AccordionContext = AccordionContext;
20
- exports.useAccordionContext = useAccordionContext;
24
+ exports.useAccordion = useAccordion;
21
25
  //# sourceMappingURL=AccordionContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContext.js","sources":["../src/accordion/AccordionContext.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { isNotProduction } from \"./utils\";\n\nexport interface AccordionContext {\n isExpanded: (id: string) => boolean;\n disabled: boolean;\n registerSection: (id: string, isExpanded: boolean) => void;\n unregisterSection: (id: string) => void;\n onChange: (id: string, isExpanded: boolean) => void;\n}\n\nexport const AccordionContext = createContext<AccordionContext | undefined>(\n undefined\n);\n\nexport const useAccordionContext = () => {\n const context = useContext(AccordionContext);\n if (isNotProduction() && !context) {\n console.error(\"useAccordionContext should be used inside of Accordion\");\n }\n return context!;\n};\n"],"names":["createContext","useContext","isNotProduction"],"mappings":";;;;;;;AAWO,MAAM,gBAAmB,GAAAA,mBAAA;AAAA,EAC9B,KAAA,CAAA;AACF,EAAA;AAEO,MAAM,sBAAsB,MAAM;AACvC,EAAM,MAAA,OAAA,GAAUC,iBAAW,gBAAgB,CAAA,CAAA;AAC3C,EAAI,IAAAC,qBAAA,EAAqB,IAAA,CAAC,OAAS,EAAA;AACjC,IAAA,OAAA,CAAQ,MAAM,wDAAwD,CAAA,CAAA;AAAA,GACxE;AACA,EAAO,OAAA,OAAA,CAAA;AACT;;;;;"}
1
+ {"version":3,"file":"AccordionContext.js","sources":["../src/accordion/AccordionContext.ts"],"sourcesContent":["import { createContext } from \"@salt-ds/core\";\nimport { SyntheticEvent, useContext } from \"react\";\n\nexport interface AccordionContextValue {\n value: string;\n expanded: boolean;\n toggle: (event: SyntheticEvent<HTMLButtonElement>) => void;\n disabled: boolean;\n id: string;\n}\n\nexport const AccordionContext = createContext<AccordionContextValue>(\n \"AccordionContext\",\n {\n value: \"\",\n expanded: false,\n toggle: () => {},\n disabled: false,\n id: \"\",\n }\n);\n\nexport function useAccordion() {\n return useContext(AccordionContext);\n}\n"],"names":["createContext","useContext"],"mappings":";;;;;;;AAWO,MAAM,gBAAmB,GAAAA,kBAAA;AAAA,EAC9B,kBAAA;AAAA,EACA;AAAA,IACE,KAAO,EAAA,EAAA;AAAA,IACP,QAAU,EAAA,KAAA;AAAA,IACV,QAAQ,MAAM;AAAA,KAAC;AAAA,IACf,QAAU,EAAA,KAAA;AAAA,IACV,EAAI,EAAA,EAAA;AAAA,GACN;AACF,EAAA;AAEO,SAAS,YAAe,GAAA;AAC7B,EAAA,OAAOC,iBAAW,gBAAgB,CAAA,CAAA;AACpC;;;;;"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var core = require('@salt-ds/core');
8
+ var clsx = require('clsx');
9
+
10
+ const withBaseName = core.makePrefixer("saltAccordionGroup");
11
+ const AccordionGroup = React.forwardRef(
12
+ function AccordionGroup2(props, ref) {
13
+ const { className, ...rest } = props;
14
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
15
+ className: clsx.clsx(withBaseName(), className),
16
+ ref,
17
+ ...rest
18
+ });
19
+ }
20
+ );
21
+
22
+ exports.AccordionGroup = AccordionGroup;
23
+ //# sourceMappingURL=AccordionGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.js","sources":["../src/accordion/AccordionGroup.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nexport interface AccordionGroupProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltAccordionGroup\");\n\nexport const AccordionGroup = forwardRef<HTMLDivElement, AccordionGroupProps>(\n function AccordionGroup(props, ref) {\n const { className, ...rest } = props;\n\n return (\n <div className={clsx(withBaseName(), className)} ref={ref} {...rest} />\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","AccordionGroup","jsx","clsx"],"mappings":";;;;;;;;;AAKA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA,CAAA;AAE/C,MAAM,cAAiB,GAAAC,gBAAA;AAAA,EAC5B,SAASC,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAM,MAAA,EAAE,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAE/B,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MAAI,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MAAG,GAAA;AAAA,MAAW,GAAG,IAAA;AAAA,KAAM,CAAA,CAAA;AAAA,GAEzE;AACF;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltAccordionHeader {\n display: flex;\n gap: var(--salt-spacing-100);\n padding-block: var(--salt-spacing-50);\n padding-inline: var(--salt-spacing-100);\n align-items: center;\n border: 0;\n width: 100%;\n min-height: var(--salt-size-base);\n background: var(--salt-actionable-secondary-background);\n font-size: var(--salt-text-fontSize);\n line-height: var(--salt-text-lineHeight);\n font-family: var(--salt-text-fontFamily);\n color: var(--salt-text-primary-foreground);\n --saltIcon-color: var(--salt-text-primary-foreground);\n text-align: left;\n}\n\n.saltAccordionHeader:focus-visible {\n background: var(--salt-actionable-primary-background-hover);\n outline: var(--salt-focused-outline);\n}\n\n@media (hover: hover) and (pointer: fine) {\n .saltAccordionHeader:hover {\n background: var(--salt-actionable-primary-background-hover);\n }\n}\n\n.saltAccordionHeader:disabled {\n background: var(--salt-actionable-secondary-background);\n color: var(--salt-text-primary-foreground-disabled);\n --saltIcon-fill: var(--salt-text-primary-foreground-disabled);\n}\n\n.saltAccordionHeader-icon {\n transition: transform var(--salt-duration-instant) cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.saltAccordionHeader[aria-expanded=\"true\"] > .saltAccordionHeader-icon {\n transform: rotate(90deg);\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=AccordionHeader.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionHeader.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,50 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var core = require('@salt-ds/core');
8
+ var clsx = require('clsx');
9
+ var icons = require('@salt-ds/icons');
10
+ var window = require('@salt-ds/window');
11
+ var styles = require('@salt-ds/styles');
12
+ var AccordionContext = require('./AccordionContext.js');
13
+ var AccordionHeader$1 = require('./AccordionHeader.css.js');
14
+
15
+ const withBaseName = core.makePrefixer("saltAccordionHeader");
16
+ const AccordionHeader = React.forwardRef(function AccordionHeader2(props, ref) {
17
+ const { children, className, onClick, ...rest } = props;
18
+ const { value, expanded, toggle, disabled, id } = AccordionContext.useAccordion();
19
+ const targetWindow = window.useWindow();
20
+ styles.useComponentCssInjection({
21
+ testId: "salt-accordion-header",
22
+ css: AccordionHeader$1,
23
+ window: targetWindow
24
+ });
25
+ const handleClick = (event) => {
26
+ toggle(event);
27
+ onClick == null ? void 0 : onClick(event);
28
+ };
29
+ return /* @__PURE__ */ jsxRuntime.jsxs("button", {
30
+ ref,
31
+ className: clsx.clsx(withBaseName(), className),
32
+ disabled,
33
+ onClick: handleClick,
34
+ "aria-expanded": expanded,
35
+ id: `${id}-header`,
36
+ "aria-controls": `${id}-panel`,
37
+ value,
38
+ ...rest,
39
+ children: [
40
+ /* @__PURE__ */ jsxRuntime.jsx(icons.ChevronRightIcon, {
41
+ "aria-hidden": "true",
42
+ className: withBaseName("icon")
43
+ }),
44
+ children
45
+ ]
46
+ });
47
+ });
48
+
49
+ exports.AccordionHeader = AccordionHeader;
50
+ //# sourceMappingURL=AccordionHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionHeader.js","sources":["../src/accordion/AccordionHeader.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef, MouseEvent } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { ChevronRightIcon } from \"@salt-ds/icons\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionHeaderCss from \"./AccordionHeader.css\";\n\nexport interface AccordionHeaderProps\n extends ComponentPropsWithoutRef<\"button\"> {}\n\nconst withBaseName = makePrefixer(\"saltAccordionHeader\");\n\nexport const AccordionHeader = forwardRef<\n HTMLButtonElement,\n AccordionHeaderProps\n>(function AccordionHeader(props, ref) {\n const { children, className, onClick, ...rest } = props;\n const { value, expanded, toggle, disabled, id } = useAccordion();\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion-header\",\n css: accordionHeaderCss,\n window: targetWindow,\n });\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n toggle(event);\n onClick?.(event);\n };\n\n return (\n <button\n ref={ref}\n className={clsx(withBaseName(), className)}\n disabled={disabled}\n onClick={handleClick}\n aria-expanded={expanded}\n id={`${id}-header`}\n aria-controls={`${id}-panel`}\n value={value}\n {...rest}\n >\n <ChevronRightIcon aria-hidden=\"true\" className={withBaseName(\"icon\")} />\n {children}\n </button>\n );\n});\n"],"names":["makePrefixer","forwardRef","AccordionHeader","useAccordion","useWindow","useComponentCssInjection","accordionHeaderCss","jsxs","clsx","jsx","ChevronRightIcon"],"mappings":";;;;;;;;;;;;;;AAaA,MAAM,YAAA,GAAeA,kBAAa,qBAAqB,CAAA,CAAA;AAEhD,MAAM,eAAkB,GAAAC,gBAAA,CAG7B,SAASC,gBAAAA,CAAgB,OAAO,GAAK,EAAA;AACrC,EAAA,MAAM,EAAE,QAAA,EAAU,SAAW,EAAA,OAAA,EAAA,GAAY,MAAS,GAAA,KAAA,CAAA;AAClD,EAAA,MAAM,EAAE,KAAO,EAAA,QAAA,EAAU,QAAQ,QAAU,EAAA,EAAA,KAAOC,6BAAa,EAAA,CAAA;AAE/D,EAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,EAAyBC,+BAAA,CAAA;AAAA,IACvB,MAAQ,EAAA,uBAAA;AAAA,IACR,GAAK,EAAAC,iBAAA;AAAA,IACL,MAAQ,EAAA,YAAA;AAAA,GACT,CAAA,CAAA;AAED,EAAM,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,IAAA,MAAA,CAAO,KAAK,CAAA,CAAA;AACZ,IAAU,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,KAAA,CAAA,CAAA;AAAA,GACZ,CAAA;AAEA,EAAA,uBACGC,eAAA,CAAA,QAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,IACzC,QAAA;AAAA,IACA,OAAS,EAAA,WAAA;AAAA,IACT,eAAe,EAAA,QAAA;AAAA,IACf,IAAI,CAAG,EAAA,EAAA,CAAA,OAAA,CAAA;AAAA,IACP,iBAAe,CAAG,EAAA,EAAA,CAAA,MAAA,CAAA;AAAA,IAClB,KAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAAC,sBAAA,EAAA;AAAA,QAAiB,aAAY,EAAA,MAAA;AAAA,QAAO,SAAA,EAAW,aAAa,MAAM,CAAA;AAAA,OAAG,CAAA;AAAA,MACrE,QAAA;AAAA,KAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var css_248z = ".saltAccordionPanel {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows var(--salt-duration-perceptible) cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.saltAccordionHeader[aria-expanded=\"true\"] + .saltAccordionPanel {\n grid-template-rows: 1fr;\n}\n\n.saltAccordionPanel-inner {\n overflow: hidden;\n}\n\n.saltAccordionPanel-content {\n padding: var(--salt-spacing-200);\n padding-left: calc(var(--salt-spacing-200) + var(--salt-size-icon));\n}\n";
4
+
5
+ module.exports = css_248z;
6
+ //# sourceMappingURL=AccordionPanel.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionPanel.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -0,0 +1,45 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var core = require('@salt-ds/core');
8
+ var window = require('@salt-ds/window');
9
+ var styles = require('@salt-ds/styles');
10
+ var clsx = require('clsx');
11
+ var AccordionContext = require('./AccordionContext.js');
12
+ var AccordionPanel$1 = require('./AccordionPanel.css.js');
13
+
14
+ const withBaseName = core.makePrefixer("saltAccordionPanel");
15
+ const AccordionPanel = React.forwardRef(
16
+ function AccordionPanel2(props, ref) {
17
+ const { children, className, ...rest } = props;
18
+ const targetWindow = window.useWindow();
19
+ styles.useComponentCssInjection({
20
+ testId: "salt-accordion-panel",
21
+ css: AccordionPanel$1,
22
+ window: targetWindow
23
+ });
24
+ const { id, expanded } = AccordionContext.useAccordion();
25
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
26
+ ref,
27
+ className: clsx.clsx(withBaseName(), className),
28
+ role: "region",
29
+ id: `${id}-panel`,
30
+ "aria-labelledby": `${id}-header`,
31
+ "aria-hidden": !expanded ? "true" : void 0,
32
+ ...rest,
33
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
34
+ className: withBaseName("inner"),
35
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
36
+ className: withBaseName("content"),
37
+ children
38
+ })
39
+ })
40
+ });
41
+ }
42
+ );
43
+
44
+ exports.AccordionPanel = AccordionPanel;
45
+ //# sourceMappingURL=AccordionPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionPanel.js","sources":["../src/accordion/AccordionPanel.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { clsx } from \"clsx\";\n\nimport { useAccordion } from \"./AccordionContext\";\nimport accordionPanelCss from \"./AccordionPanel.css\";\n\nexport interface AccordionPanelProps extends ComponentPropsWithoutRef<\"div\"> {}\n\nconst withBaseName = makePrefixer(\"saltAccordionPanel\");\n\nexport const AccordionPanel = forwardRef<HTMLDivElement, AccordionPanelProps>(\n function AccordionPanel(props, ref) {\n const { children, className, ...rest } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion-panel\",\n css: accordionPanelCss,\n window: targetWindow,\n });\n\n const { id, expanded } = useAccordion();\n\n return (\n <div\n ref={ref}\n className={clsx(withBaseName(), className)}\n role=\"region\"\n id={`${id}-panel`}\n aria-labelledby={`${id}-header`}\n aria-hidden={!expanded ? \"true\" : undefined}\n {...rest}\n >\n <div className={withBaseName(\"inner\")}>\n <div className={withBaseName(\"content\")}>{children}</div>\n </div>\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","AccordionPanel","useWindow","useComponentCssInjection","accordionPanelCss","useAccordion","jsx","clsx"],"mappings":";;;;;;;;;;;;;AAWA,MAAM,YAAA,GAAeA,kBAAa,oBAAoB,CAAA,CAAA;AAE/C,MAAM,cAAiB,GAAAC,gBAAA;AAAA,EAC5B,SAASC,eAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AAClC,IAAA,MAAM,EAAE,QAAA,EAAU,SAAc,EAAA,GAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAEzC,IAAA,MAAM,eAAeC,gBAAU,EAAA,CAAA;AAC/B,IAAyBC,+BAAA,CAAA;AAAA,MACvB,MAAQ,EAAA,sBAAA;AAAA,MACR,GAAK,EAAAC,gBAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAA,MAAM,EAAE,EAAA,EAAI,QAAS,EAAA,GAAIC,6BAAa,EAAA,CAAA;AAEtC,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAS,CAAA;AAAA,MACzC,IAAK,EAAA,QAAA;AAAA,MACL,IAAI,CAAG,EAAA,EAAA,CAAA,MAAA,CAAA;AAAA,MACP,mBAAiB,CAAG,EAAA,EAAA,CAAA,OAAA,CAAA;AAAA,MACpB,aAAA,EAAa,CAAC,QAAA,GAAW,MAAS,GAAA,KAAA,CAAA;AAAA,MACjC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAAD,cAAA,CAAA,KAAA,EAAA;AAAA,QAAI,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,QAClC,QAAC,kBAAAA,cAAA,CAAA,KAAA,EAAA;AAAA,UAAI,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,UAAI,QAAA;AAAA,SAAS,CAAA;AAAA,OACrD,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = ".salt-density-high {\n --formFieldLegacy-label-top-marginBottom: 2px;\n}\n.salt-density-medium {\n --formFieldLegacy-label-top-marginBottom: 2px;\n}\n.salt-density-low {\n --formFieldLegacy-label-top-marginBottom: 4px;\n}\n.salt-density-touch {\n --formFieldLegacy-label-top-marginBottom: 8px;\n}\n\n/* Style applied to the root element */\n.saltFormFieldLegacy {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle);\n --formFieldLegacy-background: var(--salt-editable-primary-background);\n --formFieldLegacy-focused-outlineColor: var(--salt-focused-outlineColor);\n /* Set to 0 until helper text class provided */\n --formFieldLegacy-helperText-height: 0px;\n}\n\n.saltFormFieldLegacy-secondary.saltFormFieldLegacy {\n --formFieldLegacy-background: var(--salt-editable-secondary-background);\n}\n\n.saltFormFieldLegacy {\n border: 0;\n display: inline-grid;\n font-size: var(--saltFormFieldLegacy-fontSize, var(--salt-text-fontSize));\n margin: var(--saltFormFieldLegacy-margin, 0);\n padding: 0;\n position: relative;\n min-width: 0;\n vertical-align: top;\n width: var(--saltFormFieldLegacy-width, auto);\n}\n\n/* Class applied to the root element on hover */\n.saltFormFieldLegacy:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-hover);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-hover);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-hover);\n}\n\n/* Class applied to the root element when focused */\n.saltFormFieldLegacy-focused,\n.saltFormFieldLegacy-lowFocused,\n.saltFormFieldLegacy.saltFormFieldLegacy-focused:hover,\n.saltFormFieldLegacy.saltFormFieldLegacy-lowFocused:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-active);\n --formFieldLegacy-activationIndicator-size: var(--salt-editable-borderWidth-active);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-active);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-active);\n}\n\n/* Class applied when helper text is provided */\n.saltFormFieldLegacy-withHelperText {\n --formFieldLegacy-helperText-marginTop: var(--formFieldLegacy-helperText-marginTop-default);\n --formFieldLegacy-activationIndicator-offsetBottom: calc(var(--formFieldLegacy-helperText-marginTop) + var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height)));\n}\n\n/* Class applied if `fullWidth={true}` and helper text is provided */\n.saltFormFieldLegacy-fullWidth.saltFormFieldLegacy-withHelperText {\n --formFieldLegacy-helperText-marginTop: var(--formFieldLegacy-helperText-marginTop-fullWidth);\n --formFieldLegacy-activationIndicator-offsetBottom: calc(\n var(--formFieldLegacy-helperText-marginTop-fullWidth) + var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height))\n );\n}\n\n/* Class applied when helper text is provided */\n.saltFormFieldLegacy-withHelperText {\n --formFieldLegacy-helperText-fontSize: var(--saltFormFieldLegacy-helperText-fontSize, var(--salt-text-fontSize));\n --formFieldLegacy-helperText-baseHeight: calc(1.3 * var(--formFieldLegacy-helperText-fontSize));\n --formFieldLegacy-helperText-calculatedHeight: max(var(--salt-text-label-minHeight), var(--formFieldLegacy-helperText-baseHeight));\n --formFieldLegacy-helperText-height: calc(var(--formFieldLegacy-helperText-calculatedHeight) + var(--formFieldLegacy-helperText-marginTop));\n}\n\n/* Class applied to the root element if `fillWidth={true}` */\n.saltFormFieldLegacy-fullWidth {\n width: 100%;\n}\n\n/* Class applied to the root element if `disabled={true}` */\n.saltFormFieldLegacy-disabled {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-disabled);\n --formFieldLegacy-activationIndicator-opacity: var(--salt-palette-opacity-foreground);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-disabled);\n --formFieldLegacy-helperText-opacity: var(--salt-palette-opacity-foreground);\n\n --saltControlLabel-color: var(--salt-text-primary-foreground-disabled);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-disabled);\n}\n\n/* Class applied to the root element on hover if `disabled={true}` */\n.saltFormFieldLegacy.saltFormFieldLegacy-disabled:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-disabled);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-disabled);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-disabled);\n}\n\n/* Class applied to the root element on warning state */\n.saltFormFieldLegacy.saltFormFieldLegacy-warning {\n --formFieldLegacy-focused-outlineColor: var(--salt-status-warning-borderColor);\n --formFieldLegacy-activationIndicator-color: var(--salt-status-warning-borderColor);\n}\n\n/* Class applied to the root element on warning state on hover */\n.saltFormFieldLegacy.saltFormFieldLegacy-warning:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-status-warning-borderColor);\n}\n\n/* Class applied to the root element on error state */\n.saltFormFieldLegacy.saltFormFieldLegacy-error {\n --formFieldLegacy-focused-outlineColor: var(--salt-status-error-borderColor);\n --formFieldLegacy-activationIndicator-color: var(--salt-status-error-borderColor);\n}\n\n/* Class applied to the root element on error state on hover */\n.saltFormFieldLegacy.saltFormFieldLegacy-error:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-status-error-borderColor);\n}\n\n/* Error state styling when `variant=\"secondary\"` */\n.saltFormFieldLegacy-secondary.saltFormFieldLegacy-error {\n --formFieldLegacy-background: var(--salt-status-error-background);\n}\n\n/* Warning state styling when `variant=\"secondary\"` */\n.saltFormFieldLegacy-secondary.saltFormFieldLegacy-warning {\n --formFieldLegacy-background: var(--salt-status-warning-background);\n}\n\n/* Class applied to the root element if `labelPlacement=\"left\"` */\n.saltFormFieldLegacy-labelLeft {\n --formFieldLegacy-label-marginTop: var(--salt-size-unit);\n --formFieldLegacy-label-paddingLeft: 0px;\n --formFieldLegacy-label-paddingRight: calc(0.75 * var(--salt-size-unit));\n\n align-self: start;\n grid-template-columns: auto 1fr;\n}\n\n/* Class applied to the root element if `labelPlacement=\"top\"` or labelPlacement omitted (default is 'top') */\n.saltFormFieldLegacy-labelTop {\n --formFieldLegacy-label-marginBottom: var(--formFieldLegacy-label-top-marginBottom);\n --formFieldLegacy-label-marginTop: 0;\n --formFieldLegacy-label-paddingLeft: var(--salt-size-unit);\n --formFieldLegacy-label-paddingRight: var(--salt-size-unit);\n /* Uses density invariant value unless helper text provided */\n --formFieldLegacy-background-offset-height: calc(var(--formFieldLegacy-helperText-marginTop, 0px) + var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height)));\n\n background: linear-gradient(\n to top,\n transparent var(--formFieldLegacy-background-offset-height),\n var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background)) var(--formFieldLegacy-background-offset-height)\n );\n}\n\n/* Class applied if `labelPlacement=\"top\"` and helper text is provided */\n.saltFormFieldLegacy-labelTop.saltFormFieldLegacy-withHelperText {\n /* Uses density aware value from FormHelperText */\n --formFieldLegacy-background-offset-height: var(--formFieldLegacy-helperText-background-offset-height);\n}\n\n.saltFormFieldLegacy > * {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 2;\n grid-row-end: 3;\n}\n\n.saltFormFieldLegacy-labelLeft > * {\n grid-row-start: 1;\n grid-row-end: 2;\n}\n\n.saltFormFieldLegacy > .saltFormLabel {\n grid-row-start: 1;\n grid-row-end: 2;\n}\n\n.saltFormFieldLegacy > .saltFormActivationIndicator {\n grid-row-start: 3;\n grid-row-end: 4;\n}\n\n.saltFormFieldLegacy > .saltFormHelperText {\n grid-row-start: 4;\n grid-row-end: 5;\n}\n\n.saltFormFieldLegacy-labelLeft > .saltFormLabel ~ * {\n grid-column-start: 2;\n grid-column-end: 2;\n}\n\n/* Class applied if `readOnly={true}\"` */\n.saltFormFieldLegacy-readOnly {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-readonly);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-readonly);\n}\n\n/* Class applied to the root element if `readOnly={true}\"` on hover */\n.saltFormFieldLegacy.saltFormFieldLegacy-readOnly:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-readonly);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-readonly);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-readonly);\n}\n\n/* Class applied on focus with `labelTop={true}` and no helper text provided */\n.saltFormFieldLegacy:not(.saltFormFieldLegacy-withHelperText):not(.saltFormFieldLegacy-labelLeft).saltFormFieldLegacy-focused:before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height, 0px));\n outline-color: var(--formFieldLegacy-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n}\n\n/* Class applied on focus with `labelTop={true}` and helper text provided */\n.saltFormFieldLegacy-withHelperText:not(.saltFormFieldLegacy-labelLeft).saltFormFieldLegacy-focused:before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: var(--formFieldLegacy-helperText-height, 0px);\n outline-color: var(--formFieldLegacy-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused:before {\n content: none;\n}\n\n/* Class applied on focus with `labelLeft={true}` */\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused > *:before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0px;\n outline-color: var(--formFieldLegacy-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n z-index: -1;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused > :is(.saltFormActivationIndicator, .saltFormHelperText, .saltFormLabel):before {\n content: none;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused {\n outline: none;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused > :is(.saltFormFieldLegacy-activationIndicator, .saltFormFieldLegacy-helperText, .saltFormLabel):before {\n content: none;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused .saltFormLabel + * {\n outline: none;\n}\n\n.saltFormFieldLegacy-tertiary.saltFormFieldLegacy.saltFormFieldLegacy-labelLeft > .saltFormLabel ~ * {\n background: var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background));\n}\n\n/* TODO: I don't think this is needed, but commenting until work on FF done\n.saltFormFieldLegacy-primary.saltFormFieldLegacy > :not(.saltFormLabel):first-child {\n background: var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background));\n} */\n\n.saltFormFieldLegacy-labelLeft > .saltFormLabel ~ :not(.saltFormHelperText) {\n background: var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background));\n}\n\n/* **Deprecated:** Tertiary variant no longer supported */\n.saltFormFieldLegacy-tertiary.saltFormFieldLegacy {\n --formFieldLegacy-background: var(--salt-editable-tertiary-background);\n}\n";
3
+ var css_248z = ".salt-density-high {\n --formFieldLegacy-label-top-marginBottom: 2px;\n}\n.salt-density-medium {\n --formFieldLegacy-label-top-marginBottom: 2px;\n}\n.salt-density-low {\n --formFieldLegacy-label-top-marginBottom: 4px;\n}\n.salt-density-touch {\n --formFieldLegacy-label-top-marginBottom: 8px;\n}\n\n/* Style applied to the root element */\n.saltFormFieldLegacy {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle);\n --formFieldLegacy-background: var(--salt-editable-primary-background);\n --formFieldLegacy-focused-outlineColor: var(--salt-focused-outlineColor);\n /* Set to 0 until helper text class provided */\n --formFieldLegacy-helperText-height: 0px;\n}\n\n.saltFormFieldLegacy-secondary.saltFormFieldLegacy {\n --formFieldLegacy-background: var(--salt-editable-secondary-background);\n}\n\n.saltFormFieldLegacy {\n border: 0;\n display: inline-grid;\n font-size: var(--saltFormFieldLegacy-fontSize, var(--salt-text-fontSize));\n margin: var(--saltFormFieldLegacy-margin, 0);\n padding: 0;\n position: relative;\n min-width: 0;\n vertical-align: top;\n width: var(--saltFormFieldLegacy-width, auto);\n}\n\n/* Class applied to the root element on hover */\n.saltFormFieldLegacy:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-hover);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-hover);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-hover);\n}\n\n/* Class applied to the root element when focused */\n.saltFormFieldLegacy-focused,\n.saltFormFieldLegacy-lowFocused,\n.saltFormFieldLegacy.saltFormFieldLegacy-focused:hover,\n.saltFormFieldLegacy.saltFormFieldLegacy-lowFocused:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-active);\n --formFieldLegacy-activationIndicator-size: var(--salt-editable-borderWidth-active);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-active);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-active);\n}\n\n/* Class applied when helper text is provided */\n.saltFormFieldLegacy-withHelperText {\n --formFieldLegacy-helperText-marginTop: var(--formFieldLegacy-helperText-marginTop-default);\n --formFieldLegacy-activationIndicator-offsetBottom: calc(var(--formFieldLegacy-helperText-marginTop) + var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height)));\n}\n\n/* Class applied if `fullWidth={true}` and helper text is provided */\n.saltFormFieldLegacy-fullWidth.saltFormFieldLegacy-withHelperText {\n --formFieldLegacy-helperText-marginTop: var(--formFieldLegacy-helperText-marginTop-fullWidth);\n --formFieldLegacy-activationIndicator-offsetBottom: calc(\n var(--formFieldLegacy-helperText-marginTop-fullWidth) + var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height))\n );\n}\n\n/* Class applied when helper text is provided */\n.saltFormFieldLegacy-withHelperText {\n --formFieldLegacy-helperText-fontSize: var(--saltFormFieldLegacy-helperText-fontSize, var(--salt-text-fontSize));\n --formFieldLegacy-helperText-baseHeight: calc(1.3 * var(--formFieldLegacy-helperText-fontSize));\n --formFieldLegacy-helperText-calculatedHeight: max(var(--salt-text-label-minHeight), var(--formFieldLegacy-helperText-baseHeight));\n --formFieldLegacy-helperText-height: calc(var(--formFieldLegacy-helperText-calculatedHeight) + var(--formFieldLegacy-helperText-marginTop));\n}\n\n/* Class applied to the root element if `fillWidth={true}` */\n.saltFormFieldLegacy-fullWidth {\n width: 100%;\n}\n\n/* Class applied to the root element if `disabled={true}` */\n.saltFormFieldLegacy-disabled {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-disabled);\n --formFieldLegacy-activationIndicator-opacity: var(--salt-palette-opacity-disabled);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-disabled);\n --formFieldLegacy-helperText-opacity: var(--salt-palette-opacity-disabled);\n\n --saltControlLabel-color: var(--salt-text-primary-foreground-disabled);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-disabled);\n}\n\n/* Class applied to the root element on hover if `disabled={true}` */\n.saltFormFieldLegacy.saltFormFieldLegacy-disabled:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-disabled);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-disabled);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-disabled);\n}\n\n/* Class applied to the root element on warning state */\n.saltFormFieldLegacy.saltFormFieldLegacy-warning {\n --formFieldLegacy-focused-outlineColor: var(--salt-status-warning-borderColor);\n --formFieldLegacy-activationIndicator-color: var(--salt-status-warning-borderColor);\n}\n\n/* Class applied to the root element on warning state on hover */\n.saltFormFieldLegacy.saltFormFieldLegacy-warning:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-status-warning-borderColor);\n}\n\n/* Class applied to the root element on error state */\n.saltFormFieldLegacy.saltFormFieldLegacy-error {\n --formFieldLegacy-focused-outlineColor: var(--salt-status-error-borderColor);\n --formFieldLegacy-activationIndicator-color: var(--salt-status-error-borderColor);\n}\n\n/* Class applied to the root element on error state on hover */\n.saltFormFieldLegacy.saltFormFieldLegacy-error:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-status-error-borderColor);\n}\n\n/* Error state styling when `variant=\"secondary\"` */\n.saltFormFieldLegacy-secondary.saltFormFieldLegacy-error {\n --formFieldLegacy-background: var(--salt-status-error-background);\n}\n\n/* Warning state styling when `variant=\"secondary\"` */\n.saltFormFieldLegacy-secondary.saltFormFieldLegacy-warning {\n --formFieldLegacy-background: var(--salt-status-warning-background);\n}\n\n/* Class applied to the root element if `labelPlacement=\"left\"` */\n.saltFormFieldLegacy-labelLeft {\n --formFieldLegacy-label-marginTop: var(--salt-size-unit);\n --formFieldLegacy-label-paddingLeft: 0px;\n --formFieldLegacy-label-paddingRight: calc(0.75 * var(--salt-size-unit));\n\n align-self: start;\n grid-template-columns: auto 1fr;\n}\n\n/* Class applied to the root element if `labelPlacement=\"top\"` or labelPlacement omitted (default is 'top') */\n.saltFormFieldLegacy-labelTop {\n --formFieldLegacy-label-marginBottom: var(--formFieldLegacy-label-top-marginBottom);\n --formFieldLegacy-label-marginTop: 0;\n --formFieldLegacy-label-paddingLeft: var(--salt-size-unit);\n --formFieldLegacy-label-paddingRight: var(--salt-size-unit);\n /* Uses density invariant value unless helper text provided */\n --formFieldLegacy-background-offset-height: calc(var(--formFieldLegacy-helperText-marginTop, 0px) + var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height)));\n\n background: linear-gradient(\n to top,\n transparent var(--formFieldLegacy-background-offset-height),\n var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background)) var(--formFieldLegacy-background-offset-height)\n );\n}\n\n/* Class applied if `labelPlacement=\"top\"` and helper text is provided */\n.saltFormFieldLegacy-labelTop.saltFormFieldLegacy-withHelperText {\n /* Uses density aware value from FormHelperText */\n --formFieldLegacy-background-offset-height: var(--formFieldLegacy-helperText-background-offset-height);\n}\n\n.saltFormFieldLegacy > * {\n grid-column-start: 1;\n grid-column-end: 2;\n grid-row-start: 2;\n grid-row-end: 3;\n}\n\n.saltFormFieldLegacy-labelLeft > * {\n grid-row-start: 1;\n grid-row-end: 2;\n}\n\n.saltFormFieldLegacy > .saltFormLabel {\n grid-row-start: 1;\n grid-row-end: 2;\n}\n\n.saltFormFieldLegacy > .saltFormActivationIndicator {\n grid-row-start: 3;\n grid-row-end: 4;\n}\n\n.saltFormFieldLegacy > .saltFormHelperText {\n grid-row-start: 4;\n grid-row-end: 5;\n}\n\n.saltFormFieldLegacy-labelLeft > .saltFormLabel ~ * {\n grid-column-start: 2;\n grid-column-end: 2;\n}\n\n/* Class applied if `readOnly={true}\"` */\n.saltFormFieldLegacy-readOnly {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-readonly);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-readonly);\n}\n\n/* Class applied to the root element if `readOnly={true}\"` on hover */\n.saltFormFieldLegacy.saltFormFieldLegacy-readOnly:hover {\n --formFieldLegacy-activationIndicator-color: var(--salt-editable-borderColor-readonly);\n --formFieldLegacy-activationIndicator-size: var(--salt-size-border);\n --formFieldLegacy-activationIndicator-style: var(--salt-editable-borderStyle-readonly);\n\n --saltInputLegacy-cursor: var(--salt-editable-cursor-readonly);\n}\n\n/* Class applied on focus with `labelTop={true}` and no helper text provided */\n.saltFormFieldLegacy:not(.saltFormFieldLegacy-withHelperText):not(.saltFormFieldLegacy-labelLeft).saltFormFieldLegacy-focused:before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: var(--saltFormFieldLegacy-helperText-lineHeight, var(--formFieldLegacy-helperText-height, 0px));\n outline-color: var(--formFieldLegacy-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n}\n\n/* Class applied on focus with `labelTop={true}` and helper text provided */\n.saltFormFieldLegacy-withHelperText:not(.saltFormFieldLegacy-labelLeft).saltFormFieldLegacy-focused:before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: var(--formFieldLegacy-helperText-height, 0px);\n outline-color: var(--formFieldLegacy-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused:before {\n content: none;\n}\n\n/* Class applied on focus with `labelLeft={true}` */\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused > *:before {\n content: \" \";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0px;\n outline-color: var(--formFieldLegacy-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n z-index: -1;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused > :is(.saltFormActivationIndicator, .saltFormHelperText, .saltFormLabel):before {\n content: none;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused {\n outline: none;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused > :is(.saltFormFieldLegacy-activationIndicator, .saltFormFieldLegacy-helperText, .saltFormLabel):before {\n content: none;\n}\n\n.saltFormFieldLegacy-labelLeft.saltFormFieldLegacy-focused .saltFormLabel + * {\n outline: none;\n}\n\n.saltFormFieldLegacy-tertiary.saltFormFieldLegacy.saltFormFieldLegacy-labelLeft > .saltFormLabel ~ * {\n background: var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background));\n}\n\n/* TODO: I don't think this is needed, but commenting until work on FF done\n.saltFormFieldLegacy-primary.saltFormFieldLegacy > :not(.saltFormLabel):first-child {\n background: var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background));\n} */\n\n.saltFormFieldLegacy-labelLeft > .saltFormLabel ~ :not(.saltFormHelperText) {\n background: var(--saltFormFieldLegacy-background, var(--formFieldLegacy-background));\n}\n\n/* **Deprecated:** Tertiary variant no longer supported */\n.saltFormFieldLegacy-tertiary.saltFormFieldLegacy {\n --formFieldLegacy-background: var(--salt-editable-tertiary-background);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=FormFieldLegacy.css.js.map
package/dist-cjs/index.js CHANGED
@@ -24,11 +24,10 @@ var useLayoutEffectOnce = require('./utils/useLayoutEffectOnce.js');
24
24
  var useLayoutEffectSkipFirst = require('./utils/useLayoutEffectSkipFirst.js');
25
25
  var useOverflowDetection = require('./utils/useOverflowDetection.js');
26
26
  var useSlideSelection = require('./utils/useSlideSelection.js');
27
- var AccordionSection = require('./accordion/AccordionSection.js');
28
- var AccordionSectionContext = require('./accordion/AccordionSectionContext.js');
27
+ var AccordionGroup = require('./accordion/AccordionGroup.js');
28
+ var AccordionPanel = require('./accordion/AccordionPanel.js');
29
29
  var Accordion = require('./accordion/Accordion.js');
30
- var AccordionSummary = require('./accordion/AccordionSummary.js');
31
- var AccordionDetails = require('./accordion/AccordionDetails.js');
30
+ var AccordionHeader = require('./accordion/AccordionHeader.js');
32
31
  var AppHeader = require('./app-header/AppHeader.js');
33
32
  var Badge = require('./badge/Badge.js');
34
33
  var Breadcrumb = require('./breadcrumbs/Breadcrumb.js');
@@ -104,6 +103,7 @@ var MenuButton = require('./menu-button/MenuButton.js');
104
103
  var Metric = require('./metric/Metric.js');
105
104
  var MetricHeader = require('./metric/MetricHeader.js');
106
105
  var MetricContent = require('./metric/MetricContent.js');
106
+ var MultilineInput = require('./multiline-input/MultilineInput.js');
107
107
  var NavItem = require('./nav-item/NavItem.js');
108
108
  var Overlay = require('./overlay/Overlay.js');
109
109
  var useOverlay = require('./overlay/useOverlay.js');
@@ -178,12 +178,10 @@ exports.useLayoutEffectOnce = useLayoutEffectOnce.useLayoutEffectOnce;
178
178
  exports.useLayoutEffectSkipFirst = useLayoutEffectSkipFirst.useLayoutEffectSkipFirst;
179
179
  exports.useOverflowDetection = useOverflowDetection.useOverflowDetection;
180
180
  exports.useSlideSelection = useSlideSelection.useSlideSelection;
181
- exports.AccordionSection = AccordionSection.AccordionSection;
182
- exports.AccordionSectionContext = AccordionSectionContext.AccordionSectionContext;
183
- exports.useAccordionSectionContext = AccordionSectionContext.useAccordionSectionContext;
181
+ exports.AccordionGroup = AccordionGroup.AccordionGroup;
182
+ exports.AccordionPanel = AccordionPanel.AccordionPanel;
184
183
  exports.Accordion = Accordion.Accordion;
185
- exports.AccordionSummary = AccordionSummary.AccordionSummary;
186
- exports.AccordionDetails = AccordionDetails.AccordionDetails;
184
+ exports.AccordionHeader = AccordionHeader.AccordionHeader;
187
185
  exports.AppHeader = AppHeader.AppHeader;
188
186
  exports.Badge = Badge.Badge;
189
187
  exports.Breadcrumb = Breadcrumb.Breadcrumb;
@@ -272,6 +270,7 @@ exports.MenuButton = MenuButton.MenuButton;
272
270
  exports.Metric = Metric.Metric;
273
271
  exports.MetricHeader = MetricHeader.MetricHeader;
274
272
  exports.MetricContent = MetricContent.MetricContent;
273
+ exports.MultilineInput = MultilineInput.MultilineInput;
275
274
  exports.NavItem = NavItem.NavItem;
276
275
  exports.Overlay = Overlay.Overlay;
277
276
  exports.useOverlay = useOverlay.useOverlay;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = ".saltListItemDeprecated {\n /* Color */\n --list-item-text-color: var(--salt-selectable-foreground);\n --list-item-background: var(--salt-selectable-background);\n --list-item-background-hover: var(--salt-selectable-background-hover);\n --list-item-selected-focus-outlineColor: var(--salt-accent-foreground); /* TODO: Check token with design */\n\n --list-item-text-color-active: var(--salt-selectable-foreground-selected);\n --list-item-background-active: var(--salt-selectable-background-selected);\n\n /* Text, Font */\n --list-item-textAlign: var(--salt-text-textAlign);\n --list-item-fontSize: var(--salt-text-fontSize);\n --list-item-lineHeight: var(--salt-text-lineHeight);\n\n /* Spacing */\n --list-item-padding: 0 var(--salt-size-unit);\n\n /* Misc. */\n --list-item-gap: 0px;\n --list-item-alignItems: center;\n --list-item-selectable-cursor: pointer;\n --list-item-cursor: default;\n\n --list-item-disabled-cursor: var(--salt-selectable-cursor-disabled);\n --list-item-disabled-regular-opacity: var(--salt-palette-opacity-foreground);\n}\n\n.saltListItemDeprecated {\n color: var(--list-item-text-color);\n background: var(--list-item-background);\n text-align: var(--list-item-textAlign);\n line-height: var(--list-item-lineHeight);\n font-size: var(--list-item-fontSize);\n padding: var(--list-item-padding);\n left: 0;\n right: 0;\n display: flex;\n position: relative;\n align-items: var(--list-item-alignItems);\n white-space: nowrap;\n}\n\n.saltListItemDeprecated {\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n cursor: var(--list-item-selectable-cursor);\n}\n\n.saltListItemDeprecated:last-child {\n margin-bottom: 0px;\n}\n\n.saltListItemDeprecated.saltListItemDeprecated-highlighted:not(.saltListItemDeprecated-selected) {\n background: var(--list-item-background-hover);\n}\n\n.saltListItemDeprecated.saltListItemDeprecated-deselectable {\n cursor: var(--list-item-selectable-cursor);\n}\n\n.saltListItemDeprecated-textWrapper {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.saltListItemDeprecated-selected {\n color: var(--list-item-text-color-active);\n background: var(--list-item-background-active);\n cursor: var(--list-item-cursor);\n}\n\n.saltListItemDeprecated-disabled {\n cursor: var(--list-item-disabled-cursor);\n opacity: var(--list-item-disabled-regular-opacity);\n}\n\n.saltListItemDeprecated-focusVisible:after {\n top: 2px;\n left: 2px;\n right: 2px;\n bottom: 2px;\n content: \"\";\n position: absolute;\n\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n.saltListItemDeprecated-focusVisible.saltListItemDeprecated-selected:after {\n outline-color: var(--list-item-selected-focus-outlineColor);\n}\n";
3
+ var css_248z = ".saltListItemDeprecated {\n /* Color */\n --list-item-text-color: var(--salt-selectable-foreground);\n --list-item-background: var(--salt-selectable-background);\n --list-item-background-hover: var(--salt-selectable-background-hover);\n --list-item-selected-focus-outlineColor: var(--salt-accent-foreground); /* TODO: Check token with design */\n\n --list-item-text-color-active: var(--salt-selectable-foreground-selected);\n --list-item-background-active: var(--salt-selectable-background-selected);\n\n /* Text, Font */\n --list-item-textAlign: var(--salt-text-textAlign);\n --list-item-fontSize: var(--salt-text-fontSize);\n --list-item-lineHeight: var(--salt-text-lineHeight);\n\n /* Spacing */\n --list-item-padding: 0 var(--salt-size-unit);\n\n /* Misc. */\n --list-item-gap: 0px;\n --list-item-alignItems: center;\n --list-item-selectable-cursor: pointer;\n --list-item-cursor: default;\n\n --list-item-disabled-cursor: var(--salt-selectable-cursor-disabled);\n --list-item-disabled-regular-opacity: var(--salt-palette-opacity-disabled);\n}\n\n.saltListItemDeprecated {\n color: var(--list-item-text-color);\n background: var(--list-item-background);\n text-align: var(--list-item-textAlign);\n line-height: var(--list-item-lineHeight);\n font-size: var(--list-item-fontSize);\n padding: var(--list-item-padding);\n left: 0;\n right: 0;\n display: flex;\n position: relative;\n align-items: var(--list-item-alignItems);\n white-space: nowrap;\n}\n\n.saltListItemDeprecated {\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n cursor: var(--list-item-selectable-cursor);\n}\n\n.saltListItemDeprecated:last-child {\n margin-bottom: 0px;\n}\n\n.saltListItemDeprecated.saltListItemDeprecated-highlighted:not(.saltListItemDeprecated-selected) {\n background: var(--list-item-background-hover);\n}\n\n.saltListItemDeprecated.saltListItemDeprecated-deselectable {\n cursor: var(--list-item-selectable-cursor);\n}\n\n.saltListItemDeprecated-textWrapper {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.saltListItemDeprecated-selected {\n color: var(--list-item-text-color-active);\n background: var(--list-item-background-active);\n cursor: var(--list-item-cursor);\n}\n\n.saltListItemDeprecated-disabled {\n cursor: var(--list-item-disabled-cursor);\n opacity: var(--list-item-disabled-regular-opacity);\n}\n\n.saltListItemDeprecated-focusVisible:after {\n top: 2px;\n left: 2px;\n right: 2px;\n bottom: 2px;\n content: \"\";\n position: absolute;\n\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n.saltListItemDeprecated-focusVisible.saltListItemDeprecated-selected:after {\n outline-color: var(--list-item-selected-focus-outlineColor);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=ListItem.css.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = "/* Default variables applied to the root element */\n.saltListItemNext {\n --listNext-item-text-color: var(--salt-text-primary-foreground);\n --listNext-item-background: none;\n}\n\n.saltListItemNext {\n color: var(--listNext-item-text-color);\n background: var(--listNext-item-background);\n height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n padding-inline: var(--salt-spacing-100);\n display: flex;\n gap: var(--salt-size-unit);\n position: relative;\n align-items: center;\n white-space: nowrap;\n transition: background var(--salt-duration-perceptible) ease-in-out;\n}\n\n/* Class applied to list item on focus using keyboard navigation only */\n.saltListItemNext-focused {\n outline: var(--salt-focused-outline);\n outline-offset: calc(var(--salt-focused-outlineWidth) * -1);\n}\n\n/* Active list item on hover using mouse */\n.saltListItemNext:hover:not([aria-disabled=\"true\"]),\n/* Active list item on focus using keyboard navigation */\n.saltListItemNext-focused {\n --listNext-item-background: var(--salt-selectable-background-hover);\n cursor: var(--salt-selectable-cursor-hover);\n}\n\n.saltListItemNext[aria-selected=\"true\"] {\n border-block: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-selectable-borderColor-selected);\n --listNext-item-background: var(--salt-selectable-background-selected);\n --saltIcon-color: var(--salt-selectable-foreground-selected);\n}\n\n/* Style applied to disabled items */\n.saltListItemNext[aria-disabled=\"true\"] {\n --listNext-item-text-color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n.saltListItemNext[aria-disabled=\"true\"] .saltText {\n color: var(--listNext-item-text-color);\n}\n\n/* disabled list item when selected */\n.saltListItemNext[aria-disabled=\"true\"][aria-selected=\"true\"] {\n border-block: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-selectable-borderColor-selectedDisabled);\n --listNext-item-background: var(--salt-selectable-background-selectedDisabled);\n}\n";
3
+ var css_248z = "/* Default variables applied to the root element */\n.saltListItemNext {\n --listNext-item-text-color: var(--salt-text-primary-foreground);\n --listNext-item-background: none;\n}\n\n.saltListItemNext {\n color: var(--listNext-item-text-color);\n background: var(--listNext-item-background);\n height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n padding-inline: var(--salt-spacing-100);\n display: flex;\n gap: var(--salt-size-unit);\n position: relative;\n align-items: center;\n white-space: nowrap;\n}\n\n/* Class applied to list item on focus using keyboard navigation only */\n.saltListItemNext-focused {\n outline: var(--salt-focused-outline);\n outline-offset: calc(var(--salt-focused-outlineWidth) * -1);\n}\n\n/* Active list item on hover using mouse */\n.saltListItemNext:hover:not([aria-disabled=\"true\"]),\n/* Active list item on focus using keyboard navigation */\n.saltListItemNext-focused {\n --listNext-item-background: var(--salt-selectable-background-hover);\n cursor: var(--salt-selectable-cursor-hover);\n}\n\n.saltListItemNext[aria-selected=\"true\"] {\n border-block: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-selectable-borderColor-selected);\n --listNext-item-background: var(--salt-selectable-background-selected);\n --saltIcon-color: var(--salt-selectable-foreground-selected);\n}\n\n/* Style applied to disabled items */\n.saltListItemNext[aria-disabled=\"true\"] {\n --listNext-item-text-color: var(--salt-text-primary-foreground-disabled);\n cursor: var(--salt-selectable-cursor-disabled);\n}\n.saltListItemNext[aria-disabled=\"true\"] .saltText {\n color: var(--listNext-item-text-color);\n}\n\n/* disabled list item when selected */\n.saltListItemNext[aria-disabled=\"true\"][aria-selected=\"true\"] {\n border-block: var(--salt-size-border) var(--salt-container-borderStyle) var(--salt-selectable-borderColor-selectedDisabled);\n --listNext-item-background: var(--salt-selectable-background-selectedDisabled);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=ListItemNext.css.js.map