@salt-ds/lab 1.0.0-alpha.10 → 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 (234) 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/common-hooks/useKeyboardNavigation.js +0 -3
  17. package/dist-cjs/common-hooks/useKeyboardNavigation.js.map +1 -1
  18. package/dist-cjs/dialog/DialogTitle.css.js +1 -1
  19. package/dist-cjs/dialog/DialogTitle.js +2 -3
  20. package/dist-cjs/dialog/DialogTitle.js.map +1 -1
  21. package/dist-cjs/dropdown/Dropdown.js +5 -2
  22. package/dist-cjs/dropdown/Dropdown.js.map +1 -1
  23. package/dist-cjs/dropdown/useDropdown.js +12 -0
  24. package/dist-cjs/dropdown/useDropdown.js.map +1 -1
  25. package/dist-cjs/form-field-legacy/FormFieldLegacy.css.js +1 -1
  26. package/dist-cjs/index.js +23 -10
  27. package/dist-cjs/index.js.map +1 -1
  28. package/dist-cjs/list/useList.js +0 -1
  29. package/dist-cjs/list/useList.js.map +1 -1
  30. package/dist-cjs/list-deprecated/ListItem.css.js +1 -1
  31. package/dist-cjs/list-next/ListItemNext.css.js +6 -0
  32. package/dist-cjs/list-next/ListItemNext.css.js.map +1 -0
  33. package/dist-cjs/list-next/ListItemNext.js +74 -0
  34. package/dist-cjs/list-next/ListItemNext.js.map +1 -0
  35. package/dist-cjs/list-next/ListNext.css.js +6 -0
  36. package/dist-cjs/list-next/ListNext.css.js.map +1 -0
  37. package/dist-cjs/list-next/ListNext.js +92 -0
  38. package/dist-cjs/list-next/ListNext.js.map +1 -0
  39. package/dist-cjs/list-next/ListNextContext.js +18 -0
  40. package/dist-cjs/list-next/ListNextContext.js.map +1 -0
  41. package/dist-cjs/list-next/useList.js +188 -0
  42. package/dist-cjs/list-next/useList.js.map +1 -0
  43. package/dist-cjs/logo/Logo.css.js +1 -1
  44. package/dist-cjs/logo/Logo.js +4 -36
  45. package/dist-cjs/logo/Logo.js.map +1 -1
  46. package/dist-cjs/logo/LogoImage.js +24 -0
  47. package/dist-cjs/logo/LogoImage.js.map +1 -0
  48. package/dist-cjs/logo/LogoSeparator.css.js +6 -0
  49. package/dist-cjs/logo/LogoSeparator.css.js.map +1 -0
  50. package/dist-cjs/logo/LogoSeparator.js +32 -0
  51. package/dist-cjs/logo/LogoSeparator.js.map +1 -0
  52. package/dist-cjs/multiline-input/MultilineInput.css.js +6 -0
  53. package/dist-cjs/multiline-input/MultilineInput.css.js.map +1 -0
  54. package/dist-cjs/multiline-input/MultilineInput.js +150 -0
  55. package/dist-cjs/multiline-input/MultilineInput.js.map +1 -0
  56. package/dist-cjs/pill/Pill.css.js +1 -1
  57. package/dist-cjs/query-input/internal/QueryInputBody.js +5 -5
  58. package/dist-cjs/query-input/internal/QueryInputBody.js.map +1 -1
  59. package/dist-cjs/tabs-next/OverflowMenu.js +49 -0
  60. package/dist-cjs/tabs-next/OverflowMenu.js.map +1 -0
  61. package/dist-cjs/tabs-next/TabNext.css.js +6 -0
  62. package/dist-cjs/tabs-next/TabNext.css.js.map +1 -0
  63. package/dist-cjs/tabs-next/TabNext.js +87 -0
  64. package/dist-cjs/tabs-next/TabNext.js.map +1 -0
  65. package/dist-cjs/tabs-next/TabNextContext.js +23 -0
  66. package/dist-cjs/tabs-next/TabNextContext.js.map +1 -0
  67. package/dist-cjs/tabs-next/TabstripNext.css.js +6 -0
  68. package/dist-cjs/tabs-next/TabstripNext.css.js.map +1 -0
  69. package/dist-cjs/tabs-next/TabstripNext.js +180 -0
  70. package/dist-cjs/tabs-next/TabstripNext.js.map +1 -0
  71. package/dist-cjs/toggle-button/ToggleButton.css.js +1 -1
  72. package/dist-cjs/toggle-button/ToggleButton.js +44 -74
  73. package/dist-cjs/toggle-button/ToggleButton.js.map +1 -1
  74. package/dist-cjs/toggle-button-group/ToggleButtonGroup.css.js +6 -0
  75. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js +111 -0
  76. package/dist-cjs/toggle-button-group/ToggleButtonGroup.js.map +1 -0
  77. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js +15 -0
  78. package/dist-cjs/toggle-button-group/ToggleButtonGroupContext.js.map +1 -0
  79. package/dist-cjs/tokenized-input/TokenizedInput.css.js +1 -1
  80. package/dist-cjs/toolbar/ToolbarButton.css.js +1 -1
  81. package/dist-es/accordion/Accordion.css.js +1 -1
  82. package/dist-es/accordion/Accordion.js +35 -110
  83. package/dist-es/accordion/Accordion.js.map +1 -1
  84. package/dist-es/accordion/AccordionContext.js +15 -11
  85. package/dist-es/accordion/AccordionContext.js.map +1 -1
  86. package/dist-es/accordion/AccordionGroup.js +19 -0
  87. package/dist-es/accordion/AccordionGroup.js.map +1 -0
  88. package/dist-es/accordion/AccordionHeader.css.js +4 -0
  89. package/dist-es/accordion/AccordionHeader.css.js.map +1 -0
  90. package/dist-es/accordion/AccordionHeader.js +46 -0
  91. package/dist-es/accordion/AccordionHeader.js.map +1 -0
  92. package/dist-es/accordion/AccordionPanel.css.js +4 -0
  93. package/dist-es/accordion/AccordionPanel.css.js.map +1 -0
  94. package/dist-es/accordion/AccordionPanel.js +41 -0
  95. package/dist-es/accordion/AccordionPanel.js.map +1 -0
  96. package/dist-es/common-hooks/useKeyboardNavigation.js +0 -3
  97. package/dist-es/common-hooks/useKeyboardNavigation.js.map +1 -1
  98. package/dist-es/dialog/DialogTitle.css.js +1 -1
  99. package/dist-es/dialog/DialogTitle.js +3 -4
  100. package/dist-es/dialog/DialogTitle.js.map +1 -1
  101. package/dist-es/dropdown/Dropdown.js +5 -2
  102. package/dist-es/dropdown/Dropdown.js.map +1 -1
  103. package/dist-es/dropdown/useDropdown.js +12 -0
  104. package/dist-es/dropdown/useDropdown.js.map +1 -1
  105. package/dist-es/form-field-legacy/FormFieldLegacy.css.js +1 -1
  106. package/dist-es/index.js +12 -5
  107. package/dist-es/index.js.map +1 -1
  108. package/dist-es/list/useList.js +0 -1
  109. package/dist-es/list/useList.js.map +1 -1
  110. package/dist-es/list-deprecated/ListItem.css.js +1 -1
  111. package/dist-es/list-next/ListItemNext.css.js +4 -0
  112. package/dist-es/list-next/ListItemNext.css.js.map +1 -0
  113. package/dist-es/list-next/ListItemNext.js +70 -0
  114. package/dist-es/list-next/ListItemNext.js.map +1 -0
  115. package/dist-es/list-next/ListNext.css.js +4 -0
  116. package/dist-es/list-next/ListNext.css.js.map +1 -0
  117. package/dist-es/list-next/ListNext.js +88 -0
  118. package/dist-es/list-next/ListNext.js.map +1 -0
  119. package/dist-es/list-next/ListNextContext.js +13 -0
  120. package/dist-es/list-next/ListNextContext.js.map +1 -0
  121. package/dist-es/list-next/useList.js +184 -0
  122. package/dist-es/list-next/useList.js.map +1 -0
  123. package/dist-es/logo/Logo.css.js +1 -1
  124. package/dist-es/logo/Logo.js +5 -37
  125. package/dist-es/logo/Logo.js.map +1 -1
  126. package/dist-es/logo/LogoImage.js +20 -0
  127. package/dist-es/logo/LogoImage.js.map +1 -0
  128. package/dist-es/logo/LogoSeparator.css.js +4 -0
  129. package/dist-es/logo/LogoSeparator.css.js.map +1 -0
  130. package/dist-es/logo/LogoSeparator.js +28 -0
  131. package/dist-es/logo/LogoSeparator.js.map +1 -0
  132. package/dist-es/multiline-input/MultilineInput.css.js +4 -0
  133. package/dist-es/multiline-input/MultilineInput.css.js.map +1 -0
  134. package/dist-es/multiline-input/MultilineInput.js +146 -0
  135. package/dist-es/multiline-input/MultilineInput.js.map +1 -0
  136. package/dist-es/pill/Pill.css.js +1 -1
  137. package/dist-es/query-input/internal/QueryInputBody.js +5 -5
  138. package/dist-es/query-input/internal/QueryInputBody.js.map +1 -1
  139. package/dist-es/tabs-next/OverflowMenu.js +45 -0
  140. package/dist-es/tabs-next/OverflowMenu.js.map +1 -0
  141. package/dist-es/tabs-next/TabNext.css.js +4 -0
  142. package/dist-es/tabs-next/TabNext.css.js.map +1 -0
  143. package/dist-es/tabs-next/TabNext.js +79 -0
  144. package/dist-es/tabs-next/TabNext.js.map +1 -0
  145. package/dist-es/tabs-next/TabNextContext.js +18 -0
  146. package/dist-es/tabs-next/TabNextContext.js.map +1 -0
  147. package/dist-es/tabs-next/TabstripNext.css.js +4 -0
  148. package/dist-es/tabs-next/TabstripNext.css.js.map +1 -0
  149. package/dist-es/tabs-next/TabstripNext.js +172 -0
  150. package/dist-es/tabs-next/TabstripNext.js.map +1 -0
  151. package/dist-es/toggle-button/ToggleButton.css.js +1 -1
  152. package/dist-es/toggle-button/ToggleButton.js +45 -75
  153. package/dist-es/toggle-button/ToggleButton.js.map +1 -1
  154. package/dist-es/toggle-button-group/ToggleButtonGroup.css.js +4 -0
  155. package/dist-es/toggle-button-group/ToggleButtonGroup.js +107 -0
  156. package/dist-es/toggle-button-group/ToggleButtonGroup.js.map +1 -0
  157. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js +10 -0
  158. package/dist-es/toggle-button-group/ToggleButtonGroupContext.js.map +1 -0
  159. package/dist-es/tokenized-input/TokenizedInput.css.js +1 -1
  160. package/dist-es/toolbar/ToolbarButton.css.js +1 -1
  161. package/dist-types/accordion/Accordion.d.ts +22 -6
  162. package/dist-types/accordion/AccordionContext.d.ts +8 -8
  163. package/dist-types/accordion/AccordionGroup.d.ts +4 -0
  164. package/dist-types/accordion/AccordionHeader.d.ts +4 -0
  165. package/dist-types/accordion/AccordionPanel.d.ts +4 -0
  166. package/dist-types/accordion/index.d.ts +3 -4
  167. package/dist-types/dropdown/useDropdown.d.ts +1 -1
  168. package/dist-types/index.d.ts +4 -0
  169. package/dist-types/list-next/ListItemNext.d.ts +11 -0
  170. package/dist-types/list-next/ListNext.d.ts +10 -0
  171. package/dist-types/list-next/ListNextContext.d.ts +10 -0
  172. package/dist-types/list-next/index.d.ts +2 -0
  173. package/dist-types/list-next/useList.d.ts +29 -0
  174. package/dist-types/logo/Logo.d.ts +3 -31
  175. package/dist-types/logo/LogoImage.d.ts +5 -0
  176. package/dist-types/logo/LogoSeparator.d.ts +3 -0
  177. package/dist-types/logo/index.d.ts +2 -0
  178. package/dist-types/multiline-input/MultilineInput.d.ts +40 -0
  179. package/dist-types/multiline-input/index.d.ts +1 -0
  180. package/dist-types/tabs-next/OverflowMenu.d.ts +11 -0
  181. package/dist-types/tabs-next/TabNext.d.ts +5 -0
  182. package/dist-types/tabs-next/TabNextContext.d.ts +17 -0
  183. package/dist-types/tabs-next/TabstripNext.d.ts +10 -0
  184. package/dist-types/tabs-next/index.d.ts +2 -0
  185. package/dist-types/toggle-button/ToggleButton.d.ts +6 -11
  186. package/dist-types/toggle-button/index.d.ts +0 -1
  187. package/dist-types/toggle-button-group/ToggleButtonGroup.d.ts +25 -0
  188. package/dist-types/toggle-button-group/ToggleButtonGroupContext.d.ts +10 -0
  189. package/dist-types/toggle-button-group/index.d.ts +2 -0
  190. package/package.json +7 -5
  191. package/dist-cjs/accordion/AccordionDetails.js +0 -87
  192. package/dist-cjs/accordion/AccordionDetails.js.map +0 -1
  193. package/dist-cjs/accordion/AccordionSection.js +0 -111
  194. package/dist-cjs/accordion/AccordionSection.js.map +0 -1
  195. package/dist-cjs/accordion/AccordionSectionContext.js +0 -24
  196. package/dist-cjs/accordion/AccordionSectionContext.js.map +0 -1
  197. package/dist-cjs/accordion/AccordionSummary.js +0 -64
  198. package/dist-cjs/accordion/AccordionSummary.js.map +0 -1
  199. package/dist-cjs/accordion/utils.js +0 -8
  200. package/dist-cjs/accordion/utils.js.map +0 -1
  201. package/dist-cjs/logo/internal/LogoTitle.js +0 -28
  202. package/dist-cjs/logo/internal/LogoTitle.js.map +0 -1
  203. package/dist-cjs/toggle-button/ToggleButtonGroup.css.js +0 -6
  204. package/dist-cjs/toggle-button/ToggleButtonGroup.js +0 -147
  205. package/dist-cjs/toggle-button/ToggleButtonGroup.js.map +0 -1
  206. package/dist-cjs/toggle-button/internal/ToggleButtonGroupContext.js +0 -10
  207. package/dist-cjs/toggle-button/internal/ToggleButtonGroupContext.js.map +0 -1
  208. package/dist-es/accordion/AccordionDetails.js +0 -83
  209. package/dist-es/accordion/AccordionDetails.js.map +0 -1
  210. package/dist-es/accordion/AccordionSection.js +0 -107
  211. package/dist-es/accordion/AccordionSection.js.map +0 -1
  212. package/dist-es/accordion/AccordionSectionContext.js +0 -19
  213. package/dist-es/accordion/AccordionSectionContext.js.map +0 -1
  214. package/dist-es/accordion/AccordionSummary.js +0 -60
  215. package/dist-es/accordion/AccordionSummary.js.map +0 -1
  216. package/dist-es/accordion/utils.js +0 -4
  217. package/dist-es/accordion/utils.js.map +0 -1
  218. package/dist-es/logo/internal/LogoTitle.js +0 -24
  219. package/dist-es/logo/internal/LogoTitle.js.map +0 -1
  220. package/dist-es/toggle-button/ToggleButtonGroup.css.js +0 -4
  221. package/dist-es/toggle-button/ToggleButtonGroup.js +0 -143
  222. package/dist-es/toggle-button/ToggleButtonGroup.js.map +0 -1
  223. package/dist-es/toggle-button/internal/ToggleButtonGroupContext.js +0 -6
  224. package/dist-es/toggle-button/internal/ToggleButtonGroupContext.js.map +0 -1
  225. package/dist-types/accordion/AccordionDetails.d.ts +0 -8
  226. package/dist-types/accordion/AccordionSection.d.ts +0 -9
  227. package/dist-types/accordion/AccordionSectionContext.d.ts +0 -8
  228. package/dist-types/accordion/AccordionSummary.d.ts +0 -5
  229. package/dist-types/accordion/utils.d.ts +0 -1
  230. package/dist-types/logo/internal/LogoTitle.d.ts +0 -6
  231. package/dist-types/toggle-button/ToggleButtonGroup.d.ts +0 -18
  232. package/dist-types/toggle-button/internal/ToggleButtonGroupContext.d.ts +0 -14
  233. /package/dist-cjs/{toggle-button → toggle-button-group}/ToggleButtonGroup.css.js.map +0 -0
  234. /package/dist-es/{toggle-button → toggle-button-group}/ToggleButtonGroup.css.js.map +0 -0
