@festo-ui/react 9.0.0-dev.711 → 9.0.0-dev.713

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 (525) hide show
  1. package/index.css +1 -0
  2. package/index.d.ts +65 -0
  3. package/index.js +60 -0
  4. package/lib/components/accordion/Accordion.d.ts +11 -0
  5. package/lib/components/accordion/Accordion.js +43 -0
  6. package/{dist → lib}/components/accordion/AccordionContext.d.ts +2 -2
  7. package/lib/components/accordion/AccordionContext.js +3 -0
  8. package/lib/components/accordion/accordion-header/AccordionHeader.d.ts +3 -0
  9. package/lib/components/accordion/accordion-header/AccordionHeader.js +17 -0
  10. package/lib/components/accordion/accordion-item/AccordionItem.d.ts +9 -0
  11. package/lib/components/accordion/accordion-item/AccordionItem.js +65 -0
  12. package/{dist → lib}/components/accordion/accordion-item/AccordionItemContext.d.ts +2 -2
  13. package/lib/components/accordion/accordion-item/AccordionItemContext.js +3 -0
  14. package/lib/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.d.ts +3 -0
  15. package/lib/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.js +70 -0
  16. package/lib/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.d.ts +3 -0
  17. package/lib/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.js +41 -0
  18. package/lib/components/bottom-sheet/BottomSheet.d.ts +11 -0
  19. package/lib/components/bottom-sheet/BottomSheet.js +93 -0
  20. package/lib/components/bottom-sheet/BottomSheet.stories.d.ts +9 -0
  21. package/lib/components/bottom-sheet/BottomSheet.stories.js +49 -0
  22. package/{dist → lib}/components/breadcrumb/Breadcrumb.d.ts +4 -3
  23. package/lib/components/breadcrumb/Breadcrumb.js +40 -0
  24. package/lib/components/buttons/button/Button.d.ts +12 -0
  25. package/lib/components/buttons/button/Button.js +49 -0
  26. package/lib/components/buttons/button/Button.stories.d.ts +13 -0
  27. package/lib/components/buttons/button/Button.stories.js +86 -0
  28. package/lib/components/card/Card.d.ts +3 -0
  29. package/lib/components/card/Card.js +13 -0
  30. package/lib/components/card/CardBody.d.ts +6 -0
  31. package/lib/components/card/CardBody.js +17 -0
  32. package/lib/components/card/CardHeader.d.ts +9 -0
  33. package/lib/components/card/CardHeader.js +29 -0
  34. package/lib/components/card/CardHeader.stories.helper.d.ts +3 -0
  35. package/lib/components/card/CardHeader.stories.helper.js +9 -0
  36. package/lib/components/card/CardNotification.d.ts +7 -0
  37. package/lib/components/card/CardNotification.js +25 -0
  38. package/lib/components/chips/chip/Chip.d.ts +17 -0
  39. package/lib/components/chips/chip/Chip.js +47 -0
  40. package/lib/components/chips/chip-container/ChipContainer.d.ts +6 -0
  41. package/lib/components/chips/chip-container/ChipContainer.js +17 -0
  42. package/{dist → lib}/components/icon-wrapper/IconWrapper.d.ts +1 -1
  43. package/lib/components/icon-wrapper/IconWrapper.js +17 -0
  44. package/lib/components/link-button/LinkButton.d.ts +9 -0
  45. package/lib/components/link-button/LinkButton.js +32 -0
  46. package/lib/components/loading-indicator/LoadingIndicator.d.ts +7 -0
  47. package/lib/components/loading-indicator/LoadingIndicator.js +39 -0
  48. package/lib/components/mobile-flyout/MobileFlyout.d.ts +12 -0
  49. package/lib/components/mobile-flyout/MobileFlyout.js +82 -0
  50. package/{dist → lib}/components/mobile-flyout/MobileFlyoutContext.d.ts +2 -2
  51. package/lib/components/mobile-flyout/MobileFlyoutContext.js +2 -0
  52. package/lib/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.d.ts +17 -0
  53. package/lib/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.js +53 -0
  54. package/lib/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.d.ts +8 -0
  55. package/lib/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.js +46 -0
  56. package/lib/components/modals/AlertModal.d.ts +13 -0
  57. package/lib/components/modals/AlertModal.js +60 -0
  58. package/lib/components/modals/ConfirmModal.d.ts +12 -0
  59. package/lib/components/modals/ConfirmModal.js +52 -0
  60. package/lib/components/modals/CustomModal.d.ts +9 -0
  61. package/lib/components/modals/CustomModal.js +41 -0
  62. package/lib/components/modals/Modal.d.ts +9 -0
  63. package/lib/components/modals/Modal.js +34 -0
  64. package/lib/components/modals/ModalBase.d.ts +10 -0
  65. package/lib/components/modals/ModalBase.js +142 -0
  66. package/lib/components/modals/ModalFooter.d.ts +3 -0
  67. package/lib/components/modals/ModalFooter.js +18 -0
  68. package/{dist → lib}/components/modals/Prompt.d.ts +5 -4
  69. package/lib/components/modals/Prompt.js +64 -0
  70. package/{dist → lib}/components/modals/image-gallery/ImageGallery.d.ts +7 -6
  71. package/lib/components/modals/image-gallery/ImageGallery.helper.d.ts +3 -0
  72. package/lib/components/modals/image-gallery/ImageGallery.helper.js +11 -0
  73. package/lib/components/modals/image-gallery/ImageGallery.js +81 -0
  74. package/lib/components/modals/image-gallery/ImageGallery.stories.helper.d.ts +3 -0
  75. package/lib/components/modals/image-gallery/ImageGallery.stories.helper.js +97 -0
  76. package/{dist → lib}/components/modals/image-gallery/ImageGalleryContent.d.ts +1 -1
  77. package/lib/components/modals/image-gallery/ImageGalleryContent.js +14 -0
  78. package/{dist → lib}/components/modals/image-gallery/ImageGalleryContext.d.ts +3 -3
  79. package/lib/components/modals/image-gallery/ImageGalleryContext.js +4 -0
  80. package/lib/components/modals/image-gallery/ImageGallerySwiper.d.ts +8 -0
  81. package/lib/components/modals/image-gallery/ImageGallerySwiper.js +32 -0
  82. package/lib/components/modals/image-gallery/ImageGalleryThumbsSwiper.d.ts +5 -0
  83. package/lib/components/modals/image-gallery/ImageGalleryThumbsSwiper.js +25 -0
  84. package/lib/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.d.ts +11 -0
  85. package/lib/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.js +28 -0
  86. package/lib/components/modals/image-gallery/internal/BaseGallery.d.ts +17 -0
  87. package/lib/components/modals/image-gallery/internal/BaseGallery.js +65 -0
  88. package/{dist → lib}/components/modals/image-gallery/internal/CloseButton.d.ts +1 -1
  89. package/lib/components/modals/image-gallery/internal/CloseButton.js +17 -0
  90. package/lib/components/modals/image-gallery/internal/ImageGalleryContainer.d.ts +6 -0
  91. package/lib/components/modals/image-gallery/internal/ImageGalleryContainer.js +13 -0
  92. package/{dist → lib}/components/modals/image-gallery/internal/ImageGalleryPagination.d.ts +3 -2
  93. package/lib/components/modals/image-gallery/internal/ImageGalleryPagination.js +27 -0
  94. package/lib/components/modals/image-gallery/internal/ScaleButton.d.ts +5 -0
  95. package/lib/components/modals/image-gallery/internal/ScaleButton.js +19 -0
  96. package/lib/components/pagination/Pagination.d.ts +16 -0
  97. package/lib/components/pagination/Pagination.js +105 -0
  98. package/lib/components/popovers/legend/Legend.d.ts +11 -0
  99. package/lib/components/popovers/legend/Legend.js +24 -0
  100. package/{dist → lib}/components/popovers/popover/Popover.d.ts +6 -5
  101. package/lib/components/popovers/popover/Popover.js +123 -0
  102. package/lib/components/popovers/popover-menu/PopoverMenu.d.ts +9 -0
  103. package/lib/components/popovers/popover-menu/PopoverMenu.js +46 -0
  104. package/lib/components/popovers/popover-menu/PopoverMenuContext.d.ts +4 -0
  105. package/lib/components/popovers/popover-menu/PopoverMenuContext.js +5 -0
  106. package/{dist → lib}/components/popovers/popover-menu-item/PopoverMenuItem.d.ts +3 -2
  107. package/lib/components/popovers/popover-menu-item/PopoverMenuItem.js +41 -0
  108. package/lib/components/popovers/tooltip/Tooltip.d.ts +6 -0
  109. package/lib/components/popovers/tooltip/Tooltip.js +16 -0
  110. package/lib/components/progress/Progress.d.ts +8 -0
  111. package/lib/components/progress/Progress.js +32 -0
  112. package/lib/components/scroll-area/ScrollArea.d.ts +5 -0
  113. package/lib/components/scroll-area/ScrollArea.js +14 -0
  114. package/lib/components/search-input/ClearButton.d.ts +2 -0
  115. package/lib/components/search-input/ClearButton.js +10 -0
  116. package/lib/components/search-input/SearchInput.d.ts +15 -0
  117. package/lib/components/search-input/SearchInput.js +77 -0
  118. package/{dist → lib}/components/search-input/SearchSuggestion.d.ts +1 -1
  119. package/lib/components/search-input/SearchSuggestion.js +32 -0
  120. package/{dist → lib}/components/search-input/useSearchInput.d.ts +3 -3
  121. package/lib/components/search-input/useSearchInput.js +94 -0
  122. package/{dist → lib}/components/snackbar/Snackbar.d.ts +6 -5
  123. package/lib/components/snackbar/Snackbar.js +78 -0
  124. package/{dist → lib}/components/snackbar/SnackbarContext.d.ts +4 -3
  125. package/lib/components/snackbar/SnackbarContext.js +2 -0
  126. package/lib/components/snackbar/SnackbarProvider.d.ts +8 -0
  127. package/lib/components/snackbar/SnackbarProvider.js +65 -0
  128. package/lib/components/snackbar/useSnackbar.d.ts +3 -0
  129. package/lib/components/snackbar/useSnackbar.js +3 -0
  130. package/lib/components/stepper-horizontal/StepperHorizontal.d.ts +7 -0
  131. package/lib/components/stepper-horizontal/StepperHorizontal.js +60 -0
  132. package/lib/components/stepper-horizontal/step-horizontal/StepHorizontal.d.ts +7 -0
  133. package/lib/components/stepper-horizontal/step-horizontal/StepHorizontal.js +23 -0
  134. package/lib/components/stepper-vertical/StepperVertical.d.ts +7 -0
  135. package/lib/components/stepper-vertical/StepperVertical.js +37 -0
  136. package/lib/components/stepper-vertical/step-vertical/StepVertical.d.ts +12 -0
  137. package/lib/components/stepper-vertical/step-vertical/StepVertical.js +76 -0
  138. package/lib/components/tab/Tabs.d.ts +23 -0
  139. package/lib/components/tab/Tabs.js +229 -0
  140. package/lib/components/tab/interfaces.js +1 -0
  141. package/lib/components/tab/tab-pane/TabPane.d.ts +10 -0
  142. package/lib/components/tab/tab-pane/TabPane.js +23 -0
  143. package/{dist → lib}/components/tab/useTabScroll.d.ts +3 -4
  144. package/lib/components/tab/useTabScroll.js +233 -0
  145. package/lib/components/table-header-cell/TableHeaderCell.d.ts +6 -0
  146. package/lib/components/table-header-cell/TableHeaderCell.js +29 -0
  147. package/lib/forms/checkbox/Checkbox.d.ts +17 -0
  148. package/lib/forms/checkbox/Checkbox.js +86 -0
  149. package/{dist → lib}/forms/radio/RadioButton.d.ts +4 -3
  150. package/lib/forms/radio/RadioButton.js +85 -0
  151. package/lib/forms/radio/RadioGroup.d.ts +13 -0
  152. package/lib/forms/radio/RadioGroup.js +51 -0
  153. package/{dist → lib}/forms/radio/RadioGroupContext.d.ts +3 -3
  154. package/lib/forms/radio/RadioGroupContext.js +3 -0
  155. package/lib/forms/segment/Segment.d.ts +14 -0
  156. package/lib/forms/segment/Segment.js +76 -0
  157. package/{dist → lib}/forms/segment/segment-control/SegmentControl.d.ts +4 -3
  158. package/lib/forms/segment/segment-control/SegmentControl.js +59 -0
  159. package/{dist → lib}/forms/select/Select.d.ts +8 -8
  160. package/lib/forms/select/Select.js +108 -0
  161. package/lib/forms/select/internal/HiddenInput.d.ts +8 -0
  162. package/lib/forms/select/internal/HiddenInput.js +26 -0
  163. package/{dist → lib}/forms/select/internal/ListItem.d.ts +6 -6
  164. package/lib/forms/select/internal/ListItem.js +84 -0
  165. package/{dist → lib}/forms/select/internal/SelectButton.d.ts +2 -2
  166. package/lib/forms/select/internal/SelectButton.js +57 -0
  167. package/{dist → lib}/forms/select/internal/SelectButtonContent.d.ts +1 -1
  168. package/lib/forms/select/internal/SelectButtonContent.js +38 -0
  169. package/lib/forms/select/internal/SelectCheckbox.d.ts +4 -0
  170. package/lib/forms/select/internal/SelectCheckbox.js +19 -0
  171. package/{dist → lib}/forms/select/internal/SelectLabel.d.ts +1 -1
  172. package/lib/forms/select/internal/SelectLabel.js +16 -0
  173. package/{dist → lib}/forms/select/internal/SelectOptionsContainer.d.ts +6 -6
  174. package/lib/forms/select/internal/SelectOptionsContainer.js +102 -0
  175. package/{dist → lib}/forms/select/internal/SelectScrollContainer.d.ts +2 -2
  176. package/lib/forms/select/internal/SelectScrollContainer.js +21 -0
  177. package/lib/forms/select/internal/SelectWrapper.d.ts +6 -0
  178. package/lib/forms/select/internal/SelectWrapper.js +20 -0
  179. package/lib/forms/select/internal/index.d.ts +6 -0
  180. package/lib/forms/select/internal/index.js +6 -0
  181. package/{dist → lib}/forms/select/internal/utils.d.ts +3 -3
  182. package/lib/forms/select/internal/utils.js +36 -0
  183. package/{dist → lib}/forms/select/select-option/SelectOption.d.ts +5 -5
  184. package/lib/forms/select/select-option/SelectOption.js +17 -0
  185. package/lib/forms/select/utils.d.ts +2 -0
  186. package/lib/forms/select/utils.js +17 -0
  187. package/lib/forms/slider/Slider.d.ts +18 -0
  188. package/lib/forms/slider/Slider.js +100 -0
  189. package/lib/forms/switch/Switch.d.ts +13 -0
  190. package/lib/forms/switch/Switch.js +51 -0
  191. package/{dist → lib}/forms/text-area/TextArea.d.ts +5 -4
  192. package/lib/forms/text-area/TextArea.js +109 -0
  193. package/{dist → lib}/forms/text-input/TextInput.d.ts +3 -2
  194. package/lib/forms/text-input/TextInput.js +91 -0
  195. package/{dist → lib}/forms/time-picker/TimePicker.d.ts +6 -6
  196. package/lib/forms/time-picker/TimePicker.js +159 -0
  197. package/lib/forms/time-picker/time-picker-dropdown/TimePickerDropdown.d.ts +19 -0
  198. package/lib/forms/time-picker/time-picker-dropdown/TimePickerDropdown.js +212 -0
  199. package/lib/forms/time-picker/time-picker-dropdown/TimePickerInput.d.ts +9 -0
  200. package/lib/forms/time-picker/time-picker-dropdown/TimePickerInput.js +23 -0
  201. package/{dist/utils → lib/helper}/index.d.ts +1 -0
  202. package/lib/helper/index.js +7 -0
  203. package/lib/helper/setRef.d.ts +1 -0
  204. package/lib/helper/setRef.js +7 -0
  205. package/{dist/utils → lib/helper}/types.d.ts +4 -4
  206. package/lib/helper/types.js +1 -0
  207. package/{dist/utils → lib/helper}/useControlled.d.ts +2 -2
  208. package/lib/helper/useControlled.js +22 -0
  209. package/lib/helper/useForkRef.d.ts +2 -0
  210. package/lib/helper/useForkRef.js +18 -0
  211. package/lib/helper/useId.d.ts +1 -0
  212. package/lib/helper/useId.js +22 -0
  213. package/lib/helper/useOnClickOutside.d.ts +2 -0
  214. package/lib/helper/useOnClickOutside.js +18 -0
  215. package/node/index.js +439 -0
  216. package/node/lib/components/accordion/Accordion.js +50 -0
  217. package/node/lib/components/accordion/AccordionContext.js +9 -0
  218. package/node/lib/components/accordion/accordion-header/AccordionHeader.js +24 -0
  219. package/node/lib/components/accordion/accordion-item/AccordionItem.js +72 -0
  220. package/node/lib/components/accordion/accordion-item/AccordionItemContext.js +9 -0
  221. package/node/lib/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.js +77 -0
  222. package/node/lib/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.js +48 -0
  223. package/node/lib/components/bottom-sheet/BottomSheet.js +101 -0
  224. package/node/lib/components/bottom-sheet/BottomSheet.stories.js +56 -0
  225. package/node/lib/components/breadcrumb/Breadcrumb.js +47 -0
  226. package/node/lib/components/buttons/button/Button.js +56 -0
  227. package/node/lib/components/buttons/button/Button.stories.js +93 -0
  228. package/node/lib/components/card/Card.js +20 -0
  229. package/node/lib/components/card/CardBody.js +24 -0
  230. package/node/lib/components/card/CardHeader.js +36 -0
  231. package/node/lib/components/card/CardHeader.stories.helper.js +17 -0
  232. package/node/lib/components/card/CardNotification.js +32 -0
  233. package/node/lib/components/chips/chip/Chip.js +54 -0
  234. package/node/lib/components/chips/chip-container/ChipContainer.js +24 -0
  235. package/node/lib/components/icon-wrapper/IconWrapper.js +23 -0
  236. package/node/lib/components/link-button/LinkButton.js +39 -0
  237. package/node/lib/components/loading-indicator/LoadingIndicator.js +46 -0
  238. package/node/lib/components/mobile-flyout/MobileFlyout.js +89 -0
  239. package/node/lib/components/mobile-flyout/MobileFlyoutContext.js +8 -0
  240. package/node/lib/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.js +61 -0
  241. package/node/lib/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.js +53 -0
  242. package/node/lib/components/modals/AlertModal.js +67 -0
  243. package/node/lib/components/modals/ConfirmModal.js +59 -0
  244. package/node/lib/components/modals/CustomModal.js +48 -0
  245. package/node/lib/components/modals/Modal.js +43 -0
  246. package/node/lib/components/modals/ModalBase.js +149 -0
  247. package/node/lib/components/modals/ModalFooter.js +25 -0
  248. package/node/lib/components/modals/Prompt.js +73 -0
  249. package/node/lib/components/modals/image-gallery/ImageGallery.helper.js +18 -0
  250. package/node/lib/components/modals/image-gallery/ImageGallery.js +88 -0
  251. package/node/lib/components/modals/image-gallery/ImageGallery.stories.helper.js +123 -0
  252. package/node/lib/components/modals/image-gallery/ImageGalleryContent.js +20 -0
  253. package/node/lib/components/modals/image-gallery/ImageGalleryContext.js +10 -0
  254. package/node/lib/components/modals/image-gallery/ImageGallerySwiper.js +39 -0
  255. package/node/lib/components/modals/image-gallery/ImageGalleryThumbsSwiper.js +33 -0
  256. package/node/lib/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.js +35 -0
  257. package/node/lib/components/modals/image-gallery/internal/BaseGallery.js +72 -0
  258. package/node/lib/components/modals/image-gallery/internal/CloseButton.js +24 -0
  259. package/node/lib/components/modals/image-gallery/internal/ImageGalleryContainer.js +19 -0
  260. package/node/lib/components/modals/image-gallery/internal/ImageGalleryPagination.js +33 -0
  261. package/node/lib/components/modals/image-gallery/internal/ScaleButton.js +25 -0
  262. package/node/lib/components/pagination/Pagination.js +114 -0
  263. package/node/lib/components/popovers/legend/Legend.js +31 -0
  264. package/node/lib/components/popovers/popover/Popover.js +132 -0
  265. package/node/lib/components/popovers/popover-menu/PopoverMenu.js +53 -0
  266. package/node/lib/components/popovers/popover-menu/PopoverMenuContext.js +11 -0
  267. package/node/lib/components/popovers/popover-menu-item/PopoverMenuItem.js +48 -0
  268. package/node/lib/components/popovers/tooltip/Tooltip.js +23 -0
  269. package/node/lib/components/progress/Progress.js +39 -0
  270. package/node/lib/components/scroll-area/ScrollArea.js +21 -0
  271. package/node/lib/components/search-input/ClearButton.js +16 -0
  272. package/node/lib/components/search-input/SearchInput.js +84 -0
  273. package/node/lib/components/search-input/SearchSuggestion.js +39 -0
  274. package/node/lib/components/search-input/useSearchInput.js +101 -0
  275. package/node/lib/components/snackbar/Snackbar.js +85 -0
  276. package/node/lib/components/snackbar/SnackbarContext.js +9 -0
  277. package/node/lib/components/snackbar/SnackbarProvider.js +73 -0
  278. package/node/lib/components/snackbar/useSnackbar.js +11 -0
  279. package/node/lib/components/stepper-horizontal/StepperHorizontal.js +69 -0
  280. package/node/lib/components/stepper-horizontal/step-horizontal/StepHorizontal.js +30 -0
  281. package/node/lib/components/stepper-vertical/StepperVertical.js +46 -0
  282. package/node/lib/components/stepper-vertical/step-vertical/StepVertical.js +83 -0
  283. package/node/lib/components/tab/Tabs.js +240 -0
  284. package/node/lib/components/tab/interfaces.js +5 -0
  285. package/node/lib/components/tab/tab-pane/TabPane.js +30 -0
  286. package/node/lib/components/tab/useTabScroll.js +238 -0
  287. package/node/lib/components/table-header-cell/TableHeaderCell.js +36 -0
  288. package/node/lib/forms/checkbox/Checkbox.js +93 -0
  289. package/node/lib/forms/radio/RadioButton.js +92 -0
  290. package/node/lib/forms/radio/RadioGroup.js +58 -0
  291. package/node/lib/forms/radio/RadioGroupContext.js +9 -0
  292. package/node/lib/forms/segment/Segment.js +83 -0
  293. package/node/lib/forms/segment/segment-control/SegmentControl.js +68 -0
  294. package/node/lib/forms/select/Select.js +115 -0
  295. package/node/lib/forms/select/internal/HiddenInput.js +32 -0
  296. package/node/lib/forms/select/internal/ListItem.js +93 -0
  297. package/node/lib/forms/select/internal/SelectButton.js +64 -0
  298. package/node/lib/forms/select/internal/SelectButtonContent.js +44 -0
  299. package/node/lib/forms/select/internal/SelectCheckbox.js +26 -0
  300. package/node/lib/forms/select/internal/SelectLabel.js +23 -0
  301. package/node/lib/forms/select/internal/SelectOptionsContainer.js +109 -0
  302. package/node/lib/forms/select/internal/SelectScrollContainer.js +28 -0
  303. package/node/lib/forms/select/internal/SelectWrapper.js +27 -0
  304. package/node/lib/forms/select/internal/index.js +48 -0
  305. package/node/lib/forms/select/internal/utils.js +43 -0
  306. package/node/lib/forms/select/select-option/SelectOption.js +23 -0
  307. package/node/lib/forms/select/utils.js +23 -0
  308. package/node/lib/forms/slider/Slider.js +109 -0
  309. package/node/lib/forms/switch/Switch.js +58 -0
  310. package/node/lib/forms/text-area/TextArea.js +118 -0
  311. package/node/lib/forms/text-input/TextInput.js +98 -0
  312. package/node/lib/forms/time-picker/TimePicker.js +166 -0
  313. package/node/lib/forms/time-picker/time-picker-dropdown/TimePickerDropdown.js +219 -0
  314. package/node/lib/forms/time-picker/time-picker-dropdown/TimePickerInput.js +29 -0
  315. package/node/lib/helper/index.js +14 -0
  316. package/node/lib/helper/setRef.js +13 -0
  317. package/node/lib/helper/types.js +5 -0
  318. package/node/lib/helper/useControlled.js +28 -0
  319. package/node/lib/helper/useForkRef.js +26 -0
  320. package/node/lib/helper/useId.js +28 -0
  321. package/node/lib/helper/useOnClickOutside.js +24 -0
  322. package/package.json +21 -64
  323. package/simplebar.min.css +1 -0
  324. package/README.md +0 -23
  325. package/dist/components/accordion/Accordion.css +0 -4
  326. package/dist/components/accordion/Accordion.d.ts +0 -10
  327. package/dist/components/accordion/Accordion.js +0 -41
  328. package/dist/components/accordion/AccordionContext.js +0 -3
  329. package/dist/components/accordion/accordion-header/AccordionHeader.css +0 -11
  330. package/dist/components/accordion/accordion-header/AccordionHeader.d.ts +0 -2
  331. package/dist/components/accordion/accordion-header/AccordionHeader.js +0 -11
  332. package/dist/components/accordion/accordion-item/AccordionItem.css +0 -64
  333. package/dist/components/accordion/accordion-item/AccordionItem.d.ts +0 -8
  334. package/dist/components/accordion/accordion-item/AccordionItem.js +0 -60
  335. package/dist/components/accordion/accordion-item/AccordionItemContext.js +0 -3
  336. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.css +0 -76
  337. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.d.ts +0 -2
  338. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.js +0 -61
  339. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.css +0 -11
  340. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.d.ts +0 -2
  341. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.js +0 -20
  342. package/dist/components/bottom-sheet/BottomSheet.css +0 -18
  343. package/dist/components/bottom-sheet/BottomSheet.d.ts +0 -12
  344. package/dist/components/bottom-sheet/BottomSheet.js +0 -101
  345. package/dist/components/breadcrumb/Breadcrumb.js +0 -32
  346. package/dist/components/button/Button.d.ts +0 -11
  347. package/dist/components/button/Button.js +0 -36
  348. package/dist/components/card/Card.d.ts +0 -4
  349. package/dist/components/card/Card.js +0 -9
  350. package/dist/components/card/CardBody.d.ts +0 -5
  351. package/dist/components/card/CardBody.js +0 -15
  352. package/dist/components/card/CardHeader.d.ts +0 -8
  353. package/dist/components/card/CardHeader.js +0 -31
  354. package/dist/components/card/CardHeader.stories.helper.js +0 -7
  355. package/dist/components/card/CardNotification.d.ts +0 -6
  356. package/dist/components/card/CardNotification.js +0 -26
  357. package/dist/components/chips/chip/Chip.d.ts +0 -17
  358. package/dist/components/chips/chip/Chip.js +0 -38
  359. package/dist/components/chips/chip-container/ChipContainer.d.ts +0 -5
  360. package/dist/components/chips/chip-container/ChipContainer.js +0 -12
  361. package/dist/components/icon-wrapper/IconWrapper.js +0 -13
  362. package/dist/components/link-button/LinkButton.d.ts +0 -8
  363. package/dist/components/link-button/LinkButton.js +0 -26
  364. package/dist/components/loading-indicator/LoadingIndicator.d.ts +0 -5
  365. package/dist/components/loading-indicator/LoadingIndicator.js +0 -41
  366. package/dist/components/mobile-flyout/MobileFlyout.d.ts +0 -11
  367. package/dist/components/mobile-flyout/MobileFlyout.js +0 -88
  368. package/dist/components/mobile-flyout/MobileFlyoutContext.js +0 -3
  369. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.d.ts +0 -17
  370. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.js +0 -36
  371. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.css +0 -5
  372. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.d.ts +0 -8
  373. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.js +0 -35
  374. package/dist/components/modals/AlertModal.d.ts +0 -12
  375. package/dist/components/modals/AlertModal.js +0 -53
  376. package/dist/components/modals/ConfirmModal.d.ts +0 -11
  377. package/dist/components/modals/ConfirmModal.js +0 -46
  378. package/dist/components/modals/CustomModal.d.ts +0 -8
  379. package/dist/components/modals/CustomModal.js +0 -38
  380. package/dist/components/modals/Modal.css +0 -39
  381. package/dist/components/modals/Modal.d.ts +0 -8
  382. package/dist/components/modals/Modal.js +0 -31
  383. package/dist/components/modals/ModalBase.d.ts +0 -9
  384. package/dist/components/modals/ModalBase.js +0 -124
  385. package/dist/components/modals/ModalFooter.d.ts +0 -2
  386. package/dist/components/modals/ModalFooter.js +0 -12
  387. package/dist/components/modals/Prompt.js +0 -58
  388. package/dist/components/modals/image-gallery/ImageGallery.css +0 -790
  389. package/dist/components/modals/image-gallery/ImageGallery.helper.d.ts +0 -2
  390. package/dist/components/modals/image-gallery/ImageGallery.helper.js +0 -13
  391. package/dist/components/modals/image-gallery/ImageGallery.js +0 -75
  392. package/dist/components/modals/image-gallery/ImageGallery.stories.helper.js +0 -112
  393. package/dist/components/modals/image-gallery/ImageGalleryContent.js +0 -15
  394. package/dist/components/modals/image-gallery/ImageGalleryContext.js +0 -4
  395. package/dist/components/modals/image-gallery/ImageGallerySwiper.d.ts +0 -8
  396. package/dist/components/modals/image-gallery/ImageGallerySwiper.js +0 -29
  397. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.d.ts +0 -5
  398. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.js +0 -23
  399. package/dist/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.css +0 -10
  400. package/dist/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.d.ts +0 -11
  401. package/dist/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.js +0 -24
  402. package/dist/components/modals/image-gallery/internal/BaseGallery.d.ts +0 -17
  403. package/dist/components/modals/image-gallery/internal/BaseGallery.js +0 -50
  404. package/dist/components/modals/image-gallery/internal/CloseButton.js +0 -14
  405. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.d.ts +0 -5
  406. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.js +0 -8
  407. package/dist/components/modals/image-gallery/internal/ImageGalleryPagination.js +0 -29
  408. package/dist/components/modals/image-gallery/internal/ScaleButton.d.ts +0 -4
  409. package/dist/components/modals/image-gallery/internal/ScaleButton.js +0 -17
  410. package/dist/components/pagination/Pagination.css +0 -10
  411. package/dist/components/pagination/Pagination.d.ts +0 -15
  412. package/dist/components/pagination/Pagination.js +0 -100
  413. package/dist/components/popovers/legend/Legend.css +0 -21
  414. package/dist/components/popovers/legend/Legend.d.ts +0 -11
  415. package/dist/components/popovers/legend/Legend.js +0 -24
  416. package/dist/components/popovers/popover/Popover.css +0 -56
  417. package/dist/components/popovers/popover/Popover.js +0 -107
  418. package/dist/components/popovers/popover-menu/PopoverMenu.css +0 -20
  419. package/dist/components/popovers/popover-menu/PopoverMenu.d.ts +0 -8
  420. package/dist/components/popovers/popover-menu/PopoverMenu.js +0 -37
  421. package/dist/components/popovers/popover-menu/PopoverMenuContext.d.ts +0 -3
  422. package/dist/components/popovers/popover-menu/PopoverMenuContext.js +0 -5
  423. package/dist/components/popovers/popover-menu-item/PopoverMenuItem.css +0 -35
  424. package/dist/components/popovers/popover-menu-item/PopoverMenuItem.js +0 -30
  425. package/dist/components/popovers/tooltip/Tooltip.d.ts +0 -5
  426. package/dist/components/popovers/tooltip/Tooltip.js +0 -12
  427. package/dist/components/progress/Progress.d.ts +0 -7
  428. package/dist/components/progress/Progress.js +0 -26
  429. package/dist/components/scroll-area/ScrollArea.d.ts +0 -4
  430. package/dist/components/scroll-area/ScrollArea.js +0 -10
  431. package/dist/components/scroll-area/ScrollArea.stories.css +0 -9
  432. package/dist/components/search-input/ClearButton.d.ts +0 -2
  433. package/dist/components/search-input/ClearButton.js +0 -10
  434. package/dist/components/search-input/SearchInput.css +0 -13
  435. package/dist/components/search-input/SearchInput.d.ts +0 -14
  436. package/dist/components/search-input/SearchInput.js +0 -61
  437. package/dist/components/search-input/SearchSuggestion.js +0 -21
  438. package/dist/components/search-input/useSearchInput.js +0 -85
  439. package/dist/components/snackbar/Snackbar.css +0 -55
  440. package/dist/components/snackbar/Snackbar.js +0 -78
  441. package/dist/components/snackbar/SnackbarContext.js +0 -3
  442. package/dist/components/snackbar/SnackbarProvider.d.ts +0 -8
  443. package/dist/components/snackbar/SnackbarProvider.js +0 -66
  444. package/dist/components/snackbar/useSnackbar.d.ts +0 -2
  445. package/dist/components/snackbar/useSnackbar.js +0 -4
  446. package/dist/components/stepper-horizontal/StepperHorizontal.css +0 -6
  447. package/dist/components/stepper-horizontal/StepperHorizontal.d.ts +0 -7
  448. package/dist/components/stepper-horizontal/StepperHorizontal.js +0 -48
  449. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.css +0 -24
  450. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.d.ts +0 -6
  451. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.js +0 -16
  452. package/dist/components/stepper-vertical/StepperVertical.d.ts +0 -6
  453. package/dist/components/stepper-vertical/StepperVertical.js +0 -26
  454. package/dist/components/stepper-vertical/step-vertical/StepVertical.css +0 -10
  455. package/dist/components/stepper-vertical/step-vertical/StepVertical.d.ts +0 -11
  456. package/dist/components/stepper-vertical/step-vertical/StepVertical.js +0 -58
  457. package/dist/components/tab/Tabs.css +0 -285
  458. package/dist/components/tab/Tabs.d.ts +0 -23
  459. package/dist/components/tab/Tabs.js +0 -194
  460. package/dist/components/tab/interfaces.js +0 -0
  461. package/dist/components/tab/tab-pane/TabPane.css +0 -8
  462. package/dist/components/tab/tab-pane/TabPane.d.ts +0 -9
  463. package/dist/components/tab/tab-pane/TabPane.js +0 -18
  464. package/dist/components/tab/useTabScroll.js +0 -151
  465. package/dist/components/table-header-cell/TableHeaderCell.d.ts +0 -5
  466. package/dist/components/table-header-cell/TableHeaderCell.js +0 -21
  467. package/dist/forms/checkbox/Checkbox.css +0 -134
  468. package/dist/forms/checkbox/Checkbox.d.ts +0 -15
  469. package/dist/forms/checkbox/Checkbox.js +0 -80
  470. package/dist/forms/radio/RadioButton.js +0 -61
  471. package/dist/forms/radio/RadioGroup.d.ts +0 -12
  472. package/dist/forms/radio/RadioGroup.js +0 -50
  473. package/dist/forms/radio/RadioGroupContext.js +0 -3
  474. package/dist/forms/segment/Segment.d.ts +0 -13
  475. package/dist/forms/segment/Segment.js +0 -59
  476. package/dist/forms/segment/segment-control/SegmentControl.js +0 -57
  477. package/dist/forms/select/Select.css +0 -160
  478. package/dist/forms/select/Select.js +0 -95
  479. package/dist/forms/select/internal/HiddenInput.d.ts +0 -8
  480. package/dist/forms/select/internal/HiddenInput.js +0 -15
  481. package/dist/forms/select/internal/ListItem.js +0 -69
  482. package/dist/forms/select/internal/SelectButton.js +0 -49
  483. package/dist/forms/select/internal/SelectButtonContent.js +0 -31
  484. package/dist/forms/select/internal/SelectCheckbox.d.ts +0 -4
  485. package/dist/forms/select/internal/SelectCheckbox.js +0 -13
  486. package/dist/forms/select/internal/SelectLabel.js +0 -12
  487. package/dist/forms/select/internal/SelectOptionsContainer.js +0 -103
  488. package/dist/forms/select/internal/SelectScrollContainer.js +0 -15
  489. package/dist/forms/select/internal/SelectWrapper.d.ts +0 -6
  490. package/dist/forms/select/internal/SelectWrapper.js +0 -12
  491. package/dist/forms/select/internal/index.d.ts +0 -6
  492. package/dist/forms/select/internal/index.js +0 -7
  493. package/dist/forms/select/internal/utils.js +0 -30
  494. package/dist/forms/select/select-option/SelectOption.js +0 -12
  495. package/dist/forms/select/utils.d.ts +0 -2
  496. package/dist/forms/select/utils.js +0 -12
  497. package/dist/forms/slider/Slider.css +0 -50
  498. package/dist/forms/slider/Slider.d.ts +0 -17
  499. package/dist/forms/slider/Slider.js +0 -93
  500. package/dist/forms/switch/Switch.d.ts +0 -12
  501. package/dist/forms/switch/Switch.js +0 -42
  502. package/dist/forms/text-area/TextArea.css +0 -14
  503. package/dist/forms/text-area/TextArea.js +0 -99
  504. package/dist/forms/text-input/TextInput.js +0 -74
  505. package/dist/forms/time-picker/TimePicker.css +0 -10
  506. package/dist/forms/time-picker/TimePicker.js +0 -140
  507. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.css +0 -4
  508. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.d.ts +0 -19
  509. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.js +0 -202
  510. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.d.ts +0 -9
  511. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.js +0 -14
  512. package/dist/index.d.ts +0 -63
  513. package/dist/index.js +0 -60
  514. package/dist/utils/index.js +0 -7
  515. package/dist/utils/setRef.d.ts +0 -1
  516. package/dist/utils/setRef.js +0 -5
  517. package/dist/utils/types.js +0 -0
  518. package/dist/utils/useControlled.js +0 -20
  519. package/dist/utils/useForkRef.d.ts +0 -2
  520. package/dist/utils/useForkRef.js +0 -15
  521. package/dist/utils/useId.d.ts +0 -1
  522. package/dist/utils/useId.js +0 -20
  523. package/dist/utils/useOnClickOutside.d.ts +0 -2
  524. package/dist/utils/useOnClickOutside.js +0 -20
  525. /package/{dist → lib}/components/tab/interfaces.d.ts +0 -0
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _useForkRef = _interopRequireDefault(require("../../helper/useForkRef.js"));
10
+ var _useTabScroll = _interopRequireDefault(require("./useTabScroll.js"));
11
+ var _IconWrapper = _interopRequireDefault(require("../icon-wrapper/IconWrapper.js"));
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ // legacy: recommended for desktop only applications
17
+ // responsive: desktop, tablet, mobile with scrollable tabs
18
+
19
+ let nextId = 0;
20
+ const Tabs = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
21
+ let {
22
+ config,
23
+ children,
24
+ className,
25
+ onChange,
26
+ viewType = "responsive",
27
+ showDivider = false,
28
+ ...props
29
+ } = _ref;
30
+ const [useCompactDensity, setCompactDensity] = (0, _react.useState)(true);
31
+ const componentId = (0, _react.useRef)(`tabs-${++nextId}`);
32
+ const elRef = (0, _react.useRef)(null);
33
+ const combinedRef = (0, _useForkRef.default)(ref, elRef);
34
+ const scrollContent = (0, _react.useRef)(null);
35
+ const scrollArea = (0, _react.useRef)(null);
36
+ const observer = (0, _react.useRef)(null);
37
+ let activeId = "";
38
+ _react.default.Children.forEach(children, (element, i) => {
39
+ if (/*#__PURE__*/_react.default.isValidElement(element)) {
40
+ if (activeId === "") {
41
+ activeId = `${componentId.current}-tab-panel-${i}`;
42
+ } else if (element.props.active) {
43
+ activeId = `${componentId.current}-tab-panel-${i}`;
44
+ }
45
+ }
46
+ });
47
+ const [currentId, setId] = (0, _react.useState)(activeId);
48
+ const innerChildren = _react.default.Children.map(children, (element, i) => {
49
+ if (/*#__PURE__*/(0, _react.isValidElement)(element)) {
50
+ const newId = `${componentId.current}-tab-panel-${i}`;
51
+ return /*#__PURE__*/_react.default.cloneElement(element, {
52
+ isVisible: newId === currentId,
53
+ active: newId === currentId,
54
+ id: newId,
55
+ tabId: `${componentId.current}-tab-${i}`,
56
+ ...element.props
57
+ });
58
+ }
59
+ return undefined;
60
+ });
61
+ const [handleTabScroll, classes, style] = (0, _useTabScroll.default)(innerChildren?.length ?? 0, componentId.current, {
62
+ elRef,
63
+ scrollContent,
64
+ scrollArea
65
+ });
66
+ (0, _react.useEffect)(() => {
67
+ const {
68
+ current
69
+ } = scrollArea;
70
+ if (current) {
71
+ const initialWidth = current.offsetWidth;
72
+ if (initialWidth > 768) {
73
+ setCompactDensity(false);
74
+ }
75
+ observer.current = new ResizeObserver(() => {
76
+ const width = current.offsetWidth;
77
+ if (width > 768 && useCompactDensity) {
78
+ setCompactDensity(false);
79
+ } else if (width <= 768 && !useCompactDensity) {
80
+ setCompactDensity(true);
81
+ }
82
+ });
83
+ if (current) {
84
+ observer.current.observe(current);
85
+ }
86
+ }
87
+ return () => {
88
+ if (current && observer && observer.current) {
89
+ observer.current.unobserve(current);
90
+ }
91
+ };
92
+ }, [useCompactDensity]);
93
+ const showTabPane = id => {
94
+ if (id === undefined || id === null) {
95
+ return;
96
+ }
97
+ if (onChange) {
98
+ onChange({
99
+ previous: currentId,
100
+ current: id
101
+ });
102
+ }
103
+ setId(id);
104
+ };
105
+ function handleClick(e, index, id) {
106
+ handleTabScroll(e, index);
107
+ if (id !== undefined) {
108
+ showTabPane(id);
109
+ }
110
+ }
111
+ return (
112
+ /*#__PURE__*/
113
+ // eslint-disable-next-line react/jsx-no-useless-fragment
114
+ (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
115
+ children: viewType === "legacy" ? /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
116
+ className: (0, _classnames.default)("fwe-legacy-tabs", className),
117
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
118
+ role: "tablist",
119
+ className: (0, _classnames.default)("fwe-legacy-tab-bar", {
120
+ "fwe-legacy-tab-bar-full-width": config?.tabBar?.fullWidth
121
+ }, {
122
+ "fwe-legacy-tab-items-equal-width": config?.tabItems?.appearance === "equal"
123
+ }, {
124
+ "fwe-legacy-tab-items-fill": config?.tabItems?.appearance === "fill"
125
+ }),
126
+ children: innerChildren && innerChildren.map((child, i) => {
127
+ const {
128
+ active,
129
+ icon,
130
+ name,
131
+ id,
132
+ tabId
133
+ } = child.props;
134
+ return (
135
+ /*#__PURE__*/
136
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
137
+ (0, _jsxRuntime.jsx)("li", {
138
+ className: (0, _classnames.default)("fwe-legacy-tab-item", {
139
+ "fwe-active": active
140
+ }),
141
+ onClick: () => showTabPane(id),
142
+ children: icon ?
143
+ /*#__PURE__*/
144
+ // eslint-disable-next-line jsx-a11y/anchor-is-valid
145
+ (0, _jsxRuntime.jsxs)("a", {
146
+ id: tabId,
147
+ className: (0, _classnames.default)("fwe-legacy-tab-link", {
148
+ "fwe-can-swap-icon": innerChildren.length === 2 && i === 1
149
+ }),
150
+ role: "tab",
151
+ "aria-controls": id,
152
+ "aria-selected": active,
153
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_IconWrapper.default, {
154
+ icon: icon
155
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
156
+ children: name
157
+ })]
158
+ }) :
159
+ /*#__PURE__*/
160
+ // eslint-disable-next-line jsx-a11y/anchor-is-valid
161
+ (0, _jsxRuntime.jsx)("a", {
162
+ id: tabId,
163
+ className: "fwe-legacy-tab-link",
164
+ role: "tab",
165
+ "aria-controls": id,
166
+ "aria-selected": active,
167
+ children: name
168
+ })
169
+ }, tabId)
170
+ );
171
+ })
172
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
173
+ className: "fwe-legacy-tab-panel-content",
174
+ children: innerChildren
175
+ })]
176
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
177
+ className: "fr-tab-bar",
178
+ role: "tablist",
179
+ ref: combinedRef,
180
+ ...props,
181
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
182
+ className: (0, _classnames.default)("fr-tab-scroller", classes),
183
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
184
+ className: (0, _classnames.default)("fr-tab-scroller-scroll-area fr-tab-scroller-scroll-area--scroll", {
185
+ "fr-tab-scroller-scroll-area--compact": useCompactDensity
186
+ }),
187
+ ref: scrollArea,
188
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
189
+ className: (0, _classnames.default)("fr-tab-scroller-scroll-content", {
190
+ "fr-tab-scroller-scroll-content--with-divider": showDivider
191
+ }),
192
+ ref: scrollContent,
193
+ style: style,
194
+ children: [innerChildren && innerChildren.map((child, i) => {
195
+ const {
196
+ active,
197
+ name,
198
+ id,
199
+ tabId
200
+ } = child.props;
201
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
202
+ type: "button",
203
+ role: "tab",
204
+ className: (0, _classnames.default)("fr-tab", {
205
+ "fr-tab--active": active
206
+ }),
207
+ id: tabId,
208
+ "aria-controls": id,
209
+ "aria-selected": active,
210
+ tabIndex: i === 0 ? 0 : 1,
211
+ onClick: e => handleClick(e, i, id),
212
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
213
+ className: "fr-tab-content",
214
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
215
+ className: "fr-tab-text-label",
216
+ children: name
217
+ })
218
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
219
+ className: (0, _classnames.default)("fr-tab-indicator", {
220
+ "fr-tab-indicator--active": active
221
+ }),
222
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
223
+ className: "fr-tab-indicator-content fr-tab-indicator-content--underline"
224
+ })
225
+ })]
226
+ }, tabId);
227
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
228
+ className: "fr-tab-scroller-divider-line"
229
+ })]
230
+ })
231
+ })
232
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
233
+ className: "fr-tab-panel-content",
234
+ children: innerChildren
235
+ })]
236
+ })
237
+ })
238
+ );
239
+ });
240
+ var _default = exports.default = Tabs;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function TabPane(_ref) {
11
+ let {
12
+ isVisible = false,
13
+ children,
14
+ className,
15
+ tabId,
16
+ id
17
+ } = _ref;
18
+ const tabPaneClasses = (0, _classnames.default)({
19
+ "fr-show": isVisible
20
+ }, {
21
+ "fr-hide": !isVisible
22
+ }, className);
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
24
+ id: id,
25
+ "aria-labelledby": tabId,
26
+ className: tabPaneClasses,
27
+ children: children
28
+ });
29
+ }
30
+ var _default = exports.default = TabPane;
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ // provides details about the left and right edges of the tab element and the tab content element
9
+ // these values are used to determine the visual position of the tab with respect of its parent container
10
+
11
+ const useTabScroll = (tabLength, componentId, refs) => {
12
+ const {
13
+ elRef,
14
+ scrollContent,
15
+ scrollArea
16
+ } = refs;
17
+ const [style, setStyle] = (0, _react.useState)({});
18
+ const [classes, setClasses] = (0, _react.useState)("");
19
+ function getScrollContentStyleValue(propName) {
20
+ return scrollContent.current ? window.getComputedStyle(scrollContent.current).getPropertyValue(propName) : "";
21
+ }
22
+ function calculateCurrentTranslateX() {
23
+ const transformValue = getScrollContentStyleValue("transform");
24
+ if (transformValue === "none") {
25
+ return 0;
26
+ }
27
+
28
+ // the transform value is in form of 'matrix(a, b, c, d, tx, ty)'
29
+ // get all the parenthesized values
30
+ const match = /\((.+?)\)/.exec(transformValue);
31
+ if (!match) {
32
+ return 0;
33
+ }
34
+ const matrixParams = match[1];
35
+ // we need value of tx -> translateX
36
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
37
+ const [a, b, c, d, tx, ty] = matrixParams.split(",");
38
+ return parseFloat(tx);
39
+ }
40
+ function getScrollPosition() {
41
+ const currentTranslateX = calculateCurrentTranslateX();
42
+ const scrollLeft = scrollArea.current?.scrollLeft ?? 0;
43
+ return scrollLeft - currentTranslateX;
44
+ }
45
+ function calculateScrollEdges() {
46
+ const scrollContentWidth = scrollContent.current?.offsetWidth ?? 0;
47
+ const scrollAreaWidth = scrollArea.current?.offsetWidth ?? 0;
48
+ return {
49
+ left: 0,
50
+ right: scrollContentWidth - scrollAreaWidth
51
+ };
52
+ }
53
+ function clampScrollValue(scrollX) {
54
+ const edges = calculateScrollEdges();
55
+ return Math.min(Math.max(edges.left, scrollX), edges.right);
56
+ }
57
+ function getIncrementScrollOperation(scrollX) {
58
+ const currentScrollX = getScrollPosition();
59
+ const targetScrollX = scrollX + currentScrollX;
60
+ const safeScrollX = clampScrollValue(targetScrollX);
61
+ const scrollDelta = safeScrollX - currentScrollX;
62
+ return {
63
+ finalScrollPosition: safeScrollX,
64
+ scrollDelta
65
+ };
66
+ }
67
+ function getAnimatingScrollPosition() {
68
+ const currentTranslateX = calculateCurrentTranslateX();
69
+ const scrollLeft = scrollArea.current?.scrollLeft ?? 0;
70
+ return scrollLeft - currentTranslateX;
71
+ }
72
+ function stopScrollAnimation() {
73
+ const currentScrollPosition = getAnimatingScrollPosition();
74
+ setClasses("");
75
+ setStyle({
76
+ transform: "translateX(0px)"
77
+ });
78
+ if (scrollArea.current) {
79
+ scrollArea.current.scrollLeft = currentScrollPosition;
80
+ }
81
+ }
82
+ function animate(animation) {
83
+ // no animation needed
84
+ if (animation.scrollDelta === 0) {
85
+ return;
86
+ }
87
+ stopScrollAnimation();
88
+
89
+ // this animation uses the flip approach
90
+ // https://aerotwist.com/blog/flip-your-animations/
91
+ // https://css-tricks.com/animating-layouts-with-the-flip-technique/
92
+ if (scrollArea.current) {
93
+ scrollArea.current.scrollLeft = animation.finalScrollPosition;
94
+ }
95
+ setStyle({
96
+ transform: `translateX(${animation.scrollDelta}px)`
97
+ });
98
+ // force repaint
99
+ if (scrollArea.current) {
100
+ scrollArea.current.getBoundingClientRect();
101
+ }
102
+ requestAnimationFrame(() => {
103
+ setClasses("fr-tab-scroller--animating");
104
+ setStyle({
105
+ transform: "none"
106
+ });
107
+ });
108
+ }
109
+ function incrementScroll(scrollXIncrement) {
110
+ // no scroll needed
111
+ if (scrollXIncrement === 0) {
112
+ return;
113
+ }
114
+ const scrollOperation = getIncrementScrollOperation(scrollXIncrement);
115
+ animate(scrollOperation);
116
+ }
117
+ function computeDimensions(tab) {
118
+ const rootWidth = tab.offsetWidth;
119
+ const rootLeft = tab.offsetLeft;
120
+ const tabContent = tab.querySelector(".fr-tab-content");
121
+ const contentWidth = tabContent?.offsetWidth ?? 0;
122
+ const contentLeft = tabContent?.offsetLeft ?? 0;
123
+ return {
124
+ contentLeft: rootLeft + contentLeft,
125
+ contentRight: rootLeft + contentLeft + contentWidth,
126
+ rootLeft,
127
+ rootRight: rootLeft + rootWidth
128
+ };
129
+ }
130
+ function calculateScrollIncrement(index, nextIndex, scrollPosition, barWidth) {
131
+ const nextTab = elRef.current?.querySelector(`#${componentId}-tab-${nextIndex}`);
132
+ if (nextTab === null || nextTab === undefined) {
133
+ return 0;
134
+ }
135
+ const nextTabDimensions = computeDimensions(nextTab);
136
+ const relativeContentLeft = nextTabDimensions.contentLeft - scrollPosition - barWidth;
137
+ const relativeContentRight = nextTabDimensions.contentRight - scrollPosition;
138
+ const leftIncrement = relativeContentRight - 48;
139
+ const rightIncrement = relativeContentLeft + 48;
140
+ if (nextIndex < index) {
141
+ return Math.min(leftIncrement, 0);
142
+ }
143
+ return Math.max(rightIncrement, 0);
144
+ }
145
+ function findAdjacentTabIndexClosestToEdge(index, tabDimensions, scrollPosition, barWidth) {
146
+ /**
147
+ * tabs are laid out in the tab scroller like this:
148
+ *
149
+ * scroll position
150
+ * +---+
151
+ * | | bar width
152
+ * | +-----------------------------------+
153
+ * | | |
154
+ * | v v
155
+ * | +-----------------------------------+
156
+ * v | tab scroller |
157
+ * +------------+--------------+-------------------+
158
+ * | tab | tab | tab |
159
+ * +------------+--------------+-------------------+
160
+ * | |
161
+ * +-----------------------------------+
162
+ *
163
+ * to determine the next adjacent index, we look at the tab root left and
164
+ * tab root right, both relative to the scroll position. if the tab root
165
+ * left is less than 0, then we know it's out of view to the left. if the
166
+ * tab root right minus the bar width is greater than 0, we know the tab is
167
+ * out of view to the right. from there, we either increment or decrement
168
+ * the index.
169
+ */
170
+ const relativeRootLeft = tabDimensions.rootLeft - scrollPosition;
171
+ const relativeRootRight = tabDimensions.rootRight - scrollPosition - barWidth;
172
+ const relativeRootDelta = relativeRootLeft + relativeRootRight;
173
+ const leftEdgeIsCloser = relativeRootLeft < 0 || relativeRootDelta < 0;
174
+ const rightEdgeIsCloser = relativeRootRight > 0 || relativeRootDelta > 0;
175
+ if (leftEdgeIsCloser) {
176
+ return index - 1;
177
+ }
178
+ if (rightEdgeIsCloser) {
179
+ return index + 1;
180
+ }
181
+ return -1;
182
+ }
183
+ function indexIsInRange(index) {
184
+ return index >= 0 && index < tabLength;
185
+ }
186
+ function scrollIntoView(index, tab) {
187
+ const scrollPosition = getScrollPosition();
188
+ const barWidth = scrollArea.current?.offsetWidth ?? 0;
189
+ const tabDimensions = computeDimensions(tab);
190
+ const nextIndex = findAdjacentTabIndexClosestToEdge(index, tabDimensions, scrollPosition, barWidth);
191
+ if (!indexIsInRange(nextIndex)) {
192
+ return;
193
+ }
194
+ const scrollIncrement = calculateScrollIncrement(index, nextIndex, scrollPosition, barWidth);
195
+ incrementScroll(scrollIncrement);
196
+ }
197
+ function scrollTo(scrollX) {
198
+ const currentScrollX = getScrollPosition();
199
+ const safeScrollX = clampScrollValue(scrollX);
200
+ const scrollDelta = safeScrollX - currentScrollX;
201
+ animate({
202
+ finalScrollPosition: safeScrollX,
203
+ scrollDelta
204
+ });
205
+ }
206
+ function handleTabScroll(e, index) {
207
+ const scrollContentWidth = scrollContent.current?.offsetWidth ?? 0;
208
+ const scrollAreaWidth = scrollArea.current?.offsetWidth ?? 0;
209
+
210
+ // check if no scroll is needed
211
+ if (scrollAreaWidth > scrollContentWidth) {
212
+ return;
213
+ }
214
+
215
+ // check index
216
+ if (!indexIsInRange(index)) {
217
+ return;
218
+ }
219
+
220
+ // always scroll to 0 if scrolling to the first tab
221
+ if (index === 0) {
222
+ scrollTo(0);
223
+ return;
224
+ }
225
+
226
+ // always scroll to the max value if scrolling to the last tab
227
+ if (index === tabLength - 1 && scrollContent.current) {
228
+ scrollTo(scrollContent.current.offsetWidth);
229
+ return;
230
+ }
231
+ if (e.currentTarget instanceof HTMLElement) {
232
+ const currentTab = e.currentTarget;
233
+ scrollIntoView(index, currentTab);
234
+ }
235
+ }
236
+ return [handleTabScroll, classes, style];
237
+ };
238
+ var _default = exports.default = useTabScroll;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _react = require("react");
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const TableHeaderCell = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
12
+ let {
13
+ active,
14
+ ascending,
15
+ className,
16
+ ...props
17
+ } = _ref;
18
+ function handleClick(event) {
19
+ if (props.onClick) {
20
+ props.onClick(event);
21
+ }
22
+ }
23
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("th", {
24
+ ...props,
25
+ className: (0, _classnames.default)("fwe-table-order", {
26
+ "fwe-active": active
27
+ }, {
28
+ "fwe-table-order-ascending": active && ascending
29
+ }, {
30
+ "fwe-table-order-descending": active && !ascending
31
+ }, className),
32
+ onClick: handleClick,
33
+ ref: ref
34
+ });
35
+ });
36
+ var _default = exports.default = TableHeaderCell;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _classnames = _interopRequireDefault(require("classnames"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _useControlled = _interopRequireDefault(require("../../helper/useControlled.js"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ function Checkbox(_ref) {
13
+ let {
14
+ id,
15
+ checked: checkedProp,
16
+ defaultChecked,
17
+ onChange,
18
+ name,
19
+ large = false,
20
+ valid = true,
21
+ labelPosition = "after",
22
+ required,
23
+ disabled = false,
24
+ indeterminate = false,
25
+ children,
26
+ className,
27
+ ...props
28
+ } = _ref;
29
+ const [isChecked, setChecked] = (0, _useControlled.default)({
30
+ controlled: checkedProp,
31
+ default: defaultChecked
32
+ });
33
+ const handleChange = e => {
34
+ const newChecked = !isChecked;
35
+ setChecked(newChecked);
36
+ onChange?.(newChecked, e);
37
+ };
38
+ const containerClasses = (0, _classnames.default)("fwe-checkbox-container", {
39
+ "fr-checkbox-large": large
40
+ }, {
41
+ "fr-checkbox-invalid": !valid || required
42
+ }, {
43
+ "fwe-disabled": disabled
44
+ }, {
45
+ "fwe-checked": isChecked
46
+ }, {
47
+ "fwe-label-below": labelPosition === "below"
48
+ }, {
49
+ "fwe-label-before": labelPosition === "before"
50
+ }, {
51
+ "fr-checkbox-indeterminate": indeterminate
52
+ }, className);
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
54
+ className: containerClasses,
55
+ htmlFor: id,
56
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
57
+ name: name,
58
+ type: "checkbox",
59
+ id: id,
60
+ disabled: disabled,
61
+ required: required,
62
+ onChange: e => handleChange(e),
63
+ ...props,
64
+ checked: isChecked
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
66
+ className: "fwe-checkbox-indicator-container",
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
68
+ className: "fwe-checkbox-indicator-background"
69
+ }), !indeterminate && isChecked && (large ? /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
70
+ width: "24px",
71
+ height: "24px",
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
73
+ d: "M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z",
74
+ fill: "#fff"
75
+ })
76
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)("svg", {
77
+ xmlns: "http://www.w3.org/2000/svg",
78
+ width: "16",
79
+ height: "16",
80
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("path", {
81
+ d: "M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z",
82
+ fill: "#fff"
83
+ })
84
+ })), indeterminate && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
85
+ className: "fwe-indeterminate-indicator"
86
+ })]
87
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
88
+ className: "fwe-checkbox-title",
89
+ children: children
90
+ })]
91
+ });
92
+ }
93
+ var _default = exports.default = Checkbox;