@salt-ds/core 0.0.0-snapshot-20230419162206

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 (487) hide show
  1. package/README.md +1 -0
  2. package/dist-cjs/node_modules/style-inject/dist/style-inject.es.js +31 -0
  3. package/dist-cjs/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  4. package/dist-cjs/packages/core/src/aria-announcer/AriaAnnounce.js +22 -0
  5. package/dist-cjs/packages/core/src/aria-announcer/AriaAnnounce.js.map +1 -0
  6. package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerContext.js +12 -0
  7. package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerContext.js.map +1 -0
  8. package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerProvider.js +78 -0
  9. package/dist-cjs/packages/core/src/aria-announcer/AriaAnnouncerProvider.js.map +1 -0
  10. package/dist-cjs/packages/core/src/aria-announcer/useAriaAnnouncer.js +67 -0
  11. package/dist-cjs/packages/core/src/aria-announcer/useAriaAnnouncer.js.map +1 -0
  12. package/dist-cjs/packages/core/src/avatar/Avatar.css.js +9 -0
  13. package/dist-cjs/packages/core/src/avatar/Avatar.css.js.map +1 -0
  14. package/dist-cjs/packages/core/src/avatar/Avatar.js +76 -0
  15. package/dist-cjs/packages/core/src/avatar/Avatar.js.map +1 -0
  16. package/dist-cjs/packages/core/src/avatar/useAvatarImage.js +39 -0
  17. package/dist-cjs/packages/core/src/avatar/useAvatarImage.js.map +1 -0
  18. package/dist-cjs/packages/core/src/border-item/BorderItem.css.js +9 -0
  19. package/dist-cjs/packages/core/src/border-item/BorderItem.css.js.map +1 -0
  20. package/dist-cjs/packages/core/src/border-item/BorderItem.js +64 -0
  21. package/dist-cjs/packages/core/src/border-item/BorderItem.js.map +1 -0
  22. package/dist-cjs/packages/core/src/border-layout/BorderLayout.js +56 -0
  23. package/dist-cjs/packages/core/src/border-layout/BorderLayout.js.map +1 -0
  24. package/dist-cjs/packages/core/src/breakpoints/Breakpoints.js +15 -0
  25. package/dist-cjs/packages/core/src/breakpoints/Breakpoints.js.map +1 -0
  26. package/dist-cjs/packages/core/src/button/Button.css.js +9 -0
  27. package/dist-cjs/packages/core/src/button/Button.css.js.map +1 -0
  28. package/dist-cjs/packages/core/src/button/Button.js +70 -0
  29. package/dist-cjs/packages/core/src/button/Button.js.map +1 -0
  30. package/dist-cjs/packages/core/src/button/useButton.js +65 -0
  31. package/dist-cjs/packages/core/src/button/useButton.js.map +1 -0
  32. package/dist-cjs/packages/core/src/card/Card.css.js +9 -0
  33. package/dist-cjs/packages/core/src/card/Card.css.js.map +1 -0
  34. package/dist-cjs/packages/core/src/card/Card.js +45 -0
  35. package/dist-cjs/packages/core/src/card/Card.js.map +1 -0
  36. package/dist-cjs/packages/core/src/card/InteractableCard.css.js +9 -0
  37. package/dist-cjs/packages/core/src/card/InteractableCard.css.js.map +1 -0
  38. package/dist-cjs/packages/core/src/card/InteractableCard.js +57 -0
  39. package/dist-cjs/packages/core/src/card/InteractableCard.js.map +1 -0
  40. package/dist-cjs/packages/core/src/card/useInteractableCard.js +63 -0
  41. package/dist-cjs/packages/core/src/card/useInteractableCard.js.map +1 -0
  42. package/dist-cjs/packages/core/src/checkbox/Checkbox.css.js +9 -0
  43. package/dist-cjs/packages/core/src/checkbox/Checkbox.css.js.map +1 -0
  44. package/dist-cjs/packages/core/src/checkbox/Checkbox.js +95 -0
  45. package/dist-cjs/packages/core/src/checkbox/Checkbox.js.map +1 -0
  46. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.css.js +9 -0
  47. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.css.js.map +1 -0
  48. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.js +62 -0
  49. package/dist-cjs/packages/core/src/checkbox/CheckboxGroup.js.map +1 -0
  50. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.css.js +9 -0
  51. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.css.js.map +1 -0
  52. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.js +48 -0
  53. package/dist-cjs/packages/core/src/checkbox/CheckboxIcon.js.map +1 -0
  54. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js +33 -0
  55. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js.map +1 -0
  56. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js +32 -0
  57. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js.map +1 -0
  58. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js +37 -0
  59. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +1 -0
  60. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js +26 -0
  61. package/dist-cjs/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js.map +1 -0
  62. package/dist-cjs/packages/core/src/checkbox/internal/CheckboxGroupContext.js +13 -0
  63. package/dist-cjs/packages/core/src/checkbox/internal/CheckboxGroupContext.js.map +1 -0
  64. package/dist-cjs/packages/core/src/checkbox/internal/useCheckboxGroup.js +13 -0
  65. package/dist-cjs/packages/core/src/checkbox/internal/useCheckboxGroup.js.map +1 -0
  66. package/dist-cjs/packages/core/src/flex-item/FlexItem.css.js +9 -0
  67. package/dist-cjs/packages/core/src/flex-item/FlexItem.css.js.map +1 -0
  68. package/dist-cjs/packages/core/src/flex-item/FlexItem.js +64 -0
  69. package/dist-cjs/packages/core/src/flex-item/FlexItem.js.map +1 -0
  70. package/dist-cjs/packages/core/src/flex-layout/FlexLayout.css.js +9 -0
  71. package/dist-cjs/packages/core/src/flex-layout/FlexLayout.css.js.map +1 -0
  72. package/dist-cjs/packages/core/src/flex-layout/FlexLayout.js +83 -0
  73. package/dist-cjs/packages/core/src/flex-layout/FlexLayout.js.map +1 -0
  74. package/dist-cjs/packages/core/src/flow-layout/FlowLayout.js +22 -0
  75. package/dist-cjs/packages/core/src/flow-layout/FlowLayout.js.map +1 -0
  76. package/dist-cjs/packages/core/src/grid-item/GridItem.css.js +9 -0
  77. package/dist-cjs/packages/core/src/grid-item/GridItem.css.js.map +1 -0
  78. package/dist-cjs/packages/core/src/grid-item/GridItem.js +73 -0
  79. package/dist-cjs/packages/core/src/grid-item/GridItem.js.map +1 -0
  80. package/dist-cjs/packages/core/src/grid-layout/GridLayout.css.js +9 -0
  81. package/dist-cjs/packages/core/src/grid-layout/GridLayout.css.js.map +1 -0
  82. package/dist-cjs/packages/core/src/grid-layout/GridLayout.js +60 -0
  83. package/dist-cjs/packages/core/src/grid-layout/GridLayout.js.map +1 -0
  84. package/dist-cjs/packages/core/src/index.js +156 -0
  85. package/dist-cjs/packages/core/src/index.js.map +1 -0
  86. package/dist-cjs/packages/core/src/link/Link.css.js +9 -0
  87. package/dist-cjs/packages/core/src/link/Link.css.js.map +1 -0
  88. package/dist-cjs/packages/core/src/link/Link.js +65 -0
  89. package/dist-cjs/packages/core/src/link/Link.js.map +1 -0
  90. package/dist-cjs/packages/core/src/panel/Panel.css.js +9 -0
  91. package/dist-cjs/packages/core/src/panel/Panel.css.js.map +1 -0
  92. package/dist-cjs/packages/core/src/panel/Panel.js +34 -0
  93. package/dist-cjs/packages/core/src/panel/Panel.js.map +1 -0
  94. package/dist-cjs/packages/core/src/radio-button/RadioButton.css.js +9 -0
  95. package/dist-cjs/packages/core/src/radio-button/RadioButton.css.js.map +1 -0
  96. package/dist-cjs/packages/core/src/radio-button/RadioButton.js +86 -0
  97. package/dist-cjs/packages/core/src/radio-button/RadioButton.js.map +1 -0
  98. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.css.js +9 -0
  99. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.css.js.map +1 -0
  100. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.js +61 -0
  101. package/dist-cjs/packages/core/src/radio-button/RadioButtonGroup.js.map +1 -0
  102. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.css.js +9 -0
  103. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.css.js.map +1 -0
  104. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.js +48 -0
  105. package/dist-cjs/packages/core/src/radio-button/RadioButtonIcon.js.map +1 -0
  106. package/dist-cjs/packages/core/src/radio-button/internal/RadioGroupContext.js +19 -0
  107. package/dist-cjs/packages/core/src/radio-button/internal/RadioGroupContext.js.map +1 -0
  108. package/dist-cjs/packages/core/src/radio-button/internal/useRadioGroup.js +13 -0
  109. package/dist-cjs/packages/core/src/radio-button/internal/useRadioGroup.js.map +1 -0
  110. package/dist-cjs/packages/core/src/salt-provider/SaltProvider.css.js +9 -0
  111. package/dist-cjs/packages/core/src/salt-provider/SaltProvider.css.js.map +1 -0
  112. package/dist-cjs/packages/core/src/salt-provider/SaltProvider.js +166 -0
  113. package/dist-cjs/packages/core/src/salt-provider/SaltProvider.js.map +1 -0
  114. package/dist-cjs/packages/core/src/spinner/Spinner.css.js +9 -0
  115. package/dist-cjs/packages/core/src/spinner/Spinner.css.js.map +1 -0
  116. package/dist-cjs/packages/core/src/spinner/Spinner.js +89 -0
  117. package/dist-cjs/packages/core/src/spinner/Spinner.js.map +1 -0
  118. package/dist-cjs/packages/core/src/spinner/svgSpinners/SpinnerSVG.js +82 -0
  119. package/dist-cjs/packages/core/src/spinner/svgSpinners/SpinnerSVG.js.map +1 -0
  120. package/dist-cjs/packages/core/src/split-layout/SplitLayout.js +25 -0
  121. package/dist-cjs/packages/core/src/split-layout/SplitLayout.js.map +1 -0
  122. package/dist-cjs/packages/core/src/stack-layout/StackLayout.css.js +9 -0
  123. package/dist-cjs/packages/core/src/stack-layout/StackLayout.css.js.map +1 -0
  124. package/dist-cjs/packages/core/src/stack-layout/StackLayout.js +63 -0
  125. package/dist-cjs/packages/core/src/stack-layout/StackLayout.js.map +1 -0
  126. package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.css.js +9 -0
  127. package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.css.js.map +1 -0
  128. package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.js +52 -0
  129. package/dist-cjs/packages/core/src/status-indicator/StatusIndicator.js.map +1 -0
  130. package/dist-cjs/packages/core/src/status-indicator/ValidationStatus.js +13 -0
  131. package/dist-cjs/packages/core/src/status-indicator/ValidationStatus.js.map +1 -0
  132. package/dist-cjs/packages/core/src/text/Display.js +47 -0
  133. package/dist-cjs/packages/core/src/text/Display.js.map +1 -0
  134. package/dist-cjs/packages/core/src/text/Headings.js +54 -0
  135. package/dist-cjs/packages/core/src/text/Headings.js.map +1 -0
  136. package/dist-cjs/packages/core/src/text/Label.js +19 -0
  137. package/dist-cjs/packages/core/src/text/Label.js.map +1 -0
  138. package/dist-cjs/packages/core/src/text/Text.css.js +9 -0
  139. package/dist-cjs/packages/core/src/text/Text.css.js.map +1 -0
  140. package/dist-cjs/packages/core/src/text/Text.js +58 -0
  141. package/dist-cjs/packages/core/src/text/Text.js.map +1 -0
  142. package/dist-cjs/packages/core/src/theme/Density.js +8 -0
  143. package/dist-cjs/packages/core/src/theme/Density.js.map +1 -0
  144. package/dist-cjs/packages/core/src/theme/Mode.js +8 -0
  145. package/dist-cjs/packages/core/src/theme/Mode.js.map +1 -0
  146. package/dist-cjs/packages/core/src/theme/Theme.js +19 -0
  147. package/dist-cjs/packages/core/src/theme/Theme.js.map +1 -0
  148. package/dist-cjs/packages/core/src/tooltip/Tooltip.css.js +9 -0
  149. package/dist-cjs/packages/core/src/tooltip/Tooltip.css.js.map +1 -0
  150. package/dist-cjs/packages/core/src/tooltip/Tooltip.js +115 -0
  151. package/dist-cjs/packages/core/src/tooltip/Tooltip.js.map +1 -0
  152. package/dist-cjs/packages/core/src/tooltip/useAriaAnnounce.js +95 -0
  153. package/dist-cjs/packages/core/src/tooltip/useAriaAnnounce.js.map +1 -0
  154. package/dist-cjs/packages/core/src/tooltip/useTooltip.js +109 -0
  155. package/dist-cjs/packages/core/src/tooltip/useTooltip.js.map +1 -0
  156. package/dist-cjs/packages/core/src/utils/capitalize.js +10 -0
  157. package/dist-cjs/packages/core/src/utils/capitalize.js.map +1 -0
  158. package/dist-cjs/packages/core/src/utils/createChainedFunction.js +22 -0
  159. package/dist-cjs/packages/core/src/utils/createChainedFunction.js.map +1 -0
  160. package/dist-cjs/packages/core/src/utils/createContext.js +16 -0
  161. package/dist-cjs/packages/core/src/utils/createContext.js.map +1 -0
  162. package/dist-cjs/packages/core/src/utils/debounce.js +24 -0
  163. package/dist-cjs/packages/core/src/utils/debounce.js.map +1 -0
  164. package/dist-cjs/packages/core/src/utils/makePrefixer.js +8 -0
  165. package/dist-cjs/packages/core/src/utils/makePrefixer.js.map +1 -0
  166. package/dist-cjs/packages/core/src/utils/marginMiddleware.js +22 -0
  167. package/dist-cjs/packages/core/src/utils/marginMiddleware.js.map +1 -0
  168. package/dist-cjs/packages/core/src/utils/mergeProps.js +25 -0
  169. package/dist-cjs/packages/core/src/utils/mergeProps.js.map +1 -0
  170. package/dist-cjs/packages/core/src/utils/ownerDocument.js +10 -0
  171. package/dist-cjs/packages/core/src/utils/ownerDocument.js.map +1 -0
  172. package/dist-cjs/packages/core/src/utils/ownerWindow.js +13 -0
  173. package/dist-cjs/packages/core/src/utils/ownerWindow.js.map +1 -0
  174. package/dist-cjs/packages/core/src/utils/setRef.js +14 -0
  175. package/dist-cjs/packages/core/src/utils/setRef.js.map +1 -0
  176. package/dist-cjs/packages/core/src/utils/useControlled.js +60 -0
  177. package/dist-cjs/packages/core/src/utils/useControlled.js.map +1 -0
  178. package/dist-cjs/packages/core/src/utils/useFloatingUI.js +38 -0
  179. package/dist-cjs/packages/core/src/utils/useFloatingUI.js.map +1 -0
  180. package/dist-cjs/packages/core/src/utils/useForkRef.js +21 -0
  181. package/dist-cjs/packages/core/src/utils/useForkRef.js.map +1 -0
  182. package/dist-cjs/packages/core/src/utils/useId.js +55 -0
  183. package/dist-cjs/packages/core/src/utils/useId.js.map +1 -0
  184. package/dist-cjs/packages/core/src/utils/useIsFocusVisible.js +108 -0
  185. package/dist-cjs/packages/core/src/utils/useIsFocusVisible.js.map +1 -0
  186. package/dist-cjs/packages/core/src/utils/useIsomorphicLayoutEffect.js +10 -0
  187. package/dist-cjs/packages/core/src/utils/useIsomorphicLayoutEffect.js.map +1 -0
  188. package/dist-cjs/packages/core/src/utils/usePrevious.js +16 -0
  189. package/dist-cjs/packages/core/src/utils/usePrevious.js.map +1 -0
  190. package/dist-cjs/packages/core/src/utils/useResponsiveProp.js +71 -0
  191. package/dist-cjs/packages/core/src/utils/useResponsiveProp.js.map +1 -0
  192. package/dist-cjs/packages/core/src/viewport/ViewportProvider.js +48 -0
  193. package/dist-cjs/packages/core/src/viewport/ViewportProvider.js.map +1 -0
  194. package/dist-es/node_modules/style-inject/dist/style-inject.es.js +29 -0
  195. package/dist-es/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  196. package/dist-es/packages/core/src/aria-announcer/AriaAnnounce.js +18 -0
  197. package/dist-es/packages/core/src/aria-announcer/AriaAnnounce.js.map +1 -0
  198. package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerContext.js +8 -0
  199. package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerContext.js.map +1 -0
  200. package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerProvider.js +73 -0
  201. package/dist-es/packages/core/src/aria-announcer/AriaAnnouncerProvider.js.map +1 -0
  202. package/dist-es/packages/core/src/aria-announcer/useAriaAnnouncer.js +63 -0
  203. package/dist-es/packages/core/src/aria-announcer/useAriaAnnouncer.js.map +1 -0
  204. package/dist-es/packages/core/src/avatar/Avatar.css.js +7 -0
  205. package/dist-es/packages/core/src/avatar/Avatar.css.js.map +1 -0
  206. package/dist-es/packages/core/src/avatar/Avatar.js +72 -0
  207. package/dist-es/packages/core/src/avatar/Avatar.js.map +1 -0
  208. package/dist-es/packages/core/src/avatar/useAvatarImage.js +35 -0
  209. package/dist-es/packages/core/src/avatar/useAvatarImage.js.map +1 -0
  210. package/dist-es/packages/core/src/border-item/BorderItem.css.js +7 -0
  211. package/dist-es/packages/core/src/border-item/BorderItem.css.js.map +1 -0
  212. package/dist-es/packages/core/src/border-item/BorderItem.js +59 -0
  213. package/dist-es/packages/core/src/border-item/BorderItem.js.map +1 -0
  214. package/dist-es/packages/core/src/border-layout/BorderLayout.js +52 -0
  215. package/dist-es/packages/core/src/border-layout/BorderLayout.js.map +1 -0
  216. package/dist-es/packages/core/src/breakpoints/Breakpoints.js +11 -0
  217. package/dist-es/packages/core/src/breakpoints/Breakpoints.js.map +1 -0
  218. package/dist-es/packages/core/src/button/Button.css.js +7 -0
  219. package/dist-es/packages/core/src/button/Button.css.js.map +1 -0
  220. package/dist-es/packages/core/src/button/Button.js +65 -0
  221. package/dist-es/packages/core/src/button/Button.js.map +1 -0
  222. package/dist-es/packages/core/src/button/useButton.js +61 -0
  223. package/dist-es/packages/core/src/button/useButton.js.map +1 -0
  224. package/dist-es/packages/core/src/card/Card.css.js +7 -0
  225. package/dist-es/packages/core/src/card/Card.css.js.map +1 -0
  226. package/dist-es/packages/core/src/card/Card.js +41 -0
  227. package/dist-es/packages/core/src/card/Card.js.map +1 -0
  228. package/dist-es/packages/core/src/card/InteractableCard.css.js +7 -0
  229. package/dist-es/packages/core/src/card/InteractableCard.css.js.map +1 -0
  230. package/dist-es/packages/core/src/card/InteractableCard.js +53 -0
  231. package/dist-es/packages/core/src/card/InteractableCard.js.map +1 -0
  232. package/dist-es/packages/core/src/card/useInteractableCard.js +59 -0
  233. package/dist-es/packages/core/src/card/useInteractableCard.js.map +1 -0
  234. package/dist-es/packages/core/src/checkbox/Checkbox.css.js +7 -0
  235. package/dist-es/packages/core/src/checkbox/Checkbox.css.js.map +1 -0
  236. package/dist-es/packages/core/src/checkbox/Checkbox.js +91 -0
  237. package/dist-es/packages/core/src/checkbox/Checkbox.js.map +1 -0
  238. package/dist-es/packages/core/src/checkbox/CheckboxGroup.css.js +7 -0
  239. package/dist-es/packages/core/src/checkbox/CheckboxGroup.css.js.map +1 -0
  240. package/dist-es/packages/core/src/checkbox/CheckboxGroup.js +58 -0
  241. package/dist-es/packages/core/src/checkbox/CheckboxGroup.js.map +1 -0
  242. package/dist-es/packages/core/src/checkbox/CheckboxIcon.css.js +7 -0
  243. package/dist-es/packages/core/src/checkbox/CheckboxIcon.css.js.map +1 -0
  244. package/dist-es/packages/core/src/checkbox/CheckboxIcon.js +44 -0
  245. package/dist-es/packages/core/src/checkbox/CheckboxIcon.js.map +1 -0
  246. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js +29 -0
  247. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIcon.js.map +1 -0
  248. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js +28 -0
  249. package/dist-es/packages/core/src/checkbox/assets/CheckboxCheckedIconHD.js.map +1 -0
  250. package/dist-es/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js +33 -0
  251. package/dist-es/packages/core/src/checkbox/assets/CheckboxIndeterminateIcon.js.map +1 -0
  252. package/dist-es/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js +22 -0
  253. package/dist-es/packages/core/src/checkbox/assets/CheckboxUncheckedIcon.js.map +1 -0
  254. package/dist-es/packages/core/src/checkbox/internal/CheckboxGroupContext.js +9 -0
  255. package/dist-es/packages/core/src/checkbox/internal/CheckboxGroupContext.js.map +1 -0
  256. package/dist-es/packages/core/src/checkbox/internal/useCheckboxGroup.js +9 -0
  257. package/dist-es/packages/core/src/checkbox/internal/useCheckboxGroup.js.map +1 -0
  258. package/dist-es/packages/core/src/flex-item/FlexItem.css.js +7 -0
  259. package/dist-es/packages/core/src/flex-item/FlexItem.css.js.map +1 -0
  260. package/dist-es/packages/core/src/flex-item/FlexItem.js +59 -0
  261. package/dist-es/packages/core/src/flex-item/FlexItem.js.map +1 -0
  262. package/dist-es/packages/core/src/flex-layout/FlexLayout.css.js +7 -0
  263. package/dist-es/packages/core/src/flex-layout/FlexLayout.css.js.map +1 -0
  264. package/dist-es/packages/core/src/flex-layout/FlexLayout.js +77 -0
  265. package/dist-es/packages/core/src/flex-layout/FlexLayout.js.map +1 -0
  266. package/dist-es/packages/core/src/flow-layout/FlowLayout.js +18 -0
  267. package/dist-es/packages/core/src/flow-layout/FlowLayout.js.map +1 -0
  268. package/dist-es/packages/core/src/grid-item/GridItem.css.js +7 -0
  269. package/dist-es/packages/core/src/grid-item/GridItem.css.js.map +1 -0
  270. package/dist-es/packages/core/src/grid-item/GridItem.js +68 -0
  271. package/dist-es/packages/core/src/grid-item/GridItem.js.map +1 -0
  272. package/dist-es/packages/core/src/grid-layout/GridLayout.css.js +7 -0
  273. package/dist-es/packages/core/src/grid-layout/GridLayout.css.js.map +1 -0
  274. package/dist-es/packages/core/src/grid-layout/GridLayout.js +56 -0
  275. package/dist-es/packages/core/src/grid-layout/GridLayout.js.map +1 -0
  276. package/dist-es/packages/core/src/index.js +61 -0
  277. package/dist-es/packages/core/src/index.js.map +1 -0
  278. package/dist-es/packages/core/src/link/Link.css.js +7 -0
  279. package/dist-es/packages/core/src/link/Link.css.js.map +1 -0
  280. package/dist-es/packages/core/src/link/Link.js +61 -0
  281. package/dist-es/packages/core/src/link/Link.js.map +1 -0
  282. package/dist-es/packages/core/src/panel/Panel.css.js +7 -0
  283. package/dist-es/packages/core/src/panel/Panel.css.js.map +1 -0
  284. package/dist-es/packages/core/src/panel/Panel.js +30 -0
  285. package/dist-es/packages/core/src/panel/Panel.js.map +1 -0
  286. package/dist-es/packages/core/src/radio-button/RadioButton.css.js +7 -0
  287. package/dist-es/packages/core/src/radio-button/RadioButton.css.js.map +1 -0
  288. package/dist-es/packages/core/src/radio-button/RadioButton.js +82 -0
  289. package/dist-es/packages/core/src/radio-button/RadioButton.js.map +1 -0
  290. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.css.js +7 -0
  291. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.css.js.map +1 -0
  292. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.js +57 -0
  293. package/dist-es/packages/core/src/radio-button/RadioButtonGroup.js.map +1 -0
  294. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.css.js +7 -0
  295. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.css.js.map +1 -0
  296. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.js +44 -0
  297. package/dist-es/packages/core/src/radio-button/RadioButtonIcon.js.map +1 -0
  298. package/dist-es/packages/core/src/radio-button/internal/RadioGroupContext.js +15 -0
  299. package/dist-es/packages/core/src/radio-button/internal/RadioGroupContext.js.map +1 -0
  300. package/dist-es/packages/core/src/radio-button/internal/useRadioGroup.js +9 -0
  301. package/dist-es/packages/core/src/radio-button/internal/useRadioGroup.js.map +1 -0
  302. package/dist-es/packages/core/src/salt-provider/SaltProvider.css.js +7 -0
  303. package/dist-es/packages/core/src/salt-provider/SaltProvider.css.js.map +1 -0
  304. package/dist-es/packages/core/src/salt-provider/SaltProvider.js +151 -0
  305. package/dist-es/packages/core/src/salt-provider/SaltProvider.js.map +1 -0
  306. package/dist-es/packages/core/src/spinner/Spinner.css.js +7 -0
  307. package/dist-es/packages/core/src/spinner/Spinner.css.js.map +1 -0
  308. package/dist-es/packages/core/src/spinner/Spinner.js +84 -0
  309. package/dist-es/packages/core/src/spinner/Spinner.js.map +1 -0
  310. package/dist-es/packages/core/src/spinner/svgSpinners/SpinnerSVG.js +78 -0
  311. package/dist-es/packages/core/src/spinner/svgSpinners/SpinnerSVG.js.map +1 -0
  312. package/dist-es/packages/core/src/split-layout/SplitLayout.js +21 -0
  313. package/dist-es/packages/core/src/split-layout/SplitLayout.js.map +1 -0
  314. package/dist-es/packages/core/src/stack-layout/StackLayout.css.js +7 -0
  315. package/dist-es/packages/core/src/stack-layout/StackLayout.css.js.map +1 -0
  316. package/dist-es/packages/core/src/stack-layout/StackLayout.js +59 -0
  317. package/dist-es/packages/core/src/stack-layout/StackLayout.js.map +1 -0
  318. package/dist-es/packages/core/src/status-indicator/StatusIndicator.css.js +7 -0
  319. package/dist-es/packages/core/src/status-indicator/StatusIndicator.css.js.map +1 -0
  320. package/dist-es/packages/core/src/status-indicator/StatusIndicator.js +48 -0
  321. package/dist-es/packages/core/src/status-indicator/StatusIndicator.js.map +1 -0
  322. package/dist-es/packages/core/src/status-indicator/ValidationStatus.js +9 -0
  323. package/dist-es/packages/core/src/status-indicator/ValidationStatus.js.map +1 -0
  324. package/dist-es/packages/core/src/text/Display.js +41 -0
  325. package/dist-es/packages/core/src/text/Display.js.map +1 -0
  326. package/dist-es/packages/core/src/text/Headings.js +47 -0
  327. package/dist-es/packages/core/src/text/Headings.js.map +1 -0
  328. package/dist-es/packages/core/src/text/Label.js +15 -0
  329. package/dist-es/packages/core/src/text/Label.js.map +1 -0
  330. package/dist-es/packages/core/src/text/Text.css.js +7 -0
  331. package/dist-es/packages/core/src/text/Text.css.js.map +1 -0
  332. package/dist-es/packages/core/src/text/Text.js +54 -0
  333. package/dist-es/packages/core/src/text/Text.js.map +1 -0
  334. package/dist-es/packages/core/src/theme/Density.js +4 -0
  335. package/dist-es/packages/core/src/theme/Density.js.map +1 -0
  336. package/dist-es/packages/core/src/theme/Mode.js +4 -0
  337. package/dist-es/packages/core/src/theme/Mode.js.map +1 -0
  338. package/dist-es/packages/core/src/theme/Theme.js +15 -0
  339. package/dist-es/packages/core/src/theme/Theme.js.map +1 -0
  340. package/dist-es/packages/core/src/tooltip/Tooltip.css.js +7 -0
  341. package/dist-es/packages/core/src/tooltip/Tooltip.css.js.map +1 -0
  342. package/dist-es/packages/core/src/tooltip/Tooltip.js +111 -0
  343. package/dist-es/packages/core/src/tooltip/Tooltip.js.map +1 -0
  344. package/dist-es/packages/core/src/tooltip/useAriaAnnounce.js +91 -0
  345. package/dist-es/packages/core/src/tooltip/useAriaAnnounce.js.map +1 -0
  346. package/dist-es/packages/core/src/tooltip/useTooltip.js +105 -0
  347. package/dist-es/packages/core/src/tooltip/useTooltip.js.map +1 -0
  348. package/dist-es/packages/core/src/utils/capitalize.js +6 -0
  349. package/dist-es/packages/core/src/utils/capitalize.js.map +1 -0
  350. package/dist-es/packages/core/src/utils/createChainedFunction.js +18 -0
  351. package/dist-es/packages/core/src/utils/createChainedFunction.js.map +1 -0
  352. package/dist-es/packages/core/src/utils/createContext.js +12 -0
  353. package/dist-es/packages/core/src/utils/createContext.js.map +1 -0
  354. package/dist-es/packages/core/src/utils/debounce.js +20 -0
  355. package/dist-es/packages/core/src/utils/debounce.js.map +1 -0
  356. package/dist-es/packages/core/src/utils/makePrefixer.js +4 -0
  357. package/dist-es/packages/core/src/utils/makePrefixer.js.map +1 -0
  358. package/dist-es/packages/core/src/utils/marginMiddleware.js +18 -0
  359. package/dist-es/packages/core/src/utils/marginMiddleware.js.map +1 -0
  360. package/dist-es/packages/core/src/utils/mergeProps.js +21 -0
  361. package/dist-es/packages/core/src/utils/mergeProps.js.map +1 -0
  362. package/dist-es/packages/core/src/utils/ownerDocument.js +6 -0
  363. package/dist-es/packages/core/src/utils/ownerDocument.js.map +1 -0
  364. package/dist-es/packages/core/src/utils/ownerWindow.js +9 -0
  365. package/dist-es/packages/core/src/utils/ownerWindow.js.map +1 -0
  366. package/dist-es/packages/core/src/utils/setRef.js +10 -0
  367. package/dist-es/packages/core/src/utils/setRef.js.map +1 -0
  368. package/dist-es/packages/core/src/utils/useControlled.js +56 -0
  369. package/dist-es/packages/core/src/utils/useControlled.js.map +1 -0
  370. package/dist-es/packages/core/src/utils/useFloatingUI.js +33 -0
  371. package/dist-es/packages/core/src/utils/useFloatingUI.js.map +1 -0
  372. package/dist-es/packages/core/src/utils/useForkRef.js +17 -0
  373. package/dist-es/packages/core/src/utils/useForkRef.js.map +1 -0
  374. package/dist-es/packages/core/src/utils/useId.js +30 -0
  375. package/dist-es/packages/core/src/utils/useId.js.map +1 -0
  376. package/dist-es/packages/core/src/utils/useIsFocusVisible.js +103 -0
  377. package/dist-es/packages/core/src/utils/useIsFocusVisible.js.map +1 -0
  378. package/dist-es/packages/core/src/utils/useIsomorphicLayoutEffect.js +6 -0
  379. package/dist-es/packages/core/src/utils/useIsomorphicLayoutEffect.js.map +1 -0
  380. package/dist-es/packages/core/src/utils/usePrevious.js +12 -0
  381. package/dist-es/packages/core/src/utils/usePrevious.js.map +1 -0
  382. package/dist-es/packages/core/src/utils/useResponsiveProp.js +64 -0
  383. package/dist-es/packages/core/src/utils/useResponsiveProp.js.map +1 -0
  384. package/dist-es/packages/core/src/viewport/ViewportProvider.js +42 -0
  385. package/dist-es/packages/core/src/viewport/ViewportProvider.js.map +1 -0
  386. package/dist-types/aria-announcer/AriaAnnounce.d.ts +8 -0
  387. package/dist-types/aria-announcer/AriaAnnouncerContext.d.ts +6 -0
  388. package/dist-types/aria-announcer/AriaAnnouncerProvider.d.ts +10 -0
  389. package/dist-types/aria-announcer/index.d.ts +4 -0
  390. package/dist-types/aria-announcer/useAriaAnnouncer.d.ts +6 -0
  391. package/dist-types/avatar/Avatar.d.ts +26 -0
  392. package/dist-types/avatar/index.d.ts +2 -0
  393. package/dist-types/avatar/useAvatarImage.d.ts +2 -0
  394. package/dist-types/border-item/BorderItem.d.ts +26 -0
  395. package/dist-types/border-item/index.d.ts +1 -0
  396. package/dist-types/border-layout/BorderLayout.d.ts +25 -0
  397. package/dist-types/border-layout/index.d.ts +1 -0
  398. package/dist-types/breakpoints/Breakpoints.d.ts +8 -0
  399. package/dist-types/breakpoints/index.d.ts +1 -0
  400. package/dist-types/button/Button.d.ts +19 -0
  401. package/dist-types/button/index.d.ts +2 -0
  402. package/dist-types/button/useButton.d.ts +22 -0
  403. package/dist-types/card/Card.d.ts +17 -0
  404. package/dist-types/card/InteractableCard.d.ts +14 -0
  405. package/dist-types/card/index.d.ts +2 -0
  406. package/dist-types/card/useInteractableCard.d.ts +21 -0
  407. package/dist-types/checkbox/Checkbox.d.ts +56 -0
  408. package/dist-types/checkbox/CheckboxGroup.d.ts +30 -0
  409. package/dist-types/checkbox/CheckboxIcon.d.ts +10 -0
  410. package/dist-types/checkbox/assets/CheckboxCheckedIcon.d.ts +4 -0
  411. package/dist-types/checkbox/assets/CheckboxCheckedIconHD.d.ts +4 -0
  412. package/dist-types/checkbox/assets/CheckboxIndeterminateIcon.d.ts +4 -0
  413. package/dist-types/checkbox/assets/CheckboxUncheckedIcon.d.ts +4 -0
  414. package/dist-types/checkbox/assets/index.d.ts +4 -0
  415. package/dist-types/checkbox/index.d.ts +3 -0
  416. package/dist-types/checkbox/internal/CheckboxGroupContext.d.ts +9 -0
  417. package/dist-types/checkbox/internal/useCheckboxGroup.d.ts +2 -0
  418. package/dist-types/flex-item/FlexItem.d.ts +25 -0
  419. package/dist-types/flex-item/index.d.ts +1 -0
  420. package/dist-types/flex-layout/FlexLayout.d.ts +39 -0
  421. package/dist-types/flex-layout/index.d.ts +1 -0
  422. package/dist-types/flow-layout/FlowLayout.d.ts +20 -0
  423. package/dist-types/flow-layout/index.d.ts +1 -0
  424. package/dist-types/grid-item/GridItem.d.ts +26 -0
  425. package/dist-types/grid-item/index.d.ts +1 -0
  426. package/dist-types/grid-layout/GridLayout.d.ts +27 -0
  427. package/dist-types/grid-layout/index.d.ts +1 -0
  428. package/dist-types/index.d.ts +26 -0
  429. package/dist-types/link/Link.d.ts +13 -0
  430. package/dist-types/link/index.d.ts +1 -0
  431. package/dist-types/panel/Panel.d.ts +19 -0
  432. package/dist-types/panel/index.d.ts +1 -0
  433. package/dist-types/radio-button/RadioButton.d.ts +45 -0
  434. package/dist-types/radio-button/RadioButtonGroup.d.ts +29 -0
  435. package/dist-types/radio-button/RadioButtonIcon.d.ts +11 -0
  436. package/dist-types/radio-button/index.d.ts +3 -0
  437. package/dist-types/radio-button/internal/RadioGroupContext.d.ts +7 -0
  438. package/dist-types/radio-button/internal/useRadioGroup.d.ts +1 -0
  439. package/dist-types/salt-provider/SaltProvider.d.ts +38 -0
  440. package/dist-types/salt-provider/index.d.ts +1 -0
  441. package/dist-types/spinner/Spinner.d.ts +44 -0
  442. package/dist-types/spinner/index.d.ts +1 -0
  443. package/dist-types/spinner/svgSpinners/SpinnerSVG.d.ts +5 -0
  444. package/dist-types/split-layout/SplitLayout.d.ts +28 -0
  445. package/dist-types/split-layout/index.d.ts +1 -0
  446. package/dist-types/stack-layout/StackLayout.d.ts +24 -0
  447. package/dist-types/stack-layout/index.d.ts +1 -0
  448. package/dist-types/status-indicator/StatusIndicator.d.ts +10 -0
  449. package/dist-types/status-indicator/ValidationStatus.d.ts +2 -0
  450. package/dist-types/status-indicator/index.d.ts +2 -0
  451. package/dist-types/text/Display.d.ts +5 -0
  452. package/dist-types/text/Headings.d.ts +6 -0
  453. package/dist-types/text/Label.d.ts +3 -0
  454. package/dist-types/text/Text.d.ts +23 -0
  455. package/dist-types/text/index.d.ts +4 -0
  456. package/dist-types/theme/Density.d.ts +2 -0
  457. package/dist-types/theme/Mode.d.ts +2 -0
  458. package/dist-types/theme/Theme.d.ts +3 -0
  459. package/dist-types/theme/index.d.ts +3 -0
  460. package/dist-types/tooltip/Tooltip.d.ts +46 -0
  461. package/dist-types/tooltip/index.d.ts +2 -0
  462. package/dist-types/tooltip/useAriaAnnounce.d.ts +9 -0
  463. package/dist-types/tooltip/useTooltip.d.ts +56 -0
  464. package/dist-types/utils/capitalize.d.ts +1 -0
  465. package/dist-types/utils/createChainedFunction.d.ts +3 -0
  466. package/dist-types/utils/createContext.d.ts +2 -0
  467. package/dist-types/utils/debounce.d.ts +4 -0
  468. package/dist-types/utils/index.d.ts +20 -0
  469. package/dist-types/utils/inferElementType.d.ts +2 -0
  470. package/dist-types/utils/makePrefixer.d.ts +2 -0
  471. package/dist-types/utils/marginMiddleware.d.ts +2 -0
  472. package/dist-types/utils/mergeProps.d.ts +12 -0
  473. package/dist-types/utils/ownerDocument.d.ts +1 -0
  474. package/dist-types/utils/ownerWindow.d.ts +1 -0
  475. package/dist-types/utils/polymorphicTypes.d.ts +14 -0
  476. package/dist-types/utils/setRef.d.ts +2 -0
  477. package/dist-types/utils/useControlled.d.ts +24 -0
  478. package/dist-types/utils/useFloatingUI.d.ts +34 -0
  479. package/dist-types/utils/useForkRef.d.ts +2 -0
  480. package/dist-types/utils/useId.d.ts +2 -0
  481. package/dist-types/utils/useIsFocusVisible.d.ts +8 -0
  482. package/dist-types/utils/useIsomorphicLayoutEffect.d.ts +2 -0
  483. package/dist-types/utils/usePrevious.d.ts +2 -0
  484. package/dist-types/utils/useResponsiveProp.d.ts +10 -0
  485. package/dist-types/viewport/ViewportProvider.d.ts +8 -0
  486. package/dist-types/viewport/index.d.ts +1 -0
  487. package/package.json +43 -0
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ require('react');
7
+ var makePrefixer = require('../utils/makePrefixer.js');
8
+ require('../utils/useFloatingUI.js');
9
+ require('../utils/useId.js');
10
+ require('../salt-provider/SaltProvider.js');
11
+ require('../viewport/ViewportProvider.js');
12
+ var clsx = require('clsx');
13
+ require('./RadioButtonIcon.css.js');
14
+
15
+ const withBaseName = makePrefixer.makePrefixer("saltRadioButtonIcon");
16
+ const RadioButtonIcon = ({
17
+ checked,
18
+ error,
19
+ disabled
20
+ }) => {
21
+ return /* @__PURE__ */ jsxRuntime.jsxs("svg", {
22
+ className: clsx.clsx(withBaseName(), {
23
+ [withBaseName("checked")]: checked,
24
+ [withBaseName("error")]: error,
25
+ [withBaseName("disabled")]: disabled
26
+ }),
27
+ height: "14",
28
+ viewBox: "0 0 14 14",
29
+ width: "14",
30
+ children: [
31
+ /* @__PURE__ */ jsxRuntime.jsx("circle", {
32
+ className: withBaseName("circle"),
33
+ cx: "7",
34
+ cy: "7",
35
+ r: "6.5"
36
+ }),
37
+ checked && /* @__PURE__ */ jsxRuntime.jsx("circle", {
38
+ className: withBaseName("checked-circle"),
39
+ cx: "7",
40
+ cy: "7",
41
+ r: "3.2"
42
+ })
43
+ ]
44
+ });
45
+ };
46
+
47
+ exports.RadioButtonIcon = RadioButtonIcon;
48
+ //# sourceMappingURL=RadioButtonIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioButtonIcon.js","sources":["../src/radio-button/RadioButtonIcon.tsx"],"sourcesContent":["import { makePrefixer } from \"../utils\";\nimport { clsx } from \"clsx\";\nimport \"./RadioButtonIcon.css\";\n\nconst withBaseName = makePrefixer(\"saltRadioButtonIcon\");\n\nexport interface RadioButtonIconProps {\n checked?: boolean;\n error?: boolean;\n disabled?: boolean;\n}\n\n/**\n * Default radio icon\n */\nexport const RadioButtonIcon = ({\n checked,\n error,\n disabled,\n}: RadioButtonIconProps) => {\n return (\n <svg\n className={clsx(withBaseName(), {\n [withBaseName(\"checked\")]: checked,\n [withBaseName(\"error\")]: error,\n [withBaseName(\"disabled\")]: disabled,\n })}\n height=\"14\"\n viewBox=\"0 0 14 14\"\n width=\"14\"\n >\n <circle className={withBaseName(\"circle\")} cx=\"7\" cy=\"7\" r=\"6.5\" />\n {checked && (\n <circle\n className={withBaseName(\"checked-circle\")}\n cx=\"7\"\n cy=\"7\"\n r=\"3.2\"\n />\n )}\n </svg>\n );\n};\n"],"names":["makePrefixer","jsxs","clsx","jsx"],"mappings":";;;;;;;;;;;;;;AAIA,MAAM,YAAA,GAAeA,0BAAa,qBAAqB,CAAA,CAAA;AAWhD,MAAM,kBAAkB,CAAC;AAAA,EAC9B,OAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AACF,CAA4B,KAAA;AAC1B,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAWC,SAAK,CAAA,YAAA,EAAgB,EAAA;AAAA,MAC9B,CAAC,YAAa,CAAA,SAAS,CAAI,GAAA,OAAA;AAAA,MAC3B,CAAC,YAAa,CAAA,OAAO,CAAI,GAAA,KAAA;AAAA,MACzB,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,KAC7B,CAAA;AAAA,IACD,MAAO,EAAA,IAAA;AAAA,IACP,OAAQ,EAAA,WAAA;AAAA,IACR,KAAM,EAAA,IAAA;AAAA,IAEN,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,QAAA,EAAA;AAAA,QAAO,SAAA,EAAW,aAAa,QAAQ,CAAA;AAAA,QAAG,EAAG,EAAA,GAAA;AAAA,QAAI,EAAG,EAAA,GAAA;AAAA,QAAI,CAAE,EAAA,KAAA;AAAA,OAAM,CAAA;AAAA,MAChE,2BACEA,cAAA,CAAA,QAAA,EAAA;AAAA,QACC,SAAA,EAAW,aAAa,gBAAgB,CAAA;AAAA,QACxC,EAAG,EAAA,GAAA;AAAA,QACH,EAAG,EAAA,GAAA;AAAA,QACH,CAAE,EAAA,KAAA;AAAA,OACJ,CAAA;AAAA,KAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var createContext = require('../../utils/createContext.js');
6
+ require('react');
7
+ require('../../utils/useFloatingUI.js');
8
+ require('../../utils/useId.js');
9
+ require('../../salt-provider/SaltProvider.js');
10
+ require('../../viewport/ViewportProvider.js');
11
+ require('clsx');
12
+
13
+ const RadioGroupContext = createContext.createContext(
14
+ "RadioGroupContext",
15
+ {}
16
+ );
17
+
18
+ exports.RadioGroupContext = RadioGroupContext;
19
+ //# sourceMappingURL=RadioGroupContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroupContext.js","sources":["../src/radio-button/internal/RadioGroupContext.tsx"],"sourcesContent":["import { ChangeEventHandler } from \"react\";\nimport { createContext } from \"../../utils\";\n\nexport interface RadioGroupContextValue {\n name?: string;\n value?: string;\n onChange?: ChangeEventHandler<HTMLElement>;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue>(\n \"RadioGroupContext\",\n {}\n);\n"],"names":["createContext"],"mappings":";;;;;;;;;;;;AASO,MAAM,iBAAoB,GAAAA,2BAAA;AAAA,EAC/B,mBAAA;AAAA,EACA,EAAC;AACH;;;;"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var RadioGroupContext = require('./RadioGroupContext.js');
7
+
8
+ function useRadioGroup() {
9
+ return React.useContext(RadioGroupContext.RadioGroupContext);
10
+ }
11
+
12
+ exports.useRadioGroup = useRadioGroup;
13
+ //# sourceMappingURL=useRadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRadioGroup.js","sources":["../src/radio-button/internal/useRadioGroup.ts"],"sourcesContent":["import { useContext } from \"react\";\nimport { RadioGroupContext } from \"./RadioGroupContext\";\n\nexport function useRadioGroup() {\n return useContext(RadioGroupContext);\n}\n"],"names":["useContext","RadioGroupContext"],"mappings":";;;;;;;AAGO,SAAS,aAAgB,GAAA;AAC9B,EAAA,OAAOA,iBAAWC,mCAAiB,CAAA,CAAA;AACrC;;;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = ".salt-provider {\n display: contents;\n}\n";
6
+ styleInject_es(css_248z);
7
+
8
+ module.exports = css_248z;
9
+ //# sourceMappingURL=SaltProvider.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaltProvider.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,166 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var clsx = require('clsx');
7
+ var React = require('react');
8
+ require('../aria-announcer/AriaAnnouncerContext.js');
9
+ require('../utils/useFloatingUI.js');
10
+ require('../utils/useId.js');
11
+ var useIsomorphicLayoutEffect = require('../utils/useIsomorphicLayoutEffect.js');
12
+ var ViewportProvider = require('../viewport/ViewportProvider.js');
13
+ var AriaAnnouncerProvider = require('../aria-announcer/AriaAnnouncerProvider.js');
14
+ var Breakpoints = require('../breakpoints/Breakpoints.js');
15
+ var SaltProvider$1 = require('./SaltProvider.css.js');
16
+ var window = require('@salt-ds/window');
17
+ var styles = require('@salt-ds/styles');
18
+
19
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
+
21
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
+
23
+ const DEFAULT_DENSITY = "medium";
24
+ const DEFAULT_THEME_NAME = "salt-theme";
25
+ const DEFAULT_MODE = "light";
26
+ const DensityContext = React.createContext(DEFAULT_DENSITY);
27
+ const ThemeContext = React.createContext({
28
+ theme: "",
29
+ mode: DEFAULT_MODE
30
+ });
31
+ const BreakpointContext = React.createContext(Breakpoints.DEFAULT_BREAKPOINTS);
32
+ const createThemedChildren = (children, themeName, density, mode, applyClassesTo) => {
33
+ var _a;
34
+ const themeNames = themeName === DEFAULT_THEME_NAME ? [DEFAULT_THEME_NAME] : [DEFAULT_THEME_NAME, themeName];
35
+ if (applyClassesTo === "root") {
36
+ return children;
37
+ } else if (applyClassesTo === "child") {
38
+ if (React__default["default"].isValidElement(children)) {
39
+ return React__default["default"].cloneElement(children, {
40
+ className: clsx.clsx(
41
+ (_a = children.props) == null ? void 0 : _a.className,
42
+ ...themeNames,
43
+ `salt-density-${density}`
44
+ ),
45
+ "data-mode": mode
46
+ });
47
+ } else {
48
+ console.warn(
49
+ `
50
+ SaltProvider can only apply CSS classes for theming to a single nested child element of the SaltProvider.
51
+ Either wrap elements with a single container or consider removing the applyClassesToChild prop, in which case a
52
+ div element will wrap your child elements`
53
+ );
54
+ return children;
55
+ }
56
+ } else {
57
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
58
+ className: clsx.clsx(
59
+ `salt-provider`,
60
+ ...themeNames,
61
+ `salt-density-${density}`
62
+ ),
63
+ "data-mode": mode,
64
+ children
65
+ });
66
+ }
67
+ };
68
+ function SaltProvider({
69
+ applyClassesTo: applyClassesToProp,
70
+ children,
71
+ density: densityProp,
72
+ theme: themeProp,
73
+ mode: modeProp,
74
+ breakpoints: breakpointsProp
75
+ }) {
76
+ var _a;
77
+ const inheritedDensity = React.useContext(DensityContext);
78
+ const { theme: inheritedThemes, mode: inheritedMode } = useTheme();
79
+ const isRoot = inheritedThemes === void 0 || inheritedThemes === "";
80
+ const density = (_a = densityProp != null ? densityProp : inheritedDensity) != null ? _a : DEFAULT_DENSITY;
81
+ const themeName = themeProp != null ? themeProp : inheritedThemes === "" ? DEFAULT_THEME_NAME : inheritedThemes;
82
+ const mode = modeProp != null ? modeProp : inheritedMode;
83
+ const breakpoints = breakpointsProp != null ? breakpointsProp : Breakpoints.DEFAULT_BREAKPOINTS;
84
+ const applyClassesTo = applyClassesToProp != null ? applyClassesToProp : isRoot ? "root" : "scope";
85
+ const themeContextValue = React.useMemo(
86
+ () => ({ theme: themeName, mode }),
87
+ [themeName, mode]
88
+ );
89
+ const themedChildren = createThemedChildren(
90
+ children,
91
+ themeName,
92
+ density,
93
+ mode,
94
+ applyClassesTo
95
+ );
96
+ const { window: targetWindow } = window.useWindow();
97
+ styles.useComponentCssInjection({
98
+ id: "salt-provider",
99
+ css: SaltProvider$1,
100
+ window: targetWindow
101
+ });
102
+ useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(() => {
103
+ const themeNames = themeName === DEFAULT_THEME_NAME ? [DEFAULT_THEME_NAME] : [DEFAULT_THEME_NAME, themeName];
104
+ if (applyClassesTo === "root") {
105
+ if (isRoot) {
106
+ targetWindow.document.documentElement.classList.add(
107
+ ...themeNames,
108
+ `salt-density-${density}`
109
+ );
110
+ targetWindow.document.documentElement.dataset.mode = mode;
111
+ } else {
112
+ console.warn(
113
+ "\nSaltProvider can only apply CSS classes to the root if it is the root level SaltProvider."
114
+ );
115
+ }
116
+ }
117
+ return () => {
118
+ if (applyClassesTo === "root") {
119
+ targetWindow.document.documentElement.classList.remove(
120
+ ...themeNames,
121
+ `salt-density-${density}`
122
+ );
123
+ targetWindow.document.documentElement.dataset.mode = void 0;
124
+ }
125
+ };
126
+ }, [applyClassesTo, density, isRoot, mode, themeName]);
127
+ const saltProvider = /* @__PURE__ */ jsxRuntime.jsx(DensityContext.Provider, {
128
+ value: density,
129
+ children: /* @__PURE__ */ jsxRuntime.jsx(ThemeContext.Provider, {
130
+ value: themeContextValue,
131
+ children: /* @__PURE__ */ jsxRuntime.jsx(BreakpointContext.Provider, {
132
+ value: breakpoints,
133
+ children: /* @__PURE__ */ jsxRuntime.jsx(ViewportProvider.ViewportProvider, {
134
+ children: themedChildren
135
+ })
136
+ })
137
+ })
138
+ });
139
+ if (isRoot) {
140
+ return /* @__PURE__ */ jsxRuntime.jsx(AriaAnnouncerProvider.AriaAnnouncerProvider, {
141
+ children: saltProvider
142
+ });
143
+ } else {
144
+ return saltProvider;
145
+ }
146
+ }
147
+ const useTheme = () => {
148
+ return React.useContext(ThemeContext);
149
+ };
150
+ function useDensity(density) {
151
+ const densityFromContext = React.useContext(DensityContext);
152
+ return density || densityFromContext || DEFAULT_DENSITY;
153
+ }
154
+ const useBreakpoints = () => {
155
+ return React.useContext(BreakpointContext);
156
+ };
157
+
158
+ exports.BreakpointContext = BreakpointContext;
159
+ exports.DEFAULT_DENSITY = DEFAULT_DENSITY;
160
+ exports.DensityContext = DensityContext;
161
+ exports.SaltProvider = SaltProvider;
162
+ exports.ThemeContext = ThemeContext;
163
+ exports.useBreakpoints = useBreakpoints;
164
+ exports.useDensity = useDensity;
165
+ exports.useTheme = useTheme;
166
+ //# sourceMappingURL=SaltProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SaltProvider.js","sources":["../src/salt-provider/SaltProvider.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport React, {\n createContext,\n HTMLAttributes,\n ReactElement,\n ReactNode,\n useContext,\n useMemo,\n} from \"react\";\nimport { AriaAnnouncerProvider } from \"../aria-announcer\";\nimport { Breakpoints, DEFAULT_BREAKPOINTS } from \"../breakpoints\";\nimport { Density, Mode, ThemeName } from \"../theme\";\nimport { ViewportProvider } from \"../viewport\";\nimport { useIsomorphicLayoutEffect } from \"../utils\";\n\nimport saltProviderCss from \"./SaltProvider.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nexport const DEFAULT_DENSITY = \"medium\";\n\nconst DEFAULT_THEME_NAME = \"salt-theme\";\n\nconst DEFAULT_MODE = \"light\";\n\nexport interface ThemeContextProps {\n theme: ThemeName;\n mode: Mode;\n}\n\nexport const DensityContext = createContext<Density>(DEFAULT_DENSITY);\n\nexport const ThemeContext = createContext<ThemeContextProps>({\n theme: \"\",\n mode: DEFAULT_MODE,\n});\n\nexport const BreakpointContext =\n createContext<Breakpoints>(DEFAULT_BREAKPOINTS);\n\nconst createThemedChildren = (\n children: ReactNode,\n themeName: ThemeName,\n density: Density,\n mode: Mode,\n applyClassesTo?: TargetElement\n) => {\n const themeNames =\n themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME]\n : [DEFAULT_THEME_NAME, themeName];\n if (applyClassesTo === \"root\") {\n return children;\n } else if (applyClassesTo === \"child\") {\n if (React.isValidElement<HTMLAttributes<HTMLElement>>(children)) {\n return React.cloneElement(children, {\n className: clsx(\n children.props?.className,\n ...themeNames,\n `salt-density-${density}`\n ),\n // @ts-ignore\n \"data-mode\": mode,\n });\n } else {\n console.warn(\n `\\nSaltProvider can only apply CSS classes for theming to a single nested child element of the SaltProvider.\n Either wrap elements with a single container or consider removing the applyClassesToChild prop, in which case a\n div element will wrap your child elements`\n );\n return children;\n }\n } else {\n return (\n <div\n className={clsx(\n `salt-provider`,\n ...themeNames,\n `salt-density-${density}`\n )}\n data-mode={mode}\n >\n {children}\n </div>\n );\n }\n};\n\ntype TargetElement = \"root\" | \"scope\" | \"child\";\n\ntype SaltProviderBaseProps = {\n applyClassesTo?: TargetElement;\n density?: Density;\n theme?: ThemeName;\n mode?: Mode;\n breakpoints?: Breakpoints;\n};\n\ninterface SaltProviderThatAppliesClassesToChild extends SaltProviderBaseProps {\n children: ReactElement;\n applyClassesTo: \"child\";\n}\n\ninterface SaltProviderThatInjectsThemeElement extends SaltProviderBaseProps {\n children: ReactNode;\n}\n\ninterface SaltProviderThatClassesToRoot\n extends SaltProviderThatInjectsThemeElement {\n applyClassesTo: \"root\";\n}\n\ntype SaltProviderProps =\n | SaltProviderThatAppliesClassesToChild\n | SaltProviderThatInjectsThemeElement\n | SaltProviderThatClassesToRoot;\n\nexport function SaltProvider({\n applyClassesTo: applyClassesToProp,\n children,\n density: densityProp,\n theme: themeProp,\n mode: modeProp,\n breakpoints: breakpointsProp,\n}: SaltProviderProps) {\n const inheritedDensity = useContext(DensityContext);\n const { theme: inheritedThemes, mode: inheritedMode } = useTheme();\n\n const isRoot = inheritedThemes === undefined || inheritedThemes === \"\";\n const density = densityProp ?? inheritedDensity ?? DEFAULT_DENSITY;\n const themeName =\n themeProp ??\n (inheritedThemes === \"\" ? DEFAULT_THEME_NAME : inheritedThemes);\n const mode = modeProp ?? inheritedMode;\n const breakpoints = breakpointsProp ?? DEFAULT_BREAKPOINTS;\n\n const applyClassesTo = applyClassesToProp ?? (isRoot ? \"root\" : \"scope\");\n\n const themeContextValue = useMemo(\n () => ({ theme: themeName, mode }),\n [themeName, mode]\n );\n\n const themedChildren = createThemedChildren(\n children,\n themeName,\n density,\n mode,\n applyClassesTo\n );\n\n const { window: targetWindow } = useWindow();\n useComponentCssInjection({\n id: \"salt-provider\",\n css: saltProviderCss,\n window: targetWindow,\n });\n\n useIsomorphicLayoutEffect(() => {\n const themeNames =\n themeName === DEFAULT_THEME_NAME\n ? [DEFAULT_THEME_NAME]\n : [DEFAULT_THEME_NAME, themeName];\n if (applyClassesTo === \"root\") {\n if (isRoot) {\n // add the styles we want to apply\n targetWindow.document.documentElement.classList.add(\n ...themeNames,\n `salt-density-${density}`\n );\n targetWindow.document.documentElement.dataset.mode = mode;\n } else {\n console.warn(\n \"\\nSaltProvider can only apply CSS classes to the root if it is the root level SaltProvider.\"\n );\n }\n }\n return () => {\n if (applyClassesTo === \"root\") {\n // When unmounting/remounting, remove the applied styles from the root\n targetWindow.document.documentElement.classList.remove(\n ...themeNames,\n `salt-density-${density}`\n );\n targetWindow.document.documentElement.dataset.mode = undefined;\n }\n };\n }, [applyClassesTo, density, isRoot, mode, themeName]);\n\n const saltProvider = (\n <DensityContext.Provider value={density}>\n <ThemeContext.Provider value={themeContextValue}>\n <BreakpointContext.Provider value={breakpoints}>\n <ViewportProvider>{themedChildren}</ViewportProvider>\n </BreakpointContext.Provider>\n </ThemeContext.Provider>\n </DensityContext.Provider>\n );\n\n if (isRoot) {\n return <AriaAnnouncerProvider>{saltProvider}</AriaAnnouncerProvider>;\n } else {\n return saltProvider;\n }\n}\n\nexport const useTheme = (): ThemeContextProps => {\n return useContext(ThemeContext);\n};\n\n/**\n * `useDensity` merges density value from `DensityContext` with the one from component's props.\n */\nexport function useDensity(density?: Density): Density {\n const densityFromContext = useContext(DensityContext);\n return density || densityFromContext || DEFAULT_DENSITY;\n}\n\nexport const useBreakpoints = (): Breakpoints => {\n return useContext(BreakpointContext);\n};\n"],"names":["createContext","DEFAULT_BREAKPOINTS","React","clsx","jsx","useContext","useMemo","useWindow","useComponentCssInjection","saltProviderCss","useIsomorphicLayoutEffect","ViewportProvider","AriaAnnouncerProvider"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "/* Styles applied to the root element */\n.saltSpinner {\n position: relative;\n}\n\n/* Styles applied to the SVG stop elements */\n.saltSpinner-gradientStop {\n stop-color: var(--saltSpinner-gradient-color, var(--salt-accent-background));\n}\n\n/* Styles applied when `size=\"default\"` */\n.saltSpinner-default {\n height: var(--salt-size-base);\n width: var(--salt-size-base);\n}\n\n/* Styles applied when `size=\"large\"` */\n.saltSpinner-large {\n height: calc(var(--salt-size-base) * 2);\n width: calc(var(--salt-size-base) * 2);\n}\n\n/* Styles applied to the SVG */\n.saltSpinner-spinner {\n animation: spinner 0.9s linear infinite;\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n}\n\n@keyframes spinner {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n";
6
+ styleInject_es(css_248z);
7
+
8
+ module.exports = css_248z;
9
+ //# sourceMappingURL=Spinner.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,89 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var clsx = require('clsx');
7
+ var React = require('react');
8
+ require('../aria-announcer/AriaAnnouncerContext.js');
9
+ var useAriaAnnouncer = require('../aria-announcer/useAriaAnnouncer.js');
10
+ var makePrefixer = require('../utils/makePrefixer.js');
11
+ require('../utils/useFloatingUI.js');
12
+ var useId = require('../utils/useId.js');
13
+ require('../salt-provider/SaltProvider.js');
14
+ require('../viewport/ViewportProvider.js');
15
+ var SpinnerSVG = require('./svgSpinners/SpinnerSVG.js');
16
+ var Spinner$1 = require('./Spinner.css.js');
17
+ var window = require('@salt-ds/window');
18
+ var styles = require('@salt-ds/styles');
19
+
20
+ const SpinnerSizeValues = ["default", "large"];
21
+ const withBaseName = makePrefixer.makePrefixer("saltSpinner");
22
+ const Spinner = React.forwardRef(
23
+ function Spinner2({
24
+ "aria-label": ariaLabel = "loading",
25
+ announcerInterval = 5e3,
26
+ announcerTimeout = 2e4,
27
+ completionAnnouncement = `finished ${ariaLabel}`,
28
+ disableAnnouncer,
29
+ role = "img",
30
+ className,
31
+ size = "default",
32
+ id: idProp,
33
+ ...rest
34
+ }, ref) {
35
+ const id = useId.useId(idProp);
36
+ const { window: targetWindow } = window.useWindow();
37
+ styles.useComponentCssInjection({
38
+ id: "salt-spinner",
39
+ css: Spinner$1,
40
+ window: targetWindow
41
+ });
42
+ const { announce } = useAriaAnnouncer.useAriaAnnouncer();
43
+ React.useEffect(() => {
44
+ if (disableAnnouncer)
45
+ return;
46
+ announce(ariaLabel);
47
+ const startTime = new Date().getTime();
48
+ const interval = announcerInterval > 0 && setInterval(() => {
49
+ if (new Date().getTime() - startTime > announcerTimeout) {
50
+ announce(
51
+ `${ariaLabel} is still in progress, but will no longer announce.`
52
+ );
53
+ interval && clearInterval(interval);
54
+ return;
55
+ }
56
+ announce(ariaLabel);
57
+ }, announcerInterval);
58
+ return () => {
59
+ if (disableAnnouncer)
60
+ return;
61
+ interval && clearInterval(interval);
62
+ if (completionAnnouncement) {
63
+ announce(completionAnnouncement);
64
+ }
65
+ };
66
+ }, [
67
+ announce,
68
+ announcerInterval,
69
+ announcerTimeout,
70
+ ariaLabel,
71
+ completionAnnouncement,
72
+ disableAnnouncer
73
+ ]);
74
+ return /* @__PURE__ */ jsxRuntime.jsx("div", {
75
+ "aria-label": ariaLabel,
76
+ className: clsx.clsx(withBaseName(), withBaseName(size), className),
77
+ ref,
78
+ role,
79
+ ...rest,
80
+ children: /* @__PURE__ */ jsxRuntime.jsx(SpinnerSVG.SpinnerSVG, {
81
+ id
82
+ })
83
+ });
84
+ }
85
+ );
86
+
87
+ exports.Spinner = Spinner;
88
+ exports.SpinnerSizeValues = SpinnerSizeValues;
89
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","sources":["../src/spinner/Spinner.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, useEffect } from \"react\";\nimport { useAriaAnnouncer } from \"../aria-announcer\";\nimport { makePrefixer, useId } from \"../utils\";\nimport { SpinnerSVG } from \"./svgSpinners/SpinnerSVG\";\n\nimport spinnerCss from \"./Spinner.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\n/**\n * Spinner component, provides an indeterminate loading indicator\n *\n * @example\n * <Spinner size=\"default | large\" />\n */\n\nexport const SpinnerSizeValues = [\"default\", \"large\"] as const;\nexport type SpinnerSize = typeof SpinnerSizeValues[number];\nconst withBaseName = makePrefixer(\"saltSpinner\");\n\nexport interface SpinnerProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Determines the interval on which the component will continue to announce the aria-label. Defaults to 5000ms (5s)\n */\n announcerInterval?: number;\n /**\n * * Determines the interval after which the component will stop announcing the aria-label. Defaults to 20000ms (20s)\n */\n announcerTimeout?: number;\n /**\n * The className(s) of the component\n */\n className?: string;\n /**\n * Determines the message to be announced by the component when it unmounts. Set to null if not needed.\n */\n completionAnnouncement?: string | null;\n /**\n * If true, built in aria announcer will be inactive\n */\n disableAnnouncer?: boolean;\n /**\n * The prop for the role attribute of the component\n */\n role?: string;\n /**\n * Determines the size of the spinner. Must be one of: 'default', 'large'.\n */\n size?: SpinnerSize;\n /**\n * The ids of the SvgSpinner components\n */\n id?: string;\n}\n\nexport const Spinner = forwardRef<HTMLDivElement, SpinnerProps>(\n function Spinner(\n {\n \"aria-label\": ariaLabel = \"loading\",\n announcerInterval = 5000,\n announcerTimeout = 20000,\n completionAnnouncement = `finished ${ariaLabel}`,\n disableAnnouncer,\n role = \"img\",\n className,\n size = \"default\",\n id: idProp,\n ...rest\n },\n ref\n ) {\n const id = useId(idProp);\n const { window: targetWindow } = useWindow();\n useComponentCssInjection({\n id: \"salt-spinner\",\n css: spinnerCss,\n window: targetWindow,\n });\n\n const { announce } = useAriaAnnouncer();\n\n useEffect(() => {\n if (disableAnnouncer) return;\n\n announce(ariaLabel);\n\n const startTime = new Date().getTime();\n\n const interval =\n announcerInterval > 0 &&\n setInterval(() => {\n if (new Date().getTime() - startTime > announcerTimeout) {\n // The announcer will stop after `announcerTimeout` time\n announce(\n `${ariaLabel} is still in progress, but will no longer announce.`\n );\n interval && clearInterval(interval);\n return;\n }\n announce(ariaLabel);\n }, announcerInterval);\n\n return () => {\n if (disableAnnouncer) return;\n\n interval && clearInterval(interval);\n if (completionAnnouncement) {\n announce(completionAnnouncement);\n }\n };\n }, [\n announce,\n announcerInterval,\n announcerTimeout,\n ariaLabel,\n completionAnnouncement,\n disableAnnouncer,\n ]);\n\n return (\n <div\n aria-label={ariaLabel}\n className={clsx(withBaseName(), withBaseName(size), className)}\n ref={ref}\n role={role}\n {...rest}\n >\n <SpinnerSVG id={id} />\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","Spinner","useId","useWindow","useComponentCssInjection","spinnerCss","useAriaAnnouncer","useEffect","jsx","clsx","SpinnerSVG"],"mappings":";;;;;;;;;;;;;;;;;;;AAiBa,MAAA,iBAAA,GAAoB,CAAC,SAAA,EAAW,OAAO,EAAA;AAEpD,MAAM,YAAA,GAAeA,0BAAa,aAAa,CAAA,CAAA;AAqCxC,MAAM,OAAU,GAAAC,gBAAA;AAAA,EACrB,SAASC,QACP,CAAA;AAAA,IACE,cAAc,SAAY,GAAA,SAAA;AAAA,IAC1B,iBAAoB,GAAA,GAAA;AAAA,IACpB,gBAAmB,GAAA,GAAA;AAAA,IACnB,yBAAyB,CAAY,SAAA,EAAA,SAAA,CAAA,CAAA;AAAA,IACrC,gBAAA;AAAA,IACA,IAAO,GAAA,KAAA;AAAA,IACP,SAAA;AAAA,IACA,IAAO,GAAA,SAAA;AAAA,IACP,EAAI,EAAA,MAAA;AAAA,IACD,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,EAAA,GAAKC,YAAM,MAAM,CAAA,CAAA;AACvB,IAAA,MAAM,EAAE,MAAA,EAAQ,YAAa,EAAA,GAAIC,gBAAU,EAAA,CAAA;AAC3C,IAAyBC,+BAAA,CAAA;AAAA,MACvB,EAAI,EAAA,cAAA;AAAA,MACJ,GAAK,EAAAC,SAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,EAAE,QAAS,EAAA,GAAIC,iCAAiB,EAAA,CAAA;AAEtC,IAAAC,eAAA,CAAU,MAAM;AACd,MAAI,IAAA,gBAAA;AAAkB,QAAA,OAAA;AAEtB,MAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAElB,MAAA,MAAM,SAAY,GAAA,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,CAAA;AAErC,MAAA,MAAM,QACJ,GAAA,iBAAA,GAAoB,CACpB,IAAA,WAAA,CAAY,MAAM;AAChB,QAAA,IAAI,IAAI,IAAK,EAAA,CAAE,OAAQ,EAAA,GAAI,YAAY,gBAAkB,EAAA;AAEvD,UAAA,QAAA;AAAA,YACE,CAAG,EAAA,SAAA,CAAA,mDAAA,CAAA;AAAA,WACL,CAAA;AACA,UAAA,QAAA,IAAY,cAAc,QAAQ,CAAA,CAAA;AAClC,UAAA,OAAA;AAAA,SACF;AACA,QAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAAA,SACjB,iBAAiB,CAAA,CAAA;AAEtB,MAAA,OAAO,MAAM;AACX,QAAI,IAAA,gBAAA;AAAkB,UAAA,OAAA;AAEtB,QAAA,QAAA,IAAY,cAAc,QAAQ,CAAA,CAAA;AAClC,QAAA,IAAI,sBAAwB,EAAA;AAC1B,UAAA,QAAA,CAAS,sBAAsB,CAAA,CAAA;AAAA,SACjC;AAAA,OACF,CAAA;AAAA,KACC,EAAA;AAAA,MACD,QAAA;AAAA,MACA,iBAAA;AAAA,MACA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,sBAAA;AAAA,MACA,gBAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,WAAWC,SAAK,CAAA,YAAA,IAAgB,YAAa,CAAA,IAAI,GAAG,SAAS,CAAA;AAAA,MAC7D,GAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAAD,cAAA,CAAAE,qBAAA,EAAA;AAAA,QAAW,EAAA;AAAA,OAAQ,CAAA;AAAA,KACtB,CAAA,CAAA;AAAA,GAEJ;AACF;;;;;"}
@@ -0,0 +1,82 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ require('react');
7
+ var makePrefixer = require('../../utils/makePrefixer.js');
8
+ require('../../utils/useFloatingUI.js');
9
+ require('../../utils/useId.js');
10
+ require('../../salt-provider/SaltProvider.js');
11
+ require('../../viewport/ViewportProvider.js');
12
+ require('clsx');
13
+
14
+ const withBaseName = makePrefixer.makePrefixer("saltSpinner");
15
+ const SpinnerSVG = (props) => {
16
+ const { id: idProp, rest } = props;
17
+ const id = idProp || "svg-spinner";
18
+ return /* @__PURE__ */ jsxRuntime.jsxs("svg", {
19
+ className: withBaseName("spinner"),
20
+ viewBox: "0 0 28 28",
21
+ id,
22
+ ...rest,
23
+ children: [
24
+ /* @__PURE__ */ jsxRuntime.jsxs("defs", {
25
+ children: [
26
+ /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", {
27
+ id: `${id}-1`,
28
+ x1: "100%",
29
+ x2: "0%",
30
+ y1: "78%",
31
+ y2: "78%",
32
+ children: [
33
+ /* @__PURE__ */ jsxRuntime.jsx("stop", {
34
+ className: withBaseName("gradientStop"),
35
+ offset: "0%"
36
+ }),
37
+ /* @__PURE__ */ jsxRuntime.jsx("stop", {
38
+ className: withBaseName("gradientStop"),
39
+ offset: "100%"
40
+ })
41
+ ]
42
+ }),
43
+ /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", {
44
+ id: `${id}-2`,
45
+ x1: "13%",
46
+ x2: "100%",
47
+ y1: "0%",
48
+ y2: "87%",
49
+ children: [
50
+ /* @__PURE__ */ jsxRuntime.jsx("stop", {
51
+ className: withBaseName("gradientStop"),
52
+ offset: "0%"
53
+ }),
54
+ /* @__PURE__ */ jsxRuntime.jsx("stop", {
55
+ className: withBaseName("gradientStop"),
56
+ offset: "100%",
57
+ stopOpacity: "0"
58
+ })
59
+ ]
60
+ })
61
+ ]
62
+ }),
63
+ /* @__PURE__ */ jsxRuntime.jsxs("g", {
64
+ fill: "none",
65
+ fillRule: "evenodd",
66
+ children: [
67
+ /* @__PURE__ */ jsxRuntime.jsx("path", {
68
+ d: "M28 14H24C24 8.47715 19.5228 4 14 4C8.47715 4 4 8.47715 4 14 H 0 C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14Z",
69
+ fill: `url(#${id}-1)`
70
+ }),
71
+ /* @__PURE__ */ jsxRuntime.jsx("path", {
72
+ d: "M4 14 C4 19.5228 8.47715 24 14 24V28C6.26801 28 0 21.732 0 14 Z",
73
+ fill: `url(#${id}-2)`
74
+ })
75
+ ]
76
+ })
77
+ ]
78
+ });
79
+ };
80
+
81
+ exports.SpinnerSVG = SpinnerSVG;
82
+ //# sourceMappingURL=SpinnerSVG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SpinnerSVG.js","sources":["../src/spinner/svgSpinners/SpinnerSVG.tsx"],"sourcesContent":["import { SVGAttributes } from \"react\";\nimport { makePrefixer } from \"../../utils\";\n\nconst withBaseName = makePrefixer(\"saltSpinner\");\n\n/* SVG based on MD, do not change viewbox attribute */\nexport const SpinnerSVG = (props: {\n id?: string;\n rest?: Omit<SVGAttributes<SVGSVGElement>, \"id\">;\n}) => {\n const { id: idProp, rest } = props;\n const id = idProp || \"svg-spinner\";\n\n return (\n <svg\n className={withBaseName(\"spinner\")}\n viewBox=\"0 0 28 28\"\n id={id}\n {...rest}\n >\n <defs>\n <linearGradient id={`${id}-1`} x1=\"100%\" x2=\"0%\" y1=\"78%\" y2=\"78%\">\n <stop className={withBaseName(\"gradientStop\")} offset=\"0%\" />\n <stop className={withBaseName(\"gradientStop\")} offset=\"100%\" />\n </linearGradient>\n <linearGradient id={`${id}-2`} x1=\"13%\" x2=\"100%\" y1=\"0%\" y2=\"87%\">\n <stop className={withBaseName(\"gradientStop\")} offset=\"0%\" />\n <stop\n className={withBaseName(\"gradientStop\")}\n offset=\"100%\"\n stopOpacity=\"0\"\n />\n </linearGradient>\n </defs>\n <g fill=\"none\" fillRule=\"evenodd\">\n <path\n d=\"M28 14H24C24 8.47715 19.5228 4 14 4C8.47715 4 4 8.47715 4 14 H 0 C0 6.26801 6.26801 0 14 0C21.732 0 28 6.26801 28 14Z\"\n fill={`url(#${id}-1)`}\n />\n <path\n d=\"M4 14 C4 19.5228 8.47715 24 14 24V28C6.26801 28 0 21.732 0 14 Z\"\n fill={`url(#${id}-2)`}\n />\n </g>\n </svg>\n );\n};\n"],"names":["makePrefixer","jsxs","jsx"],"mappings":";;;;;;;;;;;;;AAGA,MAAM,YAAA,GAAeA,0BAAa,aAAa,CAAA,CAAA;AAGlC,MAAA,UAAA,GAAa,CAAC,KAGrB,KAAA;AACJ,EAAA,MAAM,EAAE,EAAA,EAAI,MAAQ,EAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AAC7B,EAAA,MAAM,KAAK,MAAU,IAAA,aAAA,CAAA;AAErB,EAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,IACC,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,IACjC,OAAQ,EAAA,WAAA;AAAA,IACR,EAAA;AAAA,IACC,GAAG,IAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAACA,eAAA,CAAA,MAAA,EAAA;AAAA,QACC,QAAA,EAAA;AAAA,0BAACA,eAAA,CAAA,gBAAA,EAAA;AAAA,YAAe,IAAI,CAAG,EAAA,EAAA,CAAA,EAAA,CAAA;AAAA,YAAQ,EAAG,EAAA,MAAA;AAAA,YAAO,EAAG,EAAA,IAAA;AAAA,YAAK,EAAG,EAAA,KAAA;AAAA,YAAM,EAAG,EAAA,KAAA;AAAA,YAC3D,QAAA,EAAA;AAAA,8BAACC,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBAAG,MAAO,EAAA,IAAA;AAAA,eAAK,CAAA;AAAA,8BAC1DA,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBAAG,MAAO,EAAA,MAAA;AAAA,eAAO,CAAA;AAAA,aAAA;AAAA,WAC/D,CAAA;AAAA,0BACCD,eAAA,CAAA,gBAAA,EAAA;AAAA,YAAe,IAAI,CAAG,EAAA,EAAA,CAAA,EAAA,CAAA;AAAA,YAAQ,EAAG,EAAA,KAAA;AAAA,YAAM,EAAG,EAAA,MAAA;AAAA,YAAO,EAAG,EAAA,IAAA;AAAA,YAAK,EAAG,EAAA,KAAA;AAAA,YAC3D,QAAA,EAAA;AAAA,8BAACC,cAAA,CAAA,MAAA,EAAA;AAAA,gBAAK,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBAAG,MAAO,EAAA,IAAA;AAAA,eAAK,CAAA;AAAA,8BAC1DA,cAAA,CAAA,MAAA,EAAA;AAAA,gBACC,SAAA,EAAW,aAAa,cAAc,CAAA;AAAA,gBACtC,MAAO,EAAA,MAAA;AAAA,gBACP,WAAY,EAAA,GAAA;AAAA,eACd,CAAA;AAAA,aAAA;AAAA,WACF,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,sBACCD,eAAA,CAAA,GAAA,EAAA;AAAA,QAAE,IAAK,EAAA,MAAA;AAAA,QAAO,QAAS,EAAA,SAAA;AAAA,QACtB,QAAA,EAAA;AAAA,0BAACC,cAAA,CAAA,MAAA,EAAA;AAAA,YACC,CAAE,EAAA,uHAAA;AAAA,YACF,MAAM,CAAQ,KAAA,EAAA,EAAA,CAAA,GAAA,CAAA;AAAA,WAChB,CAAA;AAAA,0BACCA,cAAA,CAAA,MAAA,EAAA;AAAA,YACC,CAAE,EAAA,iEAAA;AAAA,YACF,MAAM,CAAQ,KAAA,EAAA,EAAA,CAAA,GAAA,CAAA;AAAA,WAChB,CAAA;AAAA,SAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var FlexLayout = require('../flex-layout/FlexLayout.js');
8
+
9
+ const SplitLayout = React.forwardRef(
10
+ ({ endItem, startItem, ...rest }, ref) => {
11
+ const justify = endItem && !startItem ? "end" : "space-between";
12
+ return /* @__PURE__ */ jsxRuntime.jsxs(FlexLayout.FlexLayout, {
13
+ ref,
14
+ justify,
15
+ ...rest,
16
+ children: [
17
+ startItem,
18
+ endItem
19
+ ]
20
+ });
21
+ }
22
+ );
23
+
24
+ exports.SplitLayout = SplitLayout;
25
+ //# sourceMappingURL=SplitLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitLayout.js","sources":["../src/split-layout/SplitLayout.tsx"],"sourcesContent":["import { ElementType, forwardRef, ReactElement, ReactNode } from \"react\";\nimport { FlexLayout, FlexLayoutProps } from \"../flex-layout\";\nimport { PolymorphicComponentPropWithRef, PolymorphicRef } from \"../utils\";\n\nexport type SplitLayoutProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Defines the default behavior for how flex items are laid out along the cross axis on the current line.\n */\n align?: FlexLayoutProps<ElementType>[\"align\"];\n /**\n * Establishes the main-axis, defining the direction children are placed. Default is \"row\".\n */\n direction?: FlexLayoutProps<ElementType>[\"direction\"];\n /**\n * End component to be rendered.\n */\n endItem?: ReactNode;\n /**\n * Controls the space between left and right items.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Start component to be rendered.\n */\n startItem?: ReactNode;\n }\n >;\n\ntype SplitLayoutComponent = <T extends ElementType = \"div\">(\n props: SplitLayoutProps<T>\n) => ReactElement | null;\n\nexport const SplitLayout: SplitLayoutComponent = forwardRef(\n <T extends ElementType = \"div\">(\n { endItem, startItem, ...rest }: SplitLayoutProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const justify = endItem && !startItem ? \"end\" : \"space-between\";\n return (\n <FlexLayout ref={ref} justify={justify} {...rest}>\n {startItem}\n {endItem}\n </FlexLayout>\n );\n }\n);\n"],"names":["forwardRef","jsxs","FlexLayout"],"mappings":";;;;;;;;AAmCO,MAAM,WAAoC,GAAAA,gBAAA;AAAA,EAC/C,CACE,EAAE,OAAA,EAAS,SAAc,EAAA,GAAA,IAAA,IACzB,GACG,KAAA;AACH,IAAA,MAAM,OAAU,GAAA,OAAA,IAAW,CAAC,SAAA,GAAY,KAAQ,GAAA,eAAA,CAAA;AAChD,IAAA,uBACGC,eAAA,CAAAC,qBAAA,EAAA;AAAA,MAAW,GAAA;AAAA,MAAU,OAAA;AAAA,MAAmB,GAAG,IAAA;AAAA,MACzC,QAAA,EAAA;AAAA,QAAA,SAAA;AAAA,QACA,OAAA;AAAA,OAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var styleInject_es = require('../../../../node_modules/style-inject/dist/style-inject.es.js');
4
+
5
+ var css_248z = "/* Default variables applied to the root element */\n.saltStackLayout {\n --stackLayout-gap-multiplier: var(--stackLayout-gap-density-multiplier, 3);\n --stackLayout-separator-weight: var(--salt-size-border, 1);\n --stackLayout-gap: calc(var(--salt-size-unit) * var(--stackLayout-gap-multiplier));\n}\n\n.saltStackLayout-separator > * {\n position: relative;\n}\n.saltStackLayout-separator > *:not(:last-child)::after {\n position: absolute;\n display: block;\n content: \"\";\n background-color: var(--salt-separable-secondary-borderColor);\n}\n\n/* \n * Seperator offset based on seperator alignment\n * var(--stackLayout-separator-weight) is used to take into account the thickness of the seperator,so even at higher weights it will be at the start/center/end\n*/\n.saltStackLayout-separator-start {\n --stackLayout-seperator-offset: calc(var(--stackLayout-separator-weight) * -1);\n}\n.saltStackLayout-separator-center {\n --stackLayout-seperator-offset: calc((var(--stackLayout-gap) * -0.5) + (var(--stackLayout-separator-weight) * -0.5));\n}\n.saltStackLayout-separator-end {\n --stackLayout-seperator-offset: calc(var(--stackLayout-gap) * -1);\n}\n\n/* When alignment is 'row' and we have seperators (last child doesn't need a seperator) */\n.saltStackLayout-row.saltStackLayout-separator > *:not(:last-child)::after {\n height: 100%;\n width: var(--stackLayout-separator-weight);\n right: var(--stackLayout-seperator-offset);\n top: 0;\n}\n\n/* When alignment is 'column' and we have seperators (last child doesn't need a seperator) */\n.saltStackLayout-column.saltStackLayout-separator > *:not(:last-child)::after {\n width: 100%;\n height: var(--stackLayout-separator-weight);\n bottom: var(--stackLayout-seperator-offset);\n left: 0;\n}\n";
6
+ styleInject_es(css_248z);
7
+
8
+ module.exports = css_248z;
9
+ //# sourceMappingURL=StackLayout.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackLayout.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var React = require('react');
7
+ var FlexLayout = require('../flex-layout/FlexLayout.js');
8
+ var makePrefixer = require('../utils/makePrefixer.js');
9
+ require('../utils/useFloatingUI.js');
10
+ require('../utils/useId.js');
11
+ var useResponsiveProp = require('../utils/useResponsiveProp.js');
12
+ var clsx = require('clsx');
13
+ var StackLayout$1 = require('./StackLayout.css.js');
14
+ var window = require('@salt-ds/window');
15
+ var styles = require('@salt-ds/styles');
16
+
17
+ const withBaseName = makePrefixer.makePrefixer("saltStackLayout");
18
+ const StackLayout = React.forwardRef(
19
+ ({
20
+ children,
21
+ className,
22
+ direction = "column",
23
+ gap,
24
+ separators,
25
+ style,
26
+ ...rest
27
+ }, ref) => {
28
+ const { window: targetWindow } = window.useWindow();
29
+ styles.useComponentCssInjection({
30
+ id: "salt-stack-layout",
31
+ css: StackLayout$1,
32
+ window: targetWindow
33
+ });
34
+ const flexGap = useResponsiveProp.useResponsiveProp(gap, 3);
35
+ const separatorAlignment = separators === true ? "center" : separators;
36
+ const flexDirection = useResponsiveProp.useResponsiveProp(direction, "column");
37
+ const stackLayoutStyles = {
38
+ ...style,
39
+ "--stackLayout-gap-multiplier": flexGap
40
+ };
41
+ return /* @__PURE__ */ jsxRuntime.jsx(FlexLayout.FlexLayout, {
42
+ className: clsx.clsx(
43
+ withBaseName(),
44
+ withBaseName(flexDirection),
45
+ {
46
+ [withBaseName("separator")]: !!separatorAlignment,
47
+ [separatorAlignment ? withBaseName(`separator-${separatorAlignment}`) : ""]: separatorAlignment
48
+ },
49
+ className
50
+ ),
51
+ ref,
52
+ direction,
53
+ style: stackLayoutStyles,
54
+ wrap: false,
55
+ gap: flexGap,
56
+ ...rest,
57
+ children
58
+ });
59
+ }
60
+ );
61
+
62
+ exports.StackLayout = StackLayout;
63
+ //# sourceMappingURL=StackLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackLayout.js","sources":["../src/stack-layout/StackLayout.tsx"],"sourcesContent":["import { ElementType, forwardRef, ReactElement } from \"react\";\nimport {\n FlexLayout,\n FlexLayoutProps,\n LayoutDirection,\n LayoutSeparator,\n} from \"../flex-layout\";\nimport {\n makePrefixer,\n PolymorphicComponentPropWithRef,\n PolymorphicRef,\n ResponsiveProp,\n useResponsiveProp,\n} from \"../utils\";\nimport { clsx } from \"clsx\";\nimport stackLayoutCss from \"./StackLayout.css\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\nconst withBaseName = makePrefixer(\"saltStackLayout\");\n\nexport type StackLayoutProps<T extends ElementType> =\n PolymorphicComponentPropWithRef<\n T,\n {\n /**\n * Defines the default behavior for how flex items are laid out along the cross axis on the current line, default is \"stretch\".\n */\n align?: FlexLayoutProps<ElementType>[\"align\"];\n /**\n * Establishes the main-axis, defining the direction children are placed. Default is \"column\".\n */\n direction?: ResponsiveProp<LayoutDirection>;\n /**\n * Controls the space between items, default is 3.\n */\n gap?: FlexLayoutProps<ElementType>[\"gap\"];\n /**\n * Adds a separator between elements, default is false.\n */\n separators?: LayoutSeparator | boolean;\n }\n >;\n\ntype StackLayoutComponent = <T extends ElementType = \"div\">(\n props: StackLayoutProps<T>\n) => ReactElement | null;\n\nexport const StackLayout: StackLayoutComponent = forwardRef(\n <T extends ElementType = \"div\">(\n {\n children,\n className,\n direction = \"column\",\n gap,\n separators,\n style,\n ...rest\n }: StackLayoutProps<T>,\n ref?: PolymorphicRef<T>\n ) => {\n const { window: targetWindow } = useWindow();\n useComponentCssInjection({\n id: \"salt-stack-layout\",\n css: stackLayoutCss,\n window: targetWindow,\n });\n\n const flexGap = useResponsiveProp(gap, 3);\n const separatorAlignment = separators === true ? \"center\" : separators;\n const flexDirection = useResponsiveProp(direction, \"column\");\n const stackLayoutStyles = {\n ...style,\n \"--stackLayout-gap-multiplier\": flexGap,\n };\n return (\n <FlexLayout\n className={clsx(\n withBaseName(),\n withBaseName(flexDirection),\n {\n [withBaseName(\"separator\")]: !!separatorAlignment,\n [separatorAlignment\n ? withBaseName(`separator-${separatorAlignment}`)\n : \"\"]: separatorAlignment,\n },\n className\n )}\n ref={ref}\n direction={direction}\n style={stackLayoutStyles}\n wrap={false}\n gap={flexGap}\n {...rest}\n >\n {children}\n </FlexLayout>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","useWindow","useComponentCssInjection","stackLayoutCss","useResponsiveProp","jsx","FlexLayout","clsx"],"mappings":";;;;;;;;;;;;;;;;AAmBA,MAAM,YAAA,GAAeA,0BAAa,iBAAiB,CAAA,CAAA;AA6B5C,MAAM,WAAoC,GAAAC,gBAAA;AAAA,EAC/C,CACE;AAAA,IACE,QAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAY,GAAA,QAAA;AAAA,IACZ,GAAA;AAAA,IACA,UAAA;AAAA,IACA,KAAA;AAAA,IACG,GAAA,IAAA;AAAA,KAEL,GACG,KAAA;AACH,IAAA,MAAM,EAAE,MAAA,EAAQ,YAAa,EAAA,GAAIC,gBAAU,EAAA,CAAA;AAC3C,IAAyBC,+BAAA,CAAA;AAAA,MACvB,EAAI,EAAA,mBAAA;AAAA,MACJ,GAAK,EAAAC,aAAA;AAAA,MACL,MAAQ,EAAA,YAAA;AAAA,KACT,CAAA,CAAA;AAED,IAAM,MAAA,OAAA,GAAUC,mCAAkB,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AACxC,IAAM,MAAA,kBAAA,GAAqB,UAAe,KAAA,IAAA,GAAO,QAAW,GAAA,UAAA,CAAA;AAC5D,IAAM,MAAA,aAAA,GAAgBA,mCAAkB,CAAA,SAAA,EAAW,QAAQ,CAAA,CAAA;AAC3D,IAAA,MAAM,iBAAoB,GAAA;AAAA,MACxB,GAAG,KAAA;AAAA,MACH,8BAAgC,EAAA,OAAA;AAAA,KAClC,CAAA;AACA,IAAA,uBACGC,cAAA,CAAAC,qBAAA,EAAA;AAAA,MACC,SAAW,EAAAC,SAAA;AAAA,QACT,YAAa,EAAA;AAAA,QACb,aAAa,aAAa,CAAA;AAAA,QAC1B;AAAA,UACE,CAAC,YAAA,CAAa,WAAW,CAAA,GAAI,CAAC,CAAC,kBAAA;AAAA,UAC/B,CAAC,kBACG,GAAA,YAAA,CAAa,CAAa,UAAA,EAAA,kBAAA,CAAA,CAAoB,IAC9C,EAAK,GAAA,kBAAA;AAAA,SACX;AAAA,QACA,SAAA;AAAA,OACF;AAAA,MACA,GAAA;AAAA,MACA,SAAA;AAAA,MACA,KAAO,EAAA,iBAAA;AAAA,MACP,IAAM,EAAA,KAAA;AAAA,MACN,GAAK,EAAA,OAAA;AAAA,MACJ,GAAG,IAAA;AAAA,MAEH,QAAA;AAAA,KACH,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}