@@ -1,4 +1,4 @@
1
- var css_248z = "/* Styles applied to root component (TokenizedInput) */\n.salt-density-medium {\n --tokenizedInput-gutter-size: var(--salt-size-basis-unit);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2);\n --tokenizedInput-last-pill-margin: var(--salt-size-unit);\n}\n.salt-density-touch {\n --tokenizedInput-gutter-size: var(--salt-size-basis-unit);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2 + 2px);\n --tokenizedInput-last-pill-margin: calc(var(--salt-size-unit) / 2);\n}\n\n.salt-density-low {\n --tokenizedInput-gutter-size: var(--salt-size-basis-unit);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2 + 1px);\n --tokenizedInput-last-pill-margin: calc(var(--salt-size-unit) / 2);\n}\n\n.salt-density-high {\n --tokenizedInput-gutter-size: calc(var(--salt-size-basis-unit) - 1px);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2 + 1px);\n --tokenizedInput-last-pill-margin: var(--salt-size-unit);\n}\n\n.saltTokenizedInput {\n --tokenizedInput-spacing: var(--salt-size-unit);\n --tokenizedInput-height: var(--salt-size-base);\n}\n\n.saltTokenizedInput {\n display: inline-flex;\n justify-content: space-between;\n min-width: 8em; /* same min-width as Input component */\n width: 100%;\n}\n\n/* Styles applied to root component on hover state */\n.saltTokenizedInput:hover {\n cursor: var(--salt-selectable-cursor-hover);\n}\n\n/* Styles applied to root component on hover state if `disabled={true}` */\n.saltTokenizedInput.saltTokenizedInput-disabled:hover {\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n/* Styles applied to container of pills */\n.saltTokenizedInput-pillGroup {\n align-content: flex-start;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n min-height: var(--tokenizedInput-height);\n padding: var(--tokenizedInput-pill-group-y-padding) var(--tokenizedInput-spacing);\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltTokenizedInput-disabled {\n cursor: var(--salt-editable-cursor-disabled);\n opacity: var(--saltTokenizedInput-disabled-opacity, var(--salt-palette-opacity-foreground));\n}\n\n/* Styles applied to root component if `focused={true}` */\n.saltTokenizedInput-focused {\n outline: var(--saltTokenizedInput-focused-outline, var(--salt-focused-outline));\n}\n\n/* Styles applied to root component if `expanded={true}` */\n.saltTokenizedInput-expanded {\n height: auto;\n\n /* Pill CSS API */\n --saltPill-maxWidth: calc(100px - var(--salt-size-unit));\n}\n\n/* Styles applied to Input and Clear Button if `expanded={false}` */\n.saltTokenizedInput-hidden,\n.saltTokenizedInput-input.saltTokenizedInput-hidden,\n.saltButton.saltTokenizedInput-hidden {\n display: none;\n}\n\n/**\n Styles applied to inner Input component\n Used to be .inputRoot\n**/\n.saltInputLegacy.saltTokenizedInput-input {\n align-items: flex-start;\n cursor: text;\n flex-grow: 1;\n padding: 0;\n outline: none;\n width: auto;\n height: auto;\n min-width: 0;\n min-height: 0;\n}\n\n/* Styles applied to Clear Button */\n.saltTokenizedInput-clearButton {\n flex: none;\n align-self: flex-end;\n}\n\n/* Styles applied to Expand Button */\n.saltTokenizedInput-expandButton {\n padding: 0 calc(var(--tokenizedInput-spacing) / 4);\n}\n\n/* Styles applied to root component and pill container if `expanded={true}` */\n.saltTokenizedInput-expanded,\n.saltTokenizedInput-expanded .saltTokenizedInput-pillGroup {\n height: auto;\n}\n\n/* TODO: Adjust specificity of .InputPill depending on styling solution.\n This is an example of internal sub-component naming convension. */\n.saltTokenizedInput .saltInputPill,\n.saltTokenizedInput-expandButton,\n.saltInputLegacy.saltTokenizedInput-input,\n.saltTokenizedInput-inputField.saltTokenizedInput-inputMultiline .saltTokenizedInput-input {\n margin: calc(var(--tokenizedInput-gutter-size) / 2) 0;\n height: calc(var(--tokenizedInput-height) - var(--tokenizedInput-spacing) * 1.5);\n}\n\n/* Styles applied to inner Pills */\n.saltTokenizedInput .saltInputPill {\n min-width: 0;\n margin-right: var(--tokenizedInput-gutter-size);\n --saltPill-maxWidth: 100px;\n}\n\n.saltTokenizedInput .saltInputPill > * {\n min-width: 0;\n}\n\n/* Styles applied to a Pill if `expanded={false} && index >= firstHiddenIndex` */\n.saltTokenizedInput .saltInputPill.saltInputPill-hidden {\n display: none;\n}\n\n/* Styles applied to the last visible Pill when all visible */\n.saltTokenizedInput .saltInputPill-pillLastVisible {\n margin-right: var(--saltTokenizedInput-pill-last-visible-marginRight, var(--tokenizedInput-last-pill-margin));\n}\n\n/* Styles applied to a Pill when active */\n.saltTokenizedInput .saltInputPill-pillActive {\n background: var(--saltTokenizedInput-pill-background-active, var(--salt-selectable-background-hover));\n}\n\n/* Styles applied to a Pills delete icon */\n.saltTokenizedInput .saltInputPill-pillActive .saltPill-deleteIcon {\n color: var(--saltTokenizedInput-pill-delete-icon-color, var(--salt-actionable-cta-foreground-hover));\n}\n\n/* Styles applied to a Pills delete button */\n.saltTokenizedInput .saltInputPill-pillActive .saltPill-deleteButton {\n color: var(--saltTokenizedInput-pill-delete-button-color-active, var(--salt-actionable-cta-foreground-hover));\n background: var(--saltTokenizedInput-pill-delete-button-background-active, var(--salt-actionable-cta-background-hover));\n}\n";
1
+ var css_248z = "/* Styles applied to root component (TokenizedInput) */\n.salt-density-medium {\n --tokenizedInput-gutter-size: var(--salt-size-basis-unit);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2);\n --tokenizedInput-last-pill-margin: var(--salt-size-unit);\n}\n.salt-density-touch {\n --tokenizedInput-gutter-size: var(--salt-size-basis-unit);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2 + 2px);\n --tokenizedInput-last-pill-margin: calc(var(--salt-size-unit) / 2);\n}\n\n.salt-density-low {\n --tokenizedInput-gutter-size: var(--salt-size-basis-unit);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2 + 1px);\n --tokenizedInput-last-pill-margin: calc(var(--salt-size-unit) / 2);\n}\n\n.salt-density-high {\n --tokenizedInput-gutter-size: calc(var(--salt-size-basis-unit) - 1px);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-size-unit) / 2 + 1px);\n --tokenizedInput-last-pill-margin: var(--salt-size-unit);\n}\n\n.saltTokenizedInput {\n --tokenizedInput-spacing: var(--salt-size-unit);\n --tokenizedInput-height: var(--salt-size-base);\n}\n\n.saltTokenizedInput {\n display: inline-flex;\n justify-content: space-between;\n min-width: 8em; /* same min-width as Input component */\n width: 100%;\n}\n\n/* Styles applied to root component on hover state */\n.saltTokenizedInput:hover {\n cursor: var(--salt-selectable-cursor-hover);\n}\n\n/* Styles applied to root component on hover state if `disabled={true}` */\n.saltTokenizedInput.saltTokenizedInput-disabled:hover {\n cursor: var(--salt-selectable-cursor-disabled);\n}\n\n/* Styles applied to container of pills */\n.saltTokenizedInput-pillGroup {\n align-content: flex-start;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n min-height: var(--tokenizedInput-height);\n padding: var(--tokenizedInput-pill-group-y-padding) var(--tokenizedInput-spacing);\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltTokenizedInput-disabled {\n cursor: var(--salt-editable-cursor-disabled);\n opacity: var(--saltTokenizedInput-disabled-opacity, var(--salt-palette-opacity-disabled));\n}\n\n/* Styles applied to root component if `focused={true}` */\n.saltTokenizedInput-focused {\n outline: var(--saltTokenizedInput-focused-outline, var(--salt-focused-outline));\n}\n\n/* Styles applied to root component if `expanded={true}` */\n.saltTokenizedInput-expanded {\n height: auto;\n\n /* Pill CSS API */\n --saltPill-maxWidth: calc(100px - var(--salt-size-unit));\n}\n\n/* Styles applied to Input and Clear Button if `expanded={false}` */\n.saltTokenizedInput-hidden,\n.saltTokenizedInput-input.saltTokenizedInput-hidden,\n.saltButton.saltTokenizedInput-hidden {\n display: none;\n}\n\n/**\n Styles applied to inner Input component\n Used to be .inputRoot\n**/\n.saltInputLegacy.saltTokenizedInput-input {\n align-items: flex-start;\n cursor: text;\n flex-grow: 1;\n padding: 0;\n outline: none;\n width: auto;\n height: auto;\n min-width: 0;\n min-height: 0;\n}\n\n/* Styles applied to Clear Button */\n.saltTokenizedInput-clearButton {\n flex: none;\n align-self: flex-end;\n}\n\n/* Styles applied to Expand Button */\n.saltTokenizedInput-expandButton {\n padding: 0 calc(var(--tokenizedInput-spacing) / 4);\n}\n\n/* Styles applied to root component and pill container if `expanded={true}` */\n.saltTokenizedInput-expanded,\n.saltTokenizedInput-expanded .saltTokenizedInput-pillGroup {\n height: auto;\n}\n\n/* TODO: Adjust specificity of .InputPill depending on styling solution.\n This is an example of internal sub-component naming convension. */\n.saltTokenizedInput .saltInputPill,\n.saltTokenizedInput-expandButton,\n.saltInputLegacy.saltTokenizedInput-input,\n.saltTokenizedInput-inputField.saltTokenizedInput-inputMultiline .saltTokenizedInput-input {\n margin: calc(var(--tokenizedInput-gutter-size) / 2) 0;\n height: calc(var(--tokenizedInput-height) - var(--tokenizedInput-spacing) * 1.5);\n}\n\n/* Styles applied to inner Pills */\n.saltTokenizedInput .saltInputPill {\n min-width: 0;\n margin-right: var(--tokenizedInput-gutter-size);\n --saltPill-maxWidth: 100px;\n}\n\n.saltTokenizedInput .saltInputPill > * {\n min-width: 0;\n}\n\n/* Styles applied to a Pill if `expanded={false} && index >= firstHiddenIndex` */\n.saltTokenizedInput .saltInputPill.saltInputPill-hidden {\n display: none;\n}\n\n/* Styles applied to the last visible Pill when all visible */\n.saltTokenizedInput .saltInputPill-pillLastVisible {\n margin-right: var(--saltTokenizedInput-pill-last-visible-marginRight, var(--tokenizedInput-last-pill-margin));\n}\n\n/* Styles applied to a Pill when active */\n.saltTokenizedInput .saltInputPill-pillActive {\n background: var(--saltTokenizedInput-pill-background-active, var(--salt-selectable-background-hover));\n}\n\n/* Styles applied to a Pills delete icon */\n.saltTokenizedInput .saltInputPill-pillActive .saltPill-deleteIcon {\n color: var(--saltTokenizedInput-pill-delete-icon-color, var(--salt-actionable-cta-foreground-hover));\n}\n\n/* Styles applied to a Pills delete button */\n.saltTokenizedInput .saltInputPill-pillActive .saltPill-deleteButton {\n color: var(--saltTokenizedInput-pill-delete-button-color-active, var(--salt-actionable-cta-foreground-hover));\n background: var(--saltTokenizedInput-pill-delete-button-background-active, var(--salt-actionable-cta-background-hover));\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=TokenizedInput.css.js.map
@@ -1,4 +1,4 @@
1
- var css_248z = "/* .saltToolbarButton {\n outline: none !important;\n} */\n\n.saltToolbarButton:not([data-is-inside-panel]) {\n --saltButton-fontSize: 0;\n --saltButton-letterSpacing: 0;\n}\n";
1
+ var css_248z = "/* .saltToolbarButton {\n outline: none !important;\n} */\n\n.saltToolbarButton:not([data-is-inside-panel]) {\n --saltButton-fontSize: 0;\n --saltButton-letterSpacing: 0;\n gap: 0;\n}\n";
2
2
 
