@salt-ds/lab 1.0.0-alpha.0 → 1.0.0-alpha.2

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 (785) hide show
  1. package/dist-cjs/packages/lab/src/accordion/Accordion.js +2 -6
  2. package/dist-cjs/packages/lab/src/accordion/Accordion.js.map +1 -1
  3. package/dist-cjs/packages/lab/src/accordion/AccordionDetails.js +3 -7
  4. package/dist-cjs/packages/lab/src/accordion/AccordionDetails.js.map +1 -1
  5. package/dist-cjs/packages/lab/src/accordion/AccordionSection.js +3 -6
  6. package/dist-cjs/packages/lab/src/accordion/AccordionSection.js.map +1 -1
  7. package/dist-cjs/packages/lab/src/accordion/AccordionSummary.js +2 -6
  8. package/dist-cjs/packages/lab/src/accordion/AccordionSummary.js.map +1 -1
  9. package/dist-cjs/packages/lab/src/app-header/AppHeader.js +3 -6
  10. package/dist-cjs/packages/lab/src/app-header/AppHeader.js.map +1 -1
  11. package/dist-cjs/packages/lab/src/avatar/Avatar.js +2 -6
  12. package/dist-cjs/packages/lab/src/avatar/Avatar.js.map +1 -1
  13. package/dist-cjs/packages/lab/src/badge/Badge.js +4 -8
  14. package/dist-cjs/packages/lab/src/badge/Badge.js.map +1 -1
  15. package/dist-cjs/packages/lab/src/banner/Banner.js +5 -9
  16. package/dist-cjs/packages/lab/src/banner/Banner.js.map +1 -1
  17. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumb.js +4 -8
  18. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
  19. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumbs.js +3 -4
  20. package/dist-cjs/packages/lab/src/breadcrumbs/Breadcrumbs.js.map +1 -1
  21. package/dist-cjs/packages/lab/src/button-bar/ButtonBar.js +2 -6
  22. package/dist-cjs/packages/lab/src/button-bar/ButtonBar.js.map +1 -1
  23. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js +3 -6
  24. package/dist-cjs/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  25. package/dist-cjs/packages/lab/src/calendar/Calendar.js +2 -6
  26. package/dist-cjs/packages/lab/src/calendar/Calendar.js.map +1 -1
  27. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js +34 -54
  28. package/dist-cjs/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
  29. package/dist-cjs/packages/lab/src/calendar/internal/CalendarMonth.js +2 -6
  30. package/dist-cjs/packages/lab/src/calendar/internal/CalendarMonth.js.map +1 -1
  31. package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js +38 -72
  32. package/dist-cjs/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
  33. package/dist-cjs/packages/lab/src/calendar/internal/CalendarWeekHeader.js +2 -6
  34. package/dist-cjs/packages/lab/src/calendar/internal/CalendarWeekHeader.js.map +1 -1
  35. package/dist-cjs/packages/lab/src/calendar/useSelection.js +3 -6
  36. package/dist-cjs/packages/lab/src/calendar/useSelection.js.map +1 -1
  37. package/dist-cjs/packages/lab/src/carousel/Carousel.js +3 -6
  38. package/dist-cjs/packages/lab/src/carousel/Carousel.js.map +1 -1
  39. package/dist-cjs/packages/lab/src/carousel/CarouselSlide.js +4 -8
  40. package/dist-cjs/packages/lab/src/carousel/CarouselSlide.js.map +1 -1
  41. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js +2 -1
  42. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
  43. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js +48 -69
  44. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
  45. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js +5 -9
  46. package/dist-cjs/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
  47. package/dist-cjs/packages/lab/src/cascading-menu/internal/useClickAway.js +1 -0
  48. package/dist-cjs/packages/lab/src/cascading-menu/internal/useClickAway.js.map +1 -1
  49. package/dist-cjs/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js +1 -0
  50. package/dist-cjs/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  51. package/dist-cjs/packages/lab/src/checkbox/Checkbox.js +2 -6
  52. package/dist-cjs/packages/lab/src/checkbox/Checkbox.js.map +1 -1
  53. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js +2 -6
  54. package/dist-cjs/packages/lab/src/checkbox/CheckboxBase.js.map +1 -1
  55. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js +2 -6
  56. package/dist-cjs/packages/lab/src/checkbox/CheckboxGroup.js.map +1 -1
  57. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js +4 -8
  58. package/dist-cjs/packages/lab/src/checkbox/CheckboxIcon.js.map +1 -1
  59. package/dist-cjs/packages/lab/src/color-chooser/AlphaInputField.js +2 -6
  60. package/dist-cjs/packages/lab/src/color-chooser/AlphaInputField.js.map +1 -1
  61. package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.js +7 -11
  62. package/dist-cjs/packages/lab/src/color-chooser/ColorChooser.js.map +1 -1
  63. package/dist-cjs/packages/lab/src/color-chooser/ColorPicker.js +7 -11
  64. package/dist-cjs/packages/lab/src/color-chooser/ColorPicker.js.map +1 -1
  65. package/dist-cjs/packages/lab/src/color-chooser/DictTabs.js +3 -7
  66. package/dist-cjs/packages/lab/src/color-chooser/DictTabs.js.map +1 -1
  67. package/dist-cjs/packages/lab/src/color-chooser/HexInput.js +4 -8
  68. package/dist-cjs/packages/lab/src/color-chooser/HexInput.js.map +1 -1
  69. package/dist-cjs/packages/lab/src/color-chooser/RGBAInput.js +5 -9
  70. package/dist-cjs/packages/lab/src/color-chooser/RGBAInput.js.map +1 -1
  71. package/dist-cjs/packages/lab/src/color-chooser/Swatch.js +2 -6
  72. package/dist-cjs/packages/lab/src/color-chooser/Swatch.js.map +1 -1
  73. package/dist-cjs/packages/lab/src/color-chooser/Swatches.js +6 -10
  74. package/dist-cjs/packages/lab/src/color-chooser/Swatches.js.map +1 -1
  75. package/dist-cjs/packages/lab/src/combo-box/ComboBox.js +1 -0
  76. package/dist-cjs/packages/lab/src/combo-box/ComboBox.js.map +1 -1
  77. package/dist-cjs/packages/lab/src/combo-box/useCombobox.js +1 -0
  78. package/dist-cjs/packages/lab/src/combo-box/useCombobox.js.map +1 -1
  79. package/dist-cjs/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js +3 -7
  80. package/dist-cjs/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  81. package/dist-cjs/packages/lab/src/combo-box-deprecated/filterHelpers.js +1 -0
  82. package/dist-cjs/packages/lab/src/combo-box-deprecated/filterHelpers.js.map +1 -1
  83. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js +21 -39
  84. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  85. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js +28 -49
  86. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  87. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useComboBox.js +1 -0
  88. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  89. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -0
  90. package/dist-cjs/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  91. package/dist-cjs/packages/lab/src/common-hooks/useAutoSizer.js +3 -2
  92. package/dist-cjs/packages/lab/src/common-hooks/useAutoSizer.js.map +1 -1
  93. package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js +3 -2
  94. package/dist-cjs/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
  95. package/dist-cjs/packages/lab/src/common-hooks/utils/filter-utils.js +1 -0
  96. package/dist-cjs/packages/lab/src/common-hooks/utils/filter-utils.js.map +1 -1
  97. package/dist-cjs/packages/lab/src/contact-details/ContactAction.js +8 -23
  98. package/dist-cjs/packages/lab/src/contact-details/ContactAction.js.map +1 -1
  99. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js +2 -6
  100. package/dist-cjs/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  101. package/dist-cjs/packages/lab/src/contact-details/ContactDetails.js +2 -6
  102. package/dist-cjs/packages/lab/src/contact-details/ContactDetails.js.map +1 -1
  103. package/dist-cjs/packages/lab/src/contact-details/ContactFavoriteToggle.js.map +1 -1
  104. package/dist-cjs/packages/lab/src/contact-details/ContactMetadata.js +2 -6
  105. package/dist-cjs/packages/lab/src/contact-details/ContactMetadata.js.map +1 -1
  106. package/dist-cjs/packages/lab/src/contact-details/ContactPrimaryInfo.js +2 -6
  107. package/dist-cjs/packages/lab/src/contact-details/ContactPrimaryInfo.js.map +1 -1
  108. package/dist-cjs/packages/lab/src/contact-details/ContactSecondaryInfo.js +2 -6
  109. package/dist-cjs/packages/lab/src/contact-details/ContactSecondaryInfo.js.map +1 -1
  110. package/dist-cjs/packages/lab/src/contact-details/ContactTertiaryInfo.js +2 -6
  111. package/dist-cjs/packages/lab/src/contact-details/ContactTertiaryInfo.js.map +1 -1
  112. package/dist-cjs/packages/lab/src/contact-details/MailLinkComponent.js +1 -0
  113. package/dist-cjs/packages/lab/src/contact-details/MailLinkComponent.js.map +1 -1
  114. package/dist-cjs/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js +8 -19
  115. package/dist-cjs/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  116. package/dist-cjs/packages/lab/src/contact-details/internal/StarIconContainer.js +3 -7
  117. package/dist-cjs/packages/lab/src/contact-details/internal/StarIconContainer.js.map +1 -1
  118. package/dist-cjs/packages/lab/src/content-status/ContentStatus.js +6 -10
  119. package/dist-cjs/packages/lab/src/content-status/ContentStatus.js.map +1 -1
  120. package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js +4 -9
  121. package/dist-cjs/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
  122. package/dist-cjs/packages/lab/src/control-label/ControlLabel.js +2 -6
  123. package/dist-cjs/packages/lab/src/control-label/ControlLabel.js.map +1 -1
  124. package/dist-cjs/packages/lab/src/deck-item/DeckItem.js +2 -6
  125. package/dist-cjs/packages/lab/src/deck-item/DeckItem.js.map +1 -1
  126. package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js +4 -7
  127. package/dist-cjs/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
  128. package/dist-cjs/packages/lab/src/dialog/Dialog.js +2 -6
  129. package/dist-cjs/packages/lab/src/dialog/Dialog.js.map +1 -1
  130. package/dist-cjs/packages/lab/src/dialog/DialogActions.js +2 -6
  131. package/dist-cjs/packages/lab/src/dialog/DialogActions.js.map +1 -1
  132. package/dist-cjs/packages/lab/src/dialog/DialogContent.js +2 -6
  133. package/dist-cjs/packages/lab/src/dialog/DialogContent.js.map +1 -1
  134. package/dist-cjs/packages/lab/src/dialog/DialogTitle.js +2 -6
  135. package/dist-cjs/packages/lab/src/dialog/DialogTitle.js.map +1 -1
  136. package/dist-cjs/packages/lab/src/dropdown/Dropdown.js +1 -0
  137. package/dist-cjs/packages/lab/src/dropdown/Dropdown.js.map +1 -1
  138. package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js +10 -14
  139. package/dist-cjs/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
  140. package/dist-cjs/packages/lab/src/dropdown/DropdownButton.js +2 -6
  141. package/dist-cjs/packages/lab/src/dropdown/DropdownButton.js.map +1 -1
  142. package/dist-cjs/packages/lab/src/dropdown/useDropdown.js +1 -0
  143. package/dist-cjs/packages/lab/src/dropdown/useDropdown.js.map +1 -1
  144. package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js +1 -0
  145. package/dist-cjs/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
  146. package/dist-cjs/packages/lab/src/editable-label/EditableLabel.js +2 -6
  147. package/dist-cjs/packages/lab/src/editable-label/EditableLabel.js.map +1 -1
  148. package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.js +2 -6
  149. package/dist-cjs/packages/lab/src/file-drop-zone/FileDropZone.js.map +1 -1
  150. package/dist-cjs/packages/lab/src/form-field/FormField.js +61 -78
  151. package/dist-cjs/packages/lab/src/form-field/FormField.js.map +1 -1
  152. package/dist-cjs/packages/lab/src/form-field/FormLabel.js +2 -6
  153. package/dist-cjs/packages/lab/src/form-field/FormLabel.js.map +1 -1
  154. package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js +18 -35
  155. package/dist-cjs/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
  156. package/dist-cjs/packages/lab/src/form-group/FormGroup.js +2 -6
  157. package/dist-cjs/packages/lab/src/form-group/FormGroup.js.map +1 -1
  158. package/dist-cjs/packages/lab/src/formatted-input/FormattedInput.js +2 -6
  159. package/dist-cjs/packages/lab/src/formatted-input/FormattedInput.js.map +1 -1
  160. package/dist-cjs/packages/lab/src/formatted-input/internal/InputWithMask.js +2 -6
  161. package/dist-cjs/packages/lab/src/formatted-input/internal/InputWithMask.js.map +1 -1
  162. package/dist-cjs/packages/lab/src/index.js +3 -19
  163. package/dist-cjs/packages/lab/src/index.js.map +1 -1
  164. package/dist-cjs/packages/lab/src/input/Input.js +4 -8
  165. package/dist-cjs/packages/lab/src/input/Input.js.map +1 -1
  166. package/dist-cjs/packages/lab/src/input/StaticInputAdornment.js +2 -6
  167. package/dist-cjs/packages/lab/src/input/StaticInputAdornment.js.map +1 -1
  168. package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js +6 -9
  169. package/dist-cjs/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
  170. package/dist-cjs/packages/lab/src/list/Highlighter.js +1 -0
  171. package/dist-cjs/packages/lab/src/list/Highlighter.js.map +1 -1
  172. package/dist-cjs/packages/lab/src/list/List.js +5 -8
  173. package/dist-cjs/packages/lab/src/list/List.js.map +1 -1
  174. package/dist-cjs/packages/lab/src/list/ListItem.js +3 -7
  175. package/dist-cjs/packages/lab/src/list/ListItem.js.map +1 -1
  176. package/dist-cjs/packages/lab/src/list/VirtualizedList.js +4 -7
  177. package/dist-cjs/packages/lab/src/list/VirtualizedList.js.map +1 -1
  178. package/dist-cjs/packages/lab/src/list/useList.js +2 -1
  179. package/dist-cjs/packages/lab/src/list/useList.js.map +1 -1
  180. package/dist-cjs/packages/lab/src/list/useListHeight.js +1 -0
  181. package/dist-cjs/packages/lab/src/list/useListHeight.js.map +1 -1
  182. package/dist-cjs/packages/lab/src/list/useVirtualization.js +2 -1
  183. package/dist-cjs/packages/lab/src/list/useVirtualization.js.map +1 -1
  184. package/dist-cjs/packages/lab/src/list-deprecated/List.js +5 -26
  185. package/dist-cjs/packages/lab/src/list-deprecated/List.js.map +1 -1
  186. package/dist-cjs/packages/lab/src/list-deprecated/ListBase.js +3 -7
  187. package/dist-cjs/packages/lab/src/list-deprecated/ListBase.js.map +1 -1
  188. package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js +29 -63
  189. package/dist-cjs/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
  190. package/dist-cjs/packages/lab/src/list-deprecated/internal/Highlighter.js +1 -0
  191. package/dist-cjs/packages/lab/src/list-deprecated/internal/Highlighter.js.map +1 -1
  192. package/dist-cjs/packages/lab/src/list-deprecated/useTypeSelect.js +1 -0
  193. package/dist-cjs/packages/lab/src/list-deprecated/useTypeSelect.js.map +1 -1
  194. package/dist-cjs/packages/lab/src/logo/Logo.js +5 -9
  195. package/dist-cjs/packages/lab/src/logo/Logo.js.map +1 -1
  196. package/dist-cjs/packages/lab/src/menu-button/MenuButtonTrigger.js +2 -6
  197. package/dist-cjs/packages/lab/src/menu-button/MenuButtonTrigger.js.map +1 -1
  198. package/dist-cjs/packages/lab/src/metric/Metric.js +2 -6
  199. package/dist-cjs/packages/lab/src/metric/Metric.js.map +1 -1
  200. package/dist-cjs/packages/lab/src/metric/MetricContent.js +2 -6
  201. package/dist-cjs/packages/lab/src/metric/MetricContent.js.map +1 -1
  202. package/dist-cjs/packages/lab/src/metric/MetricHeader.js +2 -6
  203. package/dist-cjs/packages/lab/src/metric/MetricHeader.js.map +1 -1
  204. package/dist-cjs/packages/lab/src/overlay/Overlay.js +4 -8
  205. package/dist-cjs/packages/lab/src/overlay/Overlay.js.map +1 -1
  206. package/dist-cjs/packages/lab/src/overlay/useOverlay.js +11 -12
  207. package/dist-cjs/packages/lab/src/overlay/useOverlay.js.map +1 -1
  208. package/dist-cjs/packages/lab/src/pagination/ArrowButton.js +2 -6
  209. package/dist-cjs/packages/lab/src/pagination/ArrowButton.js.map +1 -1
  210. package/dist-cjs/packages/lab/src/pagination/CompactInput.js +3 -7
  211. package/dist-cjs/packages/lab/src/pagination/CompactInput.js.map +1 -1
  212. package/dist-cjs/packages/lab/src/pagination/GoToInput.js +3 -7
  213. package/dist-cjs/packages/lab/src/pagination/GoToInput.js.map +1 -1
  214. package/dist-cjs/packages/lab/src/pagination/PageButton.js +2 -6
  215. package/dist-cjs/packages/lab/src/pagination/PageButton.js.map +1 -1
  216. package/dist-cjs/packages/lab/src/pagination/Pagination.js +2 -6
  217. package/dist-cjs/packages/lab/src/pagination/Pagination.js.map +1 -1
  218. package/dist-cjs/packages/lab/src/pagination/Paginator.js +2 -6
  219. package/dist-cjs/packages/lab/src/pagination/Paginator.js.map +1 -1
  220. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js +2 -6
  221. package/dist-cjs/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  222. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js +3 -6
  223. package/dist-cjs/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  224. package/dist-cjs/packages/lab/src/pill/ClosablePill.js +2 -6
  225. package/dist-cjs/packages/lab/src/pill/ClosablePill.js.map +1 -1
  226. package/dist-cjs/packages/lab/src/pill/PillBase.js +42 -62
  227. package/dist-cjs/packages/lab/src/pill/PillBase.js.map +1 -1
  228. package/dist-cjs/packages/lab/src/pill/SelectablePill.js +2 -6
  229. package/dist-cjs/packages/lab/src/pill/SelectablePill.js.map +1 -1
  230. package/dist-cjs/packages/lab/src/pill/internal/DeleteButton.js +2 -6
  231. package/dist-cjs/packages/lab/src/pill/internal/DeleteButton.js.map +1 -1
  232. package/dist-cjs/packages/lab/src/pill/internal/DivButton.js +2 -6
  233. package/dist-cjs/packages/lab/src/pill/internal/DivButton.js.map +1 -1
  234. package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.js +4 -8
  235. package/dist-cjs/packages/lab/src/progress/CircularProgress/CircularProgress.js.map +1 -1
  236. package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.js +5 -9
  237. package/dist-cjs/packages/lab/src/progress/LinearProgress/LinearProgress.js.map +1 -1
  238. package/dist-cjs/packages/lab/src/query-input/QueryInput.js +2 -6
  239. package/dist-cjs/packages/lab/src/query-input/QueryInput.js.map +1 -1
  240. package/dist-cjs/packages/lab/src/query-input/internal/CategoryList.js +1 -0
  241. package/dist-cjs/packages/lab/src/query-input/internal/CategoryList.js.map +1 -1
  242. package/dist-cjs/packages/lab/src/query-input/internal/CategoryListItem.js +1 -0
  243. package/dist-cjs/packages/lab/src/query-input/internal/CategoryListItem.js.map +1 -1
  244. package/dist-cjs/packages/lab/src/query-input/internal/QueryInputBody.js +1 -0
  245. package/dist-cjs/packages/lab/src/query-input/internal/QueryInputBody.js.map +1 -1
  246. package/dist-cjs/packages/lab/src/query-input/internal/SearchList.js +1 -0
  247. package/dist-cjs/packages/lab/src/query-input/internal/SearchList.js.map +1 -1
  248. package/dist-cjs/packages/lab/src/query-input/internal/ValueList.js +1 -0
  249. package/dist-cjs/packages/lab/src/query-input/internal/ValueList.js.map +1 -1
  250. package/dist-cjs/packages/lab/src/query-input/internal/ValueSelector.js +2 -3
  251. package/dist-cjs/packages/lab/src/query-input/internal/ValueSelector.js.map +1 -1
  252. package/dist-cjs/packages/lab/src/query-input/useQueryInput.js +1 -0
  253. package/dist-cjs/packages/lab/src/query-input/useQueryInput.js.map +1 -1
  254. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js +3 -7
  255. package/dist-cjs/packages/lab/src/radio-button/RadioButton.js.map +1 -1
  256. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js +2 -6
  257. package/dist-cjs/packages/lab/src/radio-button/RadioButtonBase.js.map +1 -1
  258. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js +3 -7
  259. package/dist-cjs/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
  260. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js +2 -6
  261. package/dist-cjs/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
  262. package/dist-cjs/packages/lab/src/responsive/useOverflow.js +1 -0
  263. package/dist-cjs/packages/lab/src/responsive/useOverflow.js.map +1 -1
  264. package/dist-cjs/packages/lab/src/responsive/useResizeObserver.js +6 -3
  265. package/dist-cjs/packages/lab/src/responsive/useResizeObserver.js.map +1 -1
  266. package/dist-cjs/packages/lab/src/scrim/Scrim.js +2 -3
  267. package/dist-cjs/packages/lab/src/scrim/Scrim.js.map +1 -1
  268. package/dist-cjs/packages/lab/src/search-input/SearchInput.js +3 -7
  269. package/dist-cjs/packages/lab/src/search-input/SearchInput.js.map +1 -1
  270. package/dist-cjs/packages/lab/src/skip-link/SkipLink.js +3 -7
  271. package/dist-cjs/packages/lab/src/skip-link/SkipLink.js.map +1 -1
  272. package/dist-cjs/packages/lab/src/skip-link/SkipLinks.js +2 -6
  273. package/dist-cjs/packages/lab/src/skip-link/SkipLinks.js.map +1 -1
  274. package/dist-cjs/packages/lab/src/slider/Slider.js +2 -6
  275. package/dist-cjs/packages/lab/src/slider/Slider.js.map +1 -1
  276. package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js +18 -31
  277. package/dist-cjs/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
  278. package/dist-cjs/packages/lab/src/slider/internal/SliderRailMarks.js +2 -6
  279. package/dist-cjs/packages/lab/src/slider/internal/SliderRailMarks.js.map +1 -1
  280. package/dist-cjs/packages/lab/src/stepper-input/StepperInput.js +5 -9
  281. package/dist-cjs/packages/lab/src/stepper-input/StepperInput.js.map +1 -1
  282. package/dist-cjs/packages/lab/src/switch/Switch.js +4 -8
  283. package/dist-cjs/packages/lab/src/switch/Switch.js.map +1 -1
  284. package/dist-cjs/packages/lab/src/tabs/Tab.js +2 -6
  285. package/dist-cjs/packages/lab/src/tabs/Tab.js.map +1 -1
  286. package/dist-cjs/packages/lab/src/tabs/TabPanel.js +2 -6
  287. package/dist-cjs/packages/lab/src/tabs/TabPanel.js.map +1 -1
  288. package/dist-cjs/packages/lab/src/tabs/Tabs.js +2 -6
  289. package/dist-cjs/packages/lab/src/tabs/Tabs.js.map +1 -1
  290. package/dist-cjs/packages/lab/src/tabs/Tabstrip.js +37 -48
  291. package/dist-cjs/packages/lab/src/tabs/Tabstrip.js.map +1 -1
  292. package/dist-cjs/packages/lab/src/tabs/drag-drop/Draggable.js +2 -6
  293. package/dist-cjs/packages/lab/src/tabs/drag-drop/Draggable.js.map +1 -1
  294. package/dist-cjs/packages/lab/src/tabs/useActivationIndicator.js +1 -0
  295. package/dist-cjs/packages/lab/src/tabs/useActivationIndicator.js.map +1 -1
  296. package/dist-cjs/packages/lab/src/tabs/useKeyboardNavigation.js +1 -0
  297. package/dist-cjs/packages/lab/src/tabs/useKeyboardNavigation.js.map +1 -1
  298. package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js +8 -32
  299. package/dist-cjs/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
  300. package/dist-cjs/packages/lab/src/toggle-button/ToggleButtonGroup.js +2 -6
  301. package/dist-cjs/packages/lab/src/toggle-button/ToggleButtonGroup.js.map +1 -1
  302. package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInput.js.map +1 -1
  303. package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInputBase.js +7 -12
  304. package/dist-cjs/packages/lab/src/tokenized-input/TokenizedInputBase.js.map +1 -1
  305. package/dist-cjs/packages/lab/src/tokenized-input/internal/InputPill.js +2 -6
  306. package/dist-cjs/packages/lab/src/tokenized-input/internal/InputPill.js.map +1 -1
  307. package/dist-cjs/packages/lab/src/tokenized-input/useTokenizedInput.js +1 -0
  308. package/dist-cjs/packages/lab/src/tokenized-input/useTokenizedInput.js.map +1 -1
  309. package/dist-cjs/packages/lab/src/toolbar/Toolbar.js +5 -8
  310. package/dist-cjs/packages/lab/src/toolbar/Toolbar.js.map +1 -1
  311. package/dist-cjs/packages/lab/src/toolbar/Tooltray.js +4 -8
  312. package/dist-cjs/packages/lab/src/toolbar/Tooltray.js.map +1 -1
  313. package/dist-cjs/packages/lab/src/toolbar/internal/renderToolbarItems.js +1 -0
  314. package/dist-cjs/packages/lab/src/toolbar/internal/renderToolbarItems.js.map +1 -1
  315. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +3 -3
  316. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  317. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js +2 -6
  318. package/dist-cjs/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  319. package/dist-cjs/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +3 -7
  320. package/dist-cjs/packages/lab/src/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  321. package/dist-cjs/packages/lab/src/tree/Tree.js +5 -8
  322. package/dist-cjs/packages/lab/src/tree/Tree.js.map +1 -1
  323. package/dist-cjs/packages/lab/src/tree/TreeNode.js +2 -6
  324. package/dist-cjs/packages/lab/src/tree/TreeNode.js.map +1 -1
  325. package/dist-cjs/packages/lab/src/tree/useTree.js +2 -1
  326. package/dist-cjs/packages/lab/src/tree/useTree.js.map +1 -1
  327. package/dist-cjs/packages/lab/src/utils/useFloatingUI.js +38 -0
  328. package/dist-cjs/packages/lab/src/utils/useFloatingUI.js.map +1 -0
  329. package/dist-cjs/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js +1 -2
  330. package/dist-cjs/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  331. package/dist-es/packages/lab/src/accordion/Accordion.js +2 -2
  332. package/dist-es/packages/lab/src/accordion/Accordion.js.map +1 -1
  333. package/dist-es/packages/lab/src/accordion/AccordionDetails.js +3 -3
  334. package/dist-es/packages/lab/src/accordion/AccordionDetails.js.map +1 -1
  335. package/dist-es/packages/lab/src/accordion/AccordionSection.js +3 -2
  336. package/dist-es/packages/lab/src/accordion/AccordionSection.js.map +1 -1
  337. package/dist-es/packages/lab/src/accordion/AccordionSummary.js +2 -2
  338. package/dist-es/packages/lab/src/accordion/AccordionSummary.js.map +1 -1
  339. package/dist-es/packages/lab/src/app-header/AppHeader.js +3 -2
  340. package/dist-es/packages/lab/src/app-header/AppHeader.js.map +1 -1
  341. package/dist-es/packages/lab/src/avatar/Avatar.js +2 -2
  342. package/dist-es/packages/lab/src/avatar/Avatar.js.map +1 -1
  343. package/dist-es/packages/lab/src/badge/Badge.js +4 -4
  344. package/dist-es/packages/lab/src/badge/Badge.js.map +1 -1
  345. package/dist-es/packages/lab/src/banner/Banner.js +5 -5
  346. package/dist-es/packages/lab/src/banner/Banner.js.map +1 -1
  347. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumb.js +4 -4
  348. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumb.js.map +1 -1
  349. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumbs.js +3 -3
  350. package/dist-es/packages/lab/src/breadcrumbs/Breadcrumbs.js.map +1 -1
  351. package/dist-es/packages/lab/src/button-bar/ButtonBar.js +2 -2
  352. package/dist-es/packages/lab/src/button-bar/ButtonBar.js.map +1 -1
  353. package/dist-es/packages/lab/src/button-bar/OrderedButton.js +3 -2
  354. package/dist-es/packages/lab/src/button-bar/OrderedButton.js.map +1 -1
  355. package/dist-es/packages/lab/src/calendar/Calendar.js +2 -2
  356. package/dist-es/packages/lab/src/calendar/Calendar.js.map +1 -1
  357. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js +36 -52
  358. package/dist-es/packages/lab/src/calendar/internal/CalendarDay.js.map +1 -1
  359. package/dist-es/packages/lab/src/calendar/internal/CalendarMonth.js +2 -2
  360. package/dist-es/packages/lab/src/calendar/internal/CalendarMonth.js.map +1 -1
  361. package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js +39 -69
  362. package/dist-es/packages/lab/src/calendar/internal/CalendarNavigation.js.map +1 -1
  363. package/dist-es/packages/lab/src/calendar/internal/CalendarWeekHeader.js +2 -2
  364. package/dist-es/packages/lab/src/calendar/internal/CalendarWeekHeader.js.map +1 -1
  365. package/dist-es/packages/lab/src/calendar/useSelection.js +3 -2
  366. package/dist-es/packages/lab/src/calendar/useSelection.js.map +1 -1
  367. package/dist-es/packages/lab/src/carousel/Carousel.js +3 -2
  368. package/dist-es/packages/lab/src/carousel/Carousel.js.map +1 -1
  369. package/dist-es/packages/lab/src/carousel/CarouselSlide.js +4 -4
  370. package/dist-es/packages/lab/src/carousel/CarouselSlide.js.map +1 -1
  371. package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js +2 -1
  372. package/dist-es/packages/lab/src/cascading-menu/CascadingMenu.js.map +1 -1
  373. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js +50 -67
  374. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuItem.js.map +1 -1
  375. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js +5 -5
  376. package/dist-es/packages/lab/src/cascading-menu/CascadingMenuList.js.map +1 -1
  377. package/dist-es/packages/lab/src/cascading-menu/internal/useClickAway.js +1 -0
  378. package/dist-es/packages/lab/src/cascading-menu/internal/useClickAway.js.map +1 -1
  379. package/dist-es/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js +1 -0
  380. package/dist-es/packages/lab/src/cascading-menu/internal/useMenuTriggerHandlers.js.map +1 -1
  381. package/dist-es/packages/lab/src/checkbox/Checkbox.js +2 -2
  382. package/dist-es/packages/lab/src/checkbox/Checkbox.js.map +1 -1
  383. package/dist-es/packages/lab/src/checkbox/CheckboxBase.js +2 -2
  384. package/dist-es/packages/lab/src/checkbox/CheckboxBase.js.map +1 -1
  385. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js +2 -2
  386. package/dist-es/packages/lab/src/checkbox/CheckboxGroup.js.map +1 -1
  387. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js +4 -4
  388. package/dist-es/packages/lab/src/checkbox/CheckboxIcon.js.map +1 -1
  389. package/dist-es/packages/lab/src/color-chooser/AlphaInputField.js +2 -2
  390. package/dist-es/packages/lab/src/color-chooser/AlphaInputField.js.map +1 -1
  391. package/dist-es/packages/lab/src/color-chooser/ColorChooser.js +7 -7
  392. package/dist-es/packages/lab/src/color-chooser/ColorChooser.js.map +1 -1
  393. package/dist-es/packages/lab/src/color-chooser/ColorPicker.js +7 -7
  394. package/dist-es/packages/lab/src/color-chooser/ColorPicker.js.map +1 -1
  395. package/dist-es/packages/lab/src/color-chooser/DictTabs.js +3 -3
  396. package/dist-es/packages/lab/src/color-chooser/DictTabs.js.map +1 -1
  397. package/dist-es/packages/lab/src/color-chooser/HexInput.js +4 -4
  398. package/dist-es/packages/lab/src/color-chooser/HexInput.js.map +1 -1
  399. package/dist-es/packages/lab/src/color-chooser/RGBAInput.js +5 -5
  400. package/dist-es/packages/lab/src/color-chooser/RGBAInput.js.map +1 -1
  401. package/dist-es/packages/lab/src/color-chooser/Swatch.js +2 -2
  402. package/dist-es/packages/lab/src/color-chooser/Swatch.js.map +1 -1
  403. package/dist-es/packages/lab/src/color-chooser/Swatches.js +6 -6
  404. package/dist-es/packages/lab/src/color-chooser/Swatches.js.map +1 -1
  405. package/dist-es/packages/lab/src/combo-box/ComboBox.js +1 -0
  406. package/dist-es/packages/lab/src/combo-box/ComboBox.js.map +1 -1
  407. package/dist-es/packages/lab/src/combo-box/useCombobox.js +1 -0
  408. package/dist-es/packages/lab/src/combo-box/useCombobox.js.map +1 -1
  409. package/dist-es/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js +3 -3
  410. package/dist-es/packages/lab/src/combo-box-deprecated/ComboBoxDeprecated.js.map +1 -1
  411. package/dist-es/packages/lab/src/combo-box-deprecated/filterHelpers.js +1 -0
  412. package/dist-es/packages/lab/src/combo-box-deprecated/filterHelpers.js.map +1 -1
  413. package/dist-es/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js +19 -37
  414. package/dist-es/packages/lab/src/combo-box-deprecated/internal/DefaultComboBox.js.map +1 -1
  415. package/dist-es/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js +26 -47
  416. package/dist-es/packages/lab/src/combo-box-deprecated/internal/MultiSelectComboBox.js.map +1 -1
  417. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useComboBox.js +1 -0
  418. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useComboBox.js.map +1 -1
  419. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js +1 -0
  420. package/dist-es/packages/lab/src/combo-box-deprecated/internal/useMultiSelectComboBox.js.map +1 -1
  421. package/dist-es/packages/lab/src/common-hooks/useAutoSizer.js +4 -3
  422. package/dist-es/packages/lab/src/common-hooks/useAutoSizer.js.map +1 -1
  423. package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js +4 -3
  424. package/dist-es/packages/lab/src/common-hooks/useViewportTracking.js.map +1 -1
  425. package/dist-es/packages/lab/src/common-hooks/utils/filter-utils.js +1 -0
  426. package/dist-es/packages/lab/src/common-hooks/utils/filter-utils.js.map +1 -1
  427. package/dist-es/packages/lab/src/contact-details/ContactAction.js +10 -25
  428. package/dist-es/packages/lab/src/contact-details/ContactAction.js.map +1 -1
  429. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js +2 -2
  430. package/dist-es/packages/lab/src/contact-details/ContactAvatar.js.map +1 -1
  431. package/dist-es/packages/lab/src/contact-details/ContactDetails.js +2 -2
  432. package/dist-es/packages/lab/src/contact-details/ContactDetails.js.map +1 -1
  433. package/dist-es/packages/lab/src/contact-details/ContactFavoriteToggle.js.map +1 -1
  434. package/dist-es/packages/lab/src/contact-details/ContactMetadata.js +2 -2
  435. package/dist-es/packages/lab/src/contact-details/ContactMetadata.js.map +1 -1
  436. package/dist-es/packages/lab/src/contact-details/ContactPrimaryInfo.js +2 -2
  437. package/dist-es/packages/lab/src/contact-details/ContactPrimaryInfo.js.map +1 -1
  438. package/dist-es/packages/lab/src/contact-details/ContactSecondaryInfo.js +2 -2
  439. package/dist-es/packages/lab/src/contact-details/ContactSecondaryInfo.js.map +1 -1
  440. package/dist-es/packages/lab/src/contact-details/ContactTertiaryInfo.js +2 -2
  441. package/dist-es/packages/lab/src/contact-details/ContactTertiaryInfo.js.map +1 -1
  442. package/dist-es/packages/lab/src/contact-details/MailLinkComponent.js +1 -0
  443. package/dist-es/packages/lab/src/contact-details/MailLinkComponent.js.map +1 -1
  444. package/dist-es/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js +9 -20
  445. package/dist-es/packages/lab/src/contact-details/internal/FavoriteToggleWithTooltip.js.map +1 -1
  446. package/dist-es/packages/lab/src/contact-details/internal/StarIconContainer.js +3 -3
  447. package/dist-es/packages/lab/src/contact-details/internal/StarIconContainer.js.map +1 -1
  448. package/dist-es/packages/lab/src/content-status/ContentStatus.js +6 -6
  449. package/dist-es/packages/lab/src/content-status/ContentStatus.js.map +1 -1
  450. package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js +4 -5
  451. package/dist-es/packages/lab/src/content-status/internal/StatusIndicator.js.map +1 -1
  452. package/dist-es/packages/lab/src/control-label/ControlLabel.js +2 -2
  453. package/dist-es/packages/lab/src/control-label/ControlLabel.js.map +1 -1
  454. package/dist-es/packages/lab/src/deck-item/DeckItem.js +2 -2
  455. package/dist-es/packages/lab/src/deck-item/DeckItem.js.map +1 -1
  456. package/dist-es/packages/lab/src/deck-layout/DeckLayout.js +4 -3
  457. package/dist-es/packages/lab/src/deck-layout/DeckLayout.js.map +1 -1
  458. package/dist-es/packages/lab/src/dialog/Dialog.js +2 -2
  459. package/dist-es/packages/lab/src/dialog/Dialog.js.map +1 -1
  460. package/dist-es/packages/lab/src/dialog/DialogActions.js +2 -2
  461. package/dist-es/packages/lab/src/dialog/DialogActions.js.map +1 -1
  462. package/dist-es/packages/lab/src/dialog/DialogContent.js +2 -2
  463. package/dist-es/packages/lab/src/dialog/DialogContent.js.map +1 -1
  464. package/dist-es/packages/lab/src/dialog/DialogTitle.js +2 -2
  465. package/dist-es/packages/lab/src/dialog/DialogTitle.js.map +1 -1
  466. package/dist-es/packages/lab/src/dropdown/Dropdown.js +1 -0
  467. package/dist-es/packages/lab/src/dropdown/Dropdown.js.map +1 -1
  468. package/dist-es/packages/lab/src/dropdown/DropdownBase.js +7 -7
  469. package/dist-es/packages/lab/src/dropdown/DropdownBase.js.map +1 -1
  470. package/dist-es/packages/lab/src/dropdown/DropdownButton.js +2 -2
  471. package/dist-es/packages/lab/src/dropdown/DropdownButton.js.map +1 -1
  472. package/dist-es/packages/lab/src/dropdown/useDropdown.js +1 -0
  473. package/dist-es/packages/lab/src/dropdown/useDropdown.js.map +1 -1
  474. package/dist-es/packages/lab/src/dropdown/useDropdownBase.js +1 -0
  475. package/dist-es/packages/lab/src/dropdown/useDropdownBase.js.map +1 -1
  476. package/dist-es/packages/lab/src/editable-label/EditableLabel.js +2 -2
  477. package/dist-es/packages/lab/src/editable-label/EditableLabel.js.map +1 -1
  478. package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.js +2 -2
  479. package/dist-es/packages/lab/src/file-drop-zone/FileDropZone.js.map +1 -1
  480. package/dist-es/packages/lab/src/form-field/FormField.js +63 -76
  481. package/dist-es/packages/lab/src/form-field/FormField.js.map +1 -1
  482. package/dist-es/packages/lab/src/form-field/FormLabel.js +2 -2
  483. package/dist-es/packages/lab/src/form-field/FormLabel.js.map +1 -1
  484. package/dist-es/packages/lab/src/form-field/StatusIndicator.js +19 -32
  485. package/dist-es/packages/lab/src/form-field/StatusIndicator.js.map +1 -1
  486. package/dist-es/packages/lab/src/form-group/FormGroup.js +2 -2
  487. package/dist-es/packages/lab/src/form-group/FormGroup.js.map +1 -1
  488. package/dist-es/packages/lab/src/formatted-input/FormattedInput.js +2 -2
  489. package/dist-es/packages/lab/src/formatted-input/FormattedInput.js.map +1 -1
  490. package/dist-es/packages/lab/src/formatted-input/internal/InputWithMask.js +2 -2
  491. package/dist-es/packages/lab/src/formatted-input/internal/InputWithMask.js.map +1 -1
  492. package/dist-es/packages/lab/src/index.js +1 -8
  493. package/dist-es/packages/lab/src/index.js.map +1 -1
  494. package/dist-es/packages/lab/src/input/Input.js +4 -4
  495. package/dist-es/packages/lab/src/input/Input.js.map +1 -1
  496. package/dist-es/packages/lab/src/input/StaticInputAdornment.js +2 -2
  497. package/dist-es/packages/lab/src/input/StaticInputAdornment.js.map +1 -1
  498. package/dist-es/packages/lab/src/layer-layout/LayerLayout.js +6 -5
  499. package/dist-es/packages/lab/src/layer-layout/LayerLayout.js.map +1 -1
  500. package/dist-es/packages/lab/src/list/Highlighter.js +1 -0
  501. package/dist-es/packages/lab/src/list/Highlighter.js.map +1 -1
  502. package/dist-es/packages/lab/src/list/List.js +5 -4
  503. package/dist-es/packages/lab/src/list/List.js.map +1 -1
  504. package/dist-es/packages/lab/src/list/ListItem.js +3 -3
  505. package/dist-es/packages/lab/src/list/ListItem.js.map +1 -1
  506. package/dist-es/packages/lab/src/list/VirtualizedList.js +4 -3
  507. package/dist-es/packages/lab/src/list/VirtualizedList.js.map +1 -1
  508. package/dist-es/packages/lab/src/list/useList.js +2 -1
  509. package/dist-es/packages/lab/src/list/useList.js.map +1 -1
  510. package/dist-es/packages/lab/src/list/useListHeight.js +1 -0
  511. package/dist-es/packages/lab/src/list/useListHeight.js.map +1 -1
  512. package/dist-es/packages/lab/src/list/useVirtualization.js +3 -2
  513. package/dist-es/packages/lab/src/list/useVirtualization.js.map +1 -1
  514. package/dist-es/packages/lab/src/list-deprecated/List.js +5 -26
  515. package/dist-es/packages/lab/src/list-deprecated/List.js.map +1 -1
  516. package/dist-es/packages/lab/src/list-deprecated/ListBase.js +3 -3
  517. package/dist-es/packages/lab/src/list-deprecated/ListBase.js.map +1 -1
  518. package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js +32 -62
  519. package/dist-es/packages/lab/src/list-deprecated/ListItemBase.js.map +1 -1
  520. package/dist-es/packages/lab/src/list-deprecated/internal/Highlighter.js +1 -0
  521. package/dist-es/packages/lab/src/list-deprecated/internal/Highlighter.js.map +1 -1
  522. package/dist-es/packages/lab/src/list-deprecated/useTypeSelect.js +1 -0
  523. package/dist-es/packages/lab/src/list-deprecated/useTypeSelect.js.map +1 -1
  524. package/dist-es/packages/lab/src/logo/Logo.js +5 -5
  525. package/dist-es/packages/lab/src/logo/Logo.js.map +1 -1
  526. package/dist-es/packages/lab/src/menu-button/MenuButtonTrigger.js +2 -2
  527. package/dist-es/packages/lab/src/menu-button/MenuButtonTrigger.js.map +1 -1
  528. package/dist-es/packages/lab/src/metric/Metric.js +2 -2
  529. package/dist-es/packages/lab/src/metric/Metric.js.map +1 -1
  530. package/dist-es/packages/lab/src/metric/MetricContent.js +2 -2
  531. package/dist-es/packages/lab/src/metric/MetricContent.js.map +1 -1
  532. package/dist-es/packages/lab/src/metric/MetricHeader.js +2 -2
  533. package/dist-es/packages/lab/src/metric/MetricHeader.js.map +1 -1
  534. package/dist-es/packages/lab/src/overlay/Overlay.js +4 -4
  535. package/dist-es/packages/lab/src/overlay/Overlay.js.map +1 -1
  536. package/dist-es/packages/lab/src/overlay/useOverlay.js +2 -3
  537. package/dist-es/packages/lab/src/overlay/useOverlay.js.map +1 -1
  538. package/dist-es/packages/lab/src/pagination/ArrowButton.js +2 -2
  539. package/dist-es/packages/lab/src/pagination/ArrowButton.js.map +1 -1
  540. package/dist-es/packages/lab/src/pagination/CompactInput.js +3 -3
  541. package/dist-es/packages/lab/src/pagination/CompactInput.js.map +1 -1
  542. package/dist-es/packages/lab/src/pagination/GoToInput.js +3 -3
  543. package/dist-es/packages/lab/src/pagination/GoToInput.js.map +1 -1
  544. package/dist-es/packages/lab/src/pagination/PageButton.js +2 -2
  545. package/dist-es/packages/lab/src/pagination/PageButton.js.map +1 -1
  546. package/dist-es/packages/lab/src/pagination/Pagination.js +2 -2
  547. package/dist-es/packages/lab/src/pagination/Pagination.js.map +1 -1
  548. package/dist-es/packages/lab/src/pagination/Paginator.js +2 -2
  549. package/dist-es/packages/lab/src/pagination/Paginator.js.map +1 -1
  550. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js +2 -2
  551. package/dist-es/packages/lab/src/parent-child-item/ParentChildItem.js.map +1 -1
  552. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js +3 -2
  553. package/dist-es/packages/lab/src/parent-child-layout/ParentChildLayout.js.map +1 -1
  554. package/dist-es/packages/lab/src/pill/ClosablePill.js +2 -2
  555. package/dist-es/packages/lab/src/pill/ClosablePill.js.map +1 -1
  556. package/dist-es/packages/lab/src/pill/PillBase.js +44 -60
  557. package/dist-es/packages/lab/src/pill/PillBase.js.map +1 -1
  558. package/dist-es/packages/lab/src/pill/SelectablePill.js +2 -2
  559. package/dist-es/packages/lab/src/pill/SelectablePill.js.map +1 -1
  560. package/dist-es/packages/lab/src/pill/internal/DeleteButton.js +2 -2
  561. package/dist-es/packages/lab/src/pill/internal/DeleteButton.js.map +1 -1
  562. package/dist-es/packages/lab/src/pill/internal/DivButton.js +2 -2
  563. package/dist-es/packages/lab/src/pill/internal/DivButton.js.map +1 -1
  564. package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.js +4 -4
  565. package/dist-es/packages/lab/src/progress/CircularProgress/CircularProgress.js.map +1 -1
  566. package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.js +5 -5
  567. package/dist-es/packages/lab/src/progress/LinearProgress/LinearProgress.js.map +1 -1
  568. package/dist-es/packages/lab/src/query-input/QueryInput.js +2 -2
  569. package/dist-es/packages/lab/src/query-input/QueryInput.js.map +1 -1
  570. package/dist-es/packages/lab/src/query-input/internal/CategoryList.js +1 -0
  571. package/dist-es/packages/lab/src/query-input/internal/CategoryList.js.map +1 -1
  572. package/dist-es/packages/lab/src/query-input/internal/CategoryListItem.js +1 -0
  573. package/dist-es/packages/lab/src/query-input/internal/CategoryListItem.js.map +1 -1
  574. package/dist-es/packages/lab/src/query-input/internal/QueryInputBody.js +1 -0
  575. package/dist-es/packages/lab/src/query-input/internal/QueryInputBody.js.map +1 -1
  576. package/dist-es/packages/lab/src/query-input/internal/SearchList.js +1 -0
  577. package/dist-es/packages/lab/src/query-input/internal/SearchList.js.map +1 -1
  578. package/dist-es/packages/lab/src/query-input/internal/ValueList.js +1 -0
  579. package/dist-es/packages/lab/src/query-input/internal/ValueList.js.map +1 -1
  580. package/dist-es/packages/lab/src/query-input/internal/ValueSelector.js +2 -3
  581. package/dist-es/packages/lab/src/query-input/internal/ValueSelector.js.map +1 -1
  582. package/dist-es/packages/lab/src/query-input/useQueryInput.js +1 -0
  583. package/dist-es/packages/lab/src/query-input/useQueryInput.js.map +1 -1
  584. package/dist-es/packages/lab/src/radio-button/RadioButton.js +3 -3
  585. package/dist-es/packages/lab/src/radio-button/RadioButton.js.map +1 -1
  586. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js +2 -2
  587. package/dist-es/packages/lab/src/radio-button/RadioButtonBase.js.map +1 -1
  588. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js +3 -3
  589. package/dist-es/packages/lab/src/radio-button/RadioButtonGroup.js.map +1 -1
  590. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js +2 -2
  591. package/dist-es/packages/lab/src/radio-button/RadioButtonIcon.js.map +1 -1
  592. package/dist-es/packages/lab/src/responsive/useOverflow.js +1 -0
  593. package/dist-es/packages/lab/src/responsive/useOverflow.js.map +1 -1
  594. package/dist-es/packages/lab/src/responsive/useResizeObserver.js +6 -3
  595. package/dist-es/packages/lab/src/responsive/useResizeObserver.js.map +1 -1
  596. package/dist-es/packages/lab/src/scrim/Scrim.js +2 -2
  597. package/dist-es/packages/lab/src/scrim/Scrim.js.map +1 -1
  598. package/dist-es/packages/lab/src/search-input/SearchInput.js +3 -3
  599. package/dist-es/packages/lab/src/search-input/SearchInput.js.map +1 -1
  600. package/dist-es/packages/lab/src/skip-link/SkipLink.js +3 -3
  601. package/dist-es/packages/lab/src/skip-link/SkipLink.js.map +1 -1
  602. package/dist-es/packages/lab/src/skip-link/SkipLinks.js +2 -2
  603. package/dist-es/packages/lab/src/skip-link/SkipLinks.js.map +1 -1
  604. package/dist-es/packages/lab/src/slider/Slider.js +2 -2
  605. package/dist-es/packages/lab/src/slider/Slider.js.map +1 -1
  606. package/dist-es/packages/lab/src/slider/internal/SliderHandle.js +20 -29
  607. package/dist-es/packages/lab/src/slider/internal/SliderHandle.js.map +1 -1
  608. package/dist-es/packages/lab/src/slider/internal/SliderRailMarks.js +2 -2
  609. package/dist-es/packages/lab/src/slider/internal/SliderRailMarks.js.map +1 -1
  610. package/dist-es/packages/lab/src/stepper-input/StepperInput.js +5 -5
  611. package/dist-es/packages/lab/src/stepper-input/StepperInput.js.map +1 -1
  612. package/dist-es/packages/lab/src/switch/Switch.js +4 -4
  613. package/dist-es/packages/lab/src/switch/Switch.js.map +1 -1
  614. package/dist-es/packages/lab/src/tabs/Tab.js +2 -2
  615. package/dist-es/packages/lab/src/tabs/Tab.js.map +1 -1
  616. package/dist-es/packages/lab/src/tabs/TabPanel.js +2 -2
  617. package/dist-es/packages/lab/src/tabs/TabPanel.js.map +1 -1
  618. package/dist-es/packages/lab/src/tabs/Tabs.js +2 -2
  619. package/dist-es/packages/lab/src/tabs/Tabs.js.map +1 -1
  620. package/dist-es/packages/lab/src/tabs/Tabstrip.js +38 -48
  621. package/dist-es/packages/lab/src/tabs/Tabstrip.js.map +1 -1
  622. package/dist-es/packages/lab/src/tabs/drag-drop/Draggable.js +2 -2
  623. package/dist-es/packages/lab/src/tabs/drag-drop/Draggable.js.map +1 -1
  624. package/dist-es/packages/lab/src/tabs/useActivationIndicator.js +1 -0
  625. package/dist-es/packages/lab/src/tabs/useActivationIndicator.js.map +1 -1
  626. package/dist-es/packages/lab/src/tabs/useKeyboardNavigation.js +1 -0
  627. package/dist-es/packages/lab/src/tabs/useKeyboardNavigation.js.map +1 -1
  628. package/dist-es/packages/lab/src/toggle-button/ToggleButton.js +10 -30
  629. package/dist-es/packages/lab/src/toggle-button/ToggleButton.js.map +1 -1
  630. package/dist-es/packages/lab/src/toggle-button/ToggleButtonGroup.js +2 -2
  631. package/dist-es/packages/lab/src/toggle-button/ToggleButtonGroup.js.map +1 -1
  632. package/dist-es/packages/lab/src/tokenized-input/TokenizedInput.js.map +1 -1
  633. package/dist-es/packages/lab/src/tokenized-input/TokenizedInputBase.js +7 -11
  634. package/dist-es/packages/lab/src/tokenized-input/TokenizedInputBase.js.map +1 -1
  635. package/dist-es/packages/lab/src/tokenized-input/internal/InputPill.js +2 -2
  636. package/dist-es/packages/lab/src/tokenized-input/internal/InputPill.js.map +1 -1
  637. package/dist-es/packages/lab/src/tokenized-input/useTokenizedInput.js +1 -0
  638. package/dist-es/packages/lab/src/tokenized-input/useTokenizedInput.js.map +1 -1
  639. package/dist-es/packages/lab/src/toolbar/Toolbar.js +5 -4
  640. package/dist-es/packages/lab/src/toolbar/Toolbar.js.map +1 -1
  641. package/dist-es/packages/lab/src/toolbar/Tooltray.js +4 -4
  642. package/dist-es/packages/lab/src/toolbar/Tooltray.js.map +1 -1
  643. package/dist-es/packages/lab/src/toolbar/internal/renderToolbarItems.js +1 -0
  644. package/dist-es/packages/lab/src/toolbar/internal/renderToolbarItems.js.map +1 -1
  645. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js +3 -2
  646. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowPanel.js.map +1 -1
  647. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js +2 -2
  648. package/dist-es/packages/lab/src/toolbar/overflow-panel/OverflowSeparator.js.map +1 -1
  649. package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js +3 -3
  650. package/dist-es/packages/lab/src/toolbar/toolbar-field/useToolbarField.js.map +1 -1
  651. package/dist-es/packages/lab/src/tree/Tree.js +5 -4
  652. package/dist-es/packages/lab/src/tree/Tree.js.map +1 -1
  653. package/dist-es/packages/lab/src/tree/TreeNode.js +2 -2
  654. package/dist-es/packages/lab/src/tree/TreeNode.js.map +1 -1
  655. package/dist-es/packages/lab/src/tree/useTree.js +2 -1
  656. package/dist-es/packages/lab/src/tree/useTree.js.map +1 -1
  657. package/dist-es/packages/lab/src/{popper → utils}/useFloatingUI.js +10 -9
  658. package/dist-es/packages/lab/src/utils/useFloatingUI.js.map +1 -0
  659. package/dist-es/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js +1 -2
  660. package/dist-es/packages/lab/src/utils/useIsViewportLargerThanBreakpoint.js.map +1 -1
  661. package/dist-types/breadcrumbs/Breadcrumb.d.ts +1 -1
  662. package/dist-types/calendar/internal/CalendarCarousel.d.ts +1 -1
  663. package/dist-types/calendar/internal/CalendarDay.d.ts +2 -2
  664. package/dist-types/calendar/internal/CalendarMonth.d.ts +1 -1
  665. package/dist-types/calendar/internal/CalendarNavigation.d.ts +1 -1
  666. package/dist-types/calendar/internal/CalendarWeekHeader.d.ts +2 -2
  667. package/dist-types/calendar/useCalendar.d.ts +1 -1
  668. package/dist-types/calendar/useCalendarDay.d.ts +1 -1
  669. package/dist-types/cascading-menu/CascadingMenuList.d.ts +1 -1
  670. package/dist-types/cascading-menu/CascadingMenuProps.d.ts +1 -1
  671. package/dist-types/combo-box-deprecated/internal/DefaultComboBox.d.ts +1 -3
  672. package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +10 -11
  673. package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +27 -22
  674. package/dist-types/contact-details/ContactAction.d.ts +1 -2
  675. package/dist-types/contact-details/ContactFavoriteToggle.d.ts +1 -1
  676. package/dist-types/contact-details/internal/FavoriteToggleWithTooltip.d.ts +1 -1
  677. package/dist-types/content-status/internal/StatusIndicator.d.ts +1 -2
  678. package/dist-types/form-field/StatusIndicator.d.ts +1 -1
  679. package/dist-types/index.d.ts +0 -6
  680. package/dist-types/layer-layout/LayerLayout.d.ts +1 -1
  681. package/dist-types/list-deprecated/ListProps.d.ts +0 -5
  682. package/dist-types/overlay/Overlay.d.ts +1 -1
  683. package/dist-types/overlay/useOverlay.d.ts +2 -2
  684. package/dist-types/pill/PillBase.d.ts +1 -1
  685. package/dist-types/skip-link/SkipLink.d.ts +1 -1
  686. package/dist-types/stepper-input/useStepperInput.d.ts +13 -10
  687. package/dist-types/tabs/Tab.d.ts +1 -1
  688. package/dist-types/tabs/drag-drop/drag-utils.d.ts +8 -8
  689. package/dist-types/tokenized-input/TokenizedInput.d.ts +1 -1
  690. package/dist-types/toolbar/ToolbarProps.d.ts +1 -1
  691. package/dist-types/utils/index.d.ts +1 -0
  692. package/dist-types/utils/useFloatingUI.d.ts +34 -0
  693. package/dist-types/window/ElectronWindow.d.ts +1 -1
  694. package/dist-types/window/WindowContext.d.ts +3 -3
  695. package/package.json +6 -6
  696. package/dist-cjs/packages/lab/src/card/Card.css.js +0 -9
  697. package/dist-cjs/packages/lab/src/card/Card.css.js.map +0 -1
  698. package/dist-cjs/packages/lab/src/card/Card.js +0 -37
  699. package/dist-cjs/packages/lab/src/card/Card.js.map +0 -1
  700. package/dist-cjs/packages/lab/src/panel/Panel.css.js +0 -9
  701. package/dist-cjs/packages/lab/src/panel/Panel.css.js.map +0 -1
  702. package/dist-cjs/packages/lab/src/panel/Panel.js +0 -28
  703. package/dist-cjs/packages/lab/src/panel/Panel.js.map +0 -1
  704. package/dist-cjs/packages/lab/src/popper/useFloatingUI.js +0 -37
  705. package/dist-cjs/packages/lab/src/popper/useFloatingUI.js.map +0 -1
  706. package/dist-cjs/packages/lab/src/spinner/Spinner.css.js +0 -9
  707. package/dist-cjs/packages/lab/src/spinner/Spinner.css.js.map +0 -1
  708. package/dist-cjs/packages/lab/src/spinner/Spinner.js +0 -80
  709. package/dist-cjs/packages/lab/src/spinner/Spinner.js.map +0 -1
  710. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js +0 -71
  711. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js.map +0 -1
  712. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js +0 -71
  713. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js.map +0 -1
  714. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js +0 -71
  715. package/dist-cjs/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js.map +0 -1
  716. package/dist-cjs/packages/lab/src/spinner/svgSpinners/index.js +0 -21
  717. package/dist-cjs/packages/lab/src/spinner/svgSpinners/index.js.map +0 -1
  718. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.css.js +0 -9
  719. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.css.js.map +0 -1
  720. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.js +0 -40
  721. package/dist-cjs/packages/lab/src/split-layout/SplitLayout.js.map +0 -1
  722. package/dist-cjs/packages/lab/src/tooltip/Tooltip.css.js +0 -9
  723. package/dist-cjs/packages/lab/src/tooltip/Tooltip.css.js.map +0 -1
  724. package/dist-cjs/packages/lab/src/tooltip/Tooltip.js +0 -88
  725. package/dist-cjs/packages/lab/src/tooltip/Tooltip.js.map +0 -1
  726. package/dist-cjs/packages/lab/src/tooltip/TooltipContext.js +0 -26
  727. package/dist-cjs/packages/lab/src/tooltip/TooltipContext.js.map +0 -1
  728. package/dist-cjs/packages/lab/src/tooltip/useAriaAnnounce.js +0 -87
  729. package/dist-cjs/packages/lab/src/tooltip/useAriaAnnounce.js.map +0 -1
  730. package/dist-cjs/packages/lab/src/tooltip/useTooltip.js +0 -137
  731. package/dist-cjs/packages/lab/src/tooltip/useTooltip.js.map +0 -1
  732. package/dist-es/packages/lab/src/card/Card.css.js +0 -7
  733. package/dist-es/packages/lab/src/card/Card.css.js.map +0 -1
  734. package/dist-es/packages/lab/src/card/Card.js +0 -29
  735. package/dist-es/packages/lab/src/card/Card.js.map +0 -1
  736. package/dist-es/packages/lab/src/panel/Panel.css.js +0 -7
  737. package/dist-es/packages/lab/src/panel/Panel.css.js.map +0 -1
  738. package/dist-es/packages/lab/src/panel/Panel.js +0 -20
  739. package/dist-es/packages/lab/src/panel/Panel.js.map +0 -1
  740. package/dist-es/packages/lab/src/popper/useFloatingUI.js.map +0 -1
  741. package/dist-es/packages/lab/src/spinner/Spinner.css.js +0 -7
  742. package/dist-es/packages/lab/src/spinner/Spinner.css.js.map +0 -1
  743. package/dist-es/packages/lab/src/spinner/Spinner.js +0 -71
  744. package/dist-es/packages/lab/src/spinner/Spinner.js.map +0 -1
  745. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js +0 -67
  746. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerLarge.js.map +0 -1
  747. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js +0 -67
  748. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerMedium.js.map +0 -1
  749. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js +0 -67
  750. package/dist-es/packages/lab/src/spinner/svgSpinners/SpinnerSmall.js.map +0 -1
  751. package/dist-es/packages/lab/src/spinner/svgSpinners/index.js +0 -17
  752. package/dist-es/packages/lab/src/spinner/svgSpinners/index.js.map +0 -1
  753. package/dist-es/packages/lab/src/split-layout/SplitLayout.css.js +0 -7
  754. package/dist-es/packages/lab/src/split-layout/SplitLayout.css.js.map +0 -1
  755. package/dist-es/packages/lab/src/split-layout/SplitLayout.js +0 -36
  756. package/dist-es/packages/lab/src/split-layout/SplitLayout.js.map +0 -1
  757. package/dist-es/packages/lab/src/tooltip/Tooltip.css.js +0 -7
  758. package/dist-es/packages/lab/src/tooltip/Tooltip.css.js.map +0 -1
  759. package/dist-es/packages/lab/src/tooltip/Tooltip.js +0 -80
  760. package/dist-es/packages/lab/src/tooltip/Tooltip.js.map +0 -1
  761. package/dist-es/packages/lab/src/tooltip/TooltipContext.js +0 -21
  762. package/dist-es/packages/lab/src/tooltip/TooltipContext.js.map +0 -1
  763. package/dist-es/packages/lab/src/tooltip/useAriaAnnounce.js +0 -83
  764. package/dist-es/packages/lab/src/tooltip/useAriaAnnounce.js.map +0 -1
  765. package/dist-es/packages/lab/src/tooltip/useTooltip.js +0 -133
  766. package/dist-es/packages/lab/src/tooltip/useTooltip.js.map +0 -1
  767. package/dist-types/card/Card.d.ts +0 -18
  768. package/dist-types/card/index.d.ts +0 -1
  769. package/dist-types/panel/Panel.d.ts +0 -20
  770. package/dist-types/panel/index.d.ts +0 -1
  771. package/dist-types/popper/index.d.ts +0 -1
  772. package/dist-types/popper/useFloatingUI.d.ts +0 -5
  773. package/dist-types/spinner/Spinner.d.ts +0 -45
  774. package/dist-types/spinner/index.d.ts +0 -1
  775. package/dist-types/spinner/svgSpinners/SpinnerLarge.d.ts +0 -2
  776. package/dist-types/spinner/svgSpinners/SpinnerMedium.d.ts +0 -2
  777. package/dist-types/spinner/svgSpinners/SpinnerSmall.d.ts +0 -2
  778. package/dist-types/spinner/svgSpinners/index.d.ts +0 -2
  779. package/dist-types/split-layout/SplitLayout.d.ts +0 -32
  780. package/dist-types/split-layout/index.d.ts +0 -1
  781. package/dist-types/tooltip/Tooltip.d.ts +0 -37
  782. package/dist-types/tooltip/TooltipContext.d.ts +0 -22
  783. package/dist-types/tooltip/index.d.ts +0 -3
  784. package/dist-types/tooltip/useAriaAnnounce.d.ts +0 -9
  785. package/dist-types/tooltip/useTooltip.d.ts +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"FileDropZone.js","sources":["../src/file-drop-zone/FileDropZone.tsx"],"sourcesContent":["import { Button, makePrefixer, useId } from \"@salt-ds/core\";\nimport { ErrorIcon, UploadIcon } from \"@salt-ds/icons\";\nimport cx from \"classnames\";\nimport {\n ChangeEventHandler,\n DragEvent,\n DragEventHandler,\n FocusEvent,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n SyntheticEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { containsFiles, extractFiles, validateFiles } from \"./internal/utils\";\nimport { FilesValidator } from \"./validators\";\n\nimport \"./FileDropZone.css\";\n\n// Recommended button label by ADA review\nconst buttonLabel = \"Browse files\";\nconst INVALID_DROP_TARGET = \"Drop target doesn't contain any file.\";\n\nexport type FilesAcceptedEventHandler = (\n files: ReadonlyArray<File>,\n event: SyntheticEvent\n) => void;\n\nexport type FilesRejectedEventHandler<ErrorType = string> = (\n errors: ReadonlyArray<ErrorType>,\n event: SyntheticEvent\n) => void;\n\n/**\n * Removed deprecated props\n *\n * - onDrop\n * - onFileTypeError\n * - showUploadButton\n */\n\nexport interface FileDropZoneProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * `accept` attribute for HTML <input>.\n *\n * A comma separated list of file types the user can pick from the file input dialog box.\n */\n accept?: string;\n\n /**\n * The text content of the drop area component.\n */\n children?: ReactNode;\n\n /**\n * Additional usage information.\n */\n description?: string;\n\n /**\n * If `true`, the file drop zone will be disabled.\n */\n disabled?: boolean;\n\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id?: string;\n\n /**\n * Callback on successful file drop or selection.\n */\n onFilesAccepted?: FilesAcceptedEventHandler;\n\n /**\n * @see `validate` prop\n * Callback on drop or input in case of an error. A list of errors will be provided as input.\n */\n onFilesRejected?: FilesRejectedEventHandler;\n\n /**\n * A list of custom validation functions. Every function is provided with the entire file list as input\n * thus can perform validations on all files. Each function needs to return one or more errors in case of\n * a failed validation, or `undefined` in case of a successful one.\n *\n * All errors are collected in the end and returned as an array to `onFilesRejected`.\n */\n validate?: ReadonlyArray<FilesValidator<any>>;\n}\n\nconst withBaseName = makePrefixer(\"saltFileDropZone\");\n\nexport const FileDropZone = forwardRef<HTMLDivElement, FileDropZoneProps>(\n function FileDropZone(\n {\n accept,\n className,\n children,\n description,\n disabled,\n id: idProp,\n validate,\n onFilesAccepted,\n onFilesRejected,\n ...restProps\n },\n ref\n ) {\n const id = useId(idProp);\n\n const iconId = `${id}-icon`;\n const buttonId = `${id}-button`;\n const descriptionId = `${id}-description`;\n\n const [dropResult, setDropResult] = useState<null | {\n event: SyntheticEvent;\n files?: ReadonlyArray<File>;\n errors: string[];\n }>(null);\n const [isActive, setActive] = useState(false);\n const [isRejected, setRejected] = useState(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!disabled && dropResult) {\n const { event, files, errors } = dropResult;\n\n if (errors && errors.length !== 0) {\n setRejected(true);\n if (!!onFilesRejected) {\n return onFilesRejected(errors, event);\n }\n }\n\n setRejected(false);\n return onFilesAccepted?.(files!, event);\n }\n }, [disabled, dropResult, onFilesAccepted, onFilesRejected]);\n\n const handleDragOver: DragEventHandler<HTMLDivElement> = (event) => {\n // Need to cancel the default events to allow drop\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#droptargets\n event.preventDefault();\n event.stopPropagation();\n\n if (disabled) {\n event.dataTransfer && (event.dataTransfer.dropEffect = \"none\");\n return;\n } else {\n // Not using 'move', otherwise apps like Outlook will delete the item\n event.dataTransfer && (event.dataTransfer.dropEffect = \"copy\");\n }\n\n if (!isActive && containsFiles(event)) {\n setActive(true);\n }\n };\n\n const handleDragLeave = () => setActive(false);\n\n const handleFilesDrop = (event: SyntheticEvent) => {\n if (!containsFiles(event as DragEvent)) {\n return setDropResult({\n event,\n errors: [INVALID_DROP_TARGET],\n });\n }\n\n const files = extractFiles(event as DragEvent);\n\n if (files.length > 0) {\n return setDropResult({\n event,\n files,\n errors: validate ? validateFiles({ files, validate }) : [],\n });\n }\n };\n\n const handleDrop: DragEventHandler<HTMLDivElement> = (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n handleFilesDrop(event);\n setActive(false);\n };\n\n const handleInputChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n event.stopPropagation();\n\n handleFilesDrop(event);\n };\n\n // As an ADA requirement when dialog is closed and the focus is returned to the input, we need to\n // move focus back on the button element so that all labels can be announced correctly\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n event.stopPropagation();\n buttonRef.current && buttonRef.current.focus();\n },\n []\n );\n\n const handleInputClick = useCallback(\n (event: SyntheticEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n fileInputRef.current && fileInputRef.current.click();\n },\n []\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n if ([\"Enter\", \"Space\"].indexOf(event.key) !== -1) {\n fileInputRef.current && fileInputRef.current.click();\n }\n },\n []\n );\n\n const fileDropZoneDescription = description ? (\n <div className=\"saltFileDropZone-description\" id={descriptionId}>\n {description}\n </div>\n ) : null;\n\n const buttonLabelledBy = (\n isRejected ? [buttonId, iconId, descriptionId] : [buttonId, descriptionId]\n ).join(\" \");\n\n return (\n <div\n {...restProps}\n className={cx(\n withBaseName(),\n {\n [withBaseName(\"error\")]: isRejected,\n [withBaseName(\"active\")]: isActive,\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n ref={ref}\n >\n {/* TODO: Check whether we want to replace this with aria announce */}\n <div aria-live=\"polite\">\n {/*\n * It is an ADA requirement to always display an input button.-\n */}\n {isRejected ? (\n <ErrorIcon\n aria-label=\"error!\"\n className={withBaseName(\"icon\")}\n size={2}\n />\n ) : (\n <UploadIcon className={withBaseName(\"icon\")} size={2} />\n )}\n {isRejected && fileDropZoneDescription}\n </div>\n <div className={withBaseName(\"title\")}>\n {children || \"Drop files here or\"}\n </div>\n <label className={withBaseName(\"inputRoot\")}>\n <Button\n aria-labelledby={buttonLabelledBy}\n ref={buttonRef}\n className={withBaseName(\"inputButton\")}\n data-testid=\"file-input-button\"\n disabled={disabled}\n onKeyDown={handleKeyDown}\n onClick={handleInputClick}\n >\n {/* TODO: expose this in props */}\n {buttonLabel.toUpperCase()}\n </Button>\n <input\n accept={accept}\n className=\"input-hidden\"\n data-testid=\"file-input\"\n disabled={disabled}\n multiple\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n ref={fileInputRef}\n type=\"file\"\n />\n </label>\n {!isRejected && fileDropZoneDescription}\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","FileDropZone","useId","useState","useRef","useEffect","containsFiles","extractFiles","validateFiles","useCallback","jsx","jsxs","cx","ErrorIcon","UploadIcon","Button"],"mappings":"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"}
