@salt-ds/lab 1.0.0-alpha.100 → 1.0.0-alpha.102

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 (131) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/css/salt-lab.css +10 -241
  3. package/dist-cjs/color-chooser/Swatch.css.js +1 -1
  4. package/dist-cjs/index.js +0 -12
  5. package/dist-cjs/index.js.map +1 -1
  6. package/dist-cjs/input-legacy/InputLegacy.js +8 -3
  7. package/dist-cjs/input-legacy/InputLegacy.js.map +1 -1
  8. package/dist-cjs/list/List.css.js +1 -1
  9. package/dist-cjs/list-deprecated/List.css.js +1 -1
  10. package/dist-cjs/list-next/ListNext.css.js +1 -1
  11. package/dist-cjs/query-input/QueryInput.css.js +1 -1
  12. package/dist-cjs/tabs/TabActivationIndicator.css.js +1 -1
  13. package/dist-cjs/toolbar/overflow-panel/OverflowPanel.css.js +1 -1
  14. package/dist-es/color-chooser/Swatch.css.js +1 -1
  15. package/dist-es/index.js +0 -6
  16. package/dist-es/index.js.map +1 -1
  17. package/dist-es/input-legacy/InputLegacy.js +8 -3
  18. package/dist-es/input-legacy/InputLegacy.js.map +1 -1
  19. package/dist-es/list/List.css.js +1 -1
  20. package/dist-es/list-deprecated/List.css.js +1 -1
  21. package/dist-es/list-next/ListNext.css.js +1 -1
  22. package/dist-es/query-input/QueryInput.css.js +1 -1
  23. package/dist-es/tabs/TabActivationIndicator.css.js +1 -1
  24. package/dist-es/toolbar/overflow-panel/OverflowPanel.css.js +1 -1
  25. package/dist-types/button-bar/internal/DescendantContext.d.ts +1 -1
  26. package/dist-types/combo-box-deprecated/internal/MultiSelectComboBox.d.ts +1 -1
  27. package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +1 -1
  28. package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +2 -2
  29. package/dist-types/common-hooks/collectionProvider.d.ts +1 -1
  30. package/dist-types/contact-details/MailLinkComponent.d.ts +1 -1
  31. package/dist-types/form-field-legacy/FormActivationIndicator.d.ts +1 -1
  32. package/dist-types/form-field-legacy/FormHelperText.d.ts +1 -1
  33. package/dist-types/form-field-legacy/FormLabel.d.ts +1 -1
  34. package/dist-types/form-field-legacy/NecessityIndicator.d.ts +1 -1
  35. package/dist-types/form-field-legacy/StatusIndicator.d.ts +1 -1
  36. package/dist-types/index.d.ts +0 -2
  37. package/dist-types/list-deprecated/internal/DescendantContext.d.ts +1 -1
  38. package/dist-types/list-deprecated/internal/Highlighter.d.ts +1 -1
  39. package/dist-types/query-input/internal/CategoryList.d.ts +1 -1
  40. package/dist-types/query-input/internal/SearchList.d.ts +1 -1
  41. package/dist-types/query-input/internal/ValueList.d.ts +1 -1
  42. package/dist-types/query-input/internal/ValueSelector.d.ts +1 -1
  43. package/dist-types/responsive/overflowUtils.d.ts +1 -1
  44. package/dist-types/tabs/TabActivationIndicator.d.ts +1 -1
  45. package/dist-types/tokenized-input/internal/InputPill.d.ts +1 -1
  46. package/dist-types/tokenized-input-next/internal/InputPill.d.ts +1 -1
  47. package/dist-types/toolbar/Tooltray.d.ts +1 -1
  48. package/package.json +4 -4
  49. package/dist-cjs/breadcrumbs/Breadcrumb.css.js +0 -6
  50. package/dist-cjs/breadcrumbs/Breadcrumb.css.js.map +0 -1
  51. package/dist-cjs/breadcrumbs/Breadcrumb.js +0 -90
  52. package/dist-cjs/breadcrumbs/Breadcrumb.js.map +0 -1
  53. package/dist-cjs/breadcrumbs/Breadcrumbs.css.js +0 -6
  54. package/dist-cjs/breadcrumbs/Breadcrumbs.css.js.map +0 -1
  55. package/dist-cjs/breadcrumbs/Breadcrumbs.js +0 -140
  56. package/dist-cjs/breadcrumbs/Breadcrumbs.js.map +0 -1
  57. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js +0 -63
  58. package/dist-cjs/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +0 -1
  59. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js +0 -20
  60. package/dist-cjs/breadcrumbs/internal/BreadcrumbsContext.js.map +0 -1
  61. package/dist-cjs/breadcrumbs/internal/BreadcrumbsSeparator.js +0 -9
  62. package/dist-cjs/breadcrumbs/internal/BreadcrumbsSeparator.js.map +0 -1
  63. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js +0 -22
  64. package/dist-cjs/breadcrumbs/internal/useFocusMenuRemount.js.map +0 -1
  65. package/dist-cjs/breadcrumbs-next/BreadcrumbNext.css.js +0 -6
  66. package/dist-cjs/breadcrumbs-next/BreadcrumbNext.css.js.map +0 -1
  67. package/dist-cjs/breadcrumbs-next/BreadcrumbNext.js +0 -99
  68. package/dist-cjs/breadcrumbs-next/BreadcrumbNext.js.map +0 -1
  69. package/dist-cjs/breadcrumbs-next/BreadcrumbNextLabel.js +0 -21
  70. package/dist-cjs/breadcrumbs-next/BreadcrumbNextLabel.js.map +0 -1
  71. package/dist-cjs/breadcrumbs-next/BreadcrumbNextTrigger.js +0 -48
  72. package/dist-cjs/breadcrumbs-next/BreadcrumbNextTrigger.js.map +0 -1
  73. package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.css.js +0 -6
  74. package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.css.js.map +0 -1
  75. package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.js +0 -146
  76. package/dist-cjs/breadcrumbs-next/BreadcrumbsNext.js.map +0 -1
  77. package/dist-cjs/breadcrumbs-next/internal/BreadcrumbNextContext.js +0 -12
  78. package/dist-cjs/breadcrumbs-next/internal/BreadcrumbNextContext.js.map +0 -1
  79. package/dist-cjs/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js +0 -236
  80. package/dist-cjs/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js.map +0 -1
  81. package/dist-cjs/breadcrumbs-next/internal/breadcrumbItems.js +0 -21
  82. package/dist-cjs/breadcrumbs-next/internal/breadcrumbItems.js.map +0 -1
  83. package/dist-es/breadcrumbs/Breadcrumb.css.js +0 -4
  84. package/dist-es/breadcrumbs/Breadcrumb.css.js.map +0 -1
  85. package/dist-es/breadcrumbs/Breadcrumb.js +0 -88
  86. package/dist-es/breadcrumbs/Breadcrumb.js.map +0 -1
  87. package/dist-es/breadcrumbs/Breadcrumbs.css.js +0 -4
  88. package/dist-es/breadcrumbs/Breadcrumbs.css.js.map +0 -1
  89. package/dist-es/breadcrumbs/Breadcrumbs.js +0 -138
  90. package/dist-es/breadcrumbs/Breadcrumbs.js.map +0 -1
  91. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js +0 -61
  92. package/dist-es/breadcrumbs/internal/BreadcrumbsCollapsed.js.map +0 -1
  93. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js +0 -17
  94. package/dist-es/breadcrumbs/internal/BreadcrumbsContext.js.map +0 -1
  95. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js +0 -7
  96. package/dist-es/breadcrumbs/internal/BreadcrumbsSeparator.js.map +0 -1
  97. package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js +0 -20
  98. package/dist-es/breadcrumbs/internal/useFocusMenuRemount.js.map +0 -1
  99. package/dist-es/breadcrumbs-next/BreadcrumbNext.css.js +0 -4
  100. package/dist-es/breadcrumbs-next/BreadcrumbNext.css.js.map +0 -1
  101. package/dist-es/breadcrumbs-next/BreadcrumbNext.js +0 -97
  102. package/dist-es/breadcrumbs-next/BreadcrumbNext.js.map +0 -1
  103. package/dist-es/breadcrumbs-next/BreadcrumbNextLabel.js +0 -19
  104. package/dist-es/breadcrumbs-next/BreadcrumbNextLabel.js.map +0 -1
  105. package/dist-es/breadcrumbs-next/BreadcrumbNextTrigger.js +0 -46
  106. package/dist-es/breadcrumbs-next/BreadcrumbNextTrigger.js.map +0 -1
  107. package/dist-es/breadcrumbs-next/BreadcrumbsNext.css.js +0 -4
  108. package/dist-es/breadcrumbs-next/BreadcrumbsNext.css.js.map +0 -1
  109. package/dist-es/breadcrumbs-next/BreadcrumbsNext.js +0 -144
  110. package/dist-es/breadcrumbs-next/BreadcrumbsNext.js.map +0 -1
  111. package/dist-es/breadcrumbs-next/internal/BreadcrumbNextContext.js +0 -9
  112. package/dist-es/breadcrumbs-next/internal/BreadcrumbNextContext.js.map +0 -1
  113. package/dist-es/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js +0 -234
  114. package/dist-es/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.js.map +0 -1
  115. package/dist-es/breadcrumbs-next/internal/breadcrumbItems.js +0 -19
  116. package/dist-es/breadcrumbs-next/internal/breadcrumbItems.js.map +0 -1
  117. package/dist-types/breadcrumbs/Breadcrumb.d.ts +0 -18
  118. package/dist-types/breadcrumbs/Breadcrumbs.d.ts +0 -17
  119. package/dist-types/breadcrumbs/index.d.ts +0 -2
  120. package/dist-types/breadcrumbs/internal/BreadcrumbsCollapsed.d.ts +0 -10
  121. package/dist-types/breadcrumbs/internal/BreadcrumbsContext.d.ts +0 -8
  122. package/dist-types/breadcrumbs/internal/BreadcrumbsSeparator.d.ts +0 -2
  123. package/dist-types/breadcrumbs/internal/useFocusMenuRemount.d.ts +0 -4
  124. package/dist-types/breadcrumbs-next/BreadcrumbNext.d.ts +0 -23
  125. package/dist-types/breadcrumbs-next/BreadcrumbNextLabel.d.ts +0 -4
  126. package/dist-types/breadcrumbs-next/BreadcrumbNextTrigger.d.ts +0 -8
  127. package/dist-types/breadcrumbs-next/BreadcrumbsNext.d.ts +0 -32
  128. package/dist-types/breadcrumbs-next/index.d.ts +0 -4
  129. package/dist-types/breadcrumbs-next/internal/BreadcrumbNextContext.d.ts +0 -14
  130. package/dist-types/breadcrumbs-next/internal/BreadcrumbOverflowDisclosure.d.ts +0 -9
  131. package/dist-types/breadcrumbs-next/internal/breadcrumbItems.d.ts +0 -9