3
3
  export { css_248z as default };
4
4
  //# sourceMappingURL=ToolbarButton.css.js.map
@@ -1,9 +1,25 @@
1
- import { HTMLAttributes } from "react";
2
- export interface AccordionProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
1
+ import { ComponentPropsWithoutRef, SyntheticEvent } from "react";
2
+ export interface AccordionProps extends ComponentPropsWithoutRef<"div"> {
3
+ /**
4
+ * AccordionGroup value.
5
+ */
6
+ value: string;
7
+ /**
8
+ * Whether the accordion is expanded.
9
+ */
10
+ expanded?: boolean;
11
+ /**
12
+ * Whether the accordion is expanded by default.
13
+ */
14
+ defaultExpanded?: boolean;
15
+ /**
16
+ * Callback fired when the accordion is toggled.
17
+ * @param event
18
+ */
19
+ onToggle?: (event: SyntheticEvent<HTMLButtonElement>) => void;
20
+ /**
21
+ * Whether the accordion is disabled.
22
+ */
3
23
  disabled?: boolean;
4
- maxExpandedItems?: number;
5
- expandedSectionIds?: string[];
6
- defaultExpandedSectionIds?: string[];
7
- onChange?: (expandedSectionIds: string[] | null) => void;
8
24
  }
9
25
  export declare const Accordion: import("react").ForwardRefExoticComponent<AccordionProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- export interface AccordionContext {
3
- isExpanded: (id: string) => boolean;
1
+ import { SyntheticEvent } from "react";
2
+ export interface AccordionContextValue {
3
+ value: string;
4
+ expanded: boolean;
5
+ toggle: (event: SyntheticEvent<HTMLButtonElement>) => void;
4
6
  disabled: boolean;
5
- registerSection: (id: string, isExpanded: boolean) => void;
6
- unregisterSection: (id: string) => void;
7
- onChange: (id: string, isExpanded: boolean) => void;
7
+ id: string;
8
8
  }
9
- export declare const AccordionContext: import("react").Context<AccordionContext | undefined>;
10
- export declare const useAccordionContext: () => AccordionContext;
9
+ export declare const AccordionContext: import("react").Context<AccordionContextValue>;
10
+ export declare function useAccordion(): AccordionContextValue;
@@ -0,0 +1,4 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface AccordionGroupProps extends ComponentPropsWithoutRef<"div"> {
3
+ }
4
+ export declare const AccordionGroup: import("react").ForwardRefExoticComponent<AccordionGroupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,4 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface AccordionHeaderProps extends ComponentPropsWithoutRef<"button"> {
3
+ }
4
+ export declare const AccordionHeader: import("react").ForwardRefExoticComponent<AccordionHeaderProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,4 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface AccordionPanelProps extends ComponentPropsWithoutRef<"div"> {
3
+ }
4
+ export declare const AccordionPanel: import("react").ForwardRefExoticComponent<AccordionPanelProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,5 +1,4 @@
1
- export * from "./AccordionSection";
2
- export * from "./AccordionSectionContext";
1
+ export * from "./AccordionGroup";
2
+ export * from "./AccordionPanel";
3
3
  export * from "./Accordion";
4
- export * from "./AccordionSummary";
5
- export * from "./AccordionDetails";
4
+ export * from "./AccordionHeader";
@@ -8,4 +8,4 @@ export interface DropdownListHookResult<Item, Selection extends SelectionStrateg
8
8
  onOpenChange: any;
9
9
  triggerLabel?: string;
10
10
  }
