@salt-ds/lab 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (458) hide show
  1. package/dist-cjs/packages/lab/src/accordion/AccordionSection.js +1 -0
  2. package/dist-cjs/packages/lab/src/accordion/AccordionSection.js.map +1 -1
  3. package/dist-cjs/packages/lab/src/app-header/AppHeader.js +1 -0
  4. package/dist-cjs/packages/lab/src/app-header/AppHeader.js.map +1 -1
  5. package/dist-cjs/packages/lab/src/banner/Banner.css.js +1 -1
  6. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
  7. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js +1 -0
  8. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  9. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.css.js +1 -1
  10. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js +33 -49
  11. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
  12. package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js +34 -64
  13. package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
  14. package/dist-cjs/packages/lab/src/calendar/useSelection.js +1 -0
  15. package/dist-cjs/packages/lab/src/calendar/useSelection.js.map +1 -1
  16. package/dist-cjs/packages/lab/src/carousel/Carousel.js +1 -0
  17. package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
  18. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js +1 -0
  19. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
  20. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.css.js +1 -1
  21. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js +46 -60
  22. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
  23. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js +3 -3
  24. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
  25. package/dist-cjs/packages/lab/src/cascading-menu/internal/useClickAway.js +1 -0
  26. package/dist-cjs/packages/lab/src/cascading-menu/internal/useClickAway.js.map +1 -1
  27. package/dist-cjs/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js +1 -0
  28. package/dist-cjs/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  29. package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
  30. package/dist-cjs/packages/lab/src/color-chooser/Swatch.css.js +1 -1
  31. package/dist-cjs/packages/lab/src/combo-box/ComboBox.js +1 -0
  32. package/dist-cjs/packages/lab/src/combo-box/ComboBox.js.map +1 -1
  33. package/dist-cjs/packages/lab/src/combo-box/useCombobox.js +1 -0
  34. package/dist-cjs/packages/lab/src/combo-box/useCombobox.js.map +1 -1
  35. package/dist-cjs/packages/lab/src/combo-box-deprecated/filterHelpers.js +1 -0
  36. package/dist-cjs/packages/lab/src/combo-box-deprecated/filterHelpers.js.map +1 -1
  37. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js +21 -39
  38. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  39. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js +28 -49
  40. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  41. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useComboBox.js +1 -0
  42. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  43. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -0
  44. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  45. package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js +1 -0
  46. package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
  47. package/dist-cjs/packages/lab/src/common-hooks/utils/filter-utils.js +1 -0
  48. package/dist-cjs/packages/lab/src/common-hooks/utils/filter-utils.js.map +1 -1
  49. package/dist-cjs/packages/lab/src/contact-details/ContactAction.js +8 -23
  50. package/dist-cjs/packages/lab/src/contact-details/ContactAction.js.map +1 -1
  51. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js +2 -3
  52. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  53. package/dist-cjs/packages/lab/src/contact-details/ContactFavoriteToggle.js.map +1 -1
  54. package/dist-cjs/packages/lab/src/contact-details/MailLinkComponent.js +1 -0
  55. package/dist-cjs/packages/lab/src/contact-details/MailLinkComponent.js.map +1 -1
  56. package/dist-cjs/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js +8 -19
  57. package/dist-cjs/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  58. package/dist-cjs/packages/lab/src/content-status/ContentStatus.css.js +1 -1
  59. package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js +1 -2
  60. package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
  61. package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js +1 -0
  62. package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
  63. package/dist-cjs/packages/lab/src/dialog/DialogContent.js +0 -1
  64. package/dist-cjs/packages/lab/src/dialog/DialogContent.js.map +1 -1
  65. package/dist-cjs/packages/lab/src/dropdown/Dropdown.js +1 -0
  66. package/dist-cjs/packages/lab/src/dropdown/Dropdown.js.map +1 -1
  67. package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js +6 -6
  68. package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
  69. package/dist-cjs/packages/lab/src/dropdown/DropdownButton.css.js +1 -1
  70. package/dist-cjs/packages/lab/src/dropdown/useDropdown.js +1 -0
  71. package/dist-cjs/packages/lab/src/dropdown/useDropdown.js.map +1 -1
  72. package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js +1 -0
  73. package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
  74. package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
  75. package/dist-cjs/packages/lab/src/form-field/FormField.js +60 -73
  76. package/dist-cjs/packages/lab/src/form-field/FormField.js.map +1 -1
  77. package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js +17 -30
  78. package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
  79. package/dist-cjs/packages/lab/src/index.js +3 -17
  80. package/dist-cjs/packages/lab/src/index.js.map +1 -1
  81. package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js +3 -2
  82. package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
  83. package/dist-cjs/packages/lab/src/list/Highlighter.css.js +1 -1
  84. package/dist-cjs/packages/lab/src/list/Highlighter.js +1 -0
  85. package/dist-cjs/packages/lab/src/list/Highlighter.js.map +1 -1
  86. package/dist-cjs/packages/lab/src/list/List.js +1 -0
  87. package/dist-cjs/packages/lab/src/list/List.js.map +1 -1
  88. package/dist-cjs/packages/lab/src/list/ListItem.css.js +1 -1
  89. package/dist-cjs/packages/lab/src/list/VirtualizedList.js +1 -0
  90. package/dist-cjs/packages/lab/src/list/VirtualizedList.js.map +1 -1
  91. package/dist-cjs/packages/lab/src/list/useList.js +1 -0
  92. package/dist-cjs/packages/lab/src/list/useList.js.map +1 -1
  93. package/dist-cjs/packages/lab/src/list/useListHeight.js +1 -0
  94. package/dist-cjs/packages/lab/src/list/useListHeight.js.map +1 -1
  95. package/dist-cjs/packages/lab/src/list-deprecated/List.js +5 -26
  96. package/dist-cjs/packages/lab/src/list-deprecated/List.js.map +1 -1
  97. package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js +28 -58
  98. package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
  99. package/dist-cjs/packages/lab/src/list-deprecated/internal/Highlighter.js +1 -0
  100. package/dist-cjs/packages/lab/src/list-deprecated/internal/Highlighter.js.map +1 -1
  101. package/dist-cjs/packages/lab/src/list-deprecated/internal/scrollIntoView.js +1 -5
  102. package/dist-cjs/packages/lab/src/list-deprecated/internal/scrollIntoView.js.map +1 -1
  103. package/dist-cjs/packages/lab/src/list-deprecated/useTypeSelect.js +1 -0
  104. package/dist-cjs/packages/lab/src/list-deprecated/useTypeSelect.js.map +1 -1
  105. package/dist-cjs/packages/lab/src/logo/Logo.css.js +1 -1
  106. package/dist-cjs/packages/lab/src/metric/MetricContent.css.js +1 -1
  107. package/dist-cjs/packages/lab/src/overlay/Overlay.js +1 -1
  108. package/dist-cjs/packages/lab/src/overlay/Overlay.js.map +1 -1
  109. package/dist-cjs/packages/lab/src/overlay/useOverlay.js +11 -12
  110. package/dist-cjs/packages/lab/src/overlay/useOverlay.js.map +1 -1
  111. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js +9 -5
  112. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  113. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js +2 -1
  114. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  115. package/dist-cjs/packages/lab/src/pill/Pill.css.js +1 -1
  116. package/dist-cjs/packages/lab/src/pill/PillBase.js +39 -55
  117. package/dist-cjs/packages/lab/src/pill/PillBase.js.map +1 -1
  118. package/dist-cjs/packages/lab/src/query-input/internal/CategoryList.js +1 -0
  119. package/dist-cjs/packages/lab/src/query-input/internal/CategoryList.js.map +1 -1
  120. package/dist-cjs/packages/lab/src/query-input/internal/CategoryListItem.js +1 -0
  121. package/dist-cjs/packages/lab/src/query-input/internal/CategoryListItem.js.map +1 -1
  122. package/dist-cjs/packages/lab/src/query-input/internal/QueryInputBody.js +1 -0
  123. package/dist-cjs/packages/lab/src/query-input/internal/QueryInputBody.js.map +1 -1
  124. package/dist-cjs/packages/lab/src/query-input/internal/SearchList.js +1 -0
  125. package/dist-cjs/packages/lab/src/query-input/internal/SearchList.js.map +1 -1
  126. package/dist-cjs/packages/lab/src/query-input/internal/ValueList.js +1 -0
  127. package/dist-cjs/packages/lab/src/query-input/internal/ValueList.js.map +1 -1
  128. package/dist-cjs/packages/lab/src/query-input/internal/ValueSelector.js +2 -3
  129. package/dist-cjs/packages/lab/src/query-input/internal/ValueSelector.js.map +1 -1
  130. package/dist-cjs/packages/lab/src/query-input/useQueryInput.js +1 -0
  131. package/dist-cjs/packages/lab/src/query-input/useQueryInput.js.map +1 -1
  132. package/dist-cjs/packages/lab/src/responsive/useOverflow.js +1 -0
  133. package/dist-cjs/packages/lab/src/responsive/useOverflow.js.map +1 -1
  134. package/dist-cjs/packages/lab/src/skip-link/SkipLink.css.js +1 -1
  135. package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js +17 -26
  136. package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
  137. package/dist-cjs/packages/lab/src/stepper-input/useStepperInput.js +1 -0
  138. package/dist-cjs/packages/lab/src/stepper-input/useStepperInput.js.map +1 -1
  139. package/dist-cjs/packages/lab/src/tabs/Tabstrip.css.js +1 -1
  140. package/dist-cjs/packages/lab/src/tabs/Tabstrip.js +35 -45
  141. package/dist-cjs/packages/lab/src/tabs/Tabstrip.js.map +1 -1
  142. package/dist-cjs/packages/lab/src/tabs/useActivationIndicator.js +1 -0
  143. package/dist-cjs/packages/lab/src/tabs/useActivationIndicator.js.map +1 -1
  144. package/dist-cjs/packages/lab/src/tabs/useKeyboardNavigation.js +1 -0
  145. package/dist-cjs/packages/lab/src/tabs/useKeyboardNavigation.js.map +1 -1
  146. package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js +6 -26
  147. package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
  148. package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInput.js.map +1 -1
  149. package/dist-cjs/packages/lab/src/tokenized-input/useTokenizedInput.js +1 -0
  150. package/dist-cjs/packages/lab/src/tokenized-input/useTokenizedInput.js.map +1 -1
  151. package/dist-cjs/packages/lab/src/toolbar/Toolbar.js +1 -0
  152. package/dist-cjs/packages/lab/src/toolbar/Toolbar.js.map +1 -1
  153. package/dist-cjs/packages/lab/src/toolbar/Tooltray.css.js +1 -1
  154. package/dist-cjs/packages/lab/src/toolbar/internal/renderToolbarItems.js +1 -0
  155. package/dist-cjs/packages/lab/src/toolbar/internal/renderToolbarItems.js.map +1 -1
  156. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +1 -0
  157. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  158. package/dist-cjs/packages/lab/src/tree/Tree.js +1 -0
  159. package/dist-cjs/packages/lab/src/tree/Tree.js.map +1 -1
  160. package/dist-cjs/packages/lab/src/tree/useTree.js +1 -0
  161. package/dist-cjs/packages/lab/src/tree/useTree.js.map +1 -1
  162. package/dist-cjs/packages/lab/src/utils/useFloatingUI.js +38 -0
  163. package/dist-cjs/packages/lab/src/utils/useFloatingUI.js.map +1 -0
  164. package/dist-cjs/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js +1 -2
  165. package/dist-cjs/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  166. package/dist-es/packages/lab/src/accordion/AccordionSection.js +1 -0
  167. package/dist-es/packages/lab/src/accordion/AccordionSection.js.map +1 -1
  168. package/dist-es/packages/lab/src/app-header/AppHeader.js +1 -0
  169. package/dist-es/packages/lab/src/app-header/AppHeader.js.map +1 -1
  170. package/dist-es/packages/lab/src/banner/Banner.css.js +1 -1
  171. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
  172. package/dist-es/packages/lab/src/button-bar/OrderedButton.js +1 -0
  173. package/dist-es/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  174. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.css.js +1 -1
  175. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js +35 -51
  176. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
  177. package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js +35 -65
  178. package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
  179. package/dist-es/packages/lab/src/calendar/useSelection.js +1 -0
  180. package/dist-es/packages/lab/src/calendar/useSelection.js.map +1 -1
  181. package/dist-es/packages/lab/src/carousel/Carousel.js +1 -0
  182. package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
  183. package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js +1 -0
  184. package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
  185. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.css.js +1 -1
  186. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js +48 -62
  187. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
  188. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js +3 -3
  189. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
  190. package/dist-es/packages/lab/src/cascading-menu/internal/useClickAway.js +1 -0
  191. package/dist-es/packages/lab/src/cascading-menu/internal/useClickAway.js.map +1 -1
  192. package/dist-es/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js +1 -0
  193. package/dist-es/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  194. package/dist-es/packages/lab/src/color-chooser/ColorChooser.css.js +1 -1
  195. package/dist-es/packages/lab/src/color-chooser/Swatch.css.js +1 -1
  196. package/dist-es/packages/lab/src/combo-box/ComboBox.js +1 -0
  197. package/dist-es/packages/lab/src/combo-box/ComboBox.js.map +1 -1
  198. package/dist-es/packages/lab/src/combo-box/useCombobox.js +1 -0
  199. package/dist-es/packages/lab/src/combo-box/useCombobox.js.map +1 -1
  200. package/dist-es/packages/lab/src/combo-box-deprecated/filterHelpers.js +1 -0
  201. package/dist-es/packages/lab/src/combo-box-deprecated/filterHelpers.js.map +1 -1
  202. package/dist-es/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js +19 -37
  203. package/dist-es/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  204. package/dist-es/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js +26 -47
  205. package/dist-es/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  206. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useComboBox.js +1 -0
  207. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  208. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -0
  209. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  210. package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js +1 -0
  211. package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
  212. package/dist-es/packages/lab/src/common-hooks/utils/filter-utils.js +1 -0
  213. package/dist-es/packages/lab/src/common-hooks/utils/filter-utils.js.map +1 -1
  214. package/dist-es/packages/lab/src/contact-details/ContactAction.js +10 -25
  215. package/dist-es/packages/lab/src/contact-details/ContactAction.js.map +1 -1
  216. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js +2 -3
  217. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  218. package/dist-es/packages/lab/src/contact-details/ContactFavoriteToggle.js.map +1 -1
  219. package/dist-es/packages/lab/src/contact-details/MailLinkComponent.js +1 -0
  220. package/dist-es/packages/lab/src/contact-details/MailLinkComponent.js.map +1 -1
  221. package/dist-es/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js +9 -20
  222. package/dist-es/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  223. package/dist-es/packages/lab/src/content-status/ContentStatus.css.js +1 -1
  224. package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js +1 -2
  225. package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
  226. package/dist-es/packages/lab/src/deck-layout/DeckLayout.js +1 -0
  227. package/dist-es/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
  228. package/dist-es/packages/lab/src/dialog/DialogContent.js +0 -1
  229. package/dist-es/packages/lab/src/dialog/DialogContent.js.map +1 -1
  230. package/dist-es/packages/lab/src/dropdown/Dropdown.js +1 -0
  231. package/dist-es/packages/lab/src/dropdown/Dropdown.js.map +1 -1
  232. package/dist-es/packages/lab/src/dropdown/DropdownBase.js +3 -3
  233. package/dist-es/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
  234. package/dist-es/packages/lab/src/dropdown/DropdownButton.css.js +1 -1
  235. package/dist-es/packages/lab/src/dropdown/useDropdown.js +1 -0
  236. package/dist-es/packages/lab/src/dropdown/useDropdown.js.map +1 -1
  237. package/dist-es/packages/lab/src/dropdown/useDropdownBase.js +1 -0
  238. package/dist-es/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
  239. package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.css.js +1 -1
  240. package/dist-es/packages/lab/src/form-field/FormField.js +62 -75
  241. package/dist-es/packages/lab/src/form-field/FormField.js.map +1 -1
  242. package/dist-es/packages/lab/src/form-field/StatusIndicator.js +18 -31
  243. package/dist-es/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
  244. package/dist-es/packages/lab/src/index.js +1 -7
  245. package/dist-es/packages/lab/src/index.js.map +1 -1
  246. package/dist-es/packages/lab/src/layer-layout/LayerLayout.js +3 -2
  247. package/dist-es/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
  248. package/dist-es/packages/lab/src/list/Highlighter.css.js +1 -1
  249. package/dist-es/packages/lab/src/list/Highlighter.js +1 -0
  250. package/dist-es/packages/lab/src/list/Highlighter.js.map +1 -1
  251. package/dist-es/packages/lab/src/list/List.js +1 -0
  252. package/dist-es/packages/lab/src/list/List.js.map +1 -1
  253. package/dist-es/packages/lab/src/list/ListItem.css.js +1 -1
  254. package/dist-es/packages/lab/src/list/VirtualizedList.js +1 -0
  255. package/dist-es/packages/lab/src/list/VirtualizedList.js.map +1 -1
  256. package/dist-es/packages/lab/src/list/useList.js +1 -0
  257. package/dist-es/packages/lab/src/list/useList.js.map +1 -1
  258. package/dist-es/packages/lab/src/list/useListHeight.js +1 -0
  259. package/dist-es/packages/lab/src/list/useListHeight.js.map +1 -1
  260. package/dist-es/packages/lab/src/list-deprecated/List.js +5 -26
  261. package/dist-es/packages/lab/src/list-deprecated/List.js.map +1 -1
  262. package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js +31 -61
  263. package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
  264. package/dist-es/packages/lab/src/list-deprecated/internal/Highlighter.js +1 -0
  265. package/dist-es/packages/lab/src/list-deprecated/internal/Highlighter.js.map +1 -1
  266. package/dist-es/packages/lab/src/list-deprecated/internal/scrollIntoView.js +2 -2
  267. package/dist-es/packages/lab/src/list-deprecated/internal/scrollIntoView.js.map +1 -1
  268. package/dist-es/packages/lab/src/list-deprecated/useTypeSelect.js +1 -0
  269. package/dist-es/packages/lab/src/list-deprecated/useTypeSelect.js.map +1 -1
  270. package/dist-es/packages/lab/src/logo/Logo.css.js +1 -1
  271. package/dist-es/packages/lab/src/metric/MetricContent.css.js +1 -1
  272. package/dist-es/packages/lab/src/overlay/Overlay.js +1 -1
  273. package/dist-es/packages/lab/src/overlay/Overlay.js.map +1 -1
  274. package/dist-es/packages/lab/src/overlay/useOverlay.js +2 -3
  275. package/dist-es/packages/lab/src/overlay/useOverlay.js.map +1 -1
  276. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js +9 -5
  277. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  278. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js +2 -1
  279. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  280. package/dist-es/packages/lab/src/pill/Pill.css.js +1 -1
  281. package/dist-es/packages/lab/src/pill/PillBase.js +41 -57
  282. package/dist-es/packages/lab/src/pill/PillBase.js.map +1 -1
  283. package/dist-es/packages/lab/src/query-input/internal/CategoryList.js +1 -0
  284. package/dist-es/packages/lab/src/query-input/internal/CategoryList.js.map +1 -1
  285. package/dist-es/packages/lab/src/query-input/internal/CategoryListItem.js +1 -0
  286. package/dist-es/packages/lab/src/query-input/internal/CategoryListItem.js.map +1 -1
  287. package/dist-es/packages/lab/src/query-input/internal/QueryInputBody.js +1 -0
  288. package/dist-es/packages/lab/src/query-input/internal/QueryInputBody.js.map +1 -1
  289. package/dist-es/packages/lab/src/query-input/internal/SearchList.js +1 -0
  290. package/dist-es/packages/lab/src/query-input/internal/SearchList.js.map +1 -1
  291. package/dist-es/packages/lab/src/query-input/internal/ValueList.js +1 -0
  292. package/dist-es/packages/lab/src/query-input/internal/ValueList.js.map +1 -1
  293. package/dist-es/packages/lab/src/query-input/internal/ValueSelector.js +2 -3
  294. package/dist-es/packages/lab/src/query-input/internal/ValueSelector.js.map +1 -1
  295. package/dist-es/packages/lab/src/query-input/useQueryInput.js +1 -0
  296. package/dist-es/packages/lab/src/query-input/useQueryInput.js.map +1 -1
  297. package/dist-es/packages/lab/src/responsive/useOverflow.js +1 -0
  298. package/dist-es/packages/lab/src/responsive/useOverflow.js.map +1 -1
  299. package/dist-es/packages/lab/src/skip-link/SkipLink.css.js +1 -1
  300. package/dist-es/packages/lab/src/slider/internal/SliderHandle.js +19 -28
  301. package/dist-es/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
  302. package/dist-es/packages/lab/src/stepper-input/useStepperInput.js +1 -0
  303. package/dist-es/packages/lab/src/stepper-input/useStepperInput.js.map +1 -1
  304. package/dist-es/packages/lab/src/tabs/Tabstrip.css.js +1 -1
  305. package/dist-es/packages/lab/src/tabs/Tabstrip.js +36 -46
  306. package/dist-es/packages/lab/src/tabs/Tabstrip.js.map +1 -1
  307. package/dist-es/packages/lab/src/tabs/useActivationIndicator.js +1 -0
  308. package/dist-es/packages/lab/src/tabs/useActivationIndicator.js.map +1 -1
  309. package/dist-es/packages/lab/src/tabs/useKeyboardNavigation.js +1 -0
  310. package/dist-es/packages/lab/src/tabs/useKeyboardNavigation.js.map +1 -1
  311. package/dist-es/packages/lab/src/toggle-button/ToggleButton.js +8 -28
  312. package/dist-es/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
  313. package/dist-es/packages/lab/src/tokenized-input/TokenizedInput.js.map +1 -1
  314. package/dist-es/packages/lab/src/tokenized-input/useTokenizedInput.js +1 -0
  315. package/dist-es/packages/lab/src/tokenized-input/useTokenizedInput.js.map +1 -1
  316. package/dist-es/packages/lab/src/toolbar/Toolbar.js +1 -0
  317. package/dist-es/packages/lab/src/toolbar/Toolbar.js.map +1 -1
  318. package/dist-es/packages/lab/src/toolbar/Tooltray.css.js +1 -1
  319. package/dist-es/packages/lab/src/toolbar/internal/renderToolbarItems.js +1 -0
  320. package/dist-es/packages/lab/src/toolbar/internal/renderToolbarItems.js.map +1 -1
  321. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +1 -0
  322. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  323. package/dist-es/packages/lab/src/tree/Tree.js +1 -0
  324. package/dist-es/packages/lab/src/tree/Tree.js.map +1 -1
  325. package/dist-es/packages/lab/src/tree/useTree.js +1 -0
  326. package/dist-es/packages/lab/src/tree/useTree.js.map +1 -1
  327. package/dist-es/packages/lab/src/{popper → utils}/useFloatingUI.js +10 -9
  328. package/dist-es/packages/lab/src/utils/useFloatingUI.js.map +1 -0
  329. package/dist-es/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js +1 -2
  330. package/dist-es/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  331. package/dist-types/breadcrumbs/Breadcrumb.d.ts +1 -1
  332. package/dist-types/calendar/internal/CalendarCarousel.d.ts +1 -1
  333. package/dist-types/calendar/internal/CalendarDay.d.ts +2 -2
  334. package/dist-types/calendar/internal/CalendarMonth.d.ts +1 -1
  335. package/dist-types/calendar/internal/CalendarNavigation.d.ts +1 -1
  336. package/dist-types/calendar/internal/CalendarWeekHeader.d.ts +2 -2
  337. package/dist-types/calendar/useCalendarDay.d.ts +1 -1
  338. package/dist-types/cascading-menu/CascadingMenuList.d.ts +1 -1
  339. package/dist-types/cascading-menu/CascadingMenuProps.d.ts +1 -1
  340. package/dist-types/combo-box-deprecated/internal/DefaultComboBox.d.ts +1 -3
  341. package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +3 -4
  342. package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +10 -5
  343. package/dist-types/contact-details/ContactAction.d.ts +1 -2
  344. package/dist-types/contact-details/ContactAvatar.d.ts +3 -4
  345. package/dist-types/contact-details/ContactFavoriteToggle.d.ts +1 -1
  346. package/dist-types/contact-details/internal/FavoriteToggleWithTooltip.d.ts +1 -1
  347. package/dist-types/content-status/internal/StatusIndicator.d.ts +1 -2
  348. package/dist-types/form-field/StatusIndicator.d.ts +1 -1
  349. package/dist-types/index.d.ts +0 -5
  350. package/dist-types/layer-layout/LayerLayout.d.ts +1 -1
  351. package/dist-types/list-deprecated/ListProps.d.ts +0 -5
  352. package/dist-types/overlay/Overlay.d.ts +1 -1
  353. package/dist-types/overlay/useOverlay.d.ts +1 -1
  354. package/dist-types/pill/PillBase.d.ts +1 -1
  355. package/dist-types/skip-link/SkipLink.d.ts +1 -1
  356. package/dist-types/stepper-input/useStepperInput.d.ts +4 -0
  357. package/dist-types/tokenized-input/TokenizedInput.d.ts +1 -1
  358. package/dist-types/toolbar/ToolbarProps.d.ts +1 -1
  359. package/dist-types/utils/index.d.ts +1 -0
  360. package/dist-types/utils/useFloatingUI.d.ts +34 -0
  361. package/dist-types/window/ElectronWindow.d.ts +1 -1
  362. package/dist-types/window/WindowContext.d.ts +3 -3
  363. package/package.json +4 -4
  364. package/dist-cjs/packages/lab/src/avatar/Avatar.css.js +0 -9
  365. package/dist-cjs/packages/lab/src/avatar/Avatar.css.js.map +0 -1
  366. package/dist-cjs/packages/lab/src/avatar/Avatar.js +0 -62
  367. package/dist-cjs/packages/lab/src/avatar/Avatar.js.map +0 -1
  368. package/dist-cjs/packages/lab/src/avatar/internal/DefaultAvatar.js +0 -45
  369. package/dist-cjs/packages/lab/src/avatar/internal/DefaultAvatar.js.map +0 -1
  370. package/dist-cjs/packages/lab/src/avatar/internal/constants.js +0 -8
  371. package/dist-cjs/packages/lab/src/avatar/internal/constants.js.map +0 -1
  372. package/dist-cjs/packages/lab/src/avatar/internal/useLoaded.js +0 -47
  373. package/dist-cjs/packages/lab/src/avatar/internal/useLoaded.js.map +0 -1
  374. package/dist-cjs/packages/lab/src/popper/useFloatingUI.js +0 -37
  375. package/dist-cjs/packages/lab/src/popper/useFloatingUI.js.map +0 -1
  376. package/dist-cjs/packages/lab/src/spinner/Spinner.css.js +0 -9
  377. package/dist-cjs/packages/lab/src/spinner/Spinner.css.js.map +0 -1
  378. package/dist-cjs/packages/lab/src/spinner/Spinner.js +0 -76
  379. package/dist-cjs/packages/lab/src/spinner/Spinner.js.map +0 -1
  380. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js +0 -71
  381. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js.map +0 -1
  382. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js +0 -71
  383. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js.map +0 -1
  384. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js +0 -71
  385. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js.map +0 -1
  386. package/dist-cjs/packages/lab/src/spinner/svgSpinners/index.js +0 -21
  387. package/dist-cjs/packages/lab/src/spinner/svgSpinners/index.js.map +0 -1
  388. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.css.js +0 -9
  389. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.css.js.map +0 -1
  390. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.js +0 -40
  391. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.js.map +0 -1
  392. package/dist-cjs/packages/lab/src/tooltip/Tooltip.css.js +0 -9
  393. package/dist-cjs/packages/lab/src/tooltip/Tooltip.css.js.map +0 -1
  394. package/dist-cjs/packages/lab/src/tooltip/Tooltip.js +0 -84
  395. package/dist-cjs/packages/lab/src/tooltip/Tooltip.js.map +0 -1
  396. package/dist-cjs/packages/lab/src/tooltip/TooltipContext.js +0 -26
  397. package/dist-cjs/packages/lab/src/tooltip/TooltipContext.js.map +0 -1
  398. package/dist-cjs/packages/lab/src/tooltip/useAriaAnnounce.js +0 -87
  399. package/dist-cjs/packages/lab/src/tooltip/useAriaAnnounce.js.map +0 -1
  400. package/dist-cjs/packages/lab/src/tooltip/useTooltip.js +0 -137
  401. package/dist-cjs/packages/lab/src/tooltip/useTooltip.js.map +0 -1
  402. package/dist-es/packages/lab/src/avatar/Avatar.css.js +0 -7
  403. package/dist-es/packages/lab/src/avatar/Avatar.css.js.map +0 -1
  404. package/dist-es/packages/lab/src/avatar/Avatar.js +0 -58
  405. package/dist-es/packages/lab/src/avatar/Avatar.js.map +0 -1
  406. package/dist-es/packages/lab/src/avatar/internal/DefaultAvatar.js +0 -41
  407. package/dist-es/packages/lab/src/avatar/internal/DefaultAvatar.js.map +0 -1
  408. package/dist-es/packages/lab/src/avatar/internal/constants.js +0 -4
  409. package/dist-es/packages/lab/src/avatar/internal/constants.js.map +0 -1
  410. package/dist-es/packages/lab/src/avatar/internal/useLoaded.js +0 -43
  411. package/dist-es/packages/lab/src/avatar/internal/useLoaded.js.map +0 -1
  412. package/dist-es/packages/lab/src/popper/useFloatingUI.js.map +0 -1
  413. package/dist-es/packages/lab/src/spinner/Spinner.css.js +0 -7
  414. package/dist-es/packages/lab/src/spinner/Spinner.css.js.map +0 -1
  415. package/dist-es/packages/lab/src/spinner/Spinner.js +0 -71
  416. package/dist-es/packages/lab/src/spinner/Spinner.js.map +0 -1
  417. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js +0 -67
  418. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js.map +0 -1
  419. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js +0 -67
  420. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js.map +0 -1
  421. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js +0 -67
  422. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js.map +0 -1
  423. package/dist-es/packages/lab/src/spinner/svgSpinners/index.js +0 -17
  424. package/dist-es/packages/lab/src/spinner/svgSpinners/index.js.map +0 -1
  425. package/dist-es/packages/lab/src/split-layout/SplitLayout.css.js +0 -7
  426. package/dist-es/packages/lab/src/split-layout/SplitLayout.css.js.map +0 -1
  427. package/dist-es/packages/lab/src/split-layout/SplitLayout.js +0 -36
  428. package/dist-es/packages/lab/src/split-layout/SplitLayout.js.map +0 -1
  429. package/dist-es/packages/lab/src/tooltip/Tooltip.css.js +0 -7
  430. package/dist-es/packages/lab/src/tooltip/Tooltip.css.js.map +0 -1
  431. package/dist-es/packages/lab/src/tooltip/Tooltip.js +0 -80
  432. package/dist-es/packages/lab/src/tooltip/Tooltip.js.map +0 -1
  433. package/dist-es/packages/lab/src/tooltip/TooltipContext.js +0 -21
  434. package/dist-es/packages/lab/src/tooltip/TooltipContext.js.map +0 -1
  435. package/dist-es/packages/lab/src/tooltip/useAriaAnnounce.js +0 -83
  436. package/dist-es/packages/lab/src/tooltip/useAriaAnnounce.js.map +0 -1
  437. package/dist-es/packages/lab/src/tooltip/useTooltip.js +0 -133
  438. package/dist-es/packages/lab/src/tooltip/useTooltip.js.map +0 -1
  439. package/dist-types/avatar/Avatar.d.ts +0 -13
  440. package/dist-types/avatar/index.d.ts +0 -1
  441. package/dist-types/avatar/internal/DefaultAvatar.d.ts +0 -2
  442. package/dist-types/avatar/internal/constants.d.ts +0 -1
  443. package/dist-types/avatar/internal/useLoaded.d.ts +0 -2
  444. package/dist-types/popper/index.d.ts +0 -1
  445. package/dist-types/popper/useFloatingUI.d.ts +0 -5
  446. package/dist-types/spinner/Spinner.d.ts +0 -45
  447. package/dist-types/spinner/index.d.ts +0 -1
  448. package/dist-types/spinner/svgSpinners/SpinnerLarge.d.ts +0 -2
  449. package/dist-types/spinner/svgSpinners/SpinnerMedium.d.ts +0 -2
  450. package/dist-types/spinner/svgSpinners/SpinnerSmall.d.ts +0 -2
  451. package/dist-types/spinner/svgSpinners/index.d.ts +0 -2
  452. package/dist-types/split-layout/SplitLayout.d.ts +0 -32
  453. package/dist-types/split-layout/index.d.ts +0 -1
  454. package/dist-types/tooltip/Tooltip.d.ts +0 -37
  455. package/dist-types/tooltip/TooltipContext.d.ts +0 -22
  456. package/dist-types/tooltip/index.d.ts +0 -3
  457. package/dist-types/tooltip/useAriaAnnounce.d.ts +0 -9
  458. package/dist-types/tooltip/useTooltip.d.ts +0 -31
