@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,98 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _useId = _interopRequireDefault(require("../../helper/useId.js"));
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const TextInput = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
13
+ let {
14
+ disabled,
15
+ required,
16
+ readonly,
17
+ placeholder,
18
+ max,
19
+ min,
20
+ onBlur,
21
+ onFocus,
22
+ onInput,
23
+ step,
24
+ type,
25
+ value,
26
+ defaultValue,
27
+ name,
28
+ error,
29
+ hint,
30
+ label,
31
+ labelClassName,
32
+ icon,
33
+ id: idProps,
34
+ autoFocus,
35
+ ...props
36
+ } = _ref;
37
+ const id = (0, _useId.default)(idProps);
38
+ const inputRef = (0, _react.useRef)(null);
39
+
40
+ // Programmatically focus the input instead of using autoFocus attribute
41
+ (0, _react.useEffect)(() => {
42
+ if (autoFocus && inputRef.current) {
43
+ // Short delay to ensure component is fully rendered
44
+ const timer = setTimeout(() => {
45
+ inputRef.current?.focus();
46
+ }, 0);
47
+ return () => clearTimeout(timer);
48
+ }
49
+ return undefined;
50
+ }, [autoFocus]);
51
+ const supported = ["text", "number", "password", "datetime-local"];
52
+ const innerType = type && supported.includes(type) ? type : "text";
53
+ const labelClasses = (0, _classnames.default)("fwe-input-text", {
54
+ "fwe-input-text-icon": icon
55
+ }, labelClassName);
56
+ const hintClasses = (0, _classnames.default)("fwe-input-text-info");
57
+ function handleChange(e) {
58
+ if (props.onChange) {
59
+ props.onChange(e);
60
+ }
61
+ }
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
63
+ className: labelClasses,
64
+ htmlFor: id,
65
+ ref: ref,
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
67
+ name: name,
68
+ disabled: disabled,
69
+ required: required,
70
+ readOnly: readonly,
71
+ placeholder: placeholder,
72
+ autoComplete: "off",
73
+ min: min,
74
+ max: max,
75
+ step: step,
76
+ onChange: handleChange,
77
+ onBlur: onBlur,
78
+ onFocus: onFocus,
79
+ onInput: onInput,
80
+ type: innerType,
81
+ value: value,
82
+ defaultValue: defaultValue,
83
+ id: id,
84
+ ref: inputRef,
85
+ ...props
86
+ }), icon, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
87
+ className: "fwe-input-text-label",
88
+ children: label
89
+ }), hint && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
90
+ className: hintClasses,
91
+ children: hint
92
+ }), error && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
93
+ className: "fwe-input-text-invalid",
94
+ children: error
95
+ })]
96
+ });
97
+ });
98
+ var _default = exports.default = TextInput;
@@ -0,0 +1,166 @@
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 _reactDom = _interopRequireDefault(require("react-dom"));
10
+ var _reactPopper = require("react-popper");
11
+ var _reactIcons = require("@festo-ui/react-icons");
12
+ var _useForkRef = _interopRequireDefault(require("../../helper/useForkRef.js"));
13
+ var _useId = _interopRequireDefault(require("../../helper/useId.js"));
14
+ var _TimePickerDropdown = _interopRequireDefault(require("./time-picker-dropdown/TimePickerDropdown.js"));
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ const TimePicker = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
18
+ let {
19
+ error,
20
+ hint,
21
+ required,
22
+ disabled,
23
+ children,
24
+ value,
25
+ options,
26
+ defaultValue,
27
+ formatDate,
28
+ onChange,
29
+ id: idProps,
30
+ ...props
31
+ } = _ref;
32
+ const id = (0, _useId.default)(idProps);
33
+ const innerFormatDate = formatDate ?? Intl.DateTimeFormat("default", {
34
+ hour: "numeric",
35
+ minute: "numeric",
36
+ ...(options?.showSeconds && {
37
+ second: "numeric"
38
+ })
39
+ }).format;
40
+ const timeFormat = options?.timeFormat ?? "24";
41
+ const [referenceElement, setReferenceElement] = (0, _react.useState)(null);
42
+ const [popperElement, setPopperElement] = (0, _react.useState)(null);
43
+ const customModifier = (0, _react.useMemo)(() => ({
44
+ name: "offset",
45
+ options: {
46
+ offset: _ref2 => {
47
+ let {
48
+ placement
49
+ } = _ref2;
50
+ if (placement === "bottom") {
51
+ return [0, -12];
52
+ }
53
+ return [0, 0];
54
+ }
55
+ }
56
+ }), []);
57
+ const {
58
+ styles,
59
+ attributes
60
+ } = (0, _reactPopper.usePopper)(referenceElement, popperElement, {
61
+ modifiers: [customModifier]
62
+ });
63
+ const combinedRef = (0, _useForkRef.default)(ref, r => setReferenceElement(r));
64
+ const labelRef = (0, _react.useRef)(null);
65
+ const allRefs = (0, _useForkRef.default)(combinedRef, labelRef);
66
+ const timePickerRef = (0, _react.useRef)(null);
67
+ const combinedTimePickerRef = (0, _useForkRef.default)(timePickerRef, r => setPopperElement(r));
68
+ const [open, setOpen] = (0, _react.useState)(false);
69
+ const controlled = value !== undefined;
70
+ const initialValue = controlled ? value : defaultValue;
71
+ const [innerValue, setInnerValue] = (0, _react.useState)(initialValue ?? new Date());
72
+ (0, _react.useEffect)(() => {
73
+ if (value !== undefined) {
74
+ value.setMilliseconds(0);
75
+ setInnerValue(value);
76
+ }
77
+ }, [value]);
78
+ function toggle(e) {
79
+ e?.preventDefault();
80
+ if (!disabled) {
81
+ setOpen(prevOpen => !prevOpen);
82
+ }
83
+ }
84
+ function handleDateChange(newDate) {
85
+ if (!controlled) {
86
+ setInnerValue(newDate);
87
+ }
88
+ if (onChange) {
89
+ onChange(newDate);
90
+ }
91
+ }
92
+ function handleClose(newDate) {
93
+ if (newDate) {
94
+ handleDateChange(newDate);
95
+ }
96
+ setOpen(false);
97
+ }
98
+ const handleKeyDown = event => {
99
+ if (event.key === "Enter") {
100
+ toggle();
101
+ }
102
+ };
103
+ const handleKeyUp = event => {
104
+ if (event.key === " ") {
105
+ toggle();
106
+ }
107
+ };
108
+ const container = labelRef?.current?.ownerDocument || document;
109
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
110
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
111
+ tabIndex: 0,
112
+ role: "button",
113
+ ref: allRefs,
114
+ onKeyDown: handleKeyDown,
115
+ onKeyUp: handleKeyUp,
116
+ onClick: toggle,
117
+ ...props,
118
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
119
+ htmlFor: id,
120
+ className: "fr-time-picker fwe-input-text fwe-input-text-icon",
121
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIcons.IconTime, {
122
+ className: (0, _classnames.default)({
123
+ "fwe-color-hero": open && !disabled,
124
+ "fwe-color-control-disabled": disabled
125
+ })
126
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
127
+ id: id,
128
+ "aria-label": "picked time",
129
+ type: "text",
130
+ readOnly: true,
131
+ required: required,
132
+ className: (0, _classnames.default)({
133
+ "fwe-border-hero": open
134
+ }),
135
+ value: innerFormatDate(innerValue),
136
+ disabled: disabled
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
138
+ className: "fwe-input-text-label",
139
+ children: children
140
+ }), hint && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
141
+ className: "fwe-input-text-info",
142
+ children: hint
143
+ }), error && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
144
+ className: "fwe-input-text-invalid",
145
+ children: error
146
+ })]
147
+ })
148
+ }), open && /*#__PURE__*/_reactDom.default.createPortal(/*#__PURE__*/(0, _jsxRuntime.jsx)(_TimePickerDropdown.default, {
149
+ labelRef: labelRef,
150
+ ref: combinedTimePickerRef,
151
+ onClose: handleClose,
152
+ onDateChange: handleDateChange,
153
+ timeFormat: timeFormat,
154
+ showSeconds: options?.showSeconds,
155
+ minuteStepSize: options?.minuteStepSize,
156
+ range: options?.range,
157
+ date: innerValue,
158
+ style: {
159
+ ...styles.popper,
160
+ minWidth: labelRef?.current?.scrollWidth
161
+ },
162
+ ...attributes.popper
163
+ }), container.body)]
164
+ });
165
+ });
166
+ var _default = exports.default = TimePicker;
@@ -0,0 +1,219 @@
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 _reactIcons = require("@festo-ui/react-icons");
10
+ var _useForkRef = _interopRequireDefault(require("../../../helper/useForkRef.js"));
11
+ var _LinkButton = _interopRequireDefault(require("../../../components/link-button/LinkButton.js"));
12
+ var _TimePickerInput = _interopRequireDefault(require("./TimePickerInput.js"));
13
+ var _useOnClickOutside = _interopRequireDefault(require("../../../helper/useOnClickOutside.js"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const TimePickerDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
17
+ let {
18
+ timeFormat,
19
+ date,
20
+ onDateChange,
21
+ showSeconds,
22
+ minuteStepSize,
23
+ range,
24
+ onClose,
25
+ style,
26
+ labelRef
27
+ } = _ref;
28
+ const innerRef = (0, _react.useRef)(null);
29
+ const combinedRef = (0, _useForkRef.default)(ref, innerRef);
30
+ const hoursRef = (0, _react.useRef)(null);
31
+ const [tmpHours, setTmpHours] = (0, _react.useState)(null);
32
+ const [tmpMinutes, setTmpMinutes] = (0, _react.useState)(null);
33
+ const [tmpSeconds, setTmpSeconds] = (0, _react.useState)(null);
34
+ const [innerDate, setInnerDate] = (0, _react.useState)(date);
35
+ (0, _useOnClickOutside.default)(labelRef, () => onClose(innerDate), innerRef);
36
+ const min = 0;
37
+ const hourMax = timeFormat === "12" ? 12 : 23;
38
+ const minutesSecondsMax = 59;
39
+ let innerMinuteStepSize = 1;
40
+ if (minuteStepSize) {
41
+ if (minuteStepSize > 1 && minuteStepSize < 60) {
42
+ innerMinuteStepSize = Math.round(minuteStepSize);
43
+ }
44
+ }
45
+ (0, _react.useEffect)(() => {
46
+ requestAnimationFrame(() => {
47
+ hoursRef.current?.focus();
48
+ });
49
+ }, []);
50
+ function handleKeyPress(e) {
51
+ if (e.key === "Escape" || e.key === "Enter") {
52
+ onClose(e.key === "Enter" ? innerDate : undefined);
53
+ }
54
+ }
55
+ function limitRange(newDate) {
56
+ if (range) {
57
+ if (newDate > range.maxValue) {
58
+ return range.minValue;
59
+ }
60
+ if (newDate < range.minValue) {
61
+ return range.maxValue;
62
+ }
63
+ }
64
+ return newDate;
65
+ }
66
+ function handleHourIncrement(increment) {
67
+ let newDate = new Date(innerDate);
68
+ newDate.setHours(innerDate.getHours() + increment);
69
+ newDate = limitRange(newDate);
70
+ setInnerDate(newDate);
71
+ onDateChange(newDate);
72
+ setTmpHours(null);
73
+ }
74
+ function handleHourChange(e) {
75
+ let newDate = new Date(innerDate);
76
+ const hour = +e.target.value;
77
+ newDate.setHours(Math.min(Math.max(hour, min), hourMax));
78
+ newDate = limitRange(newDate);
79
+ setInnerDate(newDate);
80
+ setTmpHours(newDate.getHours().toString());
81
+ }
82
+ function handleMinuteIncrement(increment) {
83
+ let newDate = new Date(innerDate);
84
+ newDate.setMinutes(innerDate.getMinutes() + increment);
85
+ newDate = limitRange(newDate);
86
+ setInnerDate(newDate);
87
+ onDateChange(newDate);
88
+ setTmpMinutes(null);
89
+ }
90
+ function handleMinuteChange(e) {
91
+ let newDate = new Date(innerDate);
92
+ const minute = +e.target.value;
93
+ newDate.setMinutes(Math.min(Math.max(minute, min), minutesSecondsMax));
94
+ newDate = limitRange(newDate);
95
+ setInnerDate(newDate);
96
+ setTmpMinutes(newDate.getMinutes().toString());
97
+ }
98
+ function handleSecondIncrement(increment) {
99
+ let newDate = new Date(innerDate);
100
+ newDate.setSeconds(innerDate.getSeconds() + increment);
101
+ newDate = limitRange(newDate);
102
+ setInnerDate(newDate);
103
+ onDateChange(newDate);
104
+ setTmpSeconds(null);
105
+ }
106
+ function handleSecondChange(e) {
107
+ let newDate = new Date(innerDate);
108
+ const seconds = +e.target.value;
109
+ newDate.setSeconds(Math.min(Math.max(seconds, min), minutesSecondsMax));
110
+ newDate = limitRange(newDate);
111
+ setInnerDate(newDate);
112
+ setTmpSeconds(newDate.getSeconds().toString());
113
+ }
114
+ const hours = timeFormat === "12" ? (innerDate.getHours() + 11) % 12 + 1 : innerDate.getHours();
115
+ function toggleAmPm() {
116
+ const newDate = new Date(innerDate);
117
+ // Get the current hour in 24-hour format
118
+ const currentHours = innerDate.getHours();
119
+ if (currentHours >= 0 && currentHours < 12) {
120
+ // Switching from AM to PM
121
+ newDate.setHours(currentHours + 12);
122
+ } else {
123
+ // Switching from PM to AM
124
+ newDate.setHours(currentHours - 12);
125
+ }
126
+ setInnerDate(newDate);
127
+ onDateChange(newDate);
128
+ }
129
+ const formatNumberWithLeadingZero = number => (number < 10 ? "0" : "") + number;
130
+ return (
131
+ /*#__PURE__*/
132
+ // should not be an issue with dialog
133
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
134
+ (0, _jsxRuntime.jsxs)("div", {
135
+ role: "dialog",
136
+ style: style,
137
+ ref: combinedRef,
138
+ className: (0, _classnames.default)("fr-timepicker fwe-timepicker", {
139
+ "fwe-timepicker-am-pm": timeFormat === "12"
140
+ }),
141
+ onKeyDown: e => handleKeyPress(e),
142
+ tabIndex: -1,
143
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
144
+ className: "fwe-timepicker-spinners",
145
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
146
+ className: "fwe-timepicker-spinners-hours",
147
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_LinkButton.default, {
148
+ "aria-label": "hour up",
149
+ className: "fwe-dark",
150
+ onClick: () => handleHourIncrement(1),
151
+ iconOnly: true,
152
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIcons.IconExpand, {})
153
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TimePickerInput.default, {
154
+ "aria-label": "hours value",
155
+ min: min,
156
+ max: hourMax,
157
+ value: tmpHours ?? formatNumberWithLeadingZero(hours),
158
+ onInput: handleHourChange,
159
+ ref: hoursRef
160
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinkButton.default, {
161
+ "aria-label": "hour down",
162
+ className: "fwe-dark",
163
+ onClick: () => handleHourIncrement(-1),
164
+ iconOnly: true,
165
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIcons.IconCollapse, {})
166
+ })]
167
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
168
+ className: "fwe-timepicker-spinners-minutes",
169
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_LinkButton.default, {
170
+ "aria-label": "minute up",
171
+ className: "fwe-dark",
172
+ onClick: () => handleMinuteIncrement(innerMinuteStepSize),
173
+ iconOnly: true,
174
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIcons.IconExpand, {})
175
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TimePickerInput.default, {
176
+ "aria-label": "minutes value",
177
+ min: min,
178
+ max: minutesSecondsMax,
179
+ value: tmpMinutes ?? formatNumberWithLeadingZero(innerDate.getMinutes()),
180
+ onInput: handleMinuteChange
181
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinkButton.default, {
182
+ "aria-label": "minute down",
183
+ className: "fwe-dark",
184
+ onClick: () => handleMinuteIncrement(-innerMinuteStepSize),
185
+ iconOnly: true,
186
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIcons.IconCollapse, {})
187
+ })]
188
+ }), showSeconds && /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
189
+ className: "fwe-timepicker-spinners-seconds",
190
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_LinkButton.default, {
191
+ "aria-label": "seconds up",
192
+ className: "fwe-dark",
193
+ onClick: () => handleSecondIncrement(1),
194
+ iconOnly: true,
195
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIcons.IconExpand, {})
196
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TimePickerInput.default, {
197
+ "aria-label": "seconds value",
198
+ min: min,
199
+ max: minutesSecondsMax,
200
+ value: tmpSeconds ?? formatNumberWithLeadingZero(innerDate.getSeconds()),
201
+ onInput: handleSecondChange
202
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_LinkButton.default, {
203
+ "aria-label": "minute down",
204
+ className: "fwe-dark",
205
+ onClick: () => handleSecondIncrement(-1),
206
+ iconOnly: true,
207
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactIcons.IconCollapse, {})
208
+ })]
209
+ })]
210
+ }), timeFormat === "12" && /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
211
+ onClick: toggleAmPm,
212
+ type: "button",
213
+ className: "fwe-btn fwe-ml-m",
214
+ children: innerDate.getHours() >= 12 ? "PM" : "AM"
215
+ })]
216
+ })
217
+ );
218
+ });
219
+ var _default = exports.default = TimePickerDropdown;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _jsxRuntime = require("react/jsx-runtime");
9
+ const TimePickerInput = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
10
+ let {
11
+ min,
12
+ max,
13
+ value,
14
+ onInput,
15
+ "aria-label": ariaLabel
16
+ } = _ref;
17
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
18
+ "aria-label": ariaLabel,
19
+ className: "fwe-timepicker-hide-spinners",
20
+ type: "number",
21
+ min: min,
22
+ step: 1,
23
+ value: value,
24
+ max: max,
25
+ onInput: onInput,
26
+ ref: ref
27
+ });
28
+ });
29
+ var _default = exports.default = TimePickerInput;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.provideDiv = exports.default = void 0;
7
+ const provideDiv = () => {
8
+ const div = document.createElement("div");
9
+ const id = Math.floor(Math.random() * 1000);
10
+ div.setAttribute("id", `${id}`);
11
+ return div;
12
+ };
13
+ exports.provideDiv = provideDiv;
14
+ var _default = exports.default = provideDiv;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setRef;
7
+ function setRef(ref, value) {
8
+ if (typeof ref === "function") {
9
+ ref(value);
10
+ } else if (ref) {
11
+ ref.current = value;
12
+ }
13
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useControlled;
7
+ var _react = require("react");
8
+ function useControlled(_ref) {
9
+ let {
10
+ controlled,
11
+ default: defaultValue,
12
+ onChange
13
+ } = _ref;
14
+ const {
15
+ current: isControlled
16
+ } = (0, _react.useRef)(controlled !== undefined);
17
+ const [valueState, setValue] = (0, _react.useState)(defaultValue);
18
+ const value = isControlled ? controlled : valueState;
19
+ const setValueIfUncontrolled = (0, _react.useCallback)(newValue => {
20
+ if (!isControlled) {
21
+ setValue(newValue);
22
+ }
23
+ const setter = newValue;
24
+ const onChangeValue = typeof newValue === "function" ? setter(controlled) : newValue;
25
+ onChange?.(onChangeValue);
26
+ }, [controlled, isControlled, onChange]);
27
+ return [value, setValueIfUncontrolled];
28
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useForkRef;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _setRef = _interopRequireDefault(require("./setRef.js"));
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ // https://github.com/facebook/react/issues/13029#issuecomment-497629971
11
+ function useForkRef(refA, refB) {
12
+ /**
13
+ * This will create a new function if the ref props change and are defined.
14
+ * This means react will call the old forkRef with `null` and the new forkRef
15
+ * with the ref. Cleanup naturally emerges from this behavior
16
+ */
17
+ return _react.default.useMemo(() => {
18
+ if ((refA === null || refA === undefined) && (refB == null || refB === undefined)) {
19
+ return null;
20
+ }
21
+ return instance => {
22
+ (0, _setRef.default)(refA, instance);
23
+ (0, _setRef.default)(refB, instance);
24
+ };
25
+ }, [refA, refB]);
26
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useId;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ // eslint-disable-next-line no-useless-concat
10
+ const maybeReactUseId = _react.default["useId" + ""];
11
+ let nextId = 0;
12
+ function useLegacyId() {
13
+ const [id, setId] = _react.default.useState(undefined);
14
+ _react.default.useEffect(() => {
15
+ if (id == null) {
16
+ nextId += 1;
17
+ setId(`fr-${nextId}`);
18
+ }
19
+ }, [id]);
20
+ return id;
21
+ }
22
+ function useId(idInput) {
23
+ if (idInput !== undefined && idInput !== null) {
24
+ return idInput;
25
+ }
26
+ // eslint-disable-next-line react-hooks/rules-of-hooks
27
+ return maybeReactUseId ? maybeReactUseId() : useLegacyId();
28
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useOnClickOutside;
7
+ var _react = require("react");
8
+ function useOnClickOutside(ref, callback, ref2) {
9
+ (0, _react.useEffect)(() => {
10
+ const listener = event => {
11
+ // Do nothing if clicking ref's element or descendent elements
12
+ if (!ref.current || ref.current.contains(event.target) || ref2 && (!ref2.current || ref2.current.contains(event.target))) {
13
+ return;
14
+ }
15
+ callback(event);
16
+ };
17
+ document.addEventListener("mousedown", listener, true);
18
+ document.addEventListener("touchstart", listener, true);
19
+ return () => {
20
+ document.removeEventListener("mousedown", listener, true);
21
+ document.removeEventListener("touchstart", listener, true);
22
+ };
23
+ }, [ref, ref2, callback]);
24
+ }