11
- export declare const useDropdown: <Item, Selection_1 extends SelectionStrategy = "default">({ collectionHook, defaultHighlightedIndex: defaultHighlightedIndexProp, defaultIsOpen, defaultSelected, highlightedIndex: highlightedIndexProp, isOpen: isOpenProp, itemToString, onHighlight, onOpenChange, onSelectionChange, selected, selectionStrategy, }: DropdownListHookProps<Item, Selection_1>) => DropdownListHookResult<Item, Selection_1>;
11
+ export declare const useDropdown: <Item, Selection_1 extends SelectionStrategy = "default">({ collectionHook, defaultHighlightedIndex: defaultHighlightedIndexProp, defaultIsOpen, defaultSelected, highlightedIndex: highlightedIndexProp, isOpen: isOpenProp, itemToString, onHighlight, onOpenChange, onSelectionChange, onSelect, selected, selectionStrategy, }: DropdownListHookProps<Item, Selection_1>) => DropdownListHookResult<Item, Selection_1>;
@@ -28,9 +28,11 @@ export * from "./formatted-input";
28
28
  export { InputLegacy as Input, type InputLegacyProps as InputProps, StaticInputAdornment, } from "./input-legacy";
29
29
  export * from "./layer-layout";
30
30
  export * from "./list";
