@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,57 @@
1
+ import cn from "classnames";
2
+ import { forwardRef } from "react";
3
+ import SelectButtonContent from "./SelectButtonContent.js";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const SelectButton = /*#__PURE__*/forwardRef((_ref, ref) => {
6
+ let {
7
+ onToggle,
8
+ disabled,
9
+ label,
10
+ focused,
11
+ required,
12
+ error,
13
+ onChipClick,
14
+ renderLabelContent
15
+ } = _ref;
16
+ const empty = label === undefined && !focused;
17
+ function handleKeyDown(e) {
18
+ if (disabled) {
19
+ return;
20
+ }
21
+ const validKeys = ["Enter", " ", "ArrowUp", "ArrowDown"];
22
+ if (validKeys.includes(e.key)) {
23
+ e.preventDefault();
24
+ onToggle();
25
+ }
26
+ }
27
+ function handleClick(e) {
28
+ if (disabled) {
29
+ return;
30
+ }
31
+ e.stopPropagation();
32
+ onToggle();
33
+ }
34
+ return /*#__PURE__*/_jsx("div", {
35
+ role: "button",
36
+ tabIndex: 0,
37
+ className: cn("fwe-select", {
38
+ "fwe-focus": focused,
39
+ "fwe-empty": empty,
40
+ "fwe-required": required,
41
+ "fwe-disabled": disabled,
42
+ "fwe-invalid": error
43
+ }),
44
+ onClick: handleClick,
45
+ ref: ref,
46
+ onKeyDown: handleKeyDown,
47
+ children: /*#__PURE__*/_jsx("div", {
48
+ className: "fwe-select-content",
49
+ children: /*#__PURE__*/_jsx(SelectButtonContent, {
50
+ onClick: onChipClick,
51
+ label: label,
52
+ renderLabelContent: renderLabelContent
53
+ })
54
+ })
55
+ });
56
+ });
57
+ export default SelectButton;
@@ -3,5 +3,5 @@ interface SelectButtonContentProps {
3
3
  renderLabelContent?: (label?: string | string[]) => JSX.Element;
4
4
  onClick: (label: string) => void;
5
5
  }