1
+ {"version":3,"file":"FileDropZone.js","sources":["../src/file-drop-zone/FileDropZone.tsx"],"sourcesContent":["import { Button, makePrefixer, useId } from \"@salt-ds/core\";\nimport { ErrorIcon, UploadIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport {\n ChangeEventHandler,\n DragEvent,\n DragEventHandler,\n FocusEvent,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n ReactNode,\n SyntheticEvent,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { containsFiles, extractFiles, validateFiles } from \"./internal/utils\";\nimport { FilesValidator } from \"./validators\";\n\nimport \"./FileDropZone.css\";\n\n// Recommended button label by ADA review\nconst buttonLabel = \"Browse files\";\nconst INVALID_DROP_TARGET = \"Drop target doesn't contain any file.\";\n\nexport type FilesAcceptedEventHandler = (\n files: ReadonlyArray<File>,\n event: SyntheticEvent\n) => void;\n\nexport type FilesRejectedEventHandler<ErrorType = string> = (\n errors: ReadonlyArray<ErrorType>,\n event: SyntheticEvent\n) => void;\n\n/**\n * Removed deprecated props\n *\n * - onDrop\n * - onFileTypeError\n * - showUploadButton\n */\n\nexport interface FileDropZoneProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * `accept` attribute for HTML <input>.\n *\n * A comma separated list of file types the user can pick from the file input dialog box.\n */\n accept?: string;\n\n /**\n * The text content of the drop area component.\n */\n children?: ReactNode;\n\n /**\n * Additional usage information.\n */\n description?: string;\n\n /**\n * If `true`, the file drop zone will be disabled.\n */\n disabled?: boolean;\n\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id?: string;\n\n /**\n * Callback on successful file drop or selection.\n */\n onFilesAccepted?: FilesAcceptedEventHandler;\n\n /**\n * @see `validate` prop\n * Callback on drop or input in case of an error. A list of errors will be provided as input.\n */\n onFilesRejected?: FilesRejectedEventHandler;\n\n /**\n * A list of custom validation functions. Every function is provided with the entire file list as input\n * thus can perform validations on all files. Each function needs to return one or more errors in case of\n * a failed validation, or `undefined` in case of a successful one.\n *\n * All errors are collected in the end and returned as an array to `onFilesRejected`.\n */\n validate?: ReadonlyArray<FilesValidator<any>>;\n}\n\nconst withBaseName = makePrefixer(\"saltFileDropZone\");\n\nexport const FileDropZone = forwardRef<HTMLDivElement, FileDropZoneProps>(\n function FileDropZone(\n {\n accept,\n className,\n children,\n description,\n disabled,\n id: idProp,\n validate,\n onFilesAccepted,\n onFilesRejected,\n ...restProps\n },\n ref\n ) {\n const id = useId(idProp);\n\n const iconId = `${id}-icon`;\n const buttonId = `${id}-button`;\n const descriptionId = `${id}-description`;\n\n const [dropResult, setDropResult] = useState<null | {\n event: SyntheticEvent;\n files?: ReadonlyArray<File>;\n errors: string[];\n }>(null);\n const [isActive, setActive] = useState(false);\n const [isRejected, setRejected] = useState(false);\n\n const buttonRef = useRef<HTMLButtonElement>(null);\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (!disabled && dropResult) {\n const { event, files, errors } = dropResult;\n\n if (errors && errors.length !== 0) {\n setRejected(true);\n if (!!onFilesRejected) {\n return onFilesRejected(errors, event);\n }\n }\n\n setRejected(false);\n return onFilesAccepted?.(files!, event);\n }\n }, [disabled, dropResult, onFilesAccepted, onFilesRejected]);\n\n const handleDragOver: DragEventHandler<HTMLDivElement> = (event) => {\n // Need to cancel the default events to allow drop\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#droptargets\n event.preventDefault();\n event.stopPropagation();\n\n if (disabled) {\n event.dataTransfer && (event.dataTransfer.dropEffect = \"none\");\n return;\n } else {\n // Not using 'move', otherwise apps like Outlook will delete the item\n event.dataTransfer && (event.dataTransfer.dropEffect = \"copy\");\n }\n\n if (!isActive && containsFiles(event)) {\n setActive(true);\n }\n };\n\n const handleDragLeave = () => setActive(false);\n\n const handleFilesDrop = (event: SyntheticEvent) => {\n if (!containsFiles(event as DragEvent)) {\n return setDropResult({\n event,\n errors: [INVALID_DROP_TARGET],\n });\n }\n\n const files = extractFiles(event as DragEvent);\n\n if (files.length > 0) {\n return setDropResult({\n event,\n files,\n errors: validate ? validateFiles({ files, validate }) : [],\n });\n }\n };\n\n const handleDrop: DragEventHandler<HTMLDivElement> = (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n handleFilesDrop(event);\n setActive(false);\n };\n\n const handleInputChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n event.stopPropagation();\n\n handleFilesDrop(event);\n };\n\n // As an ADA requirement when dialog is closed and the focus is returned to the input, we need to\n // move focus back on the button element so that all labels can be announced correctly\n const handleInputFocus = useCallback(\n (event: FocusEvent<HTMLInputElement>) => {\n event.stopPropagation();\n buttonRef.current && buttonRef.current.focus();\n },\n []\n );\n\n const handleInputClick = useCallback(\n (event: SyntheticEvent<HTMLButtonElement>) => {\n event.stopPropagation();\n fileInputRef.current && fileInputRef.current.click();\n },\n []\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLButtonElement>) => {\n if ([\"Enter\", \"Space\"].indexOf(event.key) !== -1) {\n fileInputRef.current && fileInputRef.current.click();\n }\n },\n []\n );\n\n const fileDropZoneDescription = description ? (\n <div className=\"saltFileDropZone-description\" id={descriptionId}>\n {description}\n </div>\n ) : null;\n\n const buttonLabelledBy = (\n isRejected ? [buttonId, iconId, descriptionId] : [buttonId, descriptionId]\n ).join(\" \");\n\n return (\n <div\n {...restProps}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"error\")]: isRejected,\n [withBaseName(\"active\")]: isActive,\n [withBaseName(\"disabled\")]: disabled,\n },\n className\n )}\n onDragLeave={handleDragLeave}\n onDragOver={handleDragOver}\n onDrop={handleDrop}\n ref={ref}\n >\n {/* TODO: Check whether we want to replace this with aria announce */}\n <div aria-live=\"polite\">\n {/*\n * It is an ADA requirement to always display an input button.-\n */}\n {isRejected ? (\n <ErrorIcon\n aria-label=\"error!\"\n className={withBaseName(\"icon\")}\n size={2}\n />\n ) : (\n <UploadIcon className={withBaseName(\"icon\")} size={2} />\n )}\n {isRejected && fileDropZoneDescription}\n </div>\n <div className={withBaseName(\"title\")}>\n {children || \"Drop files here or\"}\n </div>\n <label className={withBaseName(\"inputRoot\")}>\n <Button\n aria-labelledby={buttonLabelledBy}\n ref={buttonRef}\n className={withBaseName(\"inputButton\")}\n data-testid=\"file-input-button\"\n disabled={disabled}\n onKeyDown={handleKeyDown}\n onClick={handleInputClick}\n >\n {/* TODO: expose this in props */}\n {buttonLabel.toUpperCase()}\n </Button>\n <input\n accept={accept}\n className=\"input-hidden\"\n data-testid=\"file-input\"\n disabled={disabled}\n multiple\n onChange={handleInputChange}\n onFocus={handleInputFocus}\n ref={fileInputRef}\n type=\"file\"\n />\n </label>\n {!isRejected && fileDropZoneDescription}\n </div>\n );\n }\n);\n"],"names":["makePrefixer","forwardRef","FileDropZone","useId","useState","useRef","useEffect","containsFiles","extractFiles","validateFiles","useCallback","jsx","jsxs","clsx","ErrorIcon","UploadIcon","Button"],"mappings":"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"}
@@ -3,23 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var cx = require('classnames');
6
+ var clsx = require('clsx');
7
7
  var React = require('react');