31
+ export * from "./list-next";
31
32
  export * from "./logo";
32
33
  export * from "./menu-button";
33
34
  export * from "./metric";
35
+ export * from "./multiline-input";
34
36
  export * from "./nav-item";
35
37
  export * from "./overlay";
36
38
  export * from "./pagination";
@@ -48,7 +50,9 @@ export * from "./slider";
48
50
  export * from "./stepper-input";
49
51
  export * from "./switch";
50
52
  export * from "./tabs";
53
+ export * from "./tabs-next";
51
54
  export * from "./toggle-button";
55
+ export * from "./toggle-button-group";
52
56
  export * from "./tokenized-input";
53
57
  export * from "./toolbar";
54
58
  export * from "./tree";
@@ -0,0 +1,11 @@
1
+ import { HTMLAttributes } from "react";
2
+ export interface ListItemNextProps extends HTMLAttributes<HTMLLIElement> {
3
+ /**
4
+ * If true, the particular list item in list will be disabled.
5
+ */
6
+ disabled?: boolean;
7
+ selected?: boolean;
8
+ id?: string;
9
+ value: string;
10
+ }
11
+ export declare const ListItemNext: import("react").ForwardRefExoticComponent<ListItemNextProps & import("react").RefAttributes<HTMLLIElement>>;
@@ -0,0 +1,10 @@
1
+ import { HTMLAttributes } from "react";
2
+ export interface ListNextProps extends HTMLAttributes<HTMLUListElement> {
3
+ /**
4
+ * If true, all items in list will be disabled.
5
+ */
6
+ disabled?: boolean;
7
+ selected?: string;
8
+ defaultSelected?: string;
9
+ }
10
+ export declare const ListNext: import("react").ForwardRefExoticComponent<ListNextProps & import("react").RefAttributes<HTMLUListElement>>;
@@ -0,0 +1,10 @@
1
+ import { SyntheticEvent } from "react";
2
+ export interface ListNextContextValue {
3
+ disabled?: boolean;
4
+ id?: string;
5
+ select: (event: SyntheticEvent<HTMLLIElement>) => void;
6
+ isSelected: (id: string) => boolean;
7
+ isFocused: (id: string) => boolean;
8
+ }
9
+ export declare const ListNextContext: import("react").Context<ListNextContextValue | undefined>;
10
+ export declare function useListItem(): ListNextContextValue | undefined;
@@ -0,0 +1,2 @@
1
+ export * from "./ListNext";
2
+ export * from "./ListItemNext";
@@ -0,0 +1,29 @@
1
+ import { KeyboardEvent, RefObject, SyntheticEvent } from "react";
2
+ interface UseListProps {
3
+ /**
4
+ * If true, all items in list will be disabled.
5
+ */
6
+ disabled?: boolean;
7
+ selected?: string;
8
+ defaultSelected?: string;
9
+ onChange?: (e: SyntheticEvent, data: {
10
+ value: string;
11
+ }) => void;
12
+ id?: string;
13
+ ref: RefObject<HTMLUListElement>;
14
+ }
15
+ export declare const useList: ({ disabled, selected: selectedProp, defaultSelected, onChange, id, ref, }: UseListProps) => {
16
+ focusHandler: () => void;
17
+ keyDownHandler: (event: KeyboardEvent<HTMLUListElement>) => void;
18
+ blurHandler: () => void;
19
+ mouseDownHandler: () => void;
20
+ activeDescendant: string | undefined;
21
+ contextValue: {
22
+ disabled: boolean;
23
+ id: string | undefined;
24
+ select: (event: SyntheticEvent<HTMLLIElement>) => void;
25
+ isSelected: (id: string) => boolean;
26
+ isFocused: (id: string | undefined) => boolean;
27
+ };
28
+ };
29
+ export {};
@@ -1,31 +1,3 @@
1
- import { ComponentPropsWithoutRef, ComponentType } from "react";
2
- import { LogoTitleProps } from "./internal/LogoTitle";
3
- export interface LogoProps extends ComponentPropsWithoutRef<"span"> {
4
- /**
5
- * Used to provide application title
6
- */
7
- appTitle?: string;
8
- /**
9
- * If `true`, the logo will be compact;
10
- */
11
- compact?: boolean;
12
- /**
13
- * Props passed to the Logo.
14
- */
15
- ImageProps?: Partial<ComponentPropsWithoutRef<"img">>;
16
- /**
17
- * Custom Component to render the logo image.
18
- * e.g. if a custom renderer instead of static image using `src` prop.
19
- */
20
- LogoImageComponent?: ComponentType<Partial<ComponentPropsWithoutRef<"img">>>;
21
- /**
22
- * Image src for logo.
23
- */
24
- src?: string;
25
- /**
26
- * Props passed to the Application Title if used.
27
- * If using a custom image then ImageProps.alt should be set to include a screen reader alternative text.
28
- */
29
- TitleProps?: Omit<Partial<LogoTitleProps>, "label">;
30
- }
31
- export declare const Logo: import("react").ForwardRefExoticComponent<LogoProps & import("react").RefAttributes<HTMLSpanElement>>;
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export declare type LogoProps = ComponentPropsWithoutRef<"span">;
3
+ export declare const Logo: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,5 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface LogoImageProps extends Omit<ComponentPropsWithoutRef<"img">, "alt"> {
3
+ alt: string;
4
+ }
5
+ export declare const LogoImage: import("react").ForwardRefExoticComponent<LogoImageProps & import("react").RefAttributes<HTMLImageElement>>;
@@ -0,0 +1,3 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export declare type LogoSeparatorProps = ComponentPropsWithoutRef<"span">;
3
+ export declare const LogoSeparator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import("react").RefAttributes<HTMLImageElement>>;
@@ -1 +1,3 @@
1
1
  export * from "./Logo";