@@ -23,6 +23,9 @@ function mergeA11yProps(a11yProps, inputProps, misplacedAriaProps) {
23
23
  "aria-labelledby": ariaLabelledBy ? Array.from(new Set(ariaLabelledBy.split(" "))).join(" ") : null
24
24
  };
25
25
  }
26
+ function isEmptyReadOnlyValue(value) {
27
+ return value == null || value === "";
28
+ }
26
29
  const InputLegacy = forwardRef(
27
30
  function Input({
28
31
  "aria-activedescendant": ariaActiveDescendant,
@@ -93,10 +96,12 @@ const InputLegacy = forwardRef(
93
96
  inputPropsProp,
94
97
  misplacedAriaProps
95
98
  );
96
- const isEmptyReadOnly = isReadOnly && !defaultValueProp && !valueProp;
97
- const defaultValue = isEmptyReadOnly ? emptyReadOnlyMarker : defaultValueProp;
99
+ const isValueEmptyReadOnly = isReadOnly && isEmptyReadOnlyValue(valueProp);
100
+ const isDefaultValueEmptyReadOnly = isReadOnly && isEmptyReadOnlyValue(defaultValueProp);
101
+ const controlledValue = valueProp === void 0 ? void 0 : isValueEmptyReadOnly ? emptyReadOnlyMarker : valueProp;
102
+ const defaultValue = isDefaultValueEmptyReadOnly ? emptyReadOnlyMarker : defaultValueProp;
98
103
  const [value, setValue] = useControlled({
99
- controlled: valueProp,
104
+ controlled: controlledValue,
100
105
  default: defaultValue,
101
106
  name: "Input",
102
107
  state: "value"
@@ -1 +1 @@
1
- {"version":3,"file":"InputLegacy.js","sources":["../src/input-legacy/InputLegacy.tsx"],"sourcesContent":["import { makePrefixer, useControlled, useForkRef } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type AriaAttributes,\n type ChangeEvent,\n type ElementType,\n type FocusEvent,\n type FocusEventHandler,\n forwardRef,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type KeyboardEventHandler,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n useRef,\n useState,\n} from \"react\";\nimport { useFormFieldLegacyProps } from \"../form-field-context-legacy\";\nimport inputLegacyCss from \"./InputLegacy.css\";\nimport { useCursorOnFocus } from \"./useCursorOnFocus\";\n\nconst withBaseName = makePrefixer(\"saltInputLegacy\");\n\n// TODO: Double confirm whether this should be extending DivElement given root is `<div>`.\n// And forwarded ref is not assigned to the root like other components.\nexport interface InputLegacyProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\"> {\n /**\n * Determines the position of the text cursor on focus of the input.\n *\n * start = place cursor at the beginning<br>\n * end = place cursor at the end<br>\n * \\# = index to place the cursor<br>\n */\n cursorPositionOnFocus?: \"start\" | \"end\" | number;\n /**\n * The value of the `input` element, required for an uncontrolled component.\n */\n defaultValue?: HTMLInputElement[\"defaultValue\"];\n /**\n * If `true`, the component is disabled.\n */\n disabled?: HTMLInputElement[\"disabled\"];\n /**\n * The marker to use in an empty read only Input.\n * Use `''` to disable this feature. Defaults to '—'.\n */\n emptyReadOnlyMarker?: string;\n /**\n * Determines what gets highlighted on focus of the input.\n *\n * If `true` all text will be highlighted.\n * If an array text between those indices will be highlighted\n * e.g. [0,1] will highlight the first character.\n */\n highlightOnFocus?: boolean | number[];\n /**\n * The HTML element to render the Input, e.g. 'input', a custom React component.\n */\n inputComponent?: ElementType;\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback for change event.\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>, value: string) => void;\n onFocus?: FocusEventHandler<HTMLInputElement>;\n onKeyDown?: KeyboardEventHandler<HTMLInputElement>;\n onKeyUp?: KeyboardEventHandler<HTMLInputElement>;\n onMouseUp?: MouseEventHandler<HTMLInputElement>;\n onMouseMove?: MouseEventHandler<HTMLInputElement>;\n onMouseDown?: MouseEventHandler<HTMLInputElement>;\n /**\n * If `true`, the component is read only.\n */\n readOnly?: boolean;\n /**\n *\n * Determines the alignment of the input text.\n */\n textAlign?: \"left\" | \"right\" | \"center\";\n type?: HTMLInputElement[\"type\"];\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value?: HTMLInputElement[\"value\"];\n renderSuffix?: (state: {\n disabled?: boolean;\n error?: boolean;\n focused?: boolean;\n margin?: \"dense\" | \"none\" | \"normal\";\n required?: boolean;\n startAdornment?: ReactNode;\n }) => ReactNode;\n endAdornment?: ReactNode;\n startAdornment?: ReactNode;\n}\n\nfunction mergeA11yProps(\n a11yProps: Partial<ReturnType<typeof useFormFieldLegacyProps>[\"a11yProps\"]>,\n inputProps: InputLegacyProps[\"inputProps\"],\n misplacedAriaProps: AriaAttributes,\n) {\n const ariaLabelledBy = clsx(\n a11yProps?.[\"aria-labelledby\"],\n inputProps?.[\"aria-labelledby\"],\n );\n\n return {\n ...misplacedAriaProps,\n ...a11yProps,\n ...inputProps,\n // The weird filtering is due to TokenizedInputBase\n \"aria-labelledby\": ariaLabelledBy\n ? Array.from(new Set(ariaLabelledBy.split(\" \"))).join(\" \")\n : null,\n };\n}\n\nexport const InputLegacy = forwardRef<HTMLInputElement, InputLegacyProps>(\n function Input(\n {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n className: classNameProp,\n cursorPositionOnFocus,\n disabled,\n emptyReadOnlyMarker = \"—\",\n endAdornment,\n highlightOnFocus,\n id,\n inputComponent: InputComponent = \"input\",\n inputProps: inputPropsProp,\n role,\n style,\n value: valueProp,\n // If we leave both value and defaultValue undefined, we will get a React warning on first edit\n // (uncontrolled to controlled warning) from the React input\n defaultValue: defaultValueProp = valueProp === undefined ? \"\" : undefined,\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n onKeyUp,\n onMouseUp,\n onMouseMove,\n onMouseDown,\n readOnly: readOnlyProp,\n renderSuffix,\n startAdornment,\n textAlign = \"left\",\n type = \"text\",\n ...other\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-input-legacy\",\n css: inputLegacyCss,\n window: targetWindow,\n });\n\n const {\n a11yProps: {\n readOnly: a11yReadOnly,\n disabled: a11yDisabled,\n ...restA11y\n } = {},\n setFocused: setFormFieldFocused,\n inFormField,\n } = useFormFieldLegacyProps();\n\n const [focused, setFocused] = useState(false);\n const inputRef = useRef(null);\n const handleRef = useForkRef(inputRef, ref);\n const cursorOnFocusHelpers = useCursorOnFocus(inputRef, {\n cursorPositionOnFocus,\n highlightOnFocus,\n });\n\n const isDisabled = disabled || a11yDisabled;\n const isReadOnly = readOnlyProp || a11yReadOnly;\n const misplacedAriaProps = {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n role,\n };\n const inputProps = mergeA11yProps(\n restA11y,\n inputPropsProp,\n misplacedAriaProps,\n );\n const isEmptyReadOnly = isReadOnly && !defaultValueProp && !valueProp;\n const defaultValue = isEmptyReadOnly\n ? emptyReadOnlyMarker\n : defaultValueProp;\n\n const [value, setValue] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: \"Input\",\n state: \"value\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n setValue(value);\n onChange?.(event, value);\n };\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setFormFieldFocused?.(true);\n setFocused(true);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setFormFieldFocused?.(false);\n setFocused(false);\n };\n\n const handleMouseMove = (event: MouseEvent<HTMLInputElement>) => {\n cursorOnFocusHelpers.handleMouseMove(event);\n\n onMouseMove?.(event);\n };\n\n const handleMouseUp = (event: MouseEvent<HTMLInputElement>) => {\n cursorOnFocusHelpers.handleMouseUp();\n\n onMouseUp?.(event);\n };\n\n const handleMouseDown = (event: MouseEvent<HTMLInputElement>) => {\n cursorOnFocusHelpers.handleMouseDown();\n\n onMouseDown?.(event);\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(`${textAlign}TextAlign`)]: textAlign,\n [withBaseName(\"formField\")]: inFormField,\n [withBaseName(\"focused\")]: focused && !inFormField,\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"inputAdornedStart\")]: startAdornment,\n [withBaseName(\"inputAdornedEnd\")]: endAdornment,\n },\n classNameProp,\n )}\n style={style}\n {...other}\n >\n {startAdornment && (\n <div className={withBaseName(\"prefixContainer\")}>\n {startAdornment}\n </div>\n )}\n <InputComponent\n type={type}\n id={id}\n {...inputProps}\n className={clsx(withBaseName(\"input\"), inputProps?.className)}\n disabled={isDisabled}\n ref={handleRef}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n onMouseUp={handleMouseUp}\n onMouseMove={handleMouseMove}\n readOnly={isReadOnly}\n />\n {endAdornment && (\n <div className={withBaseName(\"suffixContainer\")}>{endAdornment}</div>\n )}\n {/* TODO: Confirm implementation of suffix */}\n {renderSuffix?.({ disabled, focused })}\n </div>\n );\n },\n);\n"],"names":["inputLegacyCss","value"],"mappings":"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"}
1
+ {"version":3,"file":"InputLegacy.js","sources":["../src/input-legacy/InputLegacy.tsx"],"sourcesContent":["import { makePrefixer, useControlled, useForkRef } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n type AriaAttributes,\n type ChangeEvent,\n type ElementType,\n type FocusEvent,\n type FocusEventHandler,\n forwardRef,\n type HTMLAttributes,\n type InputHTMLAttributes,\n type KeyboardEventHandler,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n useRef,\n useState,\n} from \"react\";\nimport { useFormFieldLegacyProps } from \"../form-field-context-legacy\";\nimport inputLegacyCss from \"./InputLegacy.css\";\nimport { useCursorOnFocus } from \"./useCursorOnFocus\";\n\nconst withBaseName = makePrefixer(\"saltInputLegacy\");\n\n// TODO: Double confirm whether this should be extending DivElement given root is `<div>`.\n// And forwarded ref is not assigned to the root like other components.\nexport interface InputLegacyProps\n extends Omit<HTMLAttributes<HTMLDivElement>, \"onChange\" | \"defaultValue\"> {\n /**\n * Determines the position of the text cursor on focus of the input.\n *\n * start = place cursor at the beginning<br>\n * end = place cursor at the end<br>\n * \\# = index to place the cursor<br>\n */\n cursorPositionOnFocus?: \"start\" | \"end\" | number;\n /**\n * The value of the `input` element, required for an uncontrolled component.\n */\n defaultValue?: HTMLInputElement[\"defaultValue\"];\n /**\n * If `true`, the component is disabled.\n */\n disabled?: HTMLInputElement[\"disabled\"];\n /**\n * The marker to use in an empty read only Input.\n * Use `''` to disable this feature. Defaults to '—'.\n */\n emptyReadOnlyMarker?: string;\n /**\n * Determines what gets highlighted on focus of the input.\n *\n * If `true` all text will be highlighted.\n * If an array text between those indices will be highlighted\n * e.g. [0,1] will highlight the first character.\n */\n highlightOnFocus?: boolean | number[];\n /**\n * The HTML element to render the Input, e.g. 'input', a custom React component.\n */\n inputComponent?: ElementType;\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>;\n onBlur?: FocusEventHandler<HTMLInputElement>;\n /**\n * Callback for change event.\n */\n onChange?: (event: ChangeEvent<HTMLInputElement>, value: string) => void;\n onFocus?: FocusEventHandler<HTMLInputElement>;\n onKeyDown?: KeyboardEventHandler<HTMLInputElement>;\n onKeyUp?: KeyboardEventHandler<HTMLInputElement>;\n onMouseUp?: MouseEventHandler<HTMLInputElement>;\n onMouseMove?: MouseEventHandler<HTMLInputElement>;\n onMouseDown?: MouseEventHandler<HTMLInputElement>;\n /**\n * If `true`, the component is read only.\n */\n readOnly?: boolean;\n /**\n *\n * Determines the alignment of the input text.\n */\n textAlign?: \"left\" | \"right\" | \"center\";\n type?: HTMLInputElement[\"type\"];\n /**\n * The value of the `input` element, required for a controlled component.\n */\n value?: HTMLInputElement[\"value\"];\n renderSuffix?: (state: {\n disabled?: boolean;\n error?: boolean;\n focused?: boolean;\n margin?: \"dense\" | \"none\" | \"normal\";\n required?: boolean;\n startAdornment?: ReactNode;\n }) => ReactNode;\n endAdornment?: ReactNode;\n startAdornment?: ReactNode;\n}\n\nfunction mergeA11yProps(\n a11yProps: Partial<ReturnType<typeof useFormFieldLegacyProps>[\"a11yProps\"]>,\n inputProps: InputLegacyProps[\"inputProps\"],\n misplacedAriaProps: AriaAttributes,\n) {\n const ariaLabelledBy = clsx(\n a11yProps?.[\"aria-labelledby\"],\n inputProps?.[\"aria-labelledby\"],\n );\n\n return {\n ...misplacedAriaProps,\n ...a11yProps,\n ...inputProps,\n // The weird filtering is due to TokenizedInputBase\n \"aria-labelledby\": ariaLabelledBy\n ? Array.from(new Set(ariaLabelledBy.split(\" \"))).join(\" \")\n : null,\n };\n}\n\nfunction isEmptyReadOnlyValue(\n value: InputLegacyProps[\"value\"] | InputLegacyProps[\"defaultValue\"],\n) {\n return value == null || value === \"\";\n}\n\nexport const InputLegacy = forwardRef<HTMLInputElement, InputLegacyProps>(\n function Input(\n {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n className: classNameProp,\n cursorPositionOnFocus,\n disabled,\n emptyReadOnlyMarker = \"—\",\n endAdornment,\n highlightOnFocus,\n id,\n inputComponent: InputComponent = \"input\",\n inputProps: inputPropsProp,\n role,\n style,\n value: valueProp,\n // If we leave both value and defaultValue undefined, we will get a React warning on first edit\n // (uncontrolled to controlled warning) from the React input\n defaultValue: defaultValueProp = valueProp === undefined ? \"\" : undefined,\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n onKeyUp,\n onMouseUp,\n onMouseMove,\n onMouseDown,\n readOnly: readOnlyProp,\n renderSuffix,\n startAdornment,\n textAlign = \"left\",\n type = \"text\",\n ...other\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-input-legacy\",\n css: inputLegacyCss,\n window: targetWindow,\n });\n\n const {\n a11yProps: {\n readOnly: a11yReadOnly,\n disabled: a11yDisabled,\n ...restA11y\n } = {},\n setFocused: setFormFieldFocused,\n inFormField,\n } = useFormFieldLegacyProps();\n\n const [focused, setFocused] = useState(false);\n const inputRef = useRef(null);\n const handleRef = useForkRef(inputRef, ref);\n const cursorOnFocusHelpers = useCursorOnFocus(inputRef, {\n cursorPositionOnFocus,\n highlightOnFocus,\n });\n\n const isDisabled = disabled || a11yDisabled;\n const isReadOnly = readOnlyProp || a11yReadOnly;\n const misplacedAriaProps = {\n \"aria-activedescendant\": ariaActiveDescendant,\n \"aria-expanded\": ariaExpanded,\n \"aria-owns\": ariaOwns,\n role,\n };\n const inputProps = mergeA11yProps(\n restA11y,\n inputPropsProp,\n misplacedAriaProps,\n );\n const isValueEmptyReadOnly = isReadOnly && isEmptyReadOnlyValue(valueProp);\n const isDefaultValueEmptyReadOnly =\n isReadOnly && isEmptyReadOnlyValue(defaultValueProp);\n const controlledValue =\n valueProp === undefined\n ? undefined\n : isValueEmptyReadOnly\n ? emptyReadOnlyMarker\n : valueProp;\n const defaultValue = isDefaultValueEmptyReadOnly\n ? emptyReadOnlyMarker\n : defaultValueProp;\n\n const [value, setValue] = useControlled({\n controlled: controlledValue,\n default: defaultValue,\n name: \"Input\",\n state: \"value\",\n });\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n setValue(value);\n onChange?.(event, value);\n };\n\n const handleFocus = (event: FocusEvent<HTMLInputElement>) => {\n onFocus?.(event);\n setFormFieldFocused?.(true);\n setFocused(true);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n onBlur?.(event);\n setFormFieldFocused?.(false);\n setFocused(false);\n };\n\n const handleMouseMove = (event: MouseEvent<HTMLInputElement>) => {\n cursorOnFocusHelpers.handleMouseMove(event);\n\n onMouseMove?.(event);\n };\n\n const handleMouseUp = (event: MouseEvent<HTMLInputElement>) => {\n cursorOnFocusHelpers.handleMouseUp();\n\n onMouseUp?.(event);\n };\n\n const handleMouseDown = (event: MouseEvent<HTMLInputElement>) => {\n cursorOnFocusHelpers.handleMouseDown();\n\n onMouseDown?.(event);\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n {\n [withBaseName(`${textAlign}TextAlign`)]: textAlign,\n [withBaseName(\"formField\")]: inFormField,\n [withBaseName(\"focused\")]: focused && !inFormField,\n [withBaseName(\"disabled\")]: isDisabled,\n [withBaseName(\"inputAdornedStart\")]: startAdornment,\n [withBaseName(\"inputAdornedEnd\")]: endAdornment,\n },\n classNameProp,\n )}\n style={style}\n {...other}\n >\n {startAdornment && (\n <div className={withBaseName(\"prefixContainer\")}>\n {startAdornment}\n </div>\n )}\n <InputComponent\n type={type}\n id={id}\n {...inputProps}\n className={clsx(withBaseName(\"input\"), inputProps?.className)}\n disabled={isDisabled}\n ref={handleRef}\n value={value}\n onBlur={handleBlur}\n onChange={handleChange}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n onMouseUp={handleMouseUp}\n onMouseMove={handleMouseMove}\n readOnly={isReadOnly}\n />\n {endAdornment && (\n <div className={withBaseName(\"suffixContainer\")}>{endAdornment}</div>\n )}\n {/* TODO: Confirm implementation of suffix */}\n {renderSuffix?.({ disabled, focused })}\n </div>\n );\n },\n);\n"],"names":["inputLegacyCss","value"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltList {\n --list-background: var(--salt-container-primary-background);\n --list-borderStyle: var(--salt-borderStyle-solid);\n --list-borderWidth: var(--salt-size-fixed-100);\n --list-height: auto;\n --list-item-height: var(--salt-size-stackable);\n --list-item-gap: 0px;\n --list-maxHeight: 100%;\n\n background: var(--list-background);\n border-color: var(--salt-container-primary-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n height: var(--saltList-height, var(--list-height));\n max-height: var(--list-maxHeight);\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n width: var(--saltList-width, auto);\n\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n\n box-sizing: border-box;\n}\n\n.saltList-borderless {\n --list-borderStyle: none;\n}\n\n/* virtualised list */\n.saltList-viewport {\n --list-item-height: 30px;\n max-height: calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));\n overflow: auto;\n}\n\n.saltListItemHeader {\n --saltList-item-background: var(--list-item-header-background);\n color: var(--list-item-header-color);\n}\n\n.saltListItemHeader[data-sticky=\"true\"] {\n --saltList-item-background: var(--list-background);\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.saltList-collapsible .saltListItemHeader:after {\n border-width: var(--checkbox-borderWidth);\n border-color: var(--checkbox-borderColor);\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--list-svg-chevron-down) center center / 12px 12px no-repeat;\n mask: var(--list-svg-chevron-down) center center / 12px 12px no-repeat;\n background: var(--list-item-header-twisty-color);\n height: 12px;\n left: var(--list-item-header-twisty-left);\n right: var(--list-item-header-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 12px;\n}\n.saltListItemHeader[aria-expanded=\"false\"]:after {\n transform: rotate(-90deg);\n}\n\n/* Selection */\n\n.saltList-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.saltList-virtualized .saltListItem {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n.saltList.saltFocusVisible:after {\n inset: 2px;\n}\n";
1
+ var css_248z = ".saltList {\n --list-background: var(--salt-container-primary-background);\n --list-borderStyle: var(--salt-borderStyle-solid);\n --list-borderWidth: var(--salt-size-fixed-100);\n --list-height: auto;\n --list-item-height: var(--salt-size-stackable);\n --list-item-gap: 0px;\n --list-maxHeight: 100%;\n\n background: var(--list-background);\n border-color: var(--salt-container-bold-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n height: var(--saltList-height, var(--list-height));\n max-height: var(--list-maxHeight);\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n width: var(--saltList-width, auto);\n\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n\n box-sizing: border-box;\n}\n\n.saltList-borderless {\n --list-borderStyle: none;\n}\n\n/* virtualised list */\n.saltList-viewport {\n --list-item-height: 30px;\n max-height: calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));\n overflow: auto;\n}\n\n.saltListItemHeader {\n --saltList-item-background: var(--list-item-header-background);\n color: var(--list-item-header-color);\n}\n\n.saltListItemHeader[data-sticky=\"true\"] {\n --saltList-item-background: var(--list-background);\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.saltList-collapsible .saltListItemHeader:after {\n border-width: var(--checkbox-borderWidth);\n border-color: var(--checkbox-borderColor);\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--list-svg-chevron-down) center center / 12px 12px no-repeat;\n mask: var(--list-svg-chevron-down) center center / 12px 12px no-repeat;\n background: var(--list-item-header-twisty-color);\n height: 12px;\n left: var(--list-item-header-twisty-left);\n right: var(--list-item-header-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 12px;\n}\n.saltListItemHeader[aria-expanded=\"false\"]:after {\n transform: rotate(-90deg);\n}\n\n/* Selection */\n\n.saltList-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.saltList-virtualized .saltListItem {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n.saltList.saltFocusVisible:after {\n inset: 2px;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=List.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = "/* TODO: Should the outer most container being 'wrapper'? */\n.saltListDeprecated-wrapper {\n /* Color */\n --list-background: var(--salt-container-primary-background);\n /* Border */\n --list-borderColor: var(--salt-container-primary-borderColor);\n --list-borderStyle: var(--salt-borderStyle-solid);\n --list-borderWidth: var(--salt-size-fixed-100);\n --list-borderRadius: 0;\n\n /* Text, Font */\n /* TODO: Do we necessary want to set this? Should rely on inheritance? */\n /* --list-fontFamily: var(--salt-typography-fontFamily); */\n\n /* Misc. */\n --list-boxShadow: none;\n --list-disabled-cursor: var(--salt-cursor-disabled);\n}\n\n.saltListDeprecated-wrapper {\n position: relative;\n}\n\n.saltListDeprecated {\n /* font-family: var(--list-fontFamily); */\n overflow-y: auto;\n}\n.saltListDeprecated:focus {\n outline: none;\n}\n\n.saltListDeprecated-wrapper:not(.saltListDeprecated-borderless) {\n border-color: var(--list-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n border-radius: var(--list-borderRadius);\n}\n.saltListDeprecated-wrapper {\n background: var(--list-background);\n box-shadow: var(--list-boxShadow);\n position: relative;\n}\n\n.saltListDeprecated-borderless {\n border: none;\n}\n.saltListDeprecated-disabled {\n cursor: var(--list-disabled-cursor);\n /* TODO: Design: Check whether we want things behind the list to actually show through opacity */\n /* Or instead of using `opacity` in favor of dedicated color setting, on background, border-color, etc. */\n}\n";
1
+ var css_248z = "/* TODO: Should the outer most container being 'wrapper'? */\n.saltListDeprecated-wrapper {\n /* Color */\n --list-background: var(--salt-container-primary-background);\n /* Border */\n --list-borderColor: var(--salt-container-bold-borderColor);\n --list-borderStyle: var(--salt-borderStyle-solid);\n --list-borderWidth: var(--salt-size-fixed-100);\n --list-borderRadius: 0;\n\n /* Text, Font */\n /* TODO: Do we necessary want to set this? Should rely on inheritance? */\n /* --list-fontFamily: var(--salt-typography-fontFamily); */\n\n /* Misc. */\n --list-boxShadow: none;\n --list-disabled-cursor: var(--salt-cursor-disabled);\n}\n\n.saltListDeprecated-wrapper {\n position: relative;\n}\n\n.saltListDeprecated {\n /* font-family: var(--list-fontFamily); */\n overflow-y: auto;\n}\n.saltListDeprecated:focus {\n outline: none;\n}\n\n.saltListDeprecated-wrapper:not(.saltListDeprecated-borderless) {\n border-color: var(--list-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n border-radius: var(--list-borderRadius);\n}\n.saltListDeprecated-wrapper {\n background: var(--list-background);\n box-shadow: var(--list-boxShadow);\n position: relative;\n}\n\n.saltListDeprecated-borderless {\n border: none;\n}\n.saltListDeprecated-disabled {\n cursor: var(--list-disabled-cursor);\n /* TODO: Design: Check whether we want things behind the list to actually show through opacity */\n /* Or instead of using `opacity` in favor of dedicated color setting, on background, border-color, etc. */\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=List.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = "/* Style applied to the root element */\n.saltListNext {\n margin: 0;\n background: var(--salt-container-primary-background);\n border-color: var(--salt-container-primary-borderColor);\n border-style: var(--salt-borderStyle-solid);\n border-width: var(--salt-size-fixed-100);\n height: 100%;\n outline: none;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n padding-inline-start: 0;\n box-sizing: content-box;\n\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n}\n";
1
+ var css_248z = "/* Style applied to the root element */\n.saltListNext {\n margin: 0;\n background: var(--salt-container-primary-background);\n border-color: var(--salt-container-bold-borderColor);\n border-style: var(--salt-borderStyle-solid);\n border-width: var(--salt-size-fixed-100);\n height: 100%;\n outline: none;\n overflow-y: auto;\n overflow-x: hidden;\n position: relative;\n padding-inline-start: 0;\n box-sizing: content-box;\n\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=ListNext.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltQueryInputBody {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.saltQueryInputBody > .saltIcon {\n padding: var(--salt-size-unit);\n align-self: start;\n}\n\n.saltQueryInputBody-separator {\n width: 1px;\n background: var(--salt-separable-secondary-borderColor);\n margin: 0 var(--salt-size-unit);\n align-self: stretch;\n}\n\n.saltQueryInputBody-buttonGroup {\n flex-shrink: 0;\n align-self: start;\n margin-bottom: var(--salt-size-unit);\n}\n\n.saltQueryInputBody-input {\n flex-grow: 1;\n}\n\n.saltQueryInputValueSelector-content {\n display: flex;\n flex-direction: row;\n}\n\n.saltCategoryList-categoryWidthMeasure {\n position: fixed;\n left: -1000px;\n top: 0;\n border: solid 1px black;\n}\n\n.saltCategoryList-category {\n font-size: var(--salt-text-fontSize);\n}\n\n.saltCategoryListItem-text {\n flex-shrink: 0;\n margin-right: calc(var(--salt-size-unit) * 1.5);\n}\n\n.saltCategoryListItem-valuesContainer {\n font-style: italic;\n color: var(--salt-content-secondary-foreground);\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n overflow: hidden;\n}\n\n.saltCategoryListItem-values {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.saltCategoryListItem-chevron {\n flex-shrink: 0;\n margin-left: var(--salt-size-unit);\n}\n\n.saltListItem-selected .saltIcon {\n fill: var(--list-item-text-color-active);\n}\n\n.saltQueryInputValueList {\n border: solid 1px var(--salt-container-primary-borderColor);\n}\n\n.saltQueryInputValueList-back {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-bottom: solid 1px var(--salt-separable-secondary-borderColor);\n cursor: var(--salt-cursor-hover);\n}\n\n.saltQueryInputValueList-back .saltIcon {\n margin-right: var(--salt-size-unit);\n}\n\n.saltQueryInputValueList-category {\n font-size: var(--salt-text-fontSize);\n flex-grow: 1;\n}\n\n.saltQueryInputSearchList-addKeyword {\n border-top: solid 1px var(--salt-separable-secondary-borderColor);\n}\n\n.saltQueryInputSearchList-categoryTitle {\n color: var(--salt-content-primary-foreground);\n background: var(--salt-container-primary-background);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight-strong);\n display: flex;\n align-items: center;\n padding: 0 var(--salt-size-unit);\n position: sticky;\n top: 0;\n z-index: var(--salt-zIndex-default);\n}\n";
1
+ var css_248z = ".saltQueryInputBody {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.saltQueryInputBody > .saltIcon {\n padding: var(--salt-size-unit);\n align-self: start;\n}\n\n.saltQueryInputBody-separator {\n width: 1px;\n background: var(--salt-separable-secondary-borderColor);\n margin: 0 var(--salt-size-unit);\n align-self: stretch;\n}\n\n.saltQueryInputBody-buttonGroup {\n flex-shrink: 0;\n align-self: start;\n margin-bottom: var(--salt-size-unit);\n}\n\n.saltQueryInputBody-input {\n flex-grow: 1;\n}\n\n.saltQueryInputValueSelector-content {\n display: flex;\n flex-direction: row;\n}\n\n.saltCategoryList-categoryWidthMeasure {\n position: fixed;\n left: -1000px;\n top: 0;\n border: solid 1px black;\n}\n\n.saltCategoryList-category {\n font-size: var(--salt-text-fontSize);\n}\n\n.saltCategoryListItem-text {\n flex-shrink: 0;\n margin-right: calc(var(--salt-size-unit) * 1.5);\n}\n\n.saltCategoryListItem-valuesContainer {\n font-style: italic;\n color: var(--salt-content-secondary-foreground);\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n overflow: hidden;\n}\n\n.saltCategoryListItem-values {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.saltCategoryListItem-chevron {\n flex-shrink: 0;\n margin-left: var(--salt-size-unit);\n}\n\n.saltListItem-selected .saltIcon {\n fill: var(--list-item-text-color-active);\n}\n\n.saltQueryInputValueList {\n border: solid 1px var(--salt-container-bold-borderColor);\n}\n\n.saltQueryInputValueList-back {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-bottom: solid 1px var(--salt-separable-secondary-borderColor);\n cursor: var(--salt-cursor-hover);\n}\n\n.saltQueryInputValueList-back .saltIcon {\n margin-right: var(--salt-size-unit);\n}\n\n.saltQueryInputValueList-category {\n font-size: var(--salt-text-fontSize);\n flex-grow: 1;\n}\n\n.saltQueryInputSearchList-addKeyword {\n border-top: solid 1px var(--salt-separable-secondary-borderColor);\n}\n\n.saltQueryInputSearchList-categoryTitle {\n color: var(--salt-content-primary-foreground);\n background: var(--salt-container-primary-background);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight-strong);\n display: flex;\n align-items: center;\n padding: 0 var(--salt-size-unit);\n position: sticky;\n top: 0;\n z-index: var(--salt-zIndex-default);\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=QueryInput.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltTabActivationIndicator {\n background: var(--saltTabs-activationIndicator-background, var(--salt-container-primary-borderColor));\n height: var(--saltTabs-activationIndicator-height, auto);\n inset: var(--tabs-activationIndicator-inset);\n position: absolute;\n width: var(--tabs-activationIndicator-width, auto);\n}\n\n/* the Active Tab indicator, uses navigable styles */\n.saltTabActivationIndicator-thumb {\n inset: var(--saltTabs-activationIndicator-thumb-inset);\n position: absolute;\n height: var(--tabs-activationIndicator-thumb-height, auto);\n background: var(--salt-navigable-accent-indicator-active);\n transition: var(--saltTabs-activationIndicator-transition, var(--tabs-activationIndicator-transition, left 0.3s ease));\n width: var(--tabs-activationIndicator-thumb-width, auto);\n z-index: 1;\n}\n";
1
+ var css_248z = ".saltTabActivationIndicator {\n background: var(--saltTabs-activationIndicator-background, var(--salt-container-bold-borderColor));\n height: var(--saltTabs-activationIndicator-height, auto);\n inset: var(--tabs-activationIndicator-inset);\n position: absolute;\n width: var(--tabs-activationIndicator-width, auto);\n}\n\n/* the Active Tab indicator, uses navigable styles */\n.saltTabActivationIndicator-thumb {\n inset: var(--saltTabs-activationIndicator-thumb-inset);\n position: absolute;\n height: var(--tabs-activationIndicator-thumb-height, auto);\n background: var(--salt-navigable-accent-indicator-active);\n transition: var(--saltTabs-activationIndicator-transition, var(--tabs-activationIndicator-transition, left 0.3s ease));\n width: var(--tabs-activationIndicator-thumb-width, auto);\n z-index: 1;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=TabActivationIndicator.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = ".saltOverflowPanel.saltDropdownBase-popup {\n background: var(--salt-container-primary-background);\n border: solid 1px var(--salt-selectable-borderColor-hover);\n box-shadow: var(--salt-overlayable-shadow-popout);\n}\n\n.saltOverflowPanel-content {\n --saltButton-justifyContent: flex-start;\n align-items: stretch;\n color: var(--salt-content-primary-foreground);\n border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-container-primary-borderColor);\n display: flex;\n flex-direction: column;\n padding: calc(var(--salt-size-unit) * 1.5) 0;\n outline: none;\n}\n\n.saltOverflowPanel [aria-expanded=\"true\"] {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-background-hover: var(--salt-actionable-secondary-background-active);\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.saltOverflowPanel.saltDropdownBase {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.saltOverflowPanel.saltDropdownBase-popup .saltFormFieldLegacy:not(.saltFormFieldLegacy-toolbarButton) {\n --saltFormFieldLegacy-margin: 0 12px 8px 12px;\n}\n";
1
+ var css_248z = ".saltOverflowPanel.saltDropdownBase-popup {\n background: var(--salt-container-primary-background);\n border: solid 1px var(--salt-selectable-borderColor-hover);\n box-shadow: var(--salt-overlayable-shadow-popout);\n}\n\n.saltOverflowPanel-content {\n --saltButton-justifyContent: flex-start;\n align-items: stretch;\n color: var(--salt-content-primary-foreground);\n border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-container-bold-borderColor);\n display: flex;\n flex-direction: column;\n padding: calc(var(--salt-size-unit) * 1.5) 0;\n outline: none;\n}\n\n.saltOverflowPanel [aria-expanded=\"true\"] {\n --saltButton-background: var(--salt-actionable-secondary-background-active);\n --saltButton-background-hover: var(--salt-actionable-secondary-background-active);\n --saltIcon-color: var(--salt-actionable-secondary-foreground-active);\n}\n\n.saltOverflowPanel.saltDropdownBase {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.saltOverflowPanel.saltDropdownBase-popup .saltFormFieldLegacy:not(.saltFormFieldLegacy-toolbarButton) {\n --saltFormFieldLegacy-margin: 0 12px 8px 12px;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=OverflowPanel.css.js.map
@@ -9,5 +9,5 @@ interface DescendantContextType {
9
9
  setItems?: DescendantProviderProps["setItems"];
10
10
  }
11
11
  export declare const DescendantContext: import("react").Context<DescendantContextType>;
12
- export declare function DescendantProvider({ items, setItems, ...props }: DescendantProviderProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function DescendantProvider({ items, setItems, ...props }: DescendantProviderProps): import("react").JSX.Element;
13
13
  export {};
@@ -7,4 +7,4 @@ export type MultiSelectComboBoxProps<Item> = BaseComboBoxProps<Item, "multiple">
7
7
  multiSelect: true;
8
8
  delimiter?: string | string[];
9
9
  };
10
- export declare function MultiSelectComboBox<Item>(props: MultiSelectComboBoxProps<Item>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function MultiSelectComboBox<Item>(props: MultiSelectComboBoxProps<Item>): import("react").JSX.Element;
@@ -50,6 +50,7 @@ export declare const useComboBox: <Item>(props: UseComboBoxProps<Item>) => {
50
50
  virtualized?: boolean | undefined;
51
51
  width?: number | string | undefined;
52
52
  children?: import("react").ReactNode;
53
+ nonce?: string | undefined | undefined;
53
54
  slot?: string | undefined | undefined;
54
55
  style?: import("react").CSSProperties | undefined;
55
56
  title?: string | undefined | undefined;
@@ -282,7 +283,6 @@ export declare const useComboBox: <Item>(props: UseComboBoxProps<Item>) => {
282
283
  draggable?: (boolean | "true" | "false") | undefined;
283
284
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
284
285
  hidden?: boolean | undefined | undefined;
285
- nonce?: string | undefined | undefined;
286
286
  spellCheck?: (boolean | "true" | "false") | undefined;
287
287
  translate?: "yes" | "no" | undefined | undefined;
288
288
  radioGroup?: string | undefined | undefined;
@@ -320,6 +320,7 @@ export declare const useMultiSelectComboBox: <Item>(props: Omit<UseMultiSelectCo
320
320
  };
321
321
  onKeyDown: (event: KeyboardEvent<HTMLInputElement | HTMLButtonElement | HTMLDivElement>) => void;
322
322
  children?: import("react").ReactNode;
323
+ nonce?: string | undefined | undefined;
323
324
  slot?: string | undefined | undefined;
324
325
  style?: import("react").CSSProperties | undefined;
325
326
  title?: string | undefined | undefined;
@@ -554,7 +555,6 @@ export declare const useMultiSelectComboBox: <Item>(props: Omit<UseMultiSelectCo
554
555
  draggable?: (boolean | "true" | "false") | undefined;
555
556
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
556
557
  hidden?: boolean | undefined | undefined;
557
- nonce?: string | undefined | undefined;
558
558
  spellCheck?: (boolean | "true" | "false") | undefined;
559
559
  translate?: "yes" | "no" | undefined | undefined;
560
560
  radioGroup?: string | undefined | undefined;
@@ -636,6 +636,7 @@ export declare const useMultiSelectComboBox: <Item>(props: Omit<UseMultiSelectCo
636
636
  virtualized?: boolean | undefined;
637
637
  width?: number | string | undefined;
638
638
  children?: import("react").ReactNode;
639
+ nonce?: string | undefined | undefined;
639
640
  slot?: string | undefined | undefined;
640
641
  style?: import("react").CSSProperties | undefined;
641
642
  title?: string | undefined | undefined;
@@ -868,7 +869,6 @@ export declare const useMultiSelectComboBox: <Item>(props: Omit<UseMultiSelectCo
868
869
  draggable?: (boolean | "true" | "false") | undefined;
869
870
  enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
870
871
  hidden?: boolean | undefined | undefined;
871
- nonce?: string | undefined | undefined;
872
872
  spellCheck?: (boolean | "true" | "false") | undefined;
873
873
  translate?: "yes" | "no" | undefined | undefined;
874
874
  radioGroup?: string | undefined | undefined;
@@ -8,6 +8,6 @@ interface ContextProviderProps<Item> {
8
8
  children: ReactElement;
9
9
  collectionHook: CollectionHookResult<Item>;
10
10
  }
11
- export declare function CollectionProvider<Item>({ children, collectionHook, ...props }: ContextProviderProps<Item>): import("react/jsx-runtime").JSX.Element;
11
+ export declare function CollectionProvider<Item>({ children, collectionHook, ...props }: ContextProviderProps<Item>): import("react").JSX.Element;
12
12
  export declare function useCollection<Item>(): CollectionHookResult<Item> | undefined;
13
13
  export {};
@@ -1,2 +1,2 @@
1
1
  import type { ValueComponentProps } from "./types";
2
- export declare const MailLinkComponent: (props: ValueComponentProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const MailLinkComponent: (props: ValueComponentProps) => import("react").JSX.Element;
@@ -2,4 +2,4 @@ import type { FormFieldLegacyProps as FormFieldProps } from "./FormFieldLegacy";
2
2
  export interface FormActivationIndicatorProps extends Pick<FormFieldProps, "validationStatus"> {
3
3
  hasIcon?: boolean;
4
4
  }
5
- export declare const FormActivationIndicator: ({ hasIcon, validationStatus, }: FormActivationIndicatorProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const FormActivationIndicator: ({ hasIcon, validationStatus, }: FormActivationIndicatorProps) => import("react").JSX.Element;
@@ -4,4 +4,4 @@ export interface FormHelperTextProps extends ComponentPropsWithoutRef<"p"> {
4
4
  helperText: FormFieldProps["helperText"];
5
5
  helperTextPlacement: FormFieldProps["helperTextPlacement"];
6
6
  }
7
- export declare const FormHelperText: ({ helperText, helperTextPlacement, ...restProps }: FormHelperTextProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ export declare const FormHelperText: ({ helperText, helperTextPlacement, ...restProps }: FormHelperTextProps) => import("react").JSX.Element | null;
@@ -36,4 +36,4 @@ export interface FormLabelProps extends HTMLAttributes<HTMLLabelElement>, Necess
36
36
  */
37
37
  tooltipText?: string;
38
38
  }
39
- export declare const FormLabel: ({ label, NecessityIndicator, required, displayedNecessity, hasStatusIndicator, StatusIndicatorProps, validationStatus, necessityText, className, disabled, readOnly, tooltipText, ...restProps }: FormLabelProps) => import("react/jsx-runtime").JSX.Element;
39
+ export declare const FormLabel: ({ label, NecessityIndicator, required, displayedNecessity, hasStatusIndicator, StatusIndicatorProps, validationStatus, necessityText, className, disabled, readOnly, tooltipText, ...restProps }: FormLabelProps) => import("react").JSX.Element;
@@ -15,4 +15,4 @@ export interface NecessityIndicatorOptions {
15
15
  necessityText?: ReactNode;
16
16
  className?: string;
17
17
  }
18
- export declare const NecessityIndicator: ({ required, children, necessityText: necessityTextProp, displayedNecessity, className, ...restProps }: NecessityIndicatorOptions & HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element | null;
18
+ export declare const NecessityIndicator: ({ required, children, necessityText: necessityTextProp, displayedNecessity, className, ...restProps }: NecessityIndicatorOptions & HTMLAttributes<HTMLSpanElement>) => import("react").JSX.Element | null;
@@ -10,4 +10,4 @@ export interface StatusIndicatorProps extends IconProps {
10
10
  TooltipProps?: Partial<TooltipProps>;
11
11
  tooltipText?: string;
12
12
  }
13
- export declare const StatusIndicator: (props: StatusIndicatorProps) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const StatusIndicator: (props: StatusIndicatorProps) => import("react").JSX.Element;
@@ -1,6 +1,4 @@
1
1
  export * from "./app-header";
2
- export * from "./breadcrumbs";
3
- export * from "./breadcrumbs-next";
4
2
  export * from "./button-bar";
5
3
  export * from "./cascading-menu";
6
4
  export * from "./color-chooser";
@@ -8,6 +8,6 @@ interface DescendantContextType {
8
8
  items?: DescendantProviderProps["items"];
9
9
  }
10
10
  export declare const DescendantContext: import("react").Context<DescendantContextType>;
11
- export declare function DescendantProvider({ items, ...props }: DescendantProviderProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function DescendantProvider({ items, ...props }: DescendantProviderProps): import("react").JSX.Element;
12
12
  export declare function useDescendant(descendant: unknown): number;
13
13
  export {};
@@ -1 +1 @@
1
- export function Highlighter(props: any): import("react/jsx-runtime").JSX.Element;
1
+ export function Highlighter(props: any): import("react").JSX.Element;
@@ -7,4 +7,4 @@ export interface CategoryListProps {
7
7
  highlightedCategoryIndex?: number;
8
8
  setHighlightedCategoryIndex: Dispatch<SetStateAction<number>>;
9
9
  }
10
- export declare function CategoryList(props: CategoryListProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function CategoryList(props: CategoryListProps): import("react").JSX.Element;
@@ -9,4 +9,4 @@ export interface SearchListProps {
9
9
  visibleCategories: QueryInputCategory[];
10
10
  setHighlightedIndex: Dispatch<SetStateAction<number>>;
11
11
  }
12
- export declare function SearchList(props: SearchListProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function SearchList(props: SearchListProps): import("react").JSX.Element;
@@ -9,4 +9,4 @@ export interface ValueListProps {
9
9
  highlightedValueIndex?: number;
10
10
  setHighlightedValueIndex: Dispatch<SetStateAction<number>>;
11
11
  }
12
- export declare function ValueList(props: ValueListProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function ValueList(props: ValueListProps): import("react").JSX.Element;
@@ -20,4 +20,4 @@ export interface ValueSelectorProps {
20
20
  setHighlightedCategoryIndex: Dispatch<SetStateAction<number>>;
21
21
  setHighlightedValueIndex: Dispatch<SetStateAction<number>>;
22
22
  }
23
- export declare function ValueSelector(props: ValueSelectorProps): import("react/jsx-runtime").JSX.Element | null;
23
+ export declare function ValueSelector(props: ValueSelectorProps): import("react").JSX.Element | null;
@@ -1,6 +1,6 @@
1
1
  import type { ElementRef, OverflowItem, orientationType } from "./overflowTypes";
2
2
  export declare const DropdownPlaceholder: () => null;
3
- export declare const getDropdownPlaceholder: () => import("react/jsx-runtime").JSX.Element;
3
+ export declare const getDropdownPlaceholder: () => import("react").JSX.Element;
4
4
  export type heightOrWidth = "width" | "height";
5
5
  export declare const NO_DATA: {};
6
6
  export declare const allExceptOverflowIndicator: (sum: number, m: OverflowItem) => number;
@@ -4,5 +4,5 @@ interface TabActivationIndicatorProps {
4
4
  disableAnimation?: boolean;
5
5
  tabId?: string | null;
6
6
  }
7
- export declare const TabActivationIndicator: ({ hideThumb, orientation, tabId, }: TabActivationIndicatorProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const TabActivationIndicator: ({ hideThumb, orientation, tabId, }: TabActivationIndicatorProps) => import("react").JSX.Element;
8
8
  export {};
@@ -30,4 +30,4 @@ export type InputPillProps = PillProps & {
30
30
  */
31
31
  onDelete?: (index: number) => void;
32
32
  };
33
- export declare const InputPill: import("react").MemoExoticComponent<(props: InputPillProps) => import("react/jsx-runtime").JSX.Element>;
33
+ export declare const InputPill: import("react").MemoExoticComponent<(props: InputPillProps) => import("react").JSX.Element>;
@@ -26,4 +26,4 @@ export type InputPillProps = PillProps & {
26
26
  */
27
27
  onClose?: (event: SyntheticEvent, index: number) => void;
28
28
  };
29
- export declare const InputPill: import("react").MemoExoticComponent<(props: InputPillProps) => import("react/jsx-runtime").JSX.Element>;
29
+ export declare const InputPill: import("react").MemoExoticComponent<(props: InputPillProps) => import("react").JSX.Element>;
@@ -1,2 +1,2 @@
1
1
  import type { TooltrayProps } from "./TooltrayProps";
2
- export declare const Tooltray: (props: TooltrayProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const Tooltray: (props: TooltrayProps) => import("react").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/lab",
3
- "version": "1.0.0-alpha.100",
3
+ "version": "1.0.0-alpha.102",
4
4
  "license": "Apache-2.0",
5
5
  "repository": {
6
6
  "type": "git",
@@ -21,9 +21,9 @@
21
21
  ],
22
22
  "dependencies": {
23
23
  "@floating-ui/react": "^0.27.19",
24
- "@salt-ds/core": "^1.67.1",
25
- "@salt-ds/icons": "^1.18.1",
26
- "@salt-ds/styles": "0.3.0",
24
+ "@salt-ds/core": "^1.69.0",
25
+ "@salt-ds/icons": "^1.18.2",
26
+ "@salt-ds/styles": "0.4.0",
27
27
  "@salt-ds/window": "0.1.1",
28
28
  "@types/react-window": "^1.8.2",
29
29
  "clipboard-copy": "^4.0.1",
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var css_248z = ".saltBreadcrumb {\n --breadcrumbs-crumb-color: var(--saltBreadcrumbs-crumb-color, var(--salt-actionable-primary-foreground));\n --breadcrumbs-crumb-color-hover: var(--saltBreadcrumbs-crumb-color-hover, var(--salt-actionable-primary-foreground-hover));\n --breadcrumbs-crumb-color-active: var(--saltBreadcrumbs-crumb-color-active, var(--salt-actionable-primary-foreground-active));\n --breadcrumbs-crumb-icon-color: var(--saltBreadcrumbs-crumb-icon-color, var(--breadcrumbs-crumb-color));\n --breadcrumbs-crumb-marginLeft: 0px;\n}\n\n.saltBreadcrumb {\n padding: 0px;\n}\n\n.saltBreadcrumb-regular {\n display: flex;\n gap: calc(var(--salt-size-unit) / 2);\n align-items: center;\n color: var(--breadcrumbs-crumb-color);\n}\n\n.saltBreadcrumb-regular:visited {\n color: currentColor;\n}\n\n.saltBreadcrumb-regular:visited .saltBreadcrumb-icon {\n color: currentColor;\n}\n\n.saltBreadcrumb-regular:hover {\n color: var(--breadcrumbs-crumb-color-hover);\n}\n\n.saltBreadcrumb-regular:hover .saltBreadcrumb-icon {\n color: var(--breadcrumbs-crumb-color-hover);\n}\n\n.saltBreadcrumb-regular:active {\n color: var(--breadcrumbs-crumb-color-active);\n}\n\n.saltBreadcrumb-regular:active .saltBreadcrumb-icon {\n color: var(--breadcrumbs-crumb-color-active);\n}\n\n.saltBreadcrumb-currentLevel {\n color: var(--breadcrumbs-crumb-color);\n}\n\n.saltBreadcrumb-icon {\n color: var(--breadcrumbs-crumb-icon-color);\n margin-left: var(--saltBreadcrumbs-crumb-marginLeft, var(--breadcrumbs-crumb-marginLeft));\n}\n\n.saltBreadcrumb-justifyContentCenter {\n justify-content: center;\n}\n\n.saltBreadcrumb-text {\n text-decoration: underline;\n}\n";
4
-
5
- module.exports = css_248z;
6
- //# sourceMappingURL=Breadcrumb.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Breadcrumb.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,90 +0,0 @@
1
- 'use strict';
2
-
3
- var jsxRuntime = require('react/jsx-runtime');
4
- var core = require('@salt-ds/core');
5
- var styles = require('@salt-ds/styles');
6
- var window = require('@salt-ds/window');
7
- var clsx = require('clsx');
8
- var react = require('react');
9
- var Breadcrumb$1 = require('./Breadcrumb.css.js');
10
- var BreadcrumbsContext = require('./internal/BreadcrumbsContext.js');
11
-
12
- const withBaseName = core.makePrefixer("saltBreadcrumb");
13
- const Breadcrumb = react.forwardRef(
14
- function Breadcrumb2({
15
- children,
16
- ContainerProps = {},
17
- tooltipText,
18
- tooltipProps,
19
- isCurrentLevel,
20
- onItemClick,
21
- overflowLabel,
22
- maxWidth,
23
- Icon,
24
- minWidth,
25
- className,
26
- ...props
27
- }, ref) {
28
- const targetWindow = window.useWindow();
29
- styles.useComponentCssInjection({
30
- testId: "salt-breadcrumb",
31
- css: Breadcrumb$1,
32
- window: targetWindow
33
- });
34
- const { itemsMaxWidth, itemsMinWidth, liClass } = BreadcrumbsContext.useBreadcrumbsContext();
35
- const hasChildren = react.Children.count(children) !== 0;
36
- const hasOnlyIcon = Icon && !hasChildren;
37
- const getDefaultBreadcrumb = () => isCurrentLevel ? /* @__PURE__ */ jsxRuntime.jsx(
38
- core.Text,
39
- {
40
- maxRows: 1,
41
- className: clsx.clsx(
42
- withBaseName(),
43
- className,
44
- withBaseName("currentLevel")
45
- ),
46
- styleAs: "label",
47
- children
48
- }
49
- ) : /* @__PURE__ */ jsxRuntime.jsxs(
50
- "div",
51
- {
52
- className: clsx.clsx(
53
- withBaseName(),
54
- className,
55
- {
56
- [withBaseName("justifyContentCenter")]: hasOnlyIcon
57
- },
58
- withBaseName("regular")
59
- ),
60
- children: [
61
- Icon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { className: withBaseName("icon") }),
62
- hasChildren && /* @__PURE__ */ jsxRuntime.jsx(core.Link, { maxRows: 1, styleAs: "label", ...props, children })
63
- ]
64
- }
65
- );
66
- const content = getDefaultBreadcrumb();
67
- const {
68
- style: containerStyle,
69
- className: containerClassName,
70
- ...containerPropsRest
71
- } = ContainerProps;
72
- return /* @__PURE__ */ jsxRuntime.jsx(
73
- "li",
74
- {
75
- ref,
76
- style: {
77
- ...containerStyle,
78
- minWidth: minWidth ?? itemsMinWidth,
79
- maxWidth: maxWidth ?? itemsMaxWidth
80
- },
81
- className: clsx.clsx(liClass, containerClassName),
82
- ...containerPropsRest,
83
- children: content
84
- }
85
- );
86
- }
87
- );
88
-
89
- exports.Breadcrumb = Breadcrumb;
90
- //# sourceMappingURL=Breadcrumb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Breadcrumb.js","sources":["../src/breadcrumbs/Breadcrumb.tsx"],"sourcesContent":["import { Link, makePrefixer, Text, type TooltipProps } from \"@salt-ds/core\";\nimport type { IconProps } from \"@salt-ds/icons\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport {\n Children,\n type ComponentType,\n forwardRef,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport type { CascadingMenuProps } from \"../cascading-menu/CascadingMenuProps\";\nimport breadcrumbCss from \"./Breadcrumb.css\";\nimport { useBreadcrumbsContext } from \"./internal/BreadcrumbsContext\";\n\nconst withBaseName = makePrefixer(\"saltBreadcrumb\");\n\nexport interface BreadcrumbProps\n extends Pick<CascadingMenuProps, \"onItemClick\"> {\n children?: ReactNode;\n ContainerProps?: HTMLAttributes<HTMLLIElement>;\n tooltipText?: string;\n tooltipProps?: TooltipProps;\n className?: string;\n href?: string;\n isCurrentLevel?: boolean;\n maxWidth?: number;\n minWidth?: number;\n overflowLabel?: string;\n Icon?: ComponentType<IconProps>;\n}\n\nexport const Breadcrumb = forwardRef<HTMLLIElement, BreadcrumbProps>(\n function Breadcrumb(\n {\n children,\n ContainerProps = {},\n tooltipText,\n tooltipProps,\n isCurrentLevel,\n onItemClick,\n overflowLabel,\n maxWidth,\n Icon,\n minWidth,\n className,\n ...props\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-breadcrumb\",\n css: breadcrumbCss,\n window: targetWindow,\n });\n\n const { itemsMaxWidth, itemsMinWidth, liClass } = useBreadcrumbsContext();\n\n const hasChildren = Children.count(children) !== 0;\n const hasOnlyIcon = Icon && !hasChildren;\n\n const getDefaultBreadcrumb = () =>\n isCurrentLevel ? (\n <Text\n maxRows={1}\n className={clsx(\n withBaseName(),\n className,\n withBaseName(\"currentLevel\"),\n )}\n styleAs=\"label\"\n >\n {children}\n </Text>\n ) : (\n <div\n className={clsx(\n withBaseName(),\n className,\n {\n [withBaseName(\"justifyContentCenter\")]: hasOnlyIcon,\n },\n withBaseName(\"regular\"),\n )}\n >\n {Icon && <Icon className={withBaseName(\"icon\")} />}\n {hasChildren && (\n <Link maxRows={1} styleAs=\"label\" {...props}>\n {children}\n </Link>\n )}\n </div>\n );\n\n const content = getDefaultBreadcrumb();\n\n const {\n style: containerStyle,\n className: containerClassName,\n ...containerPropsRest\n } = ContainerProps;\n\n return (\n <li\n ref={ref}\n style={{\n ...containerStyle,\n minWidth: minWidth ?? itemsMinWidth,\n maxWidth: maxWidth ?? itemsMaxWidth,\n }}\n className={clsx(liClass, containerClassName)}\n {...containerPropsRest}\n >\n {content}\n </li>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","Breadcrumb","useWindow","useComponentCssInjection","breadcrumbCss","useBreadcrumbsContext","Children","jsx","Text","clsx","jsxs","Link"],"mappings":";;;;;;;;;;;AAgBA,MAAM,YAAA,GAAeA,kBAAa,gBAAgB,CAAA;AAiB3C,MAAM,UAAA,GAAaC,gBAAA;AAAA,EACxB,SAASC,WAAAA,CACP;AAAA,IACE,QAAA;AAAA,IACA,iBAAiB,EAAC;AAAA,IAClB,WAAA;AAAA,IACA,YAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA;AAAA,IACA,GAAG;AAAA,KAEL,GAAA,EACA;AACA,IAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,IAAAC,+BAAA,CAAyB;AAAA,MACvB,MAAA,EAAQ,iBAAA;AAAA,MACR,GAAA,EAAKC,YAAA;AAAA,MACL,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,MAAM,EAAE,aAAA,EAAe,aAAA,EAAe,OAAA,KAAYC,wCAAA,EAAsB;AAExE,IAAA,MAAM,WAAA,GAAcC,cAAA,CAAS,KAAA,CAAM,QAAQ,CAAA,KAAM,CAAA;AACjD,IAAA,MAAM,WAAA,GAAc,QAAQ,CAAC,WAAA;AAE7B,IAAA,MAAM,oBAAA,GAAuB,MAC3B,cAAA,mBACEC,cAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAS,CAAA;AAAA,QACT,SAAA,EAAWC,SAAA;AAAA,UACT,YAAA,EAAa;AAAA,UACb,SAAA;AAAA,UACA,aAAa,cAAc;AAAA,SAC7B;AAAA,QACA,OAAA,EAAQ,OAAA;AAAA,QAEP;AAAA;AAAA,KACH,mBAEAC,eAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWD,SAAA;AAAA,UACT,YAAA,EAAa;AAAA,UACb,SAAA;AAAA,UACA;AAAA,YACE,CAAC,YAAA,CAAa,sBAAsB,CAAC,GAAG;AAAA,WAC1C;AAAA,UACA,aAAa,SAAS;AAAA,SACxB;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,IAAA,oBAAQF,cAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAW,YAAA,CAAa,MAAM,CAAA,EAAG,CAAA;AAAA,UAC/C,WAAA,mCACEI,SAAA,EAAA,EAAK,OAAA,EAAS,GAAG,OAAA,EAAQ,OAAA,EAAS,GAAG,KAAA,EACnC,QAAA,EACH;AAAA;AAAA;AAAA,KAEJ;AAGJ,IAAA,MAAM,UAAU,oBAAA,EAAqB;AAErC,IAAA,MAAM;AAAA,MACJ,KAAA,EAAO,cAAA;AAAA,MACP,SAAA,EAAW,kBAAA;AAAA,MACX,GAAG;AAAA,KACL,GAAI,cAAA;AAEJ,IAAA,uBACEJ,cAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,GAAA;AAAA,QACA,KAAA,EAAO;AAAA,UACL,GAAG,cAAA;AAAA,UACH,UAAU,QAAA,IAAY,aAAA;AAAA,UACtB,UAAU,QAAA,IAAY;AAAA,SACxB;AAAA,QACA,SAAA,EAAWE,SAAA,CAAK,OAAA,EAAS,kBAAkB,CAAA;AAAA,QAC1C,GAAG,kBAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;;;;"}
@@ -1,6 +0,0 @@
1
- 'use strict';
2
-
3
- var css_248z = ".saltBreadcrumbs-ol {\n --breadcrumbs-ol-gap: var(--salt-size-unit);\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0;\n margin: 0;\n gap: var(--breadcrumbs-ol-gap);\n}\n\n.saltBreadcrumbs-li {\n --breadcrumbs-li-marginRight: 0px;\n --breadcrumbs-li-padding: 0px;\n\n flex: 0 1 auto;\n list-style: none;\n margin-right: var(--breadcrumbs-li-marginRight);\n padding: var(--breadcrumbs-li-padding);\n}\n\n.saltBreadcrumbs-separator {\n --breadcrumbs-separator-marginRight: 0px;\n\n display: flex;\n margin-right: var(--breadcrumbs-separator-marginRight);\n user-select: none;\n}\n\n.saltBreadcrumbs-ol-wrap {\n flex-wrap: wrap;\n}\n\n.saltBreadcrumbs-ol-wrap .saltBreadcrumbs-li,\n.saltBreadcrumbs-ol-wrap .saltBreadcrumbs-separator {\n --breadcrumbs-ol-wrap-li-marginBottom: 0px;\n\n margin-bottom: var(--breadcrumbs-ol-wrap-li-marginBottom);\n}\n";
4
-
5
- module.exports = css_248z;
6
- //# sourceMappingURL=Breadcrumbs.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Breadcrumbs.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}