8
8
  var core = require('@salt-ds/core');
9
9
  var FormFieldContext = require('../form-field-context/FormFieldContext.js');
10
- var Tooltip = require('../tooltip/Tooltip.js');
11
- require('../tooltip/TooltipContext.js');
12
- var useTooltip = require('../tooltip/useTooltip.js');
13
10
  var constant = require('./constant.js');
14
11
  var FormActivationIndicator = require('./FormActivationIndicator.js');
15
12
  var FormHelperText = require('./FormHelperText.js');
16
13
  var FormLabel = require('./FormLabel.js');
17
14
  require('./FormField.css.js');
18
15
 
19
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
-
21
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
22
-
23
16
  const useA11yValue = ({
24
17
  required,
25
18
  disabled,
@@ -116,77 +109,67 @@ const FormField = React.forwardRef(
116
109
  const focusClass = disableFocusRing ? "lowFocused" : "focused";
117
110
  const inlineHelperText = renderHelperText && helperTextPlacement === "bottom";
118
111
  const tooltipHelperText = renderHelperText && helperTextPlacement === "tooltip" && !hasStatusIndicator;
119
- const { getTooltipProps, getTriggerProps } = useTooltip.useTooltip({
120
- disabled: !tooltipHelperText
121
- });
122
- const { ref: triggerRef, ...triggerProps } = getTriggerProps({
123
- className: cx__default["default"](
124
- withBaseName(),
125
- {
126
- [withBaseName("disabled")]: disabled,
127
- [withBaseName("readOnly")]: readOnly,
128
- [withBaseName("warning")]: isWarning,
129
- [withBaseName("error")]: isError,
130
- [withBaseName("fullWidth")]: fullWidth,
131
- [withBaseName(focusClass)]: states.focused,
132
- [withBaseName("labelTop")]: labelTop,
133
- [withBaseName("labelLeft")]: labelLeft,
134
- [withBaseName(`withHelperText`)]: inlineHelperText,
135
- [withBaseName(variant)]: variant
136
- },
137
- className
138
- ),
139
- ...eventHandlers,
140
- ...restProps
141
- });
142
- const handleTriggerRef = core.useForkRef(triggerRef, rootRef);
143
- const handleRef = core.useForkRef(handleTriggerRef, ref);
144
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
145
- children: [
146
- /* @__PURE__ */ jsxRuntime.jsx("div", {
147
- ref: handleRef,
148
- ...triggerProps,
149
- children: /* @__PURE__ */ jsxRuntime.jsxs(FormFieldContext.FormFieldContext.Provider, {
150
- value: {
151
- ...states,
152
- ...dispatchers,
153
- ...eventHandlers,
154
- a11yProps: a11yValue,
155
- inFormField: true,
156
- ref: rootRef
157
- },
158
- children: [
159
- hasLabel && /* @__PURE__ */ jsxRuntime.jsx(LabelComponent, {
160
- ...LabelProps,
161
- validationStatus,
162
- hasStatusIndicator,
163
- StatusIndicatorProps: StatusIndicatorProps2,
164
- className: LabelProps.className,
165
- label,
166
- disabled,
167
- readOnly,
168
- required,
169
- tooltipText: helperText,
170
- id: labelId
171
- }),
172
- children,
173
- /* @__PURE__ */ jsxRuntime.jsx(ActivationIndicatorComponent, {
174
- hasIcon: !hasStatusIndicator,
175
- validationStatus
176
- }),
177
- renderHelperText && /* @__PURE__ */ jsxRuntime.jsx(HelperTextComponent, {
178
- helperText,
179
- helperTextPlacement,
180
- ...HelperTextProps,
181
- id: helperTextId
182
- })
183
- ]
184
- })
185
- }),
186
- /* @__PURE__ */ jsxRuntime.jsx(Tooltip.Tooltip, {
187
- ...getTooltipProps({ title: helperText })
112
+ const handleTriggerRef = core.useForkRef(rootRef, ref);
113
+ return /* @__PURE__ */ jsxRuntime.jsx(core.Tooltip, {
114
+ disabled: !tooltipHelperText,
115
+ content: helperText,
116
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", {
117
+ ref: handleTriggerRef,
118
+ className: clsx.clsx(
119
+ withBaseName(),
120
+ {
121
+ [withBaseName("disabled")]: disabled,
122
+ [withBaseName("readOnly")]: readOnly,
123
+ [withBaseName("warning")]: isWarning,
124
+ [withBaseName("error")]: isError,
125
+ [withBaseName("fullWidth")]: fullWidth,
126
+ [withBaseName(focusClass)]: states.focused,
127
+ [withBaseName("labelTop")]: labelTop,
128
+ [withBaseName("labelLeft")]: labelLeft,
129
+ [withBaseName(`withHelperText`)]: inlineHelperText,
130
+ [withBaseName(variant)]: variant
131
+ },
132
+ className
133
+ ),
134
+ ...eventHandlers,
135
+ ...restProps,
136
+ children: /* @__PURE__ */ jsxRuntime.jsxs(FormFieldContext.FormFieldContext.Provider, {
137
+ value: {
138
+ ...states,
139
+ ...dispatchers,
140
+ ...eventHandlers,
141
+ a11yProps: a11yValue,
142
+ inFormField: true,
143
+ ref: rootRef
144
+ },
145
+ children: [
146
+ hasLabel && /* @__PURE__ */ jsxRuntime.jsx(LabelComponent, {
147
+ ...LabelProps,
148
+ validationStatus,
149
+ hasStatusIndicator,
150
+ StatusIndicatorProps: StatusIndicatorProps2,
151
+ className: LabelProps.className,
152
+ label,
153
+ disabled,
154
+ readOnly,
155
+ required,
156
+ tooltipText: helperText,
157
+ id: labelId
158
+ }),
159
+ children,
160
+ /* @__PURE__ */ jsxRuntime.jsx(ActivationIndicatorComponent, {
161
+ hasIcon: !hasStatusIndicator,
162
+ validationStatus
163
+ }),
164
+ renderHelperText && /* @__PURE__ */ jsxRuntime.jsx(HelperTextComponent, {
165
+ helperText,
166
+ helperTextPlacement,
167
+ ...HelperTextProps,
168
+ id: helperTextId
169
+ })
170
+ ]
188
171
  })
189
- ]
172
+ })
190
173
  });
191
174
  }
192
175
  );
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.js","sources":["../src/form-field/FormField.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport {\n Dispatch,\n ElementType,\n FocusEventHandler,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n SetStateAction,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, useForkRef, useId } from \"@salt-ds/core\";\nimport { FormFieldContext } from \"../form-field-context\";\nimport { Tooltip, useTooltip } from \"../tooltip\";\nimport { classBase } from \"./constant\";\nimport {\n FormActivationIndicator,\n FormActivationIndicatorProps,\n} from \"./FormActivationIndicator\";\nimport { FormHelperText, FormHelperTextProps } from \"./FormHelperText\";\nimport { FormLabel, FormLabelProps } from \"./FormLabel\";\nimport { NecessityIndicatorOptions } from \"./NecessityIndicator\";\nimport { StatusIndicatorProps } from \"./StatusIndicator\";\n\nimport \"./FormField.css\";\n\nexport type FormFieldLabelPlacement = \"top\" | \"left\";\nexport type FormFieldHelperTextPlacement = \"bottom\" | \"tooltip\";\nexport type FormFieldValidationStatus = \"error\" | \"warning\";\n\nexport interface A11yValueProps\n extends Pick<NecessityIndicatorOptions, \"required\"> {\n /**\n * If `true`, the FormField will be disabled.\n */\n disabled?: boolean;\n /** id of the helper text node */\n helperTextId?: string;\n /** id of the label node */\n labelId?: string;\n /**\n * The FormField value is Readonly\n */\n readOnly?: boolean;\n\n /**\n * Whether the form field needs to render helper text\n */\n renderHelperText?: boolean;\n}\n\nexport interface FormFieldProps\n extends HTMLAttributes<HTMLDivElement>,\n A11yValueProps {\n /**\n * The component used for activation indicator. Default to `FormActivationIndicator`.\n */\n ActivationIndicatorComponent?: ElementType<FormActivationIndicatorProps>;\n /**\n * Outer focus ring focus will not be applied. Defaults to false.\n */\n disableFocusRing?: boolean;\n // I hate this fullWidth business. We should support a width prop. The default should be 100% (standard block behaviour)\n // we should also support 'auto' or explicit numeric values\n /**\n * Whether the form field is occupying full width.\n */\n fullWidth?: boolean;\n /**\n * Whether to show the StatusIndicator component for validation states.\n */\n hasStatusIndicator?: boolean;\n /**\n * The helper text content\n */\n helperText?: string;\n /**\n * The component used for the helper text. Default to `FormHelperText`.\n */\n HelperTextComponent?: ElementType<FormHelperTextProps>;\n /**\n * Location the helperText, values: 'bottom' (default) or 'tooltip'.\n */\n helperTextPlacement?: FormFieldHelperTextPlacement;\n /**\n * Props to be applied to the `HelperTextComponent`.\n *\n * Generic on `FormHelperTextProps` is omitted.\n */\n HelperTextProps?: Partial<FormHelperTextProps>;\n /**\n * The label value for the FormField\n */\n label?: string;\n /**\n * The component used for the label. Default to `FormLabel`.\n */\n LabelComponent?: ElementType;\n /**\n * Location the label, values: 'top' (default) or 'left'\n */\n labelPlacement?: FormFieldLabelPlacement;\n /**\n * Props to be applied to the `LabelComponent`\n */\n LabelProps?: Partial<FormLabelProps>;\n /**\n * Override props to be used with the StatusIndicator component\n */\n StatusIndicatorProps?: Partial<StatusIndicatorProps>;\n /**\n * The state for the FormField: Must be one of: 'error'|'warning'|undefined\n */\n validationStatus?: FormFieldValidationStatus;\n /**\n * FormField variants; defaults to primary.\n */\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n}\n\nexport interface useA11yValueValue {\n \"aria-labelledby\": A11yValueProps[\"labelId\"];\n \"aria-required\": A11yValueProps[\"required\"];\n \"aria-describedby\": A11yValueProps[\"helperTextId\"] | undefined;\n disabled: A11yValueProps[\"disabled\"];\n readOnly: A11yValueProps[\"readOnly\"];\n}\n\nconst useA11yValue = ({\n required,\n disabled,\n readOnly,\n labelId,\n helperTextId,\n renderHelperText,\n}: A11yValueProps) => {\n return useMemo(\n () => ({\n \"aria-labelledby\": labelId,\n \"aria-required\": required,\n \"aria-describedby\": renderHelperText ? helperTextId : undefined,\n disabled,\n readOnly,\n }),\n [labelId, disabled, readOnly, required, renderHelperText, helperTextId]\n );\n};\n\n// TODO: Add TS props for this\nexport const useFormField = ({\n onBlur,\n onFocus,\n}: {\n onBlur?: FocusEventHandler<HTMLDivElement>;\n onFocus?: FocusEventHandler<HTMLDivElement>;\n}): [\n { focused: boolean },\n { setFocused: Dispatch<SetStateAction<boolean>> },\n {\n onBlur: FocusEventHandler<HTMLDivElement>;\n onFocus: FocusEventHandler<HTMLDivElement>;\n }\n] => {\n const [focused, setFocused] = useState(false);\n const handleBlur: FocusEventHandler<HTMLDivElement> = (event) => {\n setFocused(false);\n onBlur?.(event);\n };\n const handleFocus: FocusEventHandler<HTMLDivElement> = (event) => {\n setFocused(true);\n onFocus?.(event);\n };\n return [\n {\n focused,\n },\n {\n setFocused,\n },\n {\n onBlur: handleBlur,\n onFocus: handleFocus,\n },\n ];\n};\n\nconst withBaseName = makePrefixer(classBase);\n\nexport const FormField = forwardRef(\n (\n {\n ActivationIndicatorComponent = FormActivationIndicator,\n children,\n className,\n disabled,\n disableFocusRing = false,\n fullWidth = true,\n hasStatusIndicator,\n HelperTextComponent = FormHelperText,\n HelperTextProps,\n helperText,\n helperTextPlacement = \"bottom\",\n label,\n LabelComponent = FormLabel,\n labelPlacement = \"top\",\n LabelProps = { displayedNecessity: \"required\" },\n onBlur,\n onFocus,\n readOnly,\n required,\n StatusIndicatorProps,\n validationStatus,\n variant = \"primary\",\n ...restProps\n }: FormFieldProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n const labelId = useId(LabelProps?.id);\n const helperTextId = useId(HelperTextProps?.id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const renderHelperText = !!helperText;\n\n const a11yValue = useA11yValue({\n required,\n disabled,\n readOnly,\n labelId,\n helperTextId,\n renderHelperText,\n });\n\n const [states, dispatchers, eventHandlers] = useFormField({\n onBlur,\n onFocus,\n });\n\n const hasLabel = label !== undefined;\n const labelTop = hasLabel && labelPlacement === \"top\";\n const labelLeft = hasLabel && labelPlacement === \"left\";\n const isWarning = validationStatus === \"warning\";\n const isError = validationStatus === \"error\";\n const focusClass = disableFocusRing\n ? \"lowFocused\"\n : \"focused\"; /* NOTE: need to look at */\n const inlineHelperText =\n renderHelperText && helperTextPlacement === \"bottom\";\n const tooltipHelperText =\n renderHelperText &&\n helperTextPlacement === \"tooltip\" &&\n !hasStatusIndicator;\n\n const { getTooltipProps, getTriggerProps } = useTooltip({\n disabled: !tooltipHelperText,\n });\n\n const { ref: triggerRef, ...triggerProps } = getTriggerProps({\n className: cx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n [withBaseName(\"warning\")]: isWarning,\n [withBaseName(\"error\")]: isError,\n [withBaseName(\"fullWidth\")]: fullWidth,\n [withBaseName(focusClass)]: states.focused,\n [withBaseName(\"labelTop\")]: labelTop,\n [withBaseName(\"labelLeft\")]: labelLeft,\n [withBaseName(`withHelperText`)]: inlineHelperText,\n [withBaseName(variant)]: variant,\n },\n className\n ),\n ...eventHandlers,\n ...restProps,\n });\n\n const handleTriggerRef = useForkRef(triggerRef, rootRef);\n const handleRef = useForkRef(handleTriggerRef, ref);\n\n return (\n <>\n <div ref={handleRef} {...triggerProps}>\n <FormFieldContext.Provider\n value={{\n ...states,\n ...dispatchers,\n ...eventHandlers,\n a11yProps: a11yValue,\n inFormField: true,\n ref: rootRef,\n }}\n >\n {hasLabel && (\n <LabelComponent\n {...LabelProps}\n validationStatus={validationStatus}\n hasStatusIndicator={hasStatusIndicator}\n StatusIndicatorProps={StatusIndicatorProps}\n className={LabelProps.className}\n label={label}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n tooltipText={helperText}\n id={labelId}\n />\n )}\n {children}\n <ActivationIndicatorComponent\n hasIcon={!hasStatusIndicator}\n validationStatus={validationStatus}\n />\n {renderHelperText && (\n <HelperTextComponent\n helperText={helperText}\n helperTextPlacement={helperTextPlacement}\n {...HelperTextProps}\n id={helperTextId}\n />\n )}\n </FormFieldContext.Provider>\n </div>\n <Tooltip {...getTooltipProps({ title: helperText })} />\n </>\n );\n }\n);\n"],"names":["useMemo","useState","makePrefixer","classBase","forwardRef","FormActivationIndicator","FormHelperText","FormLabel","StatusIndicatorProps","useId","useRef","useTooltip","cx","useForkRef","jsxs","Fragment","jsx","FormFieldContext","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"FormField.js","sources":["../src/form-field/FormField.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport {\n Dispatch,\n ElementType,\n FocusEventHandler,\n ForwardedRef,\n forwardRef,\n HTMLAttributes,\n SetStateAction,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { makePrefixer, Tooltip, useForkRef, useId } from \"@salt-ds/core\";\nimport { FormFieldContext } from \"../form-field-context\";\nimport { classBase } from \"./constant\";\nimport {\n FormActivationIndicator,\n FormActivationIndicatorProps,\n} from \"./FormActivationIndicator\";\nimport { FormHelperText, FormHelperTextProps } from \"./FormHelperText\";\nimport { FormLabel, FormLabelProps } from \"./FormLabel\";\nimport { NecessityIndicatorOptions } from \"./NecessityIndicator\";\nimport { StatusIndicatorProps } from \"./StatusIndicator\";\n\nimport \"./FormField.css\";\n\nexport type FormFieldLabelPlacement = \"top\" | \"left\";\nexport type FormFieldHelperTextPlacement = \"bottom\" | \"tooltip\";\nexport type FormFieldValidationStatus = \"error\" | \"warning\";\n\nexport interface A11yValueProps\n extends Pick<NecessityIndicatorOptions, \"required\"> {\n /**\n * If `true`, the FormField will be disabled.\n */\n disabled?: boolean;\n /** id of the helper text node */\n helperTextId?: string;\n /** id of the label node */\n labelId?: string;\n /**\n * The FormField value is Readonly\n */\n readOnly?: boolean;\n\n /**\n * Whether the form field needs to render helper text\n */\n renderHelperText?: boolean;\n}\n\nexport interface FormFieldProps\n extends HTMLAttributes<HTMLDivElement>,\n A11yValueProps {\n /**\n * The component used for activation indicator. Default to `FormActivationIndicator`.\n */\n ActivationIndicatorComponent?: ElementType<FormActivationIndicatorProps>;\n /**\n * Outer focus ring focus will not be applied. Defaults to false.\n */\n disableFocusRing?: boolean;\n // I hate this fullWidth business. We should support a width prop. The default should be 100% (standard block behaviour)\n // we should also support 'auto' or explicit numeric values\n /**\n * Whether the form field is occupying full width.\n */\n fullWidth?: boolean;\n /**\n * Whether to show the StatusIndicator component for validation states.\n */\n hasStatusIndicator?: boolean;\n /**\n * The helper text content\n */\n helperText?: string;\n /**\n * The component used for the helper text. Default to `FormHelperText`.\n */\n HelperTextComponent?: ElementType<FormHelperTextProps>;\n /**\n * Location the helperText, values: 'bottom' (default) or 'tooltip'.\n */\n helperTextPlacement?: FormFieldHelperTextPlacement;\n /**\n * Props to be applied to the `HelperTextComponent`.\n *\n * Generic on `FormHelperTextProps` is omitted.\n */\n HelperTextProps?: Partial<FormHelperTextProps>;\n /**\n * The label value for the FormField\n */\n label?: string;\n /**\n * The component used for the label. Default to `FormLabel`.\n */\n LabelComponent?: ElementType;\n /**\n * Location the label, values: 'top' (default) or 'left'\n */\n labelPlacement?: FormFieldLabelPlacement;\n /**\n * Props to be applied to the `LabelComponent`\n */\n LabelProps?: Partial<FormLabelProps>;\n /**\n * Override props to be used with the StatusIndicator component\n */\n StatusIndicatorProps?: Partial<StatusIndicatorProps>;\n /**\n * The state for the FormField: Must be one of: 'error'|'warning'|undefined\n */\n validationStatus?: FormFieldValidationStatus;\n /**\n * FormField variants; defaults to primary.\n */\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n}\n\nexport interface useA11yValueValue {\n \"aria-labelledby\": A11yValueProps[\"labelId\"];\n \"aria-required\": A11yValueProps[\"required\"];\n \"aria-describedby\": A11yValueProps[\"helperTextId\"] | undefined;\n disabled: A11yValueProps[\"disabled\"];\n readOnly: A11yValueProps[\"readOnly\"];\n}\n\nconst useA11yValue = ({\n required,\n disabled,\n readOnly,\n labelId,\n helperTextId,\n renderHelperText,\n}: A11yValueProps) => {\n return useMemo(\n () => ({\n \"aria-labelledby\": labelId,\n \"aria-required\": required,\n \"aria-describedby\": renderHelperText ? helperTextId : undefined,\n disabled,\n readOnly,\n }),\n [labelId, disabled, readOnly, required, renderHelperText, helperTextId]\n );\n};\n\n// TODO: Add TS props for this\nexport const useFormField = ({\n onBlur,\n onFocus,\n}: {\n onBlur?: FocusEventHandler<HTMLDivElement>;\n onFocus?: FocusEventHandler<HTMLDivElement>;\n}): [\n { focused: boolean },\n { setFocused: Dispatch<SetStateAction<boolean>> },\n {\n onBlur: FocusEventHandler<HTMLDivElement>;\n onFocus: FocusEventHandler<HTMLDivElement>;\n }\n] => {\n const [focused, setFocused] = useState(false);\n const handleBlur: FocusEventHandler<HTMLDivElement> = (event) => {\n setFocused(false);\n onBlur?.(event);\n };\n const handleFocus: FocusEventHandler<HTMLDivElement> = (event) => {\n setFocused(true);\n onFocus?.(event);\n };\n return [\n {\n focused,\n },\n {\n setFocused,\n },\n {\n onBlur: handleBlur,\n onFocus: handleFocus,\n },\n ];\n};\n\nconst withBaseName = makePrefixer(classBase);\n\nexport const FormField = forwardRef(\n (\n {\n ActivationIndicatorComponent = FormActivationIndicator,\n children,\n className,\n disabled,\n disableFocusRing = false,\n fullWidth = true,\n hasStatusIndicator,\n HelperTextComponent = FormHelperText,\n HelperTextProps,\n helperText,\n helperTextPlacement = \"bottom\",\n label,\n LabelComponent = FormLabel,\n labelPlacement = \"top\",\n LabelProps = { displayedNecessity: \"required\" },\n onBlur,\n onFocus,\n readOnly,\n required,\n StatusIndicatorProps,\n validationStatus,\n variant = \"primary\",\n ...restProps\n }: FormFieldProps,\n ref: ForwardedRef<HTMLDivElement>\n ) => {\n const labelId = useId(LabelProps?.id);\n const helperTextId = useId(HelperTextProps?.id);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const renderHelperText = !!helperText;\n\n const a11yValue = useA11yValue({\n required,\n disabled,\n readOnly,\n labelId,\n helperTextId,\n renderHelperText,\n });\n\n const [states, dispatchers, eventHandlers] = useFormField({\n onBlur,\n onFocus,\n });\n\n const hasLabel = label !== undefined;\n const labelTop = hasLabel && labelPlacement === \"top\";\n const labelLeft = hasLabel && labelPlacement === \"left\";\n const isWarning = validationStatus === \"warning\";\n const isError = validationStatus === \"error\";\n const focusClass = disableFocusRing\n ? \"lowFocused\"\n : \"focused\"; /* NOTE: need to look at */\n const inlineHelperText =\n renderHelperText && helperTextPlacement === \"bottom\";\n const tooltipHelperText =\n renderHelperText &&\n helperTextPlacement === \"tooltip\" &&\n !hasStatusIndicator;\n\n const handleTriggerRef = useForkRef(rootRef, ref);\n\n return (\n <Tooltip disabled={!tooltipHelperText} content={helperText}>\n <div\n ref={handleTriggerRef}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n [withBaseName(\"warning\")]: isWarning,\n [withBaseName(\"error\")]: isError,\n [withBaseName(\"fullWidth\")]: fullWidth,\n [withBaseName(focusClass)]: states.focused,\n [withBaseName(\"labelTop\")]: labelTop,\n [withBaseName(\"labelLeft\")]: labelLeft,\n [withBaseName(`withHelperText`)]: inlineHelperText,\n [withBaseName(variant)]: variant,\n },\n className\n )}\n {...eventHandlers}\n {...restProps}\n >\n <FormFieldContext.Provider\n value={{\n ...states,\n ...dispatchers,\n ...eventHandlers,\n a11yProps: a11yValue,\n inFormField: true,\n ref: rootRef,\n }}\n >\n {hasLabel && (\n <LabelComponent\n {...LabelProps}\n validationStatus={validationStatus}\n hasStatusIndicator={hasStatusIndicator}\n StatusIndicatorProps={StatusIndicatorProps}\n className={LabelProps.className}\n label={label}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n tooltipText={helperText}\n id={labelId}\n />\n )}\n {children}\n <ActivationIndicatorComponent\n hasIcon={!hasStatusIndicator}\n validationStatus={validationStatus}\n />\n {renderHelperText && (\n <HelperTextComponent\n helperText={helperText}\n helperTextPlacement={helperTextPlacement}\n {...HelperTextProps}\n id={helperTextId}\n />\n )}\n </FormFieldContext.Provider>\n </div>\n </Tooltip>\n );\n }\n);\n"],"names":["useMemo","useState","makePrefixer","classBase","forwardRef","FormActivationIndicator","FormHelperText","FormLabel","StatusIndicatorProps","useId","useRef","useForkRef","jsx","Tooltip","clsx","jsxs","FormFieldContext"],"mappings":"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"}
@@ -3,16 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var cx = require('classnames');
6
+ var clsx = require('clsx');
7
7
  var core = require('@salt-ds/core');