2
+ export * from "./LogoImage";
3
+ export * from "./LogoSeparator";
@@ -0,0 +1,40 @@
1
+ import { ComponentPropsWithoutRef, ReactNode, Ref, TextareaHTMLAttributes } from "react";
2
+ export interface MultilineInputProps extends Omit<ComponentPropsWithoutRef<"div">, "defaultValue">, Pick<ComponentPropsWithoutRef<"input">, "disabled" | "value" | "defaultValue" | "placeholder"> {
3
+ /**
4
+ * End adornment component
5
+ */
6
+ endAdornment?: ReactNode;
7
+ /**
8
+ * Styling variant with full border. Defaults to false
9
+ */
10
+ fullBorder?: boolean;
11
+ /**
12
+ * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes) applied to the `textarea` element.
13
+ */
14
+ textAreaProps?: TextareaHTMLAttributes<HTMLTextAreaElement>;
15
+ /**
16
+ * Optional ref for the textarea component
17
+ */
18
+ textAreaRef?: Ref<HTMLTextAreaElement>;
19
+ /**
20
+ * If `true`, the component is read only.
21
+ */
22
+ readOnly?: boolean;
23
+ /**
24
+ * Start adornment component
25
+ */
26
+ startAdornment?: ReactNode;
27
+ /**
28
+ * Validation status.
29
+ */
30
+ validationStatus?: "error" | "warning" | "success";
31
+ /**
32
+ * Styling variant. Defaults to "primary".
33
+ */
34
+ variant?: "primary" | "secondary";
35
+ /**
36
+ * Number of rows. Defaults to 3
37
+ */
38
+ rows?: number;
39
+ }
40
+ export declare const MultilineInput: import("react").ForwardRefExoticComponent<MultilineInputProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1 @@
1
+ export * from "./MultilineInput";
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from "react";
2
+ import { DropdownProps } from "../dropdown";
3
+ declare type TabValue = {
4
+ value: string;
5
+ label: ReactNode;
6
+ };
7
+ export interface OverflowMenuProps extends DropdownProps<TabValue> {
8
+ tabs: TabValue[];
9
+ }
10
+ export declare const OverflowMenu: import("react").ForwardRefExoticComponent<OverflowMenuProps & import("react").RefAttributes<HTMLDivElement>>;
11
+ export {};
@@ -0,0 +1,5 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ export interface TabNextProps extends ComponentPropsWithoutRef<"button"> {
3
+ value: string;
4
+ }
5
+ export declare const TabNext: import("react").ForwardRefExoticComponent<TabNextProps & import("react").RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,17 @@
1
+ import { ReactNode, SyntheticEvent } from "react";
2
+ declare type TabValue = {
3
+ value: string;
4
+ label: ReactNode;
5
+ };
6
+ export interface TabsContextValue {
7
+ disabled?: boolean;
8
+ select: (event: SyntheticEvent<HTMLButtonElement>) => void;
9
+ isSelected: (id: string) => boolean;
10
+ setFocusable: (id: string) => void;
11
+ isFocusable: (id: string) => boolean;
12
+ registerTab: (tab: TabValue) => void;
13
+ unregisterTab: (id: string) => void;
14
+ }
15
+ export declare const TabsContext: import("react").Context<TabsContextValue>;
16
+ export declare function useTabs(): TabsContextValue;
17
+ export {};
@@ -0,0 +1,10 @@
1
+ import { ComponentPropsWithoutRef, SyntheticEvent } from "react";
2
+ export interface TabstripNextProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
3
+ disabled?: boolean;
4
+ selected?: string;
5
+ onChange?: (e: SyntheticEvent, data: {
6
+ value: string;
7
+ }) => void;
8
+ defaultSelected?: string;
9
+ }
10
+ export declare const TabstripNext: import("react").ForwardRefExoticComponent<TabstripNextProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export * from "./TabNext";
2
+ export * from "./TabstripNext";
@@ -1,12 +1,7 @@
1
- import { ButtonProps } from "@salt-ds/core";
2
- import { SyntheticEvent } from "react";
3
- export declare type ToggleButtonToggleEventHandler = (event: SyntheticEvent<HTMLButtonElement>, toggled: boolean) => void;
4
- export interface ToggleButtonProps extends ButtonProps {
5
- "aria-label"?: string;
6
- "data-button-index"?: number;
7
- toggled?: boolean;
8
- tooltipText?: string;
9
- disableTooltip?: boolean;
10
- onToggle?: ToggleButtonToggleEventHandler;
1
+ import { ComponentProps, MouseEvent } from "react";
2
+ export interface ToggleButtonProps extends ComponentProps<"button"> {
3
+ selected?: boolean;
4
+ onChange?: (event: MouseEvent<HTMLButtonElement>) => void;
5
+ value: string | ReadonlyArray<string> | number | undefined;
11
6
  }
12
- export declare const ToggleButton: import("react").ForwardRefExoticComponent<ToggleButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
7
+ export declare const ToggleButton: import("react").ForwardRefExoticComponent<Omit<ToggleButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
@@ -1,2 +1 @@
1
1
  export * from "./ToggleButton";
2
- export * from "./ToggleButtonGroup";
@@ -0,0 +1,25 @@
1
+ import { ComponentPropsWithoutRef, SyntheticEvent } from "react";
2
+ export interface ToggleButtonGroupProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
3
+ /**
4
+ * The default value. Use when the component is not controlled.
5
+ */
6
+ defaultValue?: string | ReadonlyArray<string> | number | undefined;
7
+ /**
8
+ * If `true`, the Toggle Button Group will be disabled.
9
+ */
10
+ disabled?: boolean;
11
+ /**
12
+ * The value. Use when the component is controlled.
13
+ */
14
+ value?: string | ReadonlyArray<string> | number | undefined;
15
+ /**
16
+ * Callback fired when the selection changes.
17
+ * @param event
18
+ */
19
+ onChange?: (event: SyntheticEvent<HTMLButtonElement>) => void;
20
+ /**
21
+ * The orientation of the toggle buttons.
22
+ */
23
+ orientation?: "horizontal" | "vertical";
24
+ }
25
+ export declare const ToggleButtonGroup: import("react").ForwardRefExoticComponent<ToggleButtonGroupProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,10 @@
1
+ import { SyntheticEvent } from "react";
2
+ export interface ToggleButtonGroupContextValue {
3
+ disabled?: boolean;
4
+ select: (event: SyntheticEvent<HTMLButtonElement>) => void;
5
+ isSelected: (id: string | ReadonlyArray<string> | number | undefined) => boolean;
6
+ focus: (id: string | ReadonlyArray<string> | number | undefined) => void;
7
+ isFocused: (id: string | ReadonlyArray<string> | number | undefined) => boolean;
8
+ }
9
+ export declare const ToggleButtonGroupContext: import("react").Context<ToggleButtonGroupContextValue | undefined>;
10
+ export declare function useToggleButtonGroup(): ToggleButtonGroupContextValue | undefined;
@@ -0,0 +1,2 @@
1
+ export * from "./ToggleButtonGroup";
2
+ export { useToggleButtonGroup } from "./ToggleButtonGroupContext";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salt-ds/lab",
3
- "version": "1.0.0-alpha.10",
3
+ "version": "1.0.0-alpha.12",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist-cjs/index.js",
6
6
  "sideEffects": false,