6
- export declare function SelectButtonContent({ label, renderLabelContent, onClick, }: SelectButtonContentProps): import("react/jsx-runtime").JSX.Element;
6
+ export default function SelectButtonContent({ label, renderLabelContent, onClick, }: SelectButtonContentProps): import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -0,0 +1,38 @@
1
+ /* eslint-disable jsx-a11y/no-static-element-interactions */
2
+ /* eslint-disable jsx-a11y/click-events-have-key-events */
3
+
4
+ import { IconCloseSmall } from "@festo-ui/react-icons";
5
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
6
+ export default function SelectButtonContent(_ref) {
7
+ let {
8
+ label,
9
+ renderLabelContent,
10
+ onClick
11
+ } = _ref;
12
+ const handleChipClick = chipLabel => e => {
13
+ e.stopPropagation();
14
+ onClick(chipLabel);
15
+ };
16
+ if (renderLabelContent) {
17
+ return renderLabelContent(label);
18
+ }
19
+ if (Array.isArray(label)) {
20
+ return /*#__PURE__*/_jsx("div", {
21
+ className: "fwe-chip-container",
22
+ children: label.map(v => /*#__PURE__*/_jsxs("div", {
23
+ className: "fwe-chip chip-text-truncate fwe-pr-4",
24
+ title: v,
25
+ children: [v, /*#__PURE__*/_jsx("span", {
26
+ className: "chip-removable",
27
+ onClick: handleChipClick(v),
28
+ children: /*#__PURE__*/_jsx(IconCloseSmall, {
29
+ size: 16
30
+ })
31
+ })]
32
+ }, v))
33
+ });
34
+ }
35
+ return /*#__PURE__*/_jsx(_Fragment, {
36
+ children: label
37
+ });
38
+ }
@@ -0,0 +1,4 @@
1
+ import { CheckboxProps } from "../../checkbox/Checkbox";
2
+ export default function SelectCheckbox({ children, withCheckbox, ...props }: CheckboxProps & {
3
+ withCheckbox?: boolean;
4
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import Checkbox from "../../checkbox/Checkbox.js";
2
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
+ export default function SelectCheckbox(_ref) {
4
+ let {
5
+ children,
6
+ withCheckbox,
7
+ ...props
8
+ } = _ref;
9
+ if (withCheckbox) {
10
+ return /*#__PURE__*/_jsx(Checkbox, {
11
+ tabIndex: -1,
12
+ ...props,
13
+ children: children
14
+ });
15
+ }
16
+ return /*#__PURE__*/_jsx(_Fragment, {
17
+ children: children
18
+ });
19
+ }
@@ -3,5 +3,5 @@ interface SelectLabelProps {
3
3
  label?: string;
4
4
  id?: string;
5
5
  }
6
- export declare function SelectLabel({ hideLabel, label, id }: SelectLabelProps): import("react/jsx-runtime").JSX.Element;
6
+ export default function SelectLabel({ hideLabel, label, id }: SelectLabelProps): import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -0,0 +1,16 @@
1
+ import cn from "classnames";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export default function SelectLabel(_ref) {
4
+ let {
5
+ hideLabel,
6
+ label,
7
+ id
8
+ } = _ref;
9
+ return /*#__PURE__*/_jsx("label", {
10
+ className: cn("fwe-select-label", {
11
+ "fwe-sr-only": hideLabel
12
+ }),
13
+ htmlFor: id,
14
+ children: label || ""
15
+ });
16
+ }
@@ -1,6 +1,6 @@
1
- import { type Key, type Ref } from 'react';
2
- import type { SelectConfiguration } from '../../../utils/types';
3
- import type { SelectOptionType } from '../select-option/SelectOption';
1
+ import { Key, Ref } from "react";
2
+ import { SelectConfiguration } from "../../../helper/types";
3
+ import type { SelectOptionType } from "../select-option/SelectOption";
4
4
  interface SelectOptionsContainerProps<T> {
5
5
  options?: SelectOptionType<T>[];
6
6
  config?: SelectConfiguration;
@@ -11,7 +11,7 @@ interface SelectOptionsContainerProps<T> {
11
11
  children: React.ReactNode;
12
12
  }
13
13
  declare function SelectOptionsContainerComponent<T extends Key | null | undefined>({ options, config, onClose, label, onOptionChange, multiple, children, }: SelectOptionsContainerProps<T>, ref: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
14
- export declare const SelectOptionsContainer: <T>(props: SelectOptionsContainerProps<T> & {
15
- ref?: Ref<HTMLDivElement>;
14
+ declare const SelectOptionsContainer: <T>(props: SelectOptionsContainerProps<T> & {
15
+ ref?: Ref<HTMLDivElement> | undefined;
16
16
  }) => ReturnType<typeof SelectOptionsContainerComponent>;
17
- export {};
17
+ export default SelectOptionsContainer;
@@ -0,0 +1,102 @@
1
+ import { createRef, forwardRef, isValidElement, useEffect, useRef, useState } from "react";
2
+ import { usePopper } from "react-popper";
3
+ import SelectScrollContainer from "./SelectScrollContainer.js";
4
+ import ListItem from "./ListItem.js";
5
+ import getChildren from "./utils.js";
6
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
+ function SelectOptionsContainerComponent(_ref, ref) {
8
+ let {
9
+ options,
10
+ config,
11
+ onClose,
12
+ label,
13
+ onOptionChange,
14
+ multiple,
15
+ children
16
+ } = _ref;
17
+ const [popperElement, setPopperElement] = useState(null);
18
+ const refObject = typeof ref !== "function" ? ref?.current : null;
19
+ const {
20
+ styles,
21
+ attributes
22
+ } = usePopper(refObject, popperElement, {
23
+ placement: "bottom-start",
24
+ modifiers: [{
25
+ name: "offset",
26
+ options: {
27
+ offset: [0, 3]
28
+ }
29
+ }, {
30
+ name: "flip",
31
+ options: {
32
+ fallbackPlacements: ["bottom-start", "top-start"]
33
+ }
34
+ }]
35
+ });
36
+ function getCssProperies() {
37
+ if (config?.contentWidth) {
38
+ return {
39
+ ...styles.popper,
40
+ minWidth: `${refObject?.clientWidth}px`,
41
+ width: config?.contentWidth
42
+ };
43
+ }
44
+ return {
45
+ ...styles.popper,
46
+ minWidth: `${refObject?.clientWidth}px`
47
+ };
48
+ }
49
+ const allChildren = getChildren(children);
50
+ const childrenList = allChildren.childrenList;
51
+ const usedOptions = options ?? childrenList.map(child => child.props.option);
52
+ const {
53
+ length
54
+ } = usedOptions;
55
+ const listItemRef = useRef(Array.from({
56
+ length
57
+ }, () => /*#__PURE__*/createRef()));
58
+ const selectedIndex = Array.isArray(label) ? usedOptions.findIndex(option => option.label === label.at(-1)) : usedOptions.findIndex(option => option.label === label);
59
+ const [init, setInit] = useState(false);
60
+ useEffect(() => {
61
+ if (!init) {
62
+ requestAnimationFrame(() => {
63
+ setInit(true);
64
+ const index = selectedIndex === -1 ? 0 : selectedIndex;
65
+ listItemRef.current?.[index].current?.focus();
66
+ });
67
+ }
68
+ }, [selectedIndex, init]);
69
+
70
+ // here was the unmount code. I removed it because it was causing problem during debug (StrictMode)
71
+ // Tuan: Please check if it's necessary to add it back
72
+
73
+ return /*#__PURE__*/_jsxs(_Fragment, {
74
+ children: [/*#__PURE__*/_jsx("div", {
75
+ "aria-hidden": true,
76
+ className: "fr-backdrop",
77
+ onClick: onClose
78
+ }), /*#__PURE__*/_jsxs("ul", {
79
+ ref: setPopperElement,
80
+ style: getCssProperies(),
81
+ ...attributes.popper,
82
+ className: "fwe-select-options-container",
83
+ children: [allChildren.before, /*#__PURE__*/_jsx(SelectScrollContainer, {
84
+ length: length,
85
+ config: config,
86
+ children: [...(options || []), ...childrenList].map((item, i) => /*#__PURE__*/_jsx(ListItem, {
87
+ withCheckbox: multiple,
88
+ item: item,
89
+ selectedLabel: label,
90
+ onClose: onClose,
91
+ onFocusChange: index => listItemRef.current[index].current?.focus(),
92
+ onOptionChange: onOptionChange,
93
+ ref: listItemRef,
94
+ index: i,
95
+ options: usedOptions
96
+ }, (/*#__PURE__*/isValidElement(item) ? item.props.option : item).data))
97
+ }), allChildren.after]
98
+ })]
99
+ });
100
+ }
101
+ const SelectOptionsContainer = /*#__PURE__*/forwardRef(SelectOptionsContainerComponent);
102
+ export default SelectOptionsContainer;
@@ -1,8 +1,8 @@
1
- import type { SelectConfiguration } from '../../../utils/types';
1
+ import { SelectConfiguration } from "../../../helper/types";
2
2
  interface SelectScrollContainerProps {
3
3
  readonly config?: SelectConfiguration;
4
4
  readonly children: React.ReactNode;
5
5
  readonly length: number;
6
6
  }
7
- export declare function SelectScrollContainer({ config, children, length, }: SelectScrollContainerProps): import("react/jsx-runtime").JSX.Element;
7
+ export default function SelectScrollContainer({ config, children, length, }: SelectScrollContainerProps): import("react/jsx-runtime").JSX.Element;
8
8
  export {};
@@ -0,0 +1,21 @@
1
+ import calcVirtualScrollHeight from "../utils.js";
2
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
+ export default function SelectScrollContainer(_ref) {
4
+ let {
5
+ config,
6
+ children,
7
+ length
8
+ } = _ref;
9
+ if (config?.scroll?.enabled) {
10
+ return /*#__PURE__*/_jsx("div", {
11
+ className: "fr-select-scroll",
12
+ style: {
13
+ height: calcVirtualScrollHeight(config, length)
14
+ },
15
+ children: children
16
+ });
17
+ }
18
+ return /*#__PURE__*/_jsx(_Fragment, {
19
+ children: children
20
+ });
21
+ }
@@ -0,0 +1,6 @@
1
+ import { ComponentPropsWithoutRef } from "react";
2
+ interface SelectWrapperProps extends ComponentPropsWithoutRef<"div"> {
3
+ disabled?: boolean;
4
+ }
5
+ declare const SelectWrapper: (props: SelectWrapperProps & import("react").RefAttributes<HTMLDivElement>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
6
+ export default SelectWrapper;
@@ -0,0 +1,20 @@
1
+ import cn from "classnames";
2
+ import { forwardRef } from "react";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ const SelectWrapper = /*#__PURE__*/forwardRef((_ref, ref) => {
5
+ let {
6
+ children,
7
+ disabled,
8
+ className,
9
+ ...props
10
+ } = _ref;
11
+ return /*#__PURE__*/_jsx("div", {
12
+ ...props,
13
+ ref: ref,
14
+ className: cn("fwe-select-wrapper", {
15
+ "fwe-disabled": disabled
16
+ }, className),
17
+ children: children
18
+ });
19
+ });
20
+ export default SelectWrapper;
@@ -0,0 +1,6 @@
1
+ export { default as HiddenInput } from "./HiddenInput";
2
+ export { default as ListItem } from "./ListItem";
3
+ export { default as SelectButton } from "./SelectButton";
4
+ export { default as OptionsContainer } from "./SelectOptionsContainer";
5
+ export { default as Wrapper } from "./SelectWrapper";
6
+ export { default as SelectLabel } from "./SelectLabel";
@@ -0,0 +1,6 @@
1
+ export { default as HiddenInput } from "./HiddenInput.js";
2
+ export { default as ListItem } from "./ListItem.js";
3
+ export { default as SelectButton } from "./SelectButton.js";
4
+ export { default as OptionsContainer } from "./SelectOptionsContainer.js";
5
+ export { default as Wrapper } from "./SelectWrapper.js";
6
+ export { default as SelectLabel } from "./SelectLabel.js";
@@ -1,6 +1,6 @@
1
- import React from 'react';
2
- import type { SelectOptionProps } from '../select-option/SelectOption';
3
- export declare function getChildren<T>(children: React.ReactNode): {
1
+ import React from "react";
2
+ import { SelectOptionProps } from "../select-option/SelectOption";
3
+ export default function getChildren<T>(children: React.ReactNode): {
4
4
  childrenList: React.ReactElement<SelectOptionProps<T>, string | React.JSXElementConstructor<any>>[];
5
5
  after: React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
6
6
  before: React.ReactElement<any, string | React.JSXElementConstructor<any>>[];
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import cn from "classnames";
3
+ import SelectOption from "../select-option/SelectOption.js";
4
+ export default function getChildren(children) {
5
+ const before = [];
6
+ const childrenList = [];
7
+ const after = [];
8
+ let foundFirstOption = false;
9
+ React.Children.forEach(children, element => {
10
+ if (/*#__PURE__*/React.isValidElement(element)) {
11
+ if (/*#__PURE__*/React.isValidElement(element) && element.type === SelectOption) {
12
+ foundFirstOption = true;
13
+ const className = cn("fwe-select-option-content", element.props.className);
14
+ const {
15
+ props
16
+ } = element;
17
+ childrenList.push({
18
+ ...element,
19
+ props: {
20
+ ...props,
21
+ className
22
+ }
23
+ });
24
+ } else if (!foundFirstOption) {
25
+ before.push(element);
26
+ } else {
27
+ after.push(element);
28
+ }
29
+ }
30
+ });
31
+ return {
32
+ childrenList,
33
+ after,
34
+ before
35
+ };
36
+ }
@@ -1,14 +1,14 @@
1
- import { type ComponentPropsWithoutRef, type Ref } from 'react';
1
+ import { ComponentPropsWithoutRef, Ref } from "react";
2
2
  export interface SelectOptionType<T> {
3
3
  label: string;
4
4
  data: T;
5
5
  disabled?: boolean;
6
6
  }
7
- export interface SelectOptionProps<T> extends ComponentPropsWithoutRef<'span'> {
7
+ export interface SelectOptionProps<T> extends ComponentPropsWithoutRef<"span"> {
8
8
  option: SelectOptionType<T>;
9
9
  }
10
10
  declare function SelectOptionComponent<T>({ children, className, ...props }: SelectOptionProps<T>, ref: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
11
- export declare const SelectOption: <T>(props: SelectOptionProps<T> & {
12
- ref?: Ref<HTMLDivElement>;
11
+ declare const SelectOption: <T>(props: SelectOptionProps<T> & {
12
+ ref?: Ref<HTMLDivElement> | undefined;
13
13
  }) => ReturnType<typeof SelectOptionComponent>;
14
- export {};
14
+ export default SelectOption;
@@ -0,0 +1,17 @@
1
+ import { forwardRef } from "react";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ function SelectOptionComponent(_ref, ref) {
4
+ let {
5
+ children,
6
+ className,
7
+ ...props
8
+ } = _ref;
9
+ return /*#__PURE__*/_jsx("span", {
10
+ ref: ref,
11
+ className: className,
12
+ ...props,
13
+ children: children
14
+ });
15
+ }
16
+ const SelectOption = /*#__PURE__*/forwardRef(SelectOptionComponent);
17
+ export default SelectOption;
@@ -0,0 +1,2 @@
1
+ import { SelectConfiguration } from "../../helper/types";
2
+ export default function calcVirtualScrollHeight(config: SelectConfiguration | undefined, itemLength: number): number;
@@ -0,0 +1,17 @@
1
+ export default function calcVirtualScrollHeight(config, itemLength) {
2
+ const defaultHeight = 48;
3
+ let height = defaultHeight;
4
+ if (itemLength === 2) {
5
+ height = defaultHeight * 2;
6
+ } else if (itemLength >= 3) {
7
+ height = defaultHeight * 3;
8
+ }
9
+ if (config?.scroll?.viewportSize != null && config.scroll.viewportSize !== undefined) {
10
+ if (itemLength >= config.scroll.viewportSize) {
11
+ height = config.scroll.viewportSize * defaultHeight;
12
+ } else if (itemLength < config.scroll.viewportSize) {
13
+ height = itemLength * defaultHeight;
14
+ }
15
+ }
16
+ return height;
17
+ }
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { ClassNameProps } from "../../helper/types";
3
+ import "./Slider.scss";
4
+ interface SliderProps extends ClassNameProps {
5
+ disabled?: boolean;
6
+ min: number;
7
+ max: number;
8
+ step?: number;
9
+ value: number;
10
+ onChangeCommitted?: (value: number) => void;
11
+ label?: string;
12
+ showValue?: boolean;
13
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: number) => void;
14
+ id?: string;
15
+ widthOffset?: number;
16
+ }
17
+ declare function Slider({ disabled, label, max, min, onChange, onChangeCommitted, step, value, showValue, className, id: idProps, widthOffset, }: SliderProps): import("react/jsx-runtime").JSX.Element;
18
+ export default Slider;
@@ -0,0 +1,100 @@
1
+ import React, { useCallback, useEffect, useRef, useState } from "react";
2
+ import classNames from "classnames";
3
+ import useId from "../../helper/useId.js";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ function Slider(_ref) {
6
+ let {
7
+ disabled = false,
8
+ label,
9
+ max,
10
+ min,
11
+ onChange,
12
+ onChangeCommitted,
13
+ step,
14
+ value,
15
+ showValue = true,
16
+ className,
17
+ id: idProps,
18
+ widthOffset = 8
19
+ } = _ref;
20
+ const id = useId(idProps);
21
+ const [innerValue, setInnerValue] = useState(value);
22
+ const [left, setLeft] = useState(null);
23
+ const [numberoffset, setNumberOffset] = useState(0);
24
+ const labelEl = useRef(null);
25
+ const classes = classNames("fwe-slider", {
26
+ "fr-slider-value": !label && showValue
27
+ }, {
28
+ "fr-slider-label": label && !showValue
29
+ }, {
30
+ "fr-slider-value-label": label && showValue
31
+ }, className);
32
+ useEffect(() => {
33
+ setInnerValue(value);
34
+ }, [value]);
35
+ const updateValuePosition = useCallback(() => {
36
+ if (labelEl.current) {
37
+ const {
38
+ width
39
+ } = labelEl.current.getBoundingClientRect();
40
+ const diff = max - min;
41
+ setLeft((innerValue - min) / diff * (width - widthOffset));
42
+ setNumberOffset(8 - innerValue.toString().length * 6);
43
+ }
44
+ }, [innerValue, max, min, widthOffset]);
45
+ const handleAfterChange = () => {
46
+ if (onChangeCommitted) {
47
+ onChangeCommitted(innerValue);
48
+ }
49
+ };
50
+ const handleChange = e => {
51
+ const newValue = Number.parseFloat(e.target.value);
52
+ setInnerValue(newValue);
53
+ if (onChange) {
54
+ onChange(e, newValue);
55
+ }
56
+ };
57
+ useEffect(() => {
58
+ function handleResize() {
59
+ updateValuePosition();
60
+ }
61
+ window.addEventListener("resize", handleResize);
62
+ handleResize();
63
+
64
+ // Remove event listener on cleanup
65
+ return () => window.removeEventListener("resize", handleResize);
66
+ }, [updateValuePosition]);
67
+ return /*#__PURE__*/_jsxs("label", {
68
+ ref: labelEl,
69
+ className: classes,
70
+ htmlFor: id,
71
+ children: [label && /*#__PURE__*/_jsx("span", {
72
+ children: label
73
+ }), /*#__PURE__*/_jsx("input", {
74
+ id: id,
75
+ className: "fwe-slider-input",
76
+ type: "range",
77
+ disabled: disabled,
78
+ min: min,
79
+ max: max,
80
+ step: step,
81
+ onChange: handleChange,
82
+ value: innerValue,
83
+ onKeyUp: handleAfterChange,
84
+ onMouseUp: handleAfterChange,
85
+ onTouchEnd: handleAfterChange
86
+ }), showValue && left !== null && /*#__PURE__*/_jsx("span", {
87
+ className: "fr-slider-value",
88
+ style: {
89
+ left: `${left + numberoffset}px`
90
+ },
91
+ children: innerValue
92
+ }), /*#__PURE__*/_jsx("div", {
93
+ className: `fr-slider-indicator${disabled ? " disabled" : ""}`,
94
+ style: {
95
+ width: `${left}px`
96
+ }
97
+ })]
98
+ });
99
+ }
100
+ export default Slider;
@@ -0,0 +1,13 @@
1
+ import { ClassNameProps } from "../../helper/types";
2
+ export interface SwitchProps extends ClassNameProps {
3
+ labelPosition?: "before" | "after" | "below";
4
+ large?: boolean;
5
+ title: string;
6
+ value?: boolean;
7
+ defaultValue?: boolean;
8
+ disabled?: boolean;
9
+ onChange?: (value: boolean) => void;
10
+ id?: string;
11
+ }
12
+ declare function Switch({ labelPosition, large, title, value, defaultValue, disabled, onChange, className, id: idProps, }: SwitchProps): import("react/jsx-runtime").JSX.Element;
13
+ export default Switch;
@@ -0,0 +1,51 @@
1
+ import classNames from "classnames";
2
+ import useControlled from "../../helper/useControlled.js";
3
+ import useId from "../../helper/useId.js";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ function Switch(_ref) {
6
+ let {
7
+ labelPosition = "after",
8
+ large = false,
9
+ title,
10
+ value,
11
+ defaultValue,
12
+ disabled = false,
13
+ onChange,
14
+ className,
15
+ id: idProps
16
+ } = _ref;
17
+ const id = useId(idProps);
18
+ const labelClassName = classNames("fwe-switch", {
19
+ [`fwe-switch-label-${labelPosition}`]: true
20
+ }, {
21
+ "fwe-switch-lg": large
22
+ }, className);
23
+ const [currentValue, setCurrentValue] = useControlled({
24
+ controlled: value,
25
+ default: defaultValue
26
+ });
27
+ const handleChange = () => {
28
+ const newValue = !currentValue;
29
+ setCurrentValue(newValue);
30
+ if (onChange) {
31
+ onChange(newValue);
32
+ }
33
+ };
34
+ return /*#__PURE__*/_jsxs("label", {
35
+ className: labelClassName,
36
+ htmlFor: id,
37
+ children: [/*#__PURE__*/_jsx("input", {
38
+ type: "checkbox",
39
+ disabled: disabled,
40
+ checked: currentValue,
41
+ onChange: () => handleChange(),
42
+ id: id
43
+ }), /*#__PURE__*/_jsx("div", {
44
+ className: "fwe-switch-track"
45
+ }), /*#__PURE__*/_jsx("div", {
46
+ className: "fwe-switch-label-content",
47
+ children: title
48
+ })]
49
+ });
50
+ }
51
+ export default Switch;