8
8
  var NecessityIndicator = require('./NecessityIndicator.js');
9
9
  var StatusIndicator = require('./StatusIndicator.js');
10
10
  require('./FormLabel.css.js');
11
11
 
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
15
-
16
12
  const withBaseName = core.makePrefixer("saltFormLabel");
17
13
  const FormLabel = ({
18
14
  label,
@@ -29,7 +25,7 @@ const FormLabel = ({
29
25
  tooltipText,
30
26
  ...restProps
31
27
  }) => /* @__PURE__ */ jsxRuntime.jsxs("label", {
32
- className: cx__default["default"](withBaseName(), className, {
28
+ className: clsx.clsx(withBaseName(), className, {
33
29
  [withBaseName("disabled")]: disabled
34
30
  }),
35
31
  ...restProps,
@@ -1 +1 @@
1
- {"version":3,"file":"FormLabel.js","sources":["../src/form-field/FormLabel.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { ElementType, HTMLAttributes } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { FormFieldValidationStatus } from \"./FormField\";\nimport {\n NecessityIndicator as DefaultNecessityIndicator,\n NecessityIndicatorOptions,\n} from \"./NecessityIndicator\";\nimport { StatusIndicator, StatusIndicatorProps } from \"./StatusIndicator\";\n\nimport \"./FormLabel.css\";\n\nconst withBaseName = makePrefixer(\"saltFormLabel\");\nexport interface FormLabelProps\n extends HTMLAttributes<HTMLLabelElement>,\n NecessityIndicatorOptions {\n /**\n * Whether the form field is disabled.\n */\n disabled?: boolean;\n /**\n * Adjusts whether the StatusIndicator component is shown\n */\n hasStatusIndicator?: boolean;\n /**\n * The label value for the FormLabel\n */\n label?: string;\n /**\n * An optional renderer function used to customize the necessity adornment\n */\n NecessityIndicator?: ElementType<NecessityIndicatorOptions>;\n /**\n * Whether the form field is readOnly.\n */\n readOnly?: boolean;\n /**\n * Props used to configure the StatusIndicator component if hasStatusIndicator is true\n */\n StatusIndicatorProps?: Partial<StatusIndicatorProps>;\n /**\n * The status for the FormField: Must be one of: 'error'|'warning'|undefined\n */\n validationStatus?: FormFieldValidationStatus;\n /**\n * Text to be shown in the Tooltip.\n */\n tooltipText?: string;\n}\n\nexport const FormLabel = ({\n label,\n NecessityIndicator = DefaultNecessityIndicator,\n required,\n displayedNecessity,\n hasStatusIndicator = false,\n StatusIndicatorProps,\n validationStatus,\n necessityText,\n className,\n disabled,\n readOnly,\n tooltipText,\n ...restProps\n}: FormLabelProps) => (\n <label\n className={cx(withBaseName(), className, {\n [withBaseName(\"disabled\")]: disabled,\n })}\n {...restProps}\n >\n {label}\n\n <NecessityIndicator\n required={required}\n displayedNecessity={displayedNecessity}\n necessityText={necessityText}\n className={withBaseName(\"necessityIndicator\")}\n />\n {hasStatusIndicator && (\n <StatusIndicator\n className={withBaseName(\"statusIndicator\")}\n status={validationStatus}\n tooltipText={tooltipText}\n hasTooltip\n {...StatusIndicatorProps}\n />\n )}\n </label>\n);\n"],"names":["makePrefixer","NecessityIndicator","DefaultNecessityIndicator","StatusIndicatorProps","jsxs","cx","jsx","StatusIndicator"],"mappings":";;;;;;;;;;;;;;;AAYA,MAAM,YAAA,GAAeA,kBAAa,eAAe,CAAA,CAAA;AAsC1C,MAAM,YAAY,CAAC;AAAA,EACxB,KAAA;AAAA,sBACAC,oBAAqB,GAAAC,qCAAA;AAAA,EACrB,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAqB,GAAA,KAAA;AAAA,EACrB,oBAAAC,EAAAA,qBAAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACG,GAAA,SAAA;AACL,CAAA,qBACGC,eAAA,CAAA,OAAA,EAAA;AAAA,EACC,SAAW,EAAAC,sBAAA,CAAG,YAAa,EAAA,EAAG,SAAW,EAAA;AAAA,IACvC,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,GAC7B,CAAA;AAAA,EACA,GAAG,SAAA;AAAA,EAEH,QAAA,EAAA;AAAA,IAAA,KAAA;AAAA,oBAEAC,cAAA,CAAAL,oBAAA,EAAA;AAAA,MACC,QAAA;AAAA,MACA,kBAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA,EAAW,aAAa,oBAAoB,CAAA;AAAA,KAC9C,CAAA;AAAA,IACC,sCACEK,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,MACzC,MAAQ,EAAA,gBAAA;AAAA,MACR,WAAA;AAAA,MACA,UAAU,EAAA,IAAA;AAAA,MACT,GAAGJ,qBAAAA;AAAA,KACN,CAAA;AAAA,GAAA;AAAA,CAEJ;;;;"}
1
+ {"version":3,"file":"FormLabel.js","sources":["../src/form-field/FormLabel.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { ElementType, HTMLAttributes } from \"react\";\nimport { makePrefixer } from \"@salt-ds/core\";\nimport { FormFieldValidationStatus } from \"./FormField\";\nimport {\n NecessityIndicator as DefaultNecessityIndicator,\n NecessityIndicatorOptions,\n} from \"./NecessityIndicator\";\nimport { StatusIndicator, StatusIndicatorProps } from \"./StatusIndicator\";\n\nimport \"./FormLabel.css\";\n\nconst withBaseName = makePrefixer(\"saltFormLabel\");\nexport interface FormLabelProps\n extends HTMLAttributes<HTMLLabelElement>,\n NecessityIndicatorOptions {\n /**\n * Whether the form field is disabled.\n */\n disabled?: boolean;\n /**\n * Adjusts whether the StatusIndicator component is shown\n */\n hasStatusIndicator?: boolean;\n /**\n * The label value for the FormLabel\n */\n label?: string;\n /**\n * An optional renderer function used to customize the necessity adornment\n */\n NecessityIndicator?: ElementType<NecessityIndicatorOptions>;\n /**\n * Whether the form field is readOnly.\n */\n readOnly?: boolean;\n /**\n * Props used to configure the StatusIndicator component if hasStatusIndicator is true\n */\n StatusIndicatorProps?: Partial<StatusIndicatorProps>;\n /**\n * The status for the FormField: Must be one of: 'error'|'warning'|undefined\n */\n validationStatus?: FormFieldValidationStatus;\n /**\n * Text to be shown in the Tooltip.\n */\n tooltipText?: string;\n}\n\nexport const FormLabel = ({\n label,\n NecessityIndicator = DefaultNecessityIndicator,\n required,\n displayedNecessity,\n hasStatusIndicator = false,\n StatusIndicatorProps,\n validationStatus,\n necessityText,\n className,\n disabled,\n readOnly,\n tooltipText,\n ...restProps\n}: FormLabelProps) => (\n <label\n className={clsx(withBaseName(), className, {\n [withBaseName(\"disabled\")]: disabled,\n })}\n {...restProps}\n >\n {label}\n\n <NecessityIndicator\n required={required}\n displayedNecessity={displayedNecessity}\n necessityText={necessityText}\n className={withBaseName(\"necessityIndicator\")}\n />\n {hasStatusIndicator && (\n <StatusIndicator\n className={withBaseName(\"statusIndicator\")}\n status={validationStatus}\n tooltipText={tooltipText}\n hasTooltip\n {...StatusIndicatorProps}\n />\n )}\n </label>\n);\n"],"names":["makePrefixer","NecessityIndicator","DefaultNecessityIndicator","StatusIndicatorProps","jsxs","clsx","jsx","StatusIndicator"],"mappings":";;;;;;;;;;;AAYA,MAAM,YAAA,GAAeA,kBAAa,eAAe,CAAA,CAAA;AAsC1C,MAAM,YAAY,CAAC;AAAA,EACxB,KAAA;AAAA,sBACAC,oBAAqB,GAAAC,qCAAA;AAAA,EACrB,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAqB,GAAA,KAAA;AAAA,EACrB,oBAAAC,EAAAA,qBAAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACG,GAAA,SAAA;AACL,CAAA,qBACGC,eAAA,CAAA,OAAA,EAAA;AAAA,EACC,SAAW,EAAAC,SAAA,CAAK,YAAa,EAAA,EAAG,SAAW,EAAA;AAAA,IACzC,CAAC,YAAa,CAAA,UAAU,CAAI,GAAA,QAAA;AAAA,GAC7B,CAAA;AAAA,EACA,GAAG,SAAA;AAAA,EAEH,QAAA,EAAA;AAAA,IAAA,KAAA;AAAA,oBAEAC,cAAA,CAAAL,oBAAA,EAAA;AAAA,MACC,QAAA;AAAA,MACA,kBAAA;AAAA,MACA,aAAA;AAAA,MACA,SAAA,EAAW,aAAa,oBAAoB,CAAA;AAAA,KAC9C,CAAA;AAAA,IACC,sCACEK,cAAA,CAAAC,+BAAA,EAAA;AAAA,MACC,SAAA,EAAW,aAAa,iBAAiB,CAAA;AAAA,MACzC,MAAQ,EAAA,gBAAA;AAAA,MACR,WAAA;AAAA,MACA,UAAU,EAAA,IAAA;AAAA,MACT,GAAGJ,qBAAAA;AAAA,KACN,CAAA;AAAA,GAAA;AAAA,CAEJ;;;;"}
@@ -3,20 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var cx = require('classnames');
6
+ var clsx = require('clsx');
7
7
  var core = require('@salt-ds/core');
8
- var Tooltip = require('../tooltip/Tooltip.js');
9
- require('../tooltip/TooltipContext.js');
10
- var useTooltip = require('../tooltip/useTooltip.js');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
15
8
 
16
9
  const withBaseName = core.makePrefixer("saltFormField");
17
10
  const StatusIndicator = (props) => {
18
11
  const {
19
- TooltipComponent = Tooltip.Tooltip,
12
+ TooltipComponent = core.Tooltip,
20
13
  hasTooltip = false,
21
14
  TooltipProps: TooltipProps2,
22
15
  tooltipText,
@@ -25,33 +18,23 @@ const StatusIndicator = (props) => {
25
18
  status = "info",
26
19
  ...restProps
27
20
  } = props;
28
- const { getTriggerProps, getTooltipProps } = useTooltip.useTooltip({
21
+ return /* @__PURE__ */ jsxRuntime.jsx(TooltipComponent, {
22
+ hideIcon: true,
23
+ status,
24
+ content: tooltipText,
29
25
  placement: "top",
30
- disabled: !hasTooltip
31
- });
32
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, {
33
- children: [
34
- /* @__PURE__ */ jsxRuntime.jsx(TooltipComponent, {
35
- ...getTooltipProps({
36
- hideIcon: true,
37
- status,
38
- title: tooltipText,
39
- ...TooltipProps2
40
- })
41
- }),
42
- /* @__PURE__ */ jsxRuntime.jsx(core.StatusIndicator, {
43
- ...getTriggerProps({
44
- status,
45
- ...restProps,
46
- ...IconProps2,
47
- className: cx__default["default"](
48
- withBaseName("statusIndicator"),
49
- className,
50
- IconProps2 == null ? void 0 : IconProps2.className
51
- )
52
- })
53
- })
54
- ]
26
+ disabled: !hasTooltip,
27
+ ...TooltipProps2,
28
+ children: /* @__PURE__ */ jsxRuntime.jsx(core.StatusIndicator, {
29
+ status,
30
+ ...restProps,
31
+ ...IconProps2,
32
+ className: clsx.clsx(
33
+ withBaseName("statusIndicator"),
34
+ className,
35
+ IconProps2 == null ? void 0 : IconProps2.className
36
+ )
37
+ })
55
38
  });
56
39
  };
57
40
 
@@ -1 +1 @@
1
- {"version":3,"file":"StatusIndicator.js","sources":["../src/form-field/StatusIndicator.tsx"],"sourcesContent":["import { IconProps } from \"@salt-ds/icons\";\nimport cx from \"classnames\";\nimport { ElementType } from \"react\";\nimport {\n StatusIndicator as BaseStatusIndicator,\n makePrefixer,\n} from \"@salt-ds/core\";\nimport { Tooltip, TooltipProps, useTooltip } from \"../tooltip\";\n\nconst withBaseName = makePrefixer(\"saltFormField\");\n\nexport type StatusIndicatorStatus = \"error\" | \"info\" | \"warning\" | \"success\";\n\nexport interface StatusIndicatorProps extends IconProps {\n hasTooltip?: boolean;\n IconProps?: Partial<IconProps>;\n status?: StatusIndicatorStatus;\n TooltipComponent?: ElementType<TooltipProps>;\n TooltipProps?: Partial<TooltipProps>;\n tooltipText?: string;\n}\n\nexport const StatusIndicator = (props: StatusIndicatorProps) => {\n const {\n TooltipComponent = Tooltip,\n hasTooltip = false,\n TooltipProps,\n tooltipText,\n IconProps,\n className,\n status = \"info\",\n ...restProps\n } = props;\n\n const { getTriggerProps, getTooltipProps } = useTooltip({\n placement: \"top\",\n disabled: !hasTooltip,\n });\n\n return (\n <>\n <TooltipComponent\n {...getTooltipProps({\n hideIcon: true,\n status,\n title: tooltipText,\n ...TooltipProps,\n })}\n />\n <BaseStatusIndicator\n {...getTriggerProps<typeof BaseStatusIndicator>({\n status,\n ...restProps,\n ...IconProps,\n className: cx(\n withBaseName(\"statusIndicator\"),\n className,\n IconProps?.className\n ),\n })}\n />\n </>\n );\n};\n"],"names":["makePrefixer","Tooltip","TooltipProps","IconProps","useTooltip","jsxs","Fragment","jsx","BaseStatusIndicator","cx"],"mappings":";;;;;;;;;;;;;;;AASA,MAAM,YAAA,GAAeA,kBAAa,eAAe,CAAA,CAAA;AAapC,MAAA,eAAA,GAAkB,CAAC,KAAgC,KAAA;AAC9D,EAAM,MAAA;AAAA,IACJ,gBAAmB,GAAAC,eAAA;AAAA,IACnB,UAAa,GAAA,KAAA;AAAA,IACb,YAAAC,EAAAA,aAAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAAC,EAAAA,UAAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAS,GAAA,MAAA;AAAA,IACN,GAAA,SAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,MAAM,EAAE,eAAA,EAAiB,eAAgB,EAAA,GAAIC,qBAAW,CAAA;AAAA,IACtD,SAAW,EAAA,KAAA;AAAA,IACX,UAAU,CAAC,UAAA;AAAA,GACZ,CAAA,CAAA;AAED,EACE,uBAAAC,eAAA,CAAAC,mBAAA,EAAA;AAAA,IACE,QAAA,EAAA;AAAA,sBAACC,cAAA,CAAA,gBAAA,EAAA;AAAA,QACE,GAAG,eAAgB,CAAA;AAAA,UAClB,QAAU,EAAA,IAAA;AAAA,UACV,MAAA;AAAA,UACA,KAAO,EAAA,WAAA;AAAA,UACP,GAAGL,aAAAA;AAAA,SACJ,CAAA;AAAA,OACH,CAAA;AAAA,sBACCK,cAAA,CAAAC,oBAAA,EAAA;AAAA,QACE,GAAG,eAA4C,CAAA;AAAA,UAC9C,MAAA;AAAA,UACA,GAAG,SAAA;AAAA,UACH,GAAGL,UAAAA;AAAA,UACH,SAAW,EAAAM,sBAAA;AAAA,YACT,aAAa,iBAAiB,CAAA;AAAA,YAC9B,SAAA;AAAA,YACAN,UAAAA,IAAA,gBAAAA,UAAW,CAAA,SAAA;AAAA,WACb;AAAA,SACD,CAAA;AAAA,OACH,CAAA;AAAA,KAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"StatusIndicator.js","sources":["../src/form-field/StatusIndicator.tsx"],"sourcesContent":["import { IconProps } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport { ElementType } from \"react\";\nimport {\n makePrefixer,\n StatusIndicator as BaseStatusIndicator,\n Tooltip,\n TooltipProps,\n} from \"@salt-ds/core\";\n\nconst withBaseName = makePrefixer(\"saltFormField\");\n\nexport type StatusIndicatorStatus = \"error\" | \"info\" | \"warning\" | \"success\";\n\nexport interface StatusIndicatorProps extends IconProps {\n hasTooltip?: boolean;\n IconProps?: Partial<IconProps>;\n status?: StatusIndicatorStatus;\n TooltipComponent?: ElementType<TooltipProps>;\n TooltipProps?: Partial<TooltipProps>;\n tooltipText?: string;\n}\n\nexport const StatusIndicator = (props: StatusIndicatorProps) => {\n const {\n TooltipComponent = Tooltip,\n hasTooltip = false,\n TooltipProps,\n tooltipText,\n IconProps,\n className,\n status = \"info\",\n ...restProps\n } = props;\n\n return (\n <TooltipComponent\n hideIcon\n status={status}\n content={tooltipText}\n placement=\"top\"\n disabled={!hasTooltip}\n {...TooltipProps}\n >\n <BaseStatusIndicator\n status={status}\n {...restProps}\n {...IconProps}\n className={clsx(\n withBaseName(\"statusIndicator\"),\n className,\n IconProps?.className\n )}\n />\n </TooltipComponent>\n );\n};\n"],"names":["makePrefixer","Tooltip","TooltipProps","IconProps","jsx","BaseStatusIndicator","clsx"],"mappings":";;;;;;;;AAUA,MAAM,YAAA,GAAeA,kBAAa,eAAe,CAAA,CAAA;AAapC,MAAA,eAAA,GAAkB,CAAC,KAAgC,KAAA;AAC9D,EAAM,MAAA;AAAA,IACJ,gBAAmB,GAAAC,YAAA;AAAA,IACnB,UAAa,GAAA,KAAA;AAAA,IACb,YAAAC,EAAAA,aAAAA;AAAA,IACA,WAAA;AAAA,IACA,SAAAC,EAAAA,UAAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAS,GAAA,MAAA;AAAA,IACN,GAAA,SAAA;AAAA,GACD,GAAA,KAAA,CAAA;AAEJ,EAAA,uBACGC,cAAA,CAAA,gBAAA,EAAA;AAAA,IACC,QAAQ,EAAA,IAAA;AAAA,IACR,MAAA;AAAA,IACA,OAAS,EAAA,WAAA;AAAA,IACT,SAAU,EAAA,KAAA;AAAA,IACV,UAAU,CAAC,UAAA;AAAA,IACV,GAAGF,aAAAA;AAAA,IAEJ,QAAC,kBAAAE,cAAA,CAAAC,oBAAA,EAAA;AAAA,MACC,MAAA;AAAA,MACC,GAAG,SAAA;AAAA,MACH,GAAGF,UAAAA;AAAA,MACJ,SAAW,EAAAG,SAAA;AAAA,QACT,aAAa,iBAAiB,CAAA;AAAA,QAC9B,SAAA;AAAA,QACAH,UAAAA,IAAA,gBAAAA,UAAW,CAAA,SAAA;AAAA,OACb;AAAA,KACF,CAAA;AAAA,GACF,CAAA,CAAA;AAEJ;;;;"}
@@ -4,18 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var React = require('react');
7
- var cx = require('classnames');
7
+ var clsx = require('clsx');
8
8
  require('./FormGroup.css.js');
9
9
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
13
-
14
10
  const baseName = "saltFormGroup";
15
11
  const FormGroup = React.forwardRef(
16
12
  function FormGroup2({ className, row, ...other }, ref) {
17
13
  return /* @__PURE__ */ jsxRuntime.jsx("div", {
18
- className: cx__default["default"](baseName, { [`${baseName}-row`]: row }, className),
14
+ className: clsx.clsx(baseName, { [`${baseName}-row`]: row }, className),
19
15
  ref,
20
16
  ...other
21
17
  });
@@ -1 +1 @@
1
- {"version":3,"file":"FormGroup.js","sources":["../src/form-group/FormGroup.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport cx from \"classnames\";\n\nimport \"./FormGroup.css\";\n\nexport interface FormGroupProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Display group of elements in a compact row.\n */\n row?: boolean;\n}\n\nconst baseName = \"saltFormGroup\";\n\nexport const FormGroup = forwardRef<HTMLDivElement, FormGroupProps>(\n function FormGroup({ className, row, ...other }, ref) {\n return (\n <div\n className={cx(baseName, { [`${baseName}-row`]: row }, className)}\n ref={ref}\n {...other}\n />\n );\n }\n);\n"],"names":["forwardRef","FormGroup","jsx","cx"],"mappings":";;;;;;;;;;;;;AAYA,MAAM,QAAW,GAAA,eAAA,CAAA;AAEV,MAAM,SAAY,GAAAA,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,EAAE,WAAW,GAAQ,EAAA,GAAA,KAAA,IAAS,GAAK,EAAA;AACpD,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAA,EAAWC,uBAAG,QAAU,EAAA,EAAE,CAAC,CAAG,EAAA,QAAA,CAAA,IAAA,CAAA,GAAiB,GAAI,EAAA,EAAG,SAAS,CAAA;AAAA,MAC/D,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,KACN,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"FormGroup.js","sources":["../src/form-group/FormGroup.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes } from \"react\";\nimport { clsx } from \"clsx\";\n\nimport \"./FormGroup.css\";\n\nexport interface FormGroupProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Display group of elements in a compact row.\n */\n row?: boolean;\n}\n\nconst baseName = \"saltFormGroup\";\n\nexport const FormGroup = forwardRef<HTMLDivElement, FormGroupProps>(\n function FormGroup({ className, row, ...other }, ref) {\n return (\n <div\n className={clsx(baseName, { [`${baseName}-row`]: row }, className)}\n ref={ref}\n {...other}\n />\n );\n }\n);\n"],"names":["forwardRef","FormGroup","jsx","clsx"],"mappings":";;;;;;;;;AAYA,MAAM,QAAW,GAAA,eAAA,CAAA;AAEV,MAAM,SAAY,GAAAA,gBAAA;AAAA,EACvB,SAASC,UAAU,CAAA,EAAE,WAAW,GAAQ,EAAA,GAAA,KAAA,IAAS,GAAK,EAAA;AACpD,IAAA,uBACGC,cAAA,CAAA,KAAA,EAAA;AAAA,MACC,SAAA,EAAWC,UAAK,QAAU,EAAA,EAAE,CAAC,CAAG,EAAA,QAAA,CAAA,IAAA,CAAA,GAAiB,GAAI,EAAA,EAAG,SAAS,CAAA;AAAA,MACjE,GAAA;AAAA,MACC,GAAG,KAAA;AAAA,KACN,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var cx = require('classnames');
6
+ var clsx = require('clsx');
7
7
  var React = require('react');
8
8
  var rifm = require('rifm');
9
9
  var core = require('@salt-ds/core');
@@ -12,10 +12,6 @@ require('../input/StaticInputAdornment.js');
12
12
  var InputWithMask = require('./internal/InputWithMask.js');
13
13
  require('./FormattedInput.css.js');
14
14
 
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
18
-
19
15
  const defaultFormatter = (string) => string;
20
16
  const defaultRifmOptions = {};
21
17
  const FormattedInput = React.forwardRef(
@@ -53,7 +49,7 @@ const FormattedInput = React.forwardRef(
53
49
  onChange: handleChange
54
50
  });
55
51
  return /* @__PURE__ */ jsxRuntime.jsx(Input.Input, {
56
- className: cx__default["default"](InputWithMask.baseName, className),
52
+ className: clsx.clsx(InputWithMask.baseName, className),
57
53
  inputComponent: InputWithMask.InputWithMask,
58
54
  inputProps: { mask, textAlign, ...inputProps },
59
55
  onChange: rifm$1.onChange,
@@ -1 +1 @@
1
- {"version":3,"file":"FormattedInput.js","sources":["../src/formatted-input/FormattedInput.tsx"],"sourcesContent":["import cx from \"classnames\";\nimport { forwardRef } from \"react\";\nimport { useRifm } from \"rifm\";\nimport { useControlled } from \"@salt-ds/core\";\nimport { Input, InputProps } from \"../input\";\nimport {\n baseName,\n InputWithMask,\n InputWithMaskProps,\n} from \"./internal/InputWithMask\";\n\nimport \"./FormattedInput.css\";\n\nexport type MaskFunction = (value: string | undefined) => boolean;\n\nexport interface RifmOptions {\n format?: (str: string) => string;\n replace?: (str: string) => string;\n append?: (str: string) => string;\n mask?: boolean | MaskFunction;\n accept?: RegExp;\n}\n\nexport interface FormattedInputProps extends Omit<InputProps, \"onChange\"> {\n mask?: string;\n onChange?: (value: string) => void;\n rifmOptions?: RifmOptions;\n value?: string;\n defaultValue?: string;\n}\n\nconst defaultFormatter = (string: string): string => string;\nconst defaultRifmOptions: RifmOptions = {};\n\nexport const FormattedInput = forwardRef<HTMLInputElement, FormattedInputProps>(\n function FormattedInput(\n {\n defaultValue = \"\",\n className,\n inputProps,\n mask,\n onChange,\n rifmOptions = defaultRifmOptions,\n value: valueProp,\n textAlign,\n ...other\n },\n ref\n ) {\n const [valueState, setValueState] = useControlled<string | undefined>({\n default: defaultValue,\n controlled: valueProp,\n name: \"FormattedInput\",\n state: \"value\",\n });\n\n const handleChange = (value: string) => {\n setValueState(value);\n onChange?.(value);\n };\n\n let rifmMask = false;\n\n if (rifmOptions.mask) {\n rifmMask =\n typeof rifmOptions.mask === \"function\"\n ? rifmOptions.mask(valueState)\n : rifmOptions.mask;\n }\n\n const rifm = useRifm({\n format: defaultFormatter,\n accept: /.*/,\n ...rifmOptions,\n mask: rifmMask,\n value: valueState || \"\",\n onChange: handleChange,\n });\n\n return (\n <Input\n className={cx(baseName, className)}\n inputComponent={InputWithMask}\n inputProps={{ mask, textAlign, ...inputProps } as InputWithMaskProps}\n onChange={rifm.onChange}\n textAlign={textAlign}\n value={rifm.value}\n {...other}\n ref={ref}\n />\n );\n }\n);\n"],"names":["forwardRef","FormattedInput","useControlled","rifm","useRifm","jsx","Input","cx","baseName","InputWithMask"],"mappings":";;;;;;;;;;;;;;;;;;AA+BA,MAAM,gBAAA,GAAmB,CAAC,MAA2B,KAAA,MAAA,CAAA;AACrD,MAAM,qBAAkC,EAAC,CAAA;AAElC,MAAM,cAAiB,GAAAA,gBAAA;AAAA,EAC5B,SAASC,eACP,CAAA;AAAA,IACE,YAAe,GAAA,EAAA;AAAA,IACf,SAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAc,GAAA,kBAAA;AAAA,IACd,KAAO,EAAA,SAAA;AAAA,IACP,SAAA;AAAA,IACG,GAAA,KAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIC,kBAAkC,CAAA;AAAA,MACpE,OAAS,EAAA,YAAA;AAAA,MACT,UAAY,EAAA,SAAA;AAAA,MACZ,IAAM,EAAA,gBAAA;AAAA,MACN,KAAO,EAAA,OAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,CAAC,KAAkB,KAAA;AACtC,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACnB,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IAAA,IAAI,QAAW,GAAA,KAAA,CAAA;AAEf,IAAA,IAAI,YAAY,IAAM,EAAA;AACpB,MACE,QAAA,GAAA,OAAO,YAAY,IAAS,KAAA,UAAA,GACxB,YAAY,IAAK,CAAA,UAAU,IAC3B,WAAY,CAAA,IAAA,CAAA;AAAA,KACpB;AAEA,IAAA,MAAMC,SAAOC,YAAQ,CAAA;AAAA,MACnB,MAAQ,EAAA,gBAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,GAAG,WAAA;AAAA,MACH,IAAM,EAAA,QAAA;AAAA,MACN,OAAO,UAAc,IAAA,EAAA;AAAA,MACrB,QAAU,EAAA,YAAA;AAAA,KACX,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAAC,WAAA,EAAA;AAAA,MACC,SAAA,EAAWC,sBAAG,CAAAC,sBAAA,EAAU,SAAS,CAAA;AAAA,MACjC,cAAgB,EAAAC,2BAAA;AAAA,MAChB,UAAY,EAAA,EAAE,IAAM,EAAA,SAAA,EAAW,GAAG,UAAW,EAAA;AAAA,MAC7C,UAAUN,MAAK,CAAA,QAAA;AAAA,MACf,SAAA;AAAA,MACA,OAAOA,MAAK,CAAA,KAAA;AAAA,MACX,GAAG,KAAA;AAAA,MACJ,GAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
1
+ {"version":3,"file":"FormattedInput.js","sources":["../src/formatted-input/FormattedInput.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { forwardRef } from \"react\";\nimport { useRifm } from \"rifm\";\nimport { useControlled } from \"@salt-ds/core\";\nimport { Input, InputProps } from \"../input\";\nimport {\n baseName,\n InputWithMask,\n InputWithMaskProps,\n} from \"./internal/InputWithMask\";\n\nimport \"./FormattedInput.css\";\n\nexport type MaskFunction = (value: string | undefined) => boolean;\n\nexport interface RifmOptions {\n format?: (str: string) => string;\n replace?: (str: string) => string;\n append?: (str: string) => string;\n mask?: boolean | MaskFunction;\n accept?: RegExp;\n}\n\nexport interface FormattedInputProps extends Omit<InputProps, \"onChange\"> {\n mask?: string;\n onChange?: (value: string) => void;\n rifmOptions?: RifmOptions;\n value?: string;\n defaultValue?: string;\n}\n\nconst defaultFormatter = (string: string): string => string;\nconst defaultRifmOptions: RifmOptions = {};\n\nexport const FormattedInput = forwardRef<HTMLInputElement, FormattedInputProps>(\n function FormattedInput(\n {\n defaultValue = \"\",\n className,\n inputProps,\n mask,\n onChange,\n rifmOptions = defaultRifmOptions,\n value: valueProp,\n textAlign,\n ...other\n },\n ref\n ) {\n const [valueState, setValueState] = useControlled<string | undefined>({\n default: defaultValue,\n controlled: valueProp,\n name: \"FormattedInput\",\n state: \"value\",\n });\n\n const handleChange = (value: string) => {\n setValueState(value);\n onChange?.(value);\n };\n\n let rifmMask = false;\n\n if (rifmOptions.mask) {\n rifmMask =\n typeof rifmOptions.mask === \"function\"\n ? rifmOptions.mask(valueState)\n : rifmOptions.mask;\n }\n\n const rifm = useRifm({\n format: defaultFormatter,\n accept: /.*/,\n ...rifmOptions,\n mask: rifmMask,\n value: valueState || \"\",\n onChange: handleChange,\n });\n\n return (\n <Input\n className={clsx(baseName, className)}\n inputComponent={InputWithMask}\n inputProps={{ mask, textAlign, ...inputProps } as InputWithMaskProps}\n onChange={rifm.onChange}\n textAlign={textAlign}\n value={rifm.value}\n {...other}\n ref={ref}\n />\n );\n }\n);\n"],"names":["forwardRef","FormattedInput","useControlled","rifm","useRifm","jsx","Input","clsx","baseName","InputWithMask"],"mappings":";;;;;;;;;;;;;;AA+BA,MAAM,gBAAA,GAAmB,CAAC,MAA2B,KAAA,MAAA,CAAA;AACrD,MAAM,qBAAkC,EAAC,CAAA;AAElC,MAAM,cAAiB,GAAAA,gBAAA;AAAA,EAC5B,SAASC,eACP,CAAA;AAAA,IACE,YAAe,GAAA,EAAA;AAAA,IACf,SAAA;AAAA,IACA,UAAA;AAAA,IACA,IAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAc,GAAA,kBAAA;AAAA,IACd,KAAO,EAAA,SAAA;AAAA,IACP,SAAA;AAAA,IACG,GAAA,KAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIC,kBAAkC,CAAA;AAAA,MACpE,OAAS,EAAA,YAAA;AAAA,MACT,UAAY,EAAA,SAAA;AAAA,MACZ,IAAM,EAAA,gBAAA;AAAA,MACN,KAAO,EAAA,OAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,YAAA,GAAe,CAAC,KAAkB,KAAA;AACtC,MAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACnB,MAAW,QAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IAAA,IAAI,QAAW,GAAA,KAAA,CAAA;AAEf,IAAA,IAAI,YAAY,IAAM,EAAA;AACpB,MACE,QAAA,GAAA,OAAO,YAAY,IAAS,KAAA,UAAA,GACxB,YAAY,IAAK,CAAA,UAAU,IAC3B,WAAY,CAAA,IAAA,CAAA;AAAA,KACpB;AAEA,IAAA,MAAMC,SAAOC,YAAQ,CAAA;AAAA,MACnB,MAAQ,EAAA,gBAAA;AAAA,MACR,MAAQ,EAAA,IAAA;AAAA,MACR,GAAG,WAAA;AAAA,MACH,IAAM,EAAA,QAAA;AAAA,MACN,OAAO,UAAc,IAAA,EAAA;AAAA,MACrB,QAAU,EAAA,YAAA;AAAA,KACX,CAAA,CAAA;AAED,IAAA,uBACGC,cAAA,CAAAC,WAAA,EAAA;AAAA,MACC,SAAA,EAAWC,SAAK,CAAAC,sBAAA,EAAU,SAAS,CAAA;AAAA,MACnC,cAAgB,EAAAC,2BAAA;AAAA,MAChB,UAAY,EAAA,EAAE,IAAM,EAAA,SAAA,EAAW,GAAG,UAAW,EAAA;AAAA,MAC7C,UAAUN,MAAK,CAAA,QAAA;AAAA,MACf,SAAA;AAAA,MACA,OAAOA,MAAK,CAAA,KAAA;AAAA,MACX,GAAG,KAAA;AAAA,MACJ,GAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;"}
@@ -4,13 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var core = require('@salt-ds/core');
7
- var cx = require('classnames');
7
+ var clsx = require('clsx');
8
8
  var React = require('react');
9
9
 
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
13
-
14
10
  const baseName = "saltFormattedInput";
15
11
  function getClippedMask(mask, value, textAlign) {
16
12
  if (mask) {
@@ -57,7 +53,7 @@ const InputWithMask = React.forwardRef(
57
53
  }),
58
54
  /* @__PURE__ */ jsxRuntime.jsx("span", {
59
55
  "aria-hidden": "true",
60
- className: cx__default["default"](`${baseName}-mask`, className),
56
+ className: clsx.clsx(`${baseName}-mask`, className),
61
57
  style,
62
58
  children: textAlign !== "right" ? spacerAndMask : spacerAndMask.reverse()
63
59
  })
@@ -1 +1 @@
1
- {"version":3,"file":"InputWithMask.js","sources":["../src/formatted-input/internal/InputWithMask.tsx"],"sourcesContent":["import { useId } from \"@salt-ds/core\";\nimport cx from \"classnames\";\nimport { forwardRef, InputHTMLAttributes } from \"react\";\nimport { FormattedInputProps } from \"../FormattedInput\";\n\nexport const baseName = \"saltFormattedInput\";\n\nfunction getClippedMask(\n mask: FormattedInputProps[\"mask\"],\n value: FormattedInputProps[\"value\"],\n textAlign: FormattedInputProps[\"textAlign\"]\n) {\n if (mask) {\n if (textAlign === \"right\") {\n return mask.substring(\n 0,\n value ? mask.length - value.length : mask.length\n );\n }\n\n return mask.substring(value ? value.length : 0);\n }\n return \"\";\n}\n\nexport interface InputWithMaskProps\n extends InputHTMLAttributes<HTMLInputElement> {\n mask?: FormattedInputProps[\"mask\"];\n textAlign?: FormattedInputProps[\"textAlign\"];\n value?: FormattedInputProps[\"value\"];\n}\n\nexport const InputWithMask = forwardRef<HTMLInputElement, InputWithMaskProps>(\n function InputWithMask(\n {\n \"aria-labelledby\": ariaLabelledBy,\n className,\n mask = \"\",\n value,\n id: idProp,\n style,\n textAlign,\n ...other\n },\n ref\n ) {\n const id = useId(idProp);\n\n const spacerAndMask = [\n <i key={value}>{value}</i>,\n getClippedMask(mask, value, textAlign),\n ];\n\n return (\n <div className={`${baseName}-inputWrapper`}>\n <input\n className={className}\n {...other}\n aria-label={mask}\n aria-labelledby={[ariaLabelledBy, id]\n .filter((label) => label != null)\n .join(\" \")}\n id={id}\n ref={ref}\n style={style}\n value={value}\n />\n <span\n aria-hidden=\"true\"\n className={cx(`${baseName}-mask`, className)}\n style={style}\n >\n {textAlign !== \"right\" ? spacerAndMask : spacerAndMask.reverse()}\n </span>\n </div>\n );\n }\n);\n"],"names":["forwardRef","InputWithMask","useId","jsx","jsxs","cx"],"mappings":";;;;;;;;;;;;;AAKO,MAAM,QAAW,GAAA,qBAAA;AAExB,SAAS,cAAA,CACP,IACA,EAAA,KAAA,EACA,SACA,EAAA;AACA,EAAA,IAAI,IAAM,EAAA;AACR,IAAA,IAAI,cAAc,OAAS,EAAA;AACzB,MAAA,OAAO,IAAK,CAAA,SAAA;AAAA,QACV,CAAA;AAAA,QACA,KAAQ,GAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAM,SAAS,IAAK,CAAA,MAAA;AAAA,OAC5C,CAAA;AAAA,KACF;AAEA,IAAA,OAAO,IAAK,CAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAAA,GAChD;AACA,EAAO,OAAA,EAAA,CAAA;AACT,CAAA;AASO,MAAM,aAAgB,GAAAA,gBAAA;AAAA,EAC3B,SAASC,cACP,CAAA;AAAA,IACE,iBAAmB,EAAA,cAAA;AAAA,IACnB,SAAA;AAAA,IACA,IAAO,GAAA,EAAA;AAAA,IACP,KAAA;AAAA,IACA,EAAI,EAAA,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,KAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA,CAAA;AAEvB,IAAA,MAAM,aAAgB,GAAA;AAAA,sBACnBC,cAAA,CAAA,GAAA,EAAA;AAAA,QAAe,QAAA,EAAA,KAAA;AAAA,OAAA,EAAR,KAAc,CAAA;AAAA,MACtB,cAAA,CAAe,IAAM,EAAA,KAAA,EAAO,SAAS,CAAA;AAAA,KACvC,CAAA;AAEA,IAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,MAAI,WAAW,CAAG,EAAA,QAAA,CAAA,aAAA,CAAA;AAAA,MACjB,QAAA,EAAA;AAAA,wBAACD,cAAA,CAAA,OAAA,EAAA;AAAA,UACC,SAAA;AAAA,UACC,GAAG,KAAA;AAAA,UACJ,YAAY,EAAA,IAAA;AAAA,UACZ,iBAAiB,EAAA,CAAC,cAAgB,EAAA,EAAE,CACjC,CAAA,MAAA,CAAO,CAAC,KAAA,KAAU,KAAS,IAAA,IAAI,CAC/B,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA,UACX,EAAA;AAAA,UACA,GAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,SACF,CAAA;AAAA,wBACCA,cAAA,CAAA,MAAA,EAAA;AAAA,UACC,aAAY,EAAA,MAAA;AAAA,UACZ,SAAW,EAAAE,sBAAA,CAAG,CAAG,EAAA,QAAA,CAAA,KAAA,CAAA,EAAiB,SAAS,CAAA;AAAA,UAC3C,KAAA;AAAA,UAEC,QAAc,EAAA,SAAA,KAAA,OAAA,GAAU,aAAgB,GAAA,aAAA,CAAc,OAAQ,EAAA;AAAA,SACjE,CAAA;AAAA,OAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;;"}
1
+ {"version":3,"file":"InputWithMask.js","sources":["../src/formatted-input/internal/InputWithMask.tsx"],"sourcesContent":["import { useId } from \"@salt-ds/core\";\nimport { clsx } from \"clsx\";\nimport { forwardRef, InputHTMLAttributes } from \"react\";\nimport { FormattedInputProps } from \"../FormattedInput\";\n\nexport const baseName = \"saltFormattedInput\";\n\nfunction getClippedMask(\n mask: FormattedInputProps[\"mask\"],\n value: FormattedInputProps[\"value\"],\n textAlign: FormattedInputProps[\"textAlign\"]\n) {\n if (mask) {\n if (textAlign === \"right\") {\n return mask.substring(\n 0,\n value ? mask.length - value.length : mask.length\n );\n }\n\n return mask.substring(value ? value.length : 0);\n }\n return \"\";\n}\n\nexport interface InputWithMaskProps\n extends InputHTMLAttributes<HTMLInputElement> {\n mask?: FormattedInputProps[\"mask\"];\n textAlign?: FormattedInputProps[\"textAlign\"];\n value?: FormattedInputProps[\"value\"];\n}\n\nexport const InputWithMask = forwardRef<HTMLInputElement, InputWithMaskProps>(\n function InputWithMask(\n {\n \"aria-labelledby\": ariaLabelledBy,\n className,\n mask = \"\",\n value,\n id: idProp,\n style,\n textAlign,\n ...other\n },\n ref\n ) {\n const id = useId(idProp);\n\n const spacerAndMask = [\n <i key={value}>{value}</i>,\n getClippedMask(mask, value, textAlign),\n ];\n\n return (\n <div className={`${baseName}-inputWrapper`}>\n <input\n className={className}\n {...other}\n aria-label={mask}\n aria-labelledby={[ariaLabelledBy, id]\n .filter((label) => label != null)\n .join(\" \")}\n id={id}\n ref={ref}\n style={style}\n value={value}\n />\n <span\n aria-hidden=\"true\"\n className={clsx(`${baseName}-mask`, className)}\n style={style}\n >\n {textAlign !== \"right\" ? spacerAndMask : spacerAndMask.reverse()}\n </span>\n </div>\n );\n }\n);\n"],"names":["forwardRef","InputWithMask","useId","jsx","jsxs","clsx"],"mappings":";;;;;;;;;AAKO,MAAM,QAAW,GAAA,qBAAA;AAExB,SAAS,cAAA,CACP,IACA,EAAA,KAAA,EACA,SACA,EAAA;AACA,EAAA,IAAI,IAAM,EAAA;AACR,IAAA,IAAI,cAAc,OAAS,EAAA;AACzB,MAAA,OAAO,IAAK,CAAA,SAAA;AAAA,QACV,CAAA;AAAA,QACA,KAAQ,GAAA,IAAA,CAAK,MAAS,GAAA,KAAA,CAAM,SAAS,IAAK,CAAA,MAAA;AAAA,OAC5C,CAAA;AAAA,KACF;AAEA,IAAA,OAAO,IAAK,CAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAAA,GAChD;AACA,EAAO,OAAA,EAAA,CAAA;AACT,CAAA;AASO,MAAM,aAAgB,GAAAA,gBAAA;AAAA,EAC3B,SAASC,cACP,CAAA;AAAA,IACE,iBAAmB,EAAA,cAAA;AAAA,IACnB,SAAA;AAAA,IACA,IAAO,GAAA,EAAA;AAAA,IACP,KAAA;AAAA,IACA,EAAI,EAAA,MAAA;AAAA,IACJ,KAAA;AAAA,IACA,SAAA;AAAA,IACG,GAAA,KAAA;AAAA,KAEL,GACA,EAAA;AACA,IAAM,MAAA,EAAA,GAAKC,WAAM,MAAM,CAAA,CAAA;AAEvB,IAAA,MAAM,aAAgB,GAAA;AAAA,sBACnBC,cAAA,CAAA,GAAA,EAAA;AAAA,QAAe,QAAA,EAAA,KAAA;AAAA,OAAA,EAAR,KAAc,CAAA;AAAA,MACtB,cAAA,CAAe,IAAM,EAAA,KAAA,EAAO,SAAS,CAAA;AAAA,KACvC,CAAA;AAEA,IAAA,uBACGC,eAAA,CAAA,KAAA,EAAA;AAAA,MAAI,WAAW,CAAG,EAAA,QAAA,CAAA,aAAA,CAAA;AAAA,MACjB,QAAA,EAAA;AAAA,wBAACD,cAAA,CAAA,OAAA,EAAA;AAAA,UACC,SAAA;AAAA,UACC,GAAG,KAAA;AAAA,UACJ,YAAY,EAAA,IAAA;AAAA,UACZ,iBAAiB,EAAA,CAAC,cAAgB,EAAA,EAAE,CACjC,CAAA,MAAA,CAAO,CAAC,KAAA,KAAU,KAAS,IAAA,IAAI,CAC/B,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA,UACX,EAAA;AAAA,UACA,GAAA;AAAA,UACA,KAAA;AAAA,UACA,KAAA;AAAA,SACF,CAAA;AAAA,wBACCA,cAAA,CAAA,MAAA,EAAA;AAAA,UACC,aAAY,EAAA,MAAA;AAAA,UACZ,SAAW,EAAAE,SAAA,CAAK,CAAG,EAAA,QAAA,CAAA,KAAA,CAAA,EAAiB,SAAS,CAAA;AAAA,UAC7C,KAAA;AAAA,UAEC,QAAc,EAAA,SAAA,KAAA,OAAA,GAAU,aAAgB,GAAA,aAAA,CAAc,OAAQ,EAAA;AAAA,SACjE,CAAA;AAAA,OAAA;AAAA,KACF,CAAA,CAAA;AAAA,GAEJ;AACF;;;;;"}