@@ -15,19 +15,20 @@
15
15
  }
16
16
  },
17
17
  "publishConfig": {
18
- "directory": "../../dist/salt-ds-lab"
18
+ "directory": "../../dist/salt-ds-lab",
19
+ "provenance": true
19
20
  },
20
21
  "module": "dist-es/index.js",
21
22
  "typings": "dist-types/index.d.ts",
22
23
  "dependencies": {
23
- "@salt-ds/core": "^1.8.0-rc.0",
24
+ "@salt-ds/core": "^1.8.0-rc.3",
24
25
  "clsx": "^1.2.1",
25
26
  "react-window": "^1.8.6",
26
27
  "compute-scroll-into-view": "^3.0.0",
27
28
  "@floating-ui/react": "^0.23.0",
28
29
  "@salt-ds/window": "^0.1.0",
29
30
  "@salt-ds/styles": "^0.1.0",
30
- "@salt-ds/icons": "^1.4.0",
31
+ "@salt-ds/icons": "^1.5.0",
31
32
  "@internationalized/date": "^3.0.0",
32
33
  "tinycolor2": "^1.4.2",
33
34
  "react-color": "^2.19.3",
@@ -36,7 +37,8 @@
36
37
  "aria-hidden": "^1.1.1",
37
38
  "no-scroll": "^2.1.1",
38
39
  "attr-accept": "^2.0.0",
39
- "rifm": "^0.12.0"
40
+ "rifm": "^0.12.0",
41
+ "@fluentui/react-overflow": "^9.0.19"
40
42
  },