@@ -1,87 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var core = require('@salt-ds/core');
7
-
8
- function getDocument(floating) {
9
- var _a;
10
- return (_a = floating == null ? void 0 : floating.ownerDocument) != null ? _a : document;
11
- }
12
- function getWindow(value) {
13
- var _a;
14
- return (_a = getDocument(value).defaultView) != null ? _a : window;
15
- }
16
- function isElement(value) {
17
- return value ? value instanceof getWindow(value).Element : false;
18
- }
19
- function getDelay(value, prop, pointerType) {
20
- if (pointerType && pointerType !== "mouse") {
21
- return 0;
22
- }
23
- if (typeof value === "number") {
24
- return value;
25
- }
26
- return value == null ? void 0 : value[prop];
27
- }
28
- const useAriaAnnounce = (context, { delay = 0 }) => {
29
- const { open, dataRef, refs } = context;
30
- const pointerTypeRef = React.useRef();
31
- const timeoutRef = React.useRef();
32
- const blockMouseMoveRef = React.useRef(true);
33
- const { announce } = core.useAriaAnnouncer();
34
- core.useIsomorphicLayoutEffect(() => {
35
- if (!open) {
36
- pointerTypeRef.current = void 0;
37
- }
38
- });
39
- React.useEffect(() => {
40
- const reference = refs.reference.current;
41
- function announceFloating() {
42
- var _a;
43
- const tooltipContent = (_a = refs.floating.current) == null ? void 0 : _a.innerText;
44
- if (tooltipContent) {
45
- announce(tooltipContent);
46
- }
47
- }
48
- function onMouseEnter(event) {
49
- clearTimeout(timeoutRef.current);
50
- if (open) {
51
- return;
52
- }
53
- blockMouseMoveRef.current = false;
54
- dataRef.current.openEvent = event;
55
- if (delay) {
56
- timeoutRef.current = window.setTimeout(() => {
57
- announceFloating();
58
- }, getDelay(delay, "open", pointerTypeRef.current));
59
- } else {
60
- announceFloating();
61
- }
62
- }
63
- if (isElement(reference)) {
64
- reference.addEventListener("mouseenter", onMouseEnter);
65
- return () => {
66
- reference.removeEventListener("mouseenter", onMouseEnter);
67
- };
68
- }
69
- }, [dataRef, delay, open, refs.reference, refs.floating, announce]);
70
- function setPointerRef(event) {
71
- pointerTypeRef.current = event.pointerType;
72
- }
73
- return {
74
- reference: {
75
- onPointerDown: setPointerRef,
76
- onPointerEnter: setPointerRef
77
- },
78
- floating: {
79
- onMouseEnter() {
80
- clearTimeout(timeoutRef.current);
81
- }
82
- }
83
- };
84
- };
85
-
86
- exports.useAriaAnnounce = useAriaAnnounce;
87
- //# sourceMappingURL=useAriaAnnounce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAriaAnnounce.js","sources":["../src/tooltip/useAriaAnnounce.ts"],"sourcesContent":["import type {\n ElementProps,\n FloatingContext,\n} from \"@floating-ui/react-dom-interactions\";\nimport { PointerEvent, useEffect, useRef } from \"react\";\nimport { useAriaAnnouncer, useIsomorphicLayoutEffect } from \"@salt-ds/core\";\n\nfunction getDocument(floating: HTMLElement | null) {\n return floating?.ownerDocument ?? document;\n}\n\n// TODO: Check whether can be anything more restrictive than `any`\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getWindow(value: any) {\n return getDocument(value).defaultView ?? window;\n}\n\nfunction isElement(value: unknown): value is HTMLElement {\n return value ? value instanceof getWindow(value).Element : false;\n}\n\nfunction getDelay(\n value: Props[\"delay\"],\n prop: \"open\" | \"close\",\n pointerType?: PointerEvent[\"pointerType\"]\n) {\n if (pointerType && pointerType !== \"mouse\") {\n return 0;\n }\n\n if (typeof value === \"number\") {\n return value;\n }\n\n return value?.[prop];\n}\n\ntype Props = {\n delay?: number | Partial<{ open: number; close: number }>;\n};\n\nexport const useAriaAnnounce = (\n context: FloatingContext,\n { delay = 0 }: Props\n): ElementProps => {\n const { open, dataRef, refs } = context;\n\n const pointerTypeRef = useRef<PointerEvent[\"pointerType\"]>();\n const timeoutRef = useRef<number>();\n const blockMouseMoveRef = useRef(true);\n const { announce } = useAriaAnnouncer();\n\n useIsomorphicLayoutEffect(() => {\n if (!open) {\n pointerTypeRef.current = undefined;\n }\n });\n\n useEffect(() => {\n const reference = refs.reference.current;\n function announceFloating() {\n const tooltipContent = refs.floating.current?.innerText;\n\n if (tooltipContent) {\n announce(tooltipContent);\n }\n }\n\n function onMouseEnter(event: MouseEvent) {\n clearTimeout(timeoutRef.current);\n\n if (open) {\n return;\n }\n\n blockMouseMoveRef.current = false;\n dataRef.current.openEvent = event;\n\n if (delay) {\n timeoutRef.current = window.setTimeout(() => {\n announceFloating();\n }, getDelay(delay, \"open\", pointerTypeRef.current));\n } else {\n announceFloating();\n }\n }\n\n if (isElement(reference)) {\n reference.addEventListener(\"mouseenter\", onMouseEnter);\n return () => {\n reference.removeEventListener(\"mouseenter\", onMouseEnter);\n };\n }\n }, [dataRef, delay, open, refs.reference, refs.floating, announce]);\n\n function setPointerRef(event: PointerEvent) {\n pointerTypeRef.current = event.pointerType;\n }\n\n return {\n reference: {\n onPointerDown: setPointerRef,\n onPointerEnter: setPointerRef,\n },\n floating: {\n onMouseEnter() {\n clearTimeout(timeoutRef.current);\n },\n },\n };\n};\n"],"names":["useRef","useAriaAnnouncer","useIsomorphicLayoutEffect","useEffect"],"mappings":"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"}
@@ -1,137 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var useFloatingUI = require('../popper/useFloatingUI.js');
6
- var reactDomInteractions = require('@floating-ui/react-dom-interactions');
7
- var useAriaAnnounce = require('./useAriaAnnounce.js');
8
- var core = require('@salt-ds/core');
9
- var React = require('react');
10
- var WindowContext = require('../window/WindowContext.js');
11
- require('../window/ElectronWindow.js');
12
-
13
- function useTooltip(props) {
14
- const {
15
- enterDelay = 100,
16
- leaveDelay = 0,
17
- open: openProp,
18
- onOpenChange,
19
- placement: placementProp = "right",
20
- disabled,
21
- disableHoverListener,
22
- disableFocusListener
23
- } = props || {};
24
- const arrowRef = React.useRef(null);
25
- const [open, setOpen] = core.useControlled({
26
- controlled: openProp,
27
- default: false,
28
- name: "Tooltip",
29
- state: "open"
30
- });
31
- const handleOpenChange = (open2) => {
32
- setOpen(open2);
33
- onOpenChange == null ? void 0 : onOpenChange(open2);
34
- };
35
- const middleware = WindowContext.isDesktop ? [core.margin(8), reactDomInteractions.arrow({ element: arrowRef })] : [
36
- reactDomInteractions.offset(8),
37
- reactDomInteractions.flip(),
38
- reactDomInteractions.shift({
39
- limiter: reactDomInteractions.limitShift({
40
- offset: () => {
41
- var _a, _b, _c, _d;
42
- return Math.max(
43
- (_b = (_a = arrowRef.current) == null ? void 0 : _a.offsetWidth) != null ? _b : 0,
44
- (_d = (_c = arrowRef.current) == null ? void 0 : _c.offsetHeight) != null ? _d : 0
45
- );
46
- }
47
- })
48
- }),
49
- reactDomInteractions.arrow({ element: arrowRef })
50
- ];
51
- const {
52
- floating,
53
- reference,
54
- x,
55
- y,
56
- strategy,
57
- update,
58
- middlewareData,
59
- placement,
60
- context
61
- } = useFloatingUI.useFloatingUI({
62
- open,
63
- onOpenChange: handleOpenChange,
64
- placement: placementProp,
65
- middleware
66
- });
67
- const handleArrowRef = React.useCallback(
68
- (node) => {
69
- arrowRef.current = node;
70
- update();
71
- },
72
- [update]
73
- );
74
- const { getReferenceProps, getFloatingProps } = reactDomInteractions.useInteractions([
75
- reactDomInteractions.useHover(context, {
76
- delay: {
77
- open: enterDelay,
78
- close: leaveDelay
79
- },
80
- enabled: !disableHoverListener,
81
- handleClose: WindowContext.isDesktop ? null : reactDomInteractions.safePolygon()
82
- }),
83
- reactDomInteractions.useFocus(context, { enabled: !disableFocusListener }),
84
- reactDomInteractions.useRole(context, { role: "tooltip" }),
85
- reactDomInteractions.useDismiss(context, { ancestorScroll: true }),
86
- useAriaAnnounce.useAriaAnnounce(context, {
87
- delay: {
88
- open: enterDelay,
89
- close: leaveDelay
90
- }
91
- })
92
- ]);
93
- const getTooltipProps = (userProps) => {
94
- var _a, _b, _c, _d;
95
- const arrowProps = {
96
- ref: handleArrowRef,
97
- style: {
98
- left: (_b = (_a = middlewareData.arrow) == null ? void 0 : _a.x) != null ? _b : "",
99
- top: (_d = (_c = middlewareData.arrow) == null ? void 0 : _c.y) != null ? _d : ""
100
- }
101
- };
102
- return {
103
- arrowProps,
104
- open,
105
- ...getFloatingProps({
106
- "data-placement": placement,
107
- ...userProps,
108
- ref: floating,
109
- style: {
110
- top: y != null ? y : "",
111
- left: x != null ? x : "",
112
- position: strategy,
113
- ...(userProps == null ? void 0 : userProps.style) || {}
114
- }
115
- })
116
- };
117
- };
118
- const getTriggerProps = (userProps) => {
119
- return getReferenceProps({
120
- ...userProps,
121
- ref: reference
122
- });
123
- };
124
- if (disabled) {
125
- return {
126
- getTooltipProps: (args) => args,
127
- getTriggerProps: (args) => args
128
- };
129
- }
130
- return {
131
- getTooltipProps,
132
- getTriggerProps
133
- };
134
- }
135
-
136
- exports.useTooltip = useTooltip;
137
- //# sourceMappingURL=useTooltip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTooltip.js","sources":["../src/tooltip/useTooltip.ts"],"sourcesContent":["import { useFloatingUI, UseFloatingUIProps } from \"../popper\";\nimport {\n arrow,\n flip,\n limitShift,\n offset,\n safePolygon,\n shift,\n useDismiss,\n useFocus,\n useHover,\n useInteractions,\n useRole,\n} from \"@floating-ui/react-dom-interactions\";\nimport { useAriaAnnounce } from \"./useAriaAnnounce\";\nimport { margin, useControlled } from \"@salt-ds/core\";\nimport {\n ComponentPropsWithoutRef,\n ComponentPropsWithRef,\n JSXElementConstructor,\n useCallback,\n useRef,\n} from \"react\";\nimport { TooltipProps } from \"./Tooltip\";\nimport { isDesktop } from \"../window\";\n\nexport interface UseTooltipProps\n extends Partial<\n Pick<UseFloatingUIProps, \"onOpenChange\" | \"open\" | \"placement\">\n > {\n disabled?: boolean;\n /**\n * Do not respond to focus events.\n */\n disableFocusListener?: boolean;\n /**\n * Do not respond to hover events.\n */\n disableHoverListener?: boolean;\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n */\n enterDelay?: number;\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n */\n leaveDelay?: number;\n}\n\nexport function useTooltip(props?: UseTooltipProps) {\n const {\n enterDelay = 100,\n leaveDelay = 0,\n open: openProp,\n onOpenChange,\n placement: placementProp = \"right\",\n disabled,\n disableHoverListener,\n disableFocusListener,\n } = props || {};\n\n const arrowRef = useRef<HTMLDivElement | null>(null);\n\n const [open, setOpen] = useControlled({\n controlled: openProp,\n default: false,\n name: \"Tooltip\",\n state: \"open\",\n });\n const handleOpenChange = (open: boolean) => {\n setOpen(open);\n onOpenChange?.(open);\n };\n\n const middleware = isDesktop\n ? [margin(8), arrow({ element: arrowRef })]\n : [\n offset(8),\n flip(),\n shift({\n limiter: limitShift({\n offset: () =>\n Math.max(\n arrowRef.current?.offsetWidth ?? 0,\n arrowRef.current?.offsetHeight ?? 0\n ),\n }),\n }),\n arrow({ element: arrowRef }),\n ];\n const {\n floating,\n reference,\n x,\n y,\n strategy,\n update,\n middlewareData,\n placement,\n context,\n } = useFloatingUI({\n open,\n onOpenChange: handleOpenChange,\n placement: placementProp,\n middleware,\n });\n\n const handleArrowRef = useCallback(\n (node: HTMLDivElement) => {\n arrowRef.current = node;\n update();\n },\n [update]\n );\n\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useHover(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n enabled: !disableHoverListener,\n handleClose: isDesktop ? null : safePolygon(),\n }),\n useFocus(context, { enabled: !disableFocusListener }),\n useRole(context, { role: \"tooltip\" }),\n useDismiss(context, { ancestorScroll: true }),\n useAriaAnnounce(context, {\n delay: {\n open: enterDelay,\n close: leaveDelay,\n },\n }),\n ]);\n\n const getTooltipProps = (userProps?: TooltipProps): TooltipProps => {\n const arrowProps = {\n ref: handleArrowRef,\n style: {\n left: middlewareData.arrow?.x ?? \"\",\n top: middlewareData.arrow?.y ?? \"\",\n },\n };\n\n return {\n arrowProps,\n open,\n ...getFloatingProps({\n // @ts-ignore\n \"data-placement\": placement,\n ...userProps,\n ref: floating,\n style: {\n top: y ?? \"\",\n left: x ?? \"\",\n position: strategy,\n ...(userProps?.style || {}),\n },\n }),\n } as TooltipProps;\n };\n\n const getTriggerProps = <\n Element extends\n | keyof JSX.IntrinsicElements\n // TODO: whether restrict `any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | JSXElementConstructor<any> = \"div\"\n >(\n userProps?: ComponentPropsWithoutRef<Element>\n ) => {\n // FIXME: types from useInteractions\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return getReferenceProps({\n ...userProps,\n ref: reference,\n }) as ComponentPropsWithRef<Element>;\n };\n\n if (disabled) {\n return {\n getTooltipProps: (args?: TooltipProps) => args,\n getTriggerProps: <\n Element extends\n | keyof JSX.IntrinsicElements\n // TODO: whether restrict `any`\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n | JSXElementConstructor<any> = \"div\"\n >(\n args?: ComponentPropsWithRef<Element>\n // FIXME: types from useInteractions\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n ) => args as ComponentPropsWithRef<Element>,\n };\n }\n\n return {\n getTooltipProps,\n getTriggerProps,\n };\n}\n"],"names":["useRef","useControlled","open","isDesktop","margin","arrow","offset","flip","shift","limitShift","useFloatingUI","useCallback","useInteractions","useHover","safePolygon","useFocus","useRole","useDismiss","useAriaAnnounce"],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = "/* Default variables applied to the root element */\n.saltAvatar {\n --avatar-background: var(--saltAvatar-background, var(--salt-accent-background));\n --avatar-foreground: var(--saltAvatar-foreground, var(--salt-accent-foreground));\n}\n\n/* Style applied to the root element */\n.saltAvatar {\n background: var(--avatar-background);\n color: var(--avatar-foreground);\n font-size: var(--avatar-fontSize);\n line-height: var(--avatar-container-size);\n width: var(--avatar-container-size);\n height: var(--avatar-container-size);\n letter-spacing: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n flex-shrink: 0;\n user-select: none;\n border-radius: 50%;\n}\n\n/* Style applied to the image element */\n.saltAvatar-image {\n width: 100%;\n height: 100%;\n text-align: center;\n object-fit: cover;\n color: transparent;\n text-indent: 10000px;\n}\n\n/* Style applied to the svg element */\n.saltAvatar > svg {\n width: var(--avatar-container-size);\n height: var(--avatar-container-size);\n}\n\n.saltAvatar-svgDisc {\n fill: var(--avatar-background);\n}\n\n.saltAvatar-svgHead {\n fill: var(--avatar-foreground);\n}\n\n/* Style applied when size is small */\n.saltAvatar-small {\n --avatar-fontSize: 8px;\n --avatar-container-size: var(--salt-size-graphic-small);\n}\n\n/* Style applied when size is medium */\n.saltAvatar-medium {\n --avatar-fontSize: 11px;\n --avatar-container-size: var(--salt-size-graphic-medium);\n}\n\n/* Style applied when size is large */\n.saltAvatar-large {\n --avatar-fontSize: 14px;\n --avatar-container-size: var(--salt-size-graphic-large);\n}\n";
4
- styleInject(css_248z);
5
-
6
- export { css_248z as default };
7
- //# sourceMappingURL=Avatar.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,58 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { makePrefixer, useId } from '@salt-ds/core';
3
- import { clsx } from 'clsx';
4
- import { forwardRef } from 'react';
5
- import { classBase } from './internal/constants.js';
6
- import { DefaultAvatar } from './internal/DefaultAvatar.js';
7
- import { useLoaded } from './internal/useLoaded.js';
8
- import './Avatar.css.js';
9
-
10
- const withBaseName = makePrefixer(classBase);
11
- const Avatar = forwardRef(function Avatar2({
12
- alt = "",
13
- className,
14
- children: childrenProp,
15
- id: idProp,
16
- size = "medium",
17
- src,
18
- srcSet,
19
- title = "user",
20
- imgProps,
21
- sizes,
22
- ...rest
23
- }, ref) {
24
- let children;
25
- const id = useId(idProp);
26
- const loaded = useLoaded({ ...imgProps, src, srcSet });
27
- const hasImg = src || srcSet;
28
- const hasImgNotFailing = hasImg && loaded !== "error";
29
- if (hasImgNotFailing) {
30
- children = /* @__PURE__ */ jsx("img", {
31
- className: withBaseName("image"),
32
- alt,
33
- src,
34
- srcSet,
35
- sizes,
36
- ...imgProps
37
- });
38
- } else if (childrenProp != null) {
39
- children = childrenProp;
40
- } else if (hasImg && alt) {
41
- children = alt[0];
42
- } else {
43
- children = /* @__PURE__ */ jsx(DefaultAvatar, {
44
- id,
45
- title,
46
- ...rest
47
- });
48
- }
49
- return /* @__PURE__ */ jsx("div", {
50
- ref,
51
- className: clsx(withBaseName(), withBaseName(size), className),
52
- ...rest,
53
- children
54
- });
55
- });
56
-
57
- export { Avatar };
58
- //# sourceMappingURL=Avatar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Avatar.js","sources":["../src/avatar/Avatar.tsx"],"sourcesContent":["import { makePrefixer, useId } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, ImgHTMLAttributes } from \"react\";\nimport { classBase } from \"./internal/constants\";\nimport { DefaultAvatar } from \"./internal/DefaultAvatar\";\nimport { useLoaded } from \"./internal/useLoaded\";\n\nimport \"./Avatar.css\";\n\nexport interface AvatarProps extends HTMLAttributes<HTMLDivElement> {\n alt?: string;\n id?: string;\n imgProps?: ImgHTMLAttributes<HTMLImageElement>;\n size?: \"small\" | \"medium\" | \"large\";\n sizes?: string;\n src?: string;\n srcSet?: string;\n title?: string;\n}\n\nconst withBaseName = makePrefixer(classBase);\n\nexport const Avatar = forwardRef<HTMLDivElement, AvatarProps>(function Avatar(\n {\n alt = \"\",\n className,\n children: childrenProp,\n id: idProp,\n size = \"medium\",\n src,\n srcSet,\n title = \"user\",\n imgProps,\n sizes,\n ...rest\n },\n ref\n) {\n let children;\n const id = useId(idProp);\n\n const loaded = useLoaded({ ...imgProps, src, srcSet });\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== \"error\";\n\n if (hasImgNotFailing) {\n children = (\n <img\n className={withBaseName(\"image\")}\n alt={alt}\n src={src}\n srcSet={srcSet}\n sizes={sizes}\n {...imgProps}\n />\n );\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = <DefaultAvatar id={id} title={title} {...rest} />;\n }\n\n return (\n <div\n ref={ref}\n className={clsx(withBaseName(), withBaseName(size), className)}\n {...rest}\n >\n {children}\n </div>\n );\n});\n"],"names":["Avatar"],"mappings":";;;;;;;;;AAoBA,MAAM,YAAA,GAAe,aAAa,SAAS,CAAA,CAAA;AAE9B,MAAA,MAAA,GAAS,UAAwC,CAAA,SAASA,OACrE,CAAA;AAAA,EACE,GAAM,GAAA,EAAA;AAAA,EACN,SAAA;AAAA,EACA,QAAU,EAAA,YAAA;AAAA,EACV,EAAI,EAAA,MAAA;AAAA,EACJ,IAAO,GAAA,QAAA;AAAA,EACP,GAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAQ,GAAA,MAAA;AAAA,EACR,QAAA;AAAA,EACA,KAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAA,EACA,GACA,EAAA;AACA,EAAI,IAAA,QAAA,CAAA;AACJ,EAAM,MAAA,EAAA,GAAK,MAAM,MAAM,CAAA,CAAA;AAEvB,EAAA,MAAM,SAAS,SAAU,CAAA,EAAE,GAAG,QAAU,EAAA,GAAA,EAAK,QAAQ,CAAA,CAAA;AACrD,EAAA,MAAM,SAAS,GAAO,IAAA,MAAA,CAAA;AACtB,EAAM,MAAA,gBAAA,GAAmB,UAAU,MAAW,KAAA,OAAA,CAAA;AAE9C,EAAA,IAAI,gBAAkB,EAAA;AACpB,IAAA,QAAA,mBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,OAAO,CAAA;AAAA,MAC/B,GAAA;AAAA,MACA,GAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACC,GAAG,QAAA;AAAA,KACN,CAAA,CAAA;AAAA,GAEJ,MAAA,IAAW,gBAAgB,IAAM,EAAA;AAC/B,IAAW,QAAA,GAAA,YAAA,CAAA;AAAA,GACb,MAAA,IAAW,UAAU,GAAK,EAAA;AACxB,IAAA,QAAA,GAAW,GAAI,CAAA,CAAA,CAAA,CAAA;AAAA,GACV,MAAA;AACL,IAAA,QAAA,mBAAY,GAAA,CAAA,aAAA,EAAA;AAAA,MAAc,EAAA;AAAA,MAAQ,KAAA;AAAA,MAAe,GAAG,IAAA;AAAA,KAAM,CAAA,CAAA;AAAA,GAC5D;AAEA,EAAA,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,IACC,GAAA;AAAA,IACA,WAAW,IAAK,CAAA,YAAA,IAAgB,YAAa,CAAA,IAAI,GAAG,SAAS,CAAA;AAAA,IAC5D,GAAG,IAAA;AAAA,IAEH,QAAA;AAAA,GACH,CAAA,CAAA;AAEJ,CAAC;;;;"}
@@ -1,41 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { makePrefixer } from '@salt-ds/core';
3
- import { classBase } from './constants.js';
4
-
5
- const withBaseName = makePrefixer(classBase);
6
- function DefaultAvatar({ id, title }) {
7
- return /* @__PURE__ */ jsxs("svg", {
8
- "aria-labelledby": id,
9
- height: "64px",
10
- role: "img",
11
- viewBox: "0 0 64 64",
12
- width: "64px",
13
- children: [
14
- /* @__PURE__ */ jsx("title", {
15
- id,
16
- children: title
17
- }),
18
- /* @__PURE__ */ jsx("g", {
19
- className: withBaseName("svgRoot"),
20
- fill: "none",
21
- fillRule: "evenodd",
22
- stroke: "none",
23
- children: /* @__PURE__ */ jsxs("g", {
24
- children: [
25
- /* @__PURE__ */ jsx("path", {
26
- className: withBaseName("svgDisc"),
27
- d: "M0,32 C0,49.6769231 14.3230769,64 32,64 C49.6769231,64 64,49.6769231 64,32 C64,14.3230769 49.6769231,0 32,0 C14.3230769,0 0,14.3230769 0,32 Z"
28
- }),
29
- /* @__PURE__ */ jsx("path", {
30
- className: withBaseName("svgHead"),
31
- d: "M31.9995627,62.8538462 C22.4716151,62.8538462 13.9354845,58.5287108 8.24473082,51.7487468 C11.1388856,50.496781 18.3580131,47.8952936 22.9268753,46.5620313 C23.2845799,46.4482162 23.349617,46.4319569 23.349617,44.8222866 C23.349617,43.0988012 23.1545055,41.879354 22.7317638,40.9850927 C22.1626884,39.7656455 21.479798,37.7007148 21.2359085,35.8469925 C20.5530181,35.0504496 19.6262382,33.4893945 19.0246442,30.4978466 C18.5043468,27.8638406 18.7482362,26.9045421 19.0896814,26.0102808 C19.1222,25.9127251 19.1709779,25.8151693 19.1872372,25.7176135 C19.3173116,25.1160195 19.1384593,21.8966789 18.683199,19.4090065 C18.3742724,17.7017804 18.7644955,14.0759574 21.1220935,11.0679876 C22.6016894,9.16564991 25.4470663,6.84057054 30.5524853,6.51538462 L33.3978621,6.51538462 C38.5845776,6.84057054 41.4299545,9.16564991 42.9095504,11.0679876 C45.2671484,14.0759574 45.6573715,17.7017804 45.3321856,19.4090065 C44.8769253,21.8966789 44.698073,25.0997602 44.8281474,25.7176135 C44.8444067,25.8151693 44.8931846,25.9127251 44.9257032,25.9940215 C45.2671484,26.8882828 45.5272971,27.8475813 44.9907404,30.4815873 C44.3891464,33.4732978 43.4623665,35.0340277 42.7794761,35.8308958 C42.5355866,37.6844555 41.8526962,39.7331269 41.2836208,40.9686708 C40.747064,42.0907248 40.2105073,43.4239871 40.2105073,44.7572494 C40.2105073,46.3669197 40.2755445,46.383179 40.6495083,46.4968315 C44.9907404,47.7814785 52.4700167,50.3667066 55.7706538,51.7162282 C50.0799001,58.5126141 41.5437696,62.8538462 31.9995627,62.8538462"
32
- })
33
- ]
34
- })
35
- })
36
- ]
37
- });
38
- }
39
-
40
- export { DefaultAvatar };
41
- //# sourceMappingURL=DefaultAvatar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultAvatar.js","sources":["../src/avatar/internal/DefaultAvatar.tsx"],"sourcesContent":["import { HTMLAttributes } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { classBase } from \"./constants\";\n\nconst withBaseName = makePrefixer(classBase);\n\nexport function DefaultAvatar({ id, title }: HTMLAttributes<HTMLElement>) {\n return (\n <svg\n aria-labelledby={id}\n height=\"64px\"\n role=\"img\"\n viewBox=\"0 0 64 64\"\n width=\"64px\"\n >\n <title id={id}>{title}</title>\n <g\n className={withBaseName(\"svgRoot\")}\n fill=\"none\"\n fillRule=\"evenodd\"\n stroke=\"none\"\n >\n <g>\n <path\n className={withBaseName(\"svgDisc\")}\n d=\"M0,32 C0,49.6769231 14.3230769,64 32,64 C49.6769231,64 64,49.6769231 64,32 C64,14.3230769 49.6769231,0 32,0 C14.3230769,0 0,14.3230769 0,32 Z\"\n />\n <path\n className={withBaseName(\"svgHead\")}\n d=\"M31.9995627,62.8538462 C22.4716151,62.8538462 13.9354845,58.5287108 8.24473082,51.7487468 C11.1388856,50.496781 18.3580131,47.8952936 22.9268753,46.5620313 C23.2845799,46.4482162 23.349617,46.4319569 23.349617,44.8222866 C23.349617,43.0988012 23.1545055,41.879354 22.7317638,40.9850927 C22.1626884,39.7656455 21.479798,37.7007148 21.2359085,35.8469925 C20.5530181,35.0504496 19.6262382,33.4893945 19.0246442,30.4978466 C18.5043468,27.8638406 18.7482362,26.9045421 19.0896814,26.0102808 C19.1222,25.9127251 19.1709779,25.8151693 19.1872372,25.7176135 C19.3173116,25.1160195 19.1384593,21.8966789 18.683199,19.4090065 C18.3742724,17.7017804 18.7644955,14.0759574 21.1220935,11.0679876 C22.6016894,9.16564991 25.4470663,6.84057054 30.5524853,6.51538462 L33.3978621,6.51538462 C38.5845776,6.84057054 41.4299545,9.16564991 42.9095504,11.0679876 C45.2671484,14.0759574 45.6573715,17.7017804 45.3321856,19.4090065 C44.8769253,21.8966789 44.698073,25.0997602 44.8281474,25.7176135 C44.8444067,25.8151693 44.8931846,25.9127251 44.9257032,25.9940215 C45.2671484,26.8882828 45.5272971,27.8475813 44.9907404,30.4815873 C44.3891464,33.4732978 43.4623665,35.0340277 42.7794761,35.8308958 C42.5355866,37.6844555 41.8526962,39.7331269 41.2836208,40.9686708 C40.747064,42.0907248 40.2105073,43.4239871 40.2105073,44.7572494 C40.2105073,46.3669197 40.2755445,46.383179 40.6495083,46.4968315 C44.9907404,47.7814785 52.4700167,50.3667066 55.7706538,51.7162282 C50.0799001,58.5126141 41.5437696,62.8538462 31.9995627,62.8538462\"\n />\n </g>\n </g>\n </svg>\n );\n}\n"],"names":[],"mappings":";;;;AAIA,MAAM,YAAA,GAAe,aAAa,SAAS,CAAA,CAAA;AAEpC,SAAS,aAAc,CAAA,EAAE,EAAI,EAAA,KAAA,EAAsC,EAAA;AACxE,EAAA,uBACG,IAAA,CAAA,KAAA,EAAA;AAAA,IACC,iBAAiB,EAAA,EAAA;AAAA,IACjB,MAAO,EAAA,MAAA;AAAA,IACP,IAAK,EAAA,KAAA;AAAA,IACL,OAAQ,EAAA,WAAA;AAAA,IACR,KAAM,EAAA,MAAA;AAAA,IAEN,QAAA,EAAA;AAAA,sBAAC,GAAA,CAAA,OAAA,EAAA;AAAA,QAAM,EAAA;AAAA,QAAS,QAAA,EAAA,KAAA;AAAA,OAAM,CAAA;AAAA,sBACrB,GAAA,CAAA,GAAA,EAAA;AAAA,QACC,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,QACjC,IAAK,EAAA,MAAA;AAAA,QACL,QAAS,EAAA,SAAA;AAAA,QACT,MAAO,EAAA,MAAA;AAAA,QAEP,QAAC,kBAAA,IAAA,CAAA,GAAA,EAAA;AAAA,UACC,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,MAAA,EAAA;AAAA,cACC,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,cACjC,CAAE,EAAA,+IAAA;AAAA,aACJ,CAAA;AAAA,4BACC,GAAA,CAAA,MAAA,EAAA;AAAA,cACC,SAAA,EAAW,aAAa,SAAS,CAAA;AAAA,cACjC,CAAE,EAAA,o+CAAA;AAAA,aACJ,CAAA;AAAA,WAAA;AAAA,SACF,CAAA;AAAA,OACF,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -1,4 +0,0 @@
1
- const classBase = "saltAvatar";
2
-
3
- export { classBase };
4
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../src/avatar/internal/constants.ts"],"sourcesContent":["export const classBase = \"saltAvatar\";\n"],"names":[],"mappings":"AAAO,MAAM,SAAY,GAAA;;;;"}
@@ -1,43 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
-
3
- function useLoaded({
4
- crossOrigin,
5
- referrerPolicy,
6
- src,
7
- srcSet
8
- }) {
9
- const [loaded, setLoaded] = useState(false);
10
- useEffect(() => {
11
- if (!src && !srcSet) {
12
- return void 0;
13
- }
14
- setLoaded(false);
15
- let active = true;
16
- const image = new Image();
17
- image.onload = () => {
18
- if (!active) {
19
- return;
20
- }
21
- setLoaded("loaded");
22
- };
23
- image.onerror = () => {
24
- if (!active) {
25
- return;
26
- }
27
- setLoaded("error");
28
- };
29
- image.crossOrigin = crossOrigin;
30
- image.referrerPolicy = referrerPolicy;
31
- image.src = src;
32
- if (srcSet) {
33
- image.srcset = srcSet;
34
- }
35
- return () => {
36
- active = false;
37
- };
38
- }, [crossOrigin, referrerPolicy, src, srcSet]);
39
- return loaded;
40
- }
41
-
42
- export { useLoaded };
43
- //# sourceMappingURL=useLoaded.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useLoaded.js","sources":["../src/avatar/internal/useLoaded.ts"],"sourcesContent":["import { ImgHTMLAttributes, useEffect, useState } from \"react\";\n\nexport function useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet,\n}: ImgHTMLAttributes<HTMLImageElement>) {\n const [loaded, setLoaded] = useState<false | \"loaded\" | \"error\">(false);\n\n useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n\n setLoaded(false);\n\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded(\"loaded\");\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded(\"error\");\n };\n image.crossOrigin = crossOrigin as HTMLImageElement[\"crossOrigin\"];\n image.referrerPolicy = referrerPolicy as HTMLImageElement[\"referrerPolicy\"];\n image.src = src as HTMLImageElement[\"src\"];\n if (srcSet) {\n image.srcset = srcSet;\n }\n\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n\n return loaded;\n}\n"],"names":[],"mappings":";;AAEO,SAAS,SAAU,CAAA;AAAA,EACxB,WAAA;AAAA,EACA,cAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AACF,CAAwC,EAAA;AACtC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAI,SAAqC,KAAK,CAAA,CAAA;AAEtE,EAAA,SAAA,CAAU,MAAM;AACd,IAAI,IAAA,CAAC,GAAO,IAAA,CAAC,MAAQ,EAAA;AACnB,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,KACT;AAEA,IAAA,SAAA,CAAU,KAAK,CAAA,CAAA;AAEf,IAAA,IAAI,MAAS,GAAA,IAAA,CAAA;AACb,IAAM,MAAA,KAAA,GAAQ,IAAI,KAAM,EAAA,CAAA;AACxB,IAAA,KAAA,CAAM,SAAS,MAAM;AACnB,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,OAAA;AAAA,OACF;AACA,MAAA,SAAA,CAAU,QAAQ,CAAA,CAAA;AAAA,KACpB,CAAA;AACA,IAAA,KAAA,CAAM,UAAU,MAAM;AACpB,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAA,OAAA;AAAA,OACF;AACA,MAAA,SAAA,CAAU,OAAO,CAAA,CAAA;AAAA,KACnB,CAAA;AACA,IAAA,KAAA,CAAM,WAAc,GAAA,WAAA,CAAA;AACpB,IAAA,KAAA,CAAM,cAAiB,GAAA,cAAA,CAAA;AACvB,IAAA,KAAA,CAAM,GAAM,GAAA,GAAA,CAAA;AACZ,IAAA,IAAI,MAAQ,EAAA;AACV,MAAA,KAAA,CAAM,MAAS,GAAA,MAAA,CAAA;AAAA,KACjB;AAEA,IAAA,OAAO,MAAM;AACX,MAAS,MAAA,GAAA,KAAA,CAAA;AAAA,KACX,CAAA;AAAA,KACC,CAAC,WAAA,EAAa,cAAgB,EAAA,GAAA,EAAK,MAAM,CAAC,CAAA,CAAA;AAE7C,EAAO,OAAA,MAAA,CAAA;AACT;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFloatingUI.js","sources":["../src/popper/useFloatingUI.tsx"],"sourcesContent":["import type { Props } from \"@floating-ui/react-dom-interactions\";\nimport {\n autoUpdate,\n flip,\n limitShift,\n shift,\n useFloating,\n} from \"@floating-ui/react-dom-interactions\";\nimport { isDesktop } from \"../window\";\n\nexport type UseFloatingUIProps = Partial<\n Pick<Props, \"placement\" | \"strategy\" | \"middleware\" | \"open\" | \"onOpenChange\">\n>;\n\nexport const DEFAULT_FLOATING_UI_MIDDLEWARE = isDesktop\n ? []\n : [flip(), shift({ limiter: limitShift() })];\n\nexport function useFloatingUI(\n props: UseFloatingUIProps\n): ReturnType<typeof useFloating> {\n const {\n placement: placementProp,\n strategy: strategyProp,\n middleware = DEFAULT_FLOATING_UI_MIDDLEWARE,\n open,\n onOpenChange,\n } = props;\n\n const { reference, floating, refs, update, ...rest } = useFloating({\n placement: placementProp,\n strategy: strategyProp,\n middleware,\n open,\n onOpenChange,\n whileElementsMounted: autoUpdate,\n });\n\n return {\n reference,\n floating,\n refs,\n update,\n ...rest,\n };\n}\n"],"names":[],"mappings":";;;;AAcO,MAAM,8BAAiC,GAAA,SAAA,GAC1C,EAAC,GACD,CAAC,IAAA,EAAQ,EAAA,KAAA,CAAM,EAAE,OAAA,EAAS,UAAW,EAAA,EAAG,CAAC,EAAA;AAEtC,SAAS,cACd,KACgC,EAAA;AAChC,EAAM,MAAA;AAAA,IACJ,SAAW,EAAA,aAAA;AAAA,IACX,QAAU,EAAA,YAAA;AAAA,IACV,UAAa,GAAA,8BAAA;AAAA,IACb,IAAA;AAAA,IACA,YAAA;AAAA,GACE,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,EAAE,SAAW,EAAA,QAAA,EAAU,MAAM,MAAW,EAAA,GAAA,IAAA,KAAS,WAAY,CAAA;AAAA,IACjE,SAAW,EAAA,aAAA;AAAA,IACX,QAAU,EAAA,YAAA;AAAA,IACV,UAAA;AAAA,IACA,IAAA;AAAA,IACA,YAAA;AAAA,IACA,oBAAsB,EAAA,UAAA;AAAA,GACvB,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,MAAA;AAAA,IACA,GAAG,IAAA;AAAA,GACL,CAAA;AACF;;;;"}
@@ -1,7 +0,0 @@
1
- import styleInject from '../../../../node_modules/style-inject/dist/style-inject.es.js';
2
-
3
- var css_248z = ".saltSvgSpinner-gradientStop1,\n.saltSvgSpinner-gradientStop2,\n.saltSvgSpinner-gradientStop3,\n.saltSvgSpinner-gradientStop4 {\n stop-color: var(--saltSpinner-gradient-color, var(--spinner-gradient-color));\n}\n\n.saltSvgSpinner {\n --spinner-gradient-color: var(--salt-measured-fill);\n\n position: relative;\n}\n\n.saltSvgSpinner-small {\n height: var(--salt-size-graphic-small);\n width: var(--salt-size-graphic-small);\n}\n\n.saltSvgSpinner-medium {\n height: var(--salt-size-graphic-medium);\n width: var(--salt-size-graphic-medium);\n}\n\n.saltSvgSpinner-large {\n height: var(--salt-size-graphic-large);\n width: var(--salt-size-graphic-large);\n}\n\n.saltSvgSpinner-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";
4
- styleInject(css_248z);
5
-
6
- export { css_248z as default };
7
- //# sourceMappingURL=Spinner.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spinner.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,71 +0,0 @@
1
- import { jsx } from 'react/jsx-runtime';
2
- import { useId, useAriaAnnouncer } from '@salt-ds/core';
3
- import { clsx } from 'clsx';
4
- import { forwardRef, useEffect } from 'react';
5
- import { getSvgSpinner } from './svgSpinners/index.js';
6
- import './Spinner.css.js';
7
-
8
- const SpinnerSizeValues = ["small", "medium", "large"];
9
- const baseName = "saltSvgSpinner";
10
- const Spinner = forwardRef(
11
- function Spinner2({
12
- "aria-label": ariaLabel = "loading",
13
- announcerInterval = 5e3,
14
- announcerTimeout = 2e4,
15
- completionAnnouncement = `finished ${ariaLabel}`,
16
- disableAnnouncer,
17
- role = "img",
18
- className,
19
- size = "medium",
20
- id: idProps,
21
- ...rest
22
- }, ref) {
23
- const generatedId = useId(idProps);
24
- const SvgSpinner = getSvgSpinner(size);
25
- const { announce } = useAriaAnnouncer();
26
- useEffect(() => {
27
- if (disableAnnouncer)
28
- return;
29
- announce(ariaLabel);
30
- const startTime = new Date().getTime();
31
- const interval = setInterval(() => {
32
- if (new Date().getTime() - startTime > announcerTimeout) {
33
- announce(
34
- `${ariaLabel} is still in progress, but will no longer announce.`
35
- );
36
- clearInterval(interval);
37
- return;
38
- }
39
- announce(ariaLabel);
40
- }, announcerInterval);
41
- return () => {
42
- if (disableAnnouncer)
43
- return;
44
- clearInterval(interval);
45
- if (completionAnnouncement) {
46
- announce(completionAnnouncement);
47
- }
48
- };
49
- }, [
50
- announce,
51
- announcerInterval,
52
- announcerTimeout,
53
- ariaLabel,
54
- completionAnnouncement,
55
- disableAnnouncer
56
- ]);
57
- return /* @__PURE__ */ jsx("div", {
58
- "aria-label": ariaLabel,
59
- className: clsx(`${baseName}-${size}`, className, baseName),
60
- ref,
61
- role,
62
- ...rest,
63
- children: /* @__PURE__ */ jsx(SvgSpinner, {
64
- id: generatedId
65
- })
66
- });
67
- }
68
- );
69
-
70
- export { Spinner, SpinnerSizeValues };
71
- //# sourceMappingURL=Spinner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Spinner.js","sources":["../src/spinner/Spinner.tsx"],"sourcesContent":["import { useAriaAnnouncer, useId } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, HTMLAttributes, useEffect } from \"react\";\nimport { getSvgSpinner } from \"./svgSpinners\";\n\nimport \"./Spinner.css\";\n\n/**\n * Spinner component, provides an indeterminate loading indicator\n *\n * @example\n * <Spinner size=\"small | medium | large\" />\n */\n\n// TODO: documentation -- add line about best practices:\n// - Improve accessibility by customizing the aria-label to provide additional context about *what* is loading, e.g. `aria-label=\"loading settings panel\"`.\n\nexport const SpinnerSizeValues = [\"small\", \"medium\", \"large\"] as const;\nexport type SpinnerSize = typeof SpinnerSizeValues[number];\nconst baseName = \"saltSvgSpinner\";\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: 'small', 'medium', '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 = \"medium\",\n id: idProps,\n ...rest\n },\n ref\n ) {\n const generatedId = useId(idProps);\n const SvgSpinner = getSvgSpinner(size);\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 // above line was causing typescript type error that I didn't manage to sort out right away\n setInterval(() => {\n if (new Date().getTime() - startTime > announcerTimeout) {\n // the announcer will stop after 20s\n announce(\n `${ariaLabel} is still in progress, but will no longer announce.`\n );\n clearInterval(interval);\n return;\n }\n announce(ariaLabel);\n }, announcerInterval);\n\n return () => {\n if (disableAnnouncer) return;\n\n 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(`${baseName}-${size}`, className, baseName)}\n ref={ref}\n role={role}\n {...rest}\n >\n <SvgSpinner id={generatedId} />\n </div>\n );\n }\n);\n"],"names":["Spinner"],"mappings":";;;;;;;AAiBO,MAAM,iBAAoB,GAAA,CAAC,OAAS,EAAA,QAAA,EAAU,OAAO,EAAA;AAE5D,MAAM,QAAW,GAAA,gBAAA,CAAA;AAqCV,MAAM,OAAU,GAAA,UAAA;AAAA,EACrB,SAASA,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,QAAA;AAAA,IACP,EAAI,EAAA,OAAA;AAAA,IACD,GAAA,IAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,WAAA,GAAc,MAAM,OAAO,CAAA,CAAA;AACjC,IAAM,MAAA,UAAA,GAAa,cAAc,IAAI,CAAA,CAAA;AAErC,IAAM,MAAA,EAAE,QAAS,EAAA,GAAI,gBAAiB,EAAA,CAAA;AAEtC,IAAA,SAAA,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,MAAM,MAAA,QAAA,GAGJ,YAAY,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,aAAA,CAAc,QAAQ,CAAA,CAAA;AACtB,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,aAAA,CAAc,QAAQ,CAAA,CAAA;AACtB,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,uBACG,GAAA,CAAA,KAAA,EAAA;AAAA,MACC,YAAY,EAAA,SAAA;AAAA,MACZ,WAAW,IAAK,CAAA,CAAA,EAAG,QAAY,CAAA,CAAA,EAAA,IAAA,CAAA,CAAA,EAAQ,WAAW,QAAQ,CAAA;AAAA,MAC1D,GAAA;AAAA,MACA,IAAA;AAAA,MACC,GAAG,IAAA;AAAA,MAEJ,QAAC,kBAAA,GAAA,CAAA,UAAA,EAAA;AAAA,QAAW,EAAI,EAAA,WAAA;AAAA,OAAa,CAAA;AAAA,KAC/B,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -1,67 +0,0 @@
1
- import { jsxs, jsx } from 'react/jsx-runtime';
2
-
3
- const baseName = "saltSvgSpinner";
4
- const SpinnerLarge = (props) => /* @__PURE__ */ jsxs("svg", {
5
- className: `${baseName}-spinner`,
6
- viewBox: "0 0 48 48",
7
- ...props,
8
- children: [
9
- /* @__PURE__ */ jsxs("defs", {
10
- children: [
11
- /* @__PURE__ */ jsxs("linearGradient", {
12
- id: `${props.id}-1`,
13
- x1: "13%",
14
- x2: "100%",
15
- y1: "0%",
16
- y2: "87%",
17
- children: [
18
- /* @__PURE__ */ jsx("stop", {
19
- className: `${baseName}-gradientStop1`,
20
- offset: "0%"
21
- }),
22
- /* @__PURE__ */ jsx("stop", {
23
- className: `${baseName}-gradientStop2`,
24
- offset: "100%",
25
- stopOpacity: "0"
26
- })
27
- ]
28
- }),
29
- /* @__PURE__ */ jsxs("linearGradient", {
30
- id: `${props.id}-2`,
31
- x1: "100%",
32
- x2: "0%",
33
- y1: "78%",
34
- y2: "78%",
35
- children: [
36
- /* @__PURE__ */ jsx("stop", {
37
- className: `${baseName}-gradientStop3`,
38
- offset: "0%"
39
- }),
40
- /* @__PURE__ */ jsx("stop", {
41
- className: `${baseName}-gradientStop4`,
42
- offset: "100%"
43
- })
44
- ]
45
- })
46
- ]
47
- }),
48
- /* @__PURE__ */ jsxs("g", {
49
- fill: "none",
50
- fillRule: "evenodd",
51
- strokeWidth: "1",
52
- children: [
53
- /* @__PURE__ */ jsx("path", {
54
- d: "M2,24 L0,24 C0,37.255 10.745,48 24,48 L24,46 C11.869,46 2,36.131 2,24",
55
- fill: `url(#${props.id}-1)`
56
- }),
57
- /* @__PURE__ */ jsx("path", {
58
- d: "M24,0 C10.745,0 0,10.745 0,24 L2,24 C2,11.869 11.869,2 24,2 C36.131,2 46,11.869 46,24 L48,24 C48,10.745 37.255,0 24,0",
59
- fill: `url(#${props.id}-2)`
60
- })
61
- ]
62
- })
63
- ]
64
- });
65
-
66
- export { SpinnerLarge };
67
- //# sourceMappingURL=SpinnerLarge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SpinnerLarge.js","sources":["../src/spinner/svgSpinners/SpinnerLarge.tsx"],"sourcesContent":["import { SVGAttributes } from \"react\";\n\nconst baseName = \"saltSvgSpinner\";\n\nexport const SpinnerLarge = (props: SVGAttributes<SVGSVGElement>) => (\n <svg className={`${baseName}-spinner`} viewBox=\"0 0 48 48\" {...props}>\n <defs>\n <linearGradient id={`${props.id}-1`} x1=\"13%\" x2=\"100%\" y1=\"0%\" y2=\"87%\">\n <stop className={`${baseName}-gradientStop1`} offset=\"0%\" />\n <stop\n className={`${baseName}-gradientStop2`}\n offset=\"100%\"\n stopOpacity=\"0\"\n />\n </linearGradient>\n <linearGradient id={`${props.id}-2`} x1=\"100%\" x2=\"0%\" y1=\"78%\" y2=\"78%\">\n <stop className={`${baseName}-gradientStop3`} offset=\"0%\" />\n <stop className={`${baseName}-gradientStop4`} offset=\"100%\" />\n </linearGradient>\n </defs>\n <g fill=\"none\" fillRule=\"evenodd\" strokeWidth=\"1\">\n <path\n d=\"M2,24 L0,24 C0,37.255 10.745,48 24,48 L24,46 C11.869,46 2,36.131 2,24\"\n fill={`url(#${props.id}-1)`}\n />\n <path\n d=\"M24,0 C10.745,0 0,10.745 0,24 L2,24 C2,11.869 11.869,2 24,2 C36.131,2 46,11.869 46,24 L48,24 C48,10.745 37.255,0 24,0\"\n fill={`url(#${props.id}-2)`}\n />\n </g>\n </svg>\n);\n"],"names":[],"mappings":";;AAEA,MAAM,QAAW,GAAA,gBAAA,CAAA;AAEJ,MAAA,YAAA,GAAe,CAAC,KAAA,qBAC1B,IAAA,CAAA,KAAA,EAAA;AAAA,EAAI,WAAW,CAAG,EAAA,QAAA,CAAA,QAAA,CAAA;AAAA,EAAoB,OAAQ,EAAA,WAAA;AAAA,EAAa,GAAG,KAAA;AAAA,EAC7D,QAAA,EAAA;AAAA,oBAAC,IAAA,CAAA,MAAA,EAAA;AAAA,MACC,QAAA,EAAA;AAAA,wBAAC,IAAA,CAAA,gBAAA,EAAA;AAAA,UAAe,EAAA,EAAI,GAAG,KAAM,CAAA,EAAA,CAAA,EAAA,CAAA;AAAA,UAAQ,EAAG,EAAA,KAAA;AAAA,UAAM,EAAG,EAAA,MAAA;AAAA,UAAO,EAAG,EAAA,IAAA;AAAA,UAAK,EAAG,EAAA,KAAA;AAAA,UACjE,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,MAAA,EAAA;AAAA,cAAK,WAAW,CAAG,EAAA,QAAA,CAAA,cAAA,CAAA;AAAA,cAA0B,MAAO,EAAA,IAAA;AAAA,aAAK,CAAA;AAAA,4BACzD,GAAA,CAAA,MAAA,EAAA;AAAA,cACC,WAAW,CAAG,EAAA,QAAA,CAAA,cAAA,CAAA;AAAA,cACd,MAAO,EAAA,MAAA;AAAA,cACP,WAAY,EAAA,GAAA;AAAA,aACd,CAAA;AAAA,WAAA;AAAA,SACF,CAAA;AAAA,wBACC,IAAA,CAAA,gBAAA,EAAA;AAAA,UAAe,EAAA,EAAI,GAAG,KAAM,CAAA,EAAA,CAAA,EAAA,CAAA;AAAA,UAAQ,EAAG,EAAA,MAAA;AAAA,UAAO,EAAG,EAAA,IAAA;AAAA,UAAK,EAAG,EAAA,KAAA;AAAA,UAAM,EAAG,EAAA,KAAA;AAAA,UACjE,QAAA,EAAA;AAAA,4BAAC,GAAA,CAAA,MAAA,EAAA;AAAA,cAAK,WAAW,CAAG,EAAA,QAAA,CAAA,cAAA,CAAA;AAAA,cAA0B,MAAO,EAAA,IAAA;AAAA,aAAK,CAAA;AAAA,4BACzD,GAAA,CAAA,MAAA,EAAA;AAAA,cAAK,WAAW,CAAG,EAAA,QAAA,CAAA,cAAA,CAAA;AAAA,cAA0B,MAAO,EAAA,MAAA;AAAA,aAAO,CAAA;AAAA,WAAA;AAAA,SAC9D,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,oBACC,IAAA,CAAA,GAAA,EAAA;AAAA,MAAE,IAAK,EAAA,MAAA;AAAA,MAAO,QAAS,EAAA,SAAA;AAAA,MAAU,WAAY,EAAA,GAAA;AAAA,MAC5C,QAAA,EAAA;AAAA,wBAAC,GAAA,CAAA,MAAA,EAAA;AAAA,UACC,CAAE,EAAA,uEAAA;AAAA,UACF,IAAA,EAAM,QAAQ,KAAM,CAAA,EAAA,CAAA,GAAA,CAAA;AAAA,SACtB,CAAA;AAAA,wBACC,GAAA,CAAA,MAAA,EAAA;AAAA,UACC,CAAE,EAAA,uHAAA;AAAA,UACF,IAAA,EAAM,QAAQ,KAAM,CAAA,EAAA,CAAA,GAAA,CAAA;AAAA,SACtB,CAAA;AAAA,OAAA;AAAA,KACF,CAAA;AAAA,GAAA;AAAA,CACF;;;;"}