41
43
  "files": [
42
44
  "dist-cjs",
@@ -1,87 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var jsxRuntime = require('react/jsx-runtime');
6
- var core = require('@salt-ds/core');
7
- var clsx = require('clsx');
8
- var React = require('react');
9
- var AccordionSectionContext = require('./AccordionSectionContext.js');
10
- var Accordion = require('./Accordion.css.js');
11
- var window = require('@salt-ds/window');
12
- var styles = require('@salt-ds/styles');
13
-
14
- const withBaseName = core.makePrefixer("saltAccordionDetails");
15
- const msCollapseAnimationDuration = 150;
16
- const AccordionDetails = React.forwardRef(function AccordionDetails2({ children, className, preventUnmountOnCollapse, ...restProps }, ref) {
17
- const targetWindow = window.useWindow();
18
- styles.useComponentCssInjection({
19
- testId: "salt-accordion",
20
- css: Accordion,
21
- window: targetWindow
22
- });
23
- const { isDisabled, isExpanded } = AccordionSectionContext.useAccordionSectionContext();
24
- const rootRef = React.useRef(null);
25
- const contentRef = React.useRef(null);
26
- const forkedRef = core.useForkRef(ref, rootRef);
27
- const [state, setState] = React.useState(
28
- isExpanded ? "expanded" : "collapsed"
29
- );
30
- core.useIsomorphicLayoutEffect(() => {
31
- if (!rootRef.current) {
32
- return;
33
- }
34
- if (isExpanded) {
35
- if (state === "collapsed") {
36
- setState("measuring");
37
- } else if (state === "measuring") {
38
- rootRef.current.style.height = `${contentRef.current.getBoundingClientRect().height}px`;
39
- setState("expanding");
40
- } else if (state === "expanding") {
41
- setTimeout(() => {
42
- setState("expanded");
43
- }, msCollapseAnimationDuration);
44
- } else if (state === "expanded") {
45
- rootRef.current.style.height = "auto";
46
- }
47
- } else {
48
- if (state === "expanded") {
49
- rootRef.current.style.height = `${rootRef.current.getBoundingClientRect().height}px`;
50
- setTimeout(() => {
51
- setState("collapsing");
52
- }, 0);
53
- } else if (state === "collapsing") {
54
- rootRef.current.style.height = "0";
55
- setTimeout(() => {
56
- setState("collapsed");
57
- }, msCollapseAnimationDuration);
58
- } else if (state === "collapsed") {
59
- rootRef.current.style.height = "0";
60
- }
61
- }
62
- }, [isExpanded, state]);
63
- return /* @__PURE__ */ jsxRuntime.jsx("div", {
64
- ...restProps,
65
- ref: forkedRef,
66
- className: clsx.clsx(
67
- withBaseName(),
68
- {
69
- [withBaseName("disabled")]: isDisabled
70
- },
71
- className
72
- ),
73
- children: /* @__PURE__ */ jsxRuntime.jsx("div", {
74
- ref: contentRef,
75
- className: clsx.clsx({
76
- [withBaseName("dummy")]: state === "measuring"
77
- }),
78
- children: preventUnmountOnCollapse || state !== "collapsed" ? /* @__PURE__ */ jsxRuntime.jsx("div", {
79
- className: withBaseName("content"),
80
- children
81
- }) : null
82
- })
83
- });
84
- });
85
-
86
- exports.AccordionDetails = AccordionDetails;
87
- //# sourceMappingURL=AccordionDetails.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AccordionDetails.js","sources":["../src/accordion/AccordionDetails.tsx"],"sourcesContent":["import {\n makePrefixer,\n useForkRef,\n useIsomorphicLayoutEffect,\n} from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, useRef, useState } from \"react\";\nimport { useAccordionSectionContext } from \"./AccordionSectionContext\";\n\nimport accordionCss from \"./Accordion.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nconst withBaseName = makePrefixer(\"saltAccordionDetails\");\n\nexport interface AccordionDetailsProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Render children even if the component is collapsed. Prevents unmounting of children components.\n * */\n preventUnmountOnCollapse?: boolean;\n}\n\nconst msCollapseAnimationDuration = 150;\n\n// Collapsed - the section is completely collapsed, don't render anything, height is 0\n// Measuring - the section is about to expand, rendering a dummy preview to measure\n// the height of expanded section\n// Expanding - the section is expanding but hasn't yet expanded to full size. height is set to\n// the value measured in the previous step\n// Expanded - the section is expanded, need to render the content, height is set to auto\n// Collapsing - the section is about to start collapsing, the height is set to current height\n// (auto has to be replaced by a number, then the component has to be rendered, then the value can\n// be set to 0)\ntype State =\n | \"collapsed\"\n | \"measuring\"\n | \"expanding\"\n | \"expanded\"\n | \"collapsing\";\n\nexport const AccordionDetails = forwardRef<\n HTMLDivElement,\n AccordionDetailsProps\n>(function AccordionDetails(\n { children, className, preventUnmountOnCollapse, ...restProps },\n ref\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-accordion\",\n css: accordionCss,\n window: targetWindow,\n });\n\n const { isDisabled, isExpanded } = useAccordionSectionContext();\n const rootRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const forkedRef = useForkRef(ref, rootRef);\n\n const [state, setState] = useState<State>(\n isExpanded ? \"expanded\" : \"collapsed\"\n );\n\n useIsomorphicLayoutEffect(() => {\n if (!rootRef.current) {\n return;\n }\n if (isExpanded) {\n if (state === \"collapsed\") {\n setState(\"measuring\");\n } else if (state === \"measuring\") {\n rootRef.current.style.height = `${\n contentRef.current!.getBoundingClientRect().height\n }px`;\n setState(\"expanding\");\n } else if (state === \"expanding\") {\n setTimeout(() => {\n setState(\"expanded\");\n }, msCollapseAnimationDuration);\n } else if (state === \"expanded\") {\n rootRef.current.style.height = \"auto\";\n }\n } else {\n if (state === \"expanded\") {\n rootRef.current.style.height = `${\n rootRef.current.getBoundingClientRect().height\n }px`;\n setTimeout(() => {\n setState(\"collapsing\");\n }, 0);\n } else if (state === \"collapsing\") {\n rootRef.current.style.height = \"0\";\n setTimeout(() => {\n setState(\"collapsed\");\n }, msCollapseAnimationDuration);\n } else if (state === \"collapsed\") {\n rootRef.current.style.height = \"0\";\n }\n }\n }, [isExpanded, state]);\n\n return (\n <div\n {...restProps}\n ref={forkedRef}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: isDisabled,\n },\n className\n )}\n >\n <div\n ref={contentRef}\n className={clsx({\n [withBaseName(\"dummy\")]: state === \"measuring\",\n })}\n >\n {preventUnmountOnCollapse || state !== \"collapsed\" ? (\n <div className={withBaseName(\"content\")}>{children}</div>\n ) : null}\n </div>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","AccordionDetails","useWindow","useComponentCssInjection","accordionCss","useAccordionSectionContext","useRef","useForkRef","useState","useIsomorphicLayoutEffect","jsx","clsx"],"mappings":"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"}