@festo-ui/react 9.0.0-dev.715 → 9.0.0-dev.717

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 (238) hide show
  1. package/package.json +2 -3
  2. package/dist/components/accordion/Accordion.css +0 -4
  3. package/dist/components/accordion/Accordion.d.ts +0 -10
  4. package/dist/components/accordion/Accordion.js +0 -41
  5. package/dist/components/accordion/AccordionContext.d.ts +0 -11
  6. package/dist/components/accordion/AccordionContext.js +0 -3
  7. package/dist/components/accordion/accordion-header/AccordionHeader.css +0 -11
  8. package/dist/components/accordion/accordion-header/AccordionHeader.d.ts +0 -2
  9. package/dist/components/accordion/accordion-header/AccordionHeader.js +0 -11
  10. package/dist/components/accordion/accordion-item/AccordionItem.css +0 -64
  11. package/dist/components/accordion/accordion-item/AccordionItem.d.ts +0 -8
  12. package/dist/components/accordion/accordion-item/AccordionItem.js +0 -60
  13. package/dist/components/accordion/accordion-item/AccordionItemContext.d.ts +0 -7
  14. package/dist/components/accordion/accordion-item/AccordionItemContext.js +0 -3
  15. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.css +0 -76
  16. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.d.ts +0 -2
  17. package/dist/components/accordion/accordion-item/accordion-item-body/AccordionItemBody.js +0 -61
  18. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.css +0 -11
  19. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.d.ts +0 -2
  20. package/dist/components/accordion/accordion-item/accordion-item-header/AccordionItemHeader.js +0 -20
  21. package/dist/components/bottom-sheet/BottomSheet.css +0 -18
  22. package/dist/components/bottom-sheet/BottomSheet.d.ts +0 -12
  23. package/dist/components/bottom-sheet/BottomSheet.js +0 -101
  24. package/dist/components/breadcrumb/Breadcrumb.d.ts +0 -13
  25. package/dist/components/breadcrumb/Breadcrumb.js +0 -32
  26. package/dist/components/button/Button.d.ts +0 -11
  27. package/dist/components/button/Button.js +0 -36
  28. package/dist/components/card/Card.d.ts +0 -4
  29. package/dist/components/card/Card.js +0 -9
  30. package/dist/components/card/CardBody.d.ts +0 -5
  31. package/dist/components/card/CardBody.js +0 -15
  32. package/dist/components/card/CardHeader.d.ts +0 -8
  33. package/dist/components/card/CardHeader.js +0 -31
  34. package/dist/components/card/CardHeader.stories.helper.js +0 -7
  35. package/dist/components/card/CardNotification.d.ts +0 -6
  36. package/dist/components/card/CardNotification.js +0 -26
  37. package/dist/components/chips/chip/Chip.d.ts +0 -17
  38. package/dist/components/chips/chip/Chip.js +0 -38
  39. package/dist/components/chips/chip-container/ChipContainer.d.ts +0 -5
  40. package/dist/components/chips/chip-container/ChipContainer.js +0 -12
  41. package/dist/components/icon-wrapper/IconWrapper.d.ts +0 -3
  42. package/dist/components/icon-wrapper/IconWrapper.js +0 -13
  43. package/dist/components/link-button/LinkButton.d.ts +0 -8
  44. package/dist/components/link-button/LinkButton.js +0 -26
  45. package/dist/components/loading-indicator/LoadingIndicator.d.ts +0 -5
  46. package/dist/components/loading-indicator/LoadingIndicator.js +0 -41
  47. package/dist/components/mobile-flyout/MobileFlyout.d.ts +0 -11
  48. package/dist/components/mobile-flyout/MobileFlyout.js +0 -88
  49. package/dist/components/mobile-flyout/MobileFlyoutContext.d.ts +0 -8
  50. package/dist/components/mobile-flyout/MobileFlyoutContext.js +0 -3
  51. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.d.ts +0 -17
  52. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.js +0 -36
  53. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.css +0 -5
  54. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.d.ts +0 -8
  55. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.js +0 -35
  56. package/dist/components/modals/AlertModal.d.ts +0 -12
  57. package/dist/components/modals/AlertModal.js +0 -53
  58. package/dist/components/modals/ConfirmModal.d.ts +0 -11
  59. package/dist/components/modals/ConfirmModal.js +0 -46
  60. package/dist/components/modals/CustomModal.d.ts +0 -8
  61. package/dist/components/modals/CustomModal.js +0 -38
  62. package/dist/components/modals/Modal.css +0 -39
  63. package/dist/components/modals/Modal.d.ts +0 -8
  64. package/dist/components/modals/Modal.js +0 -31
  65. package/dist/components/modals/ModalBase.d.ts +0 -9
  66. package/dist/components/modals/ModalBase.js +0 -124
  67. package/dist/components/modals/ModalFooter.d.ts +0 -2
  68. package/dist/components/modals/ModalFooter.js +0 -12
  69. package/dist/components/modals/Prompt.d.ts +0 -15
  70. package/dist/components/modals/Prompt.js +0 -58
  71. package/dist/components/modals/image-gallery/ImageGallery.css +0 -790
  72. package/dist/components/modals/image-gallery/ImageGallery.d.ts +0 -18
  73. package/dist/components/modals/image-gallery/ImageGallery.helper.d.ts +0 -2
  74. package/dist/components/modals/image-gallery/ImageGallery.helper.js +0 -13
  75. package/dist/components/modals/image-gallery/ImageGallery.js +0 -75
  76. package/dist/components/modals/image-gallery/ImageGallery.stories.helper.js +0 -112
  77. package/dist/components/modals/image-gallery/ImageGalleryContent.d.ts +0 -9
  78. package/dist/components/modals/image-gallery/ImageGalleryContent.js +0 -15
  79. package/dist/components/modals/image-gallery/ImageGalleryContext.d.ts +0 -10
  80. package/dist/components/modals/image-gallery/ImageGalleryContext.js +0 -4
  81. package/dist/components/modals/image-gallery/ImageGallerySwiper.d.ts +0 -8
  82. package/dist/components/modals/image-gallery/ImageGallerySwiper.js +0 -29
  83. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.d.ts +0 -5
  84. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.js +0 -23
  85. package/dist/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.css +0 -10
  86. package/dist/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.d.ts +0 -11
  87. package/dist/components/modals/image-gallery/image-gallery-item/ImageGalleryItem.js +0 -24
  88. package/dist/components/modals/image-gallery/internal/BaseGallery.d.ts +0 -17
  89. package/dist/components/modals/image-gallery/internal/BaseGallery.js +0 -50
  90. package/dist/components/modals/image-gallery/internal/CloseButton.d.ts +0 -6
  91. package/dist/components/modals/image-gallery/internal/CloseButton.js +0 -14
  92. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.d.ts +0 -5
  93. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.js +0 -8
  94. package/dist/components/modals/image-gallery/internal/ImageGalleryPagination.d.ts +0 -5
  95. package/dist/components/modals/image-gallery/internal/ImageGalleryPagination.js +0 -29
  96. package/dist/components/modals/image-gallery/internal/ScaleButton.d.ts +0 -4
  97. package/dist/components/modals/image-gallery/internal/ScaleButton.js +0 -17
  98. package/dist/components/pagination/Pagination.css +0 -10
  99. package/dist/components/pagination/Pagination.d.ts +0 -15
  100. package/dist/components/pagination/Pagination.js +0 -100
  101. package/dist/components/popovers/legend/Legend.css +0 -21
  102. package/dist/components/popovers/legend/Legend.d.ts +0 -11
  103. package/dist/components/popovers/legend/Legend.js +0 -24
  104. package/dist/components/popovers/popover/Popover.css +0 -56
  105. package/dist/components/popovers/popover/Popover.d.ts +0 -20
  106. package/dist/components/popovers/popover/Popover.js +0 -107
  107. package/dist/components/popovers/popover-menu/PopoverMenu.css +0 -20
  108. package/dist/components/popovers/popover-menu/PopoverMenu.d.ts +0 -8
  109. package/dist/components/popovers/popover-menu/PopoverMenu.js +0 -37
  110. package/dist/components/popovers/popover-menu/PopoverMenuContext.d.ts +0 -3
  111. package/dist/components/popovers/popover-menu/PopoverMenuContext.js +0 -5
  112. package/dist/components/popovers/popover-menu-item/PopoverMenuItem.css +0 -35
  113. package/dist/components/popovers/popover-menu-item/PopoverMenuItem.d.ts +0 -10
  114. package/dist/components/popovers/popover-menu-item/PopoverMenuItem.js +0 -30
  115. package/dist/components/popovers/tooltip/Tooltip.d.ts +0 -5
  116. package/dist/components/popovers/tooltip/Tooltip.js +0 -12
  117. package/dist/components/progress/Progress.d.ts +0 -7
  118. package/dist/components/progress/Progress.js +0 -26
  119. package/dist/components/scroll-area/ScrollArea.d.ts +0 -4
  120. package/dist/components/scroll-area/ScrollArea.js +0 -10
  121. package/dist/components/scroll-area/ScrollArea.stories.css +0 -9
  122. package/dist/components/search-input/ClearButton.d.ts +0 -2
  123. package/dist/components/search-input/ClearButton.js +0 -10
  124. package/dist/components/search-input/SearchInput.css +0 -13
  125. package/dist/components/search-input/SearchInput.d.ts +0 -14
  126. package/dist/components/search-input/SearchInput.js +0 -61
  127. package/dist/components/search-input/SearchSuggestion.d.ts +0 -17
  128. package/dist/components/search-input/SearchSuggestion.js +0 -21
  129. package/dist/components/search-input/useSearchInput.d.ts +0 -13
  130. package/dist/components/search-input/useSearchInput.js +0 -85
  131. package/dist/components/snackbar/Snackbar.css +0 -55
  132. package/dist/components/snackbar/Snackbar.d.ts +0 -21
  133. package/dist/components/snackbar/Snackbar.js +0 -78
  134. package/dist/components/snackbar/SnackbarContext.d.ts +0 -7
  135. package/dist/components/snackbar/SnackbarContext.js +0 -3
  136. package/dist/components/snackbar/SnackbarProvider.d.ts +0 -8
  137. package/dist/components/snackbar/SnackbarProvider.js +0 -66
  138. package/dist/components/snackbar/useSnackbar.d.ts +0 -2
  139. package/dist/components/snackbar/useSnackbar.js +0 -4
  140. package/dist/components/stepper-horizontal/StepperHorizontal.css +0 -6
  141. package/dist/components/stepper-horizontal/StepperHorizontal.d.ts +0 -7
  142. package/dist/components/stepper-horizontal/StepperHorizontal.js +0 -48
  143. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.css +0 -24
  144. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.d.ts +0 -6
  145. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.js +0 -16
  146. package/dist/components/stepper-vertical/StepperVertical.d.ts +0 -6
  147. package/dist/components/stepper-vertical/StepperVertical.js +0 -26
  148. package/dist/components/stepper-vertical/step-vertical/StepVertical.css +0 -10
  149. package/dist/components/stepper-vertical/step-vertical/StepVertical.d.ts +0 -11
  150. package/dist/components/stepper-vertical/step-vertical/StepVertical.js +0 -58
  151. package/dist/components/tab/Tabs.css +0 -285
  152. package/dist/components/tab/Tabs.d.ts +0 -23
  153. package/dist/components/tab/Tabs.js +0 -194
  154. package/dist/components/tab/interfaces.d.ts +0 -5
  155. package/dist/components/tab/interfaces.js +0 -0
  156. package/dist/components/tab/tab-pane/TabPane.css +0 -8
  157. package/dist/components/tab/tab-pane/TabPane.d.ts +0 -9
  158. package/dist/components/tab/tab-pane/TabPane.js +0 -18
  159. package/dist/components/tab/useTabScroll.d.ts +0 -25
  160. package/dist/components/tab/useTabScroll.js +0 -151
  161. package/dist/components/table-header-cell/TableHeaderCell.d.ts +0 -5
  162. package/dist/components/table-header-cell/TableHeaderCell.js +0 -21
  163. package/dist/forms/checkbox/Checkbox.css +0 -134
  164. package/dist/forms/checkbox/Checkbox.d.ts +0 -15
  165. package/dist/forms/checkbox/Checkbox.js +0 -80
  166. package/dist/forms/radio/RadioButton.d.ts +0 -14
  167. package/dist/forms/radio/RadioButton.js +0 -61
  168. package/dist/forms/radio/RadioGroup.d.ts +0 -12
  169. package/dist/forms/radio/RadioGroup.js +0 -50
  170. package/dist/forms/radio/RadioGroupContext.d.ts +0 -12
  171. package/dist/forms/radio/RadioGroupContext.js +0 -3
  172. package/dist/forms/segment/Segment.d.ts +0 -13
  173. package/dist/forms/segment/Segment.js +0 -59
  174. package/dist/forms/segment/segment-control/SegmentControl.d.ts +0 -14
  175. package/dist/forms/segment/segment-control/SegmentControl.js +0 -57
  176. package/dist/forms/select/Select.css +0 -160
  177. package/dist/forms/select/Select.d.ts +0 -26
  178. package/dist/forms/select/Select.js +0 -95
  179. package/dist/forms/select/internal/HiddenInput.d.ts +0 -8
  180. package/dist/forms/select/internal/HiddenInput.js +0 -15
  181. package/dist/forms/select/internal/ListItem.d.ts +0 -18
  182. package/dist/forms/select/internal/ListItem.js +0 -69
  183. package/dist/forms/select/internal/SelectButton.d.ts +0 -12
  184. package/dist/forms/select/internal/SelectButton.js +0 -49
  185. package/dist/forms/select/internal/SelectButtonContent.d.ts +0 -7
  186. package/dist/forms/select/internal/SelectButtonContent.js +0 -31
  187. package/dist/forms/select/internal/SelectCheckbox.d.ts +0 -4
  188. package/dist/forms/select/internal/SelectCheckbox.js +0 -13
  189. package/dist/forms/select/internal/SelectLabel.d.ts +0 -7
  190. package/dist/forms/select/internal/SelectLabel.js +0 -12
  191. package/dist/forms/select/internal/SelectOptionsContainer.d.ts +0 -17
  192. package/dist/forms/select/internal/SelectOptionsContainer.js +0 -103
  193. package/dist/forms/select/internal/SelectScrollContainer.d.ts +0 -8
  194. package/dist/forms/select/internal/SelectScrollContainer.js +0 -15
  195. package/dist/forms/select/internal/SelectWrapper.d.ts +0 -6
  196. package/dist/forms/select/internal/SelectWrapper.js +0 -12
  197. package/dist/forms/select/internal/index.d.ts +0 -6
  198. package/dist/forms/select/internal/index.js +0 -7
  199. package/dist/forms/select/internal/utils.d.ts +0 -7
  200. package/dist/forms/select/internal/utils.js +0 -30
  201. package/dist/forms/select/select-option/SelectOption.d.ts +0 -14
  202. package/dist/forms/select/select-option/SelectOption.js +0 -12
  203. package/dist/forms/select/utils.d.ts +0 -2
  204. package/dist/forms/select/utils.js +0 -12
  205. package/dist/forms/slider/Slider.css +0 -50
  206. package/dist/forms/slider/Slider.d.ts +0 -17
  207. package/dist/forms/slider/Slider.js +0 -93
  208. package/dist/forms/switch/Switch.d.ts +0 -12
  209. package/dist/forms/switch/Switch.js +0 -42
  210. package/dist/forms/text-area/TextArea.css +0 -14
  211. package/dist/forms/text-area/TextArea.d.ts +0 -22
  212. package/dist/forms/text-area/TextArea.js +0 -99
  213. package/dist/forms/text-input/TextInput.d.ts +0 -24
  214. package/dist/forms/text-input/TextInput.js +0 -74
  215. package/dist/forms/time-picker/TimePicker.css +0 -10
  216. package/dist/forms/time-picker/TimePicker.d.ts +0 -24
  217. package/dist/forms/time-picker/TimePicker.js +0 -140
  218. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.css +0 -4
  219. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.d.ts +0 -19
  220. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.js +0 -202
  221. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.d.ts +0 -9
  222. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.js +0 -14
  223. package/dist/index.d.ts +0 -63
  224. package/dist/index.js +0 -60
  225. package/dist/utils/index.d.ts +0 -1
  226. package/dist/utils/index.js +0 -7
  227. package/dist/utils/setRef.d.ts +0 -1
  228. package/dist/utils/setRef.js +0 -5
  229. package/dist/utils/types.d.ts +0 -29
  230. package/dist/utils/types.js +0 -0
  231. package/dist/utils/useControlled.d.ts +0 -7
  232. package/dist/utils/useControlled.js +0 -20
  233. package/dist/utils/useForkRef.d.ts +0 -2
  234. package/dist/utils/useForkRef.js +0 -15
  235. package/dist/utils/useId.d.ts +0 -1
  236. package/dist/utils/useId.js +0 -20
  237. package/dist/utils/useOnClickOutside.d.ts +0 -2
  238. package/dist/utils/useOnClickOutside.js +0 -20
@@ -1,58 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import "./StepVertical.css";
3
- import classnames from "classnames";
4
- import { forwardRef, useEffect, useRef } from "react";
5
- const StepVertical = /*#__PURE__*/ forwardRef(({ children, className, isActive, isLastElement, isDone, index, title, onStepClick, ...props }, ref)=>{
6
- const containerRef = useRef(null);
7
- const contentRef = useRef(null);
8
- useEffect(()=>{
9
- if (containerRef.current) if (isActive) {
10
- const itemHeight = contentRef.current?.offsetHeight;
11
- containerRef.current.style.height = `${itemHeight}px`;
12
- } else containerRef.current.style.height = '20px';
13
- }, [
14
- isActive
15
- ]);
16
- function handleClick() {
17
- if (onStepClick) onStepClick();
18
- }
19
- return /*#__PURE__*/ jsxs("div", {
20
- ref: ref,
21
- className: classnames('fwe-step-container', {
22
- 'fwe-last-element': isLastElement,
23
- 'fwe-step-active': isActive,
24
- 'fwe-step-done': isDone
25
- }),
26
- ...props,
27
- children: [
28
- /*#__PURE__*/ jsxs("button", {
29
- type: "button",
30
- className: "fwe-step fr-stepper-vertical-step",
31
- onClick: handleClick,
32
- "aria-label": `Step ${(index ?? 0) + 1}: ${title}`,
33
- "aria-current": isActive ? 'step' : void 0,
34
- disabled: !isDone && !isActive,
35
- children: [
36
- void 0 !== index && /*#__PURE__*/ jsx("div", {
37
- className: "fwe-step-no",
38
- children: index + 1
39
- }),
40
- /*#__PURE__*/ jsx("div", {
41
- className: "fwe-step-name",
42
- children: title
43
- })
44
- ]
45
- }),
46
- /*#__PURE__*/ jsx("div", {
47
- ref: containerRef,
48
- className: "fwe-step-content-container",
49
- children: /*#__PURE__*/ jsx("div", {
50
- ref: contentRef,
51
- className: "fwe-step-content",
52
- children: children
53
- })
54
- })
55
- ]
56
- });
57
- });
58
- export { StepVertical };
@@ -1,285 +0,0 @@
1
- .fwe-legacy-tabs {
2
- width: 100%;
3
- height: 100%;
4
- margin: 48px 0;
5
- }
6
-
7
- .fwe-legacy-tab-bar {
8
- width: 75%;
9
- font-size: var(--fwe-font-size-base);
10
- flex-wrap: nowrap;
11
- margin-top: 0;
12
- margin-bottom: 0;
13
- padding-left: 0;
14
- list-style: none;
15
- display: flex;
16
- }
17
-
18
- .fwe-legacy-tab-bar.fwe-legacy-tab-bar-full-width {
19
- width: 100%;
20
- }
21
-
22
- .fwe-legacy-tab-bar.fwe-legacy-tab-items-fill .fwe-legacy-tab-item {
23
- flex: auto;
24
- }
25
-
26
- .fwe-legacy-tab-bar.fwe-legacy-tab-items-equal-width .fwe-legacy-tab-item {
27
- flex: 1 1 0;
28
- }
29
-
30
- .fwe-legacy-tab-item {
31
- background-color: var(--fwe-gray-300);
32
- border-right: 2px solid var(--fwe-gray-100);
33
- text-align: center;
34
- height: 48px;
35
- max-height: 48px;
36
- }
37
-
38
- .fwe-legacy-tab-item:last-child {
39
- border-right: none;
40
- }
41
-
42
- .fwe-legacy-tab-item.fwe-active {
43
- background-color: var(--fwe-white);
44
- }
45
-
46
- .fwe-legacy-tab-item.fwe-active .fwe-legacy-tab-link {
47
- color: var(--fwe-caerul);
48
- }
49
-
50
- .fwe-legacy-tab-item:not(.fwe-active) {
51
- border-bottom: 2px solid var(--fwe-gray-100);
52
- }
53
-
54
- .fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link {
55
- padding: 11px 16px;
56
- }
57
-
58
- .fwe-legacy-tab-link {
59
- cursor: pointer;
60
- width: 100%;
61
- height: 48px;
62
- color: var(--fwe-black);
63
- white-space: nowrap;
64
- background: none;
65
- border: none;
66
- padding: 11px 16px 13px;
67
- line-height: 24px;
68
- display: inline-block;
69
- }
70
-
71
- .fwe-legacy-tab-link .fwe-svg-icon {
72
- margin-right: 8px;
73
- line-height: 0;
74
- }
75
-
76
- .fwe-legacy-tab-link i.fwe-icon {
77
- vertical-align: initial;
78
- padding-right: 8px;
79
- }
80
-
81
- .fwe-legacy-tab-link i.fwe-icon.fwe-icon-lg {
82
- position: relative;
83
- top: 3px;
84
- }
85
-
86
- .fwe-legacy-tab-link:hover {
87
- color: var(--fwe-caerul);
88
- }
89
-
90
- .fwe-legacy-tab-link:active {
91
- background-color: var(--fwe-white);
92
- color: var(--fwe-caerul);
93
- }
94
-
95
- .fwe-legacy-tab-panel-content {
96
- background-color: var(--fwe-white);
97
- height: 100%;
98
- padding: 48px 24px;
99
- overflow: auto;
100
- }
101
-
102
- @media (width <= 375px) {
103
- .fwe-legacy-tab-bar {
104
- background-color: var(--fwe-white);
105
- justify-content: space-between;
106
- width: 100%;
107
- }
108
-
109
- .fwe-legacy-tab-item {
110
- background-color: var(--fwe-white);
111
- border-right: 2px solid var(--fwe-white);
112
- }
113
-
114
- .fwe-legacy-tab-item:not(.fwe-active) {
115
- border-bottom: 2px solid var(--fwe-white);
116
- }
117
-
118
- .fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link, .fwe-legacy-tab-item:not(.fwe-active) .fwe-legacy-tab-link i.fwe-icon {
119
- color: var(--fwe-hero-gray);
120
- }
121
-
122
- .fwe-legacy-tab-link.fwe-can-swap-icon {
123
- direction: rtl;
124
- }
125
-
126
- .fwe-legacy-tab-link.fwe-can-swap-icon i.fwe-icon {
127
- padding-left: 8px;
128
- padding-right: 0;
129
- }
130
- }
131
-
132
- .fr-tab-panel-content {
133
- background-color: var(--fwe-white);
134
- height: 100%;
135
- padding: 48px 24px;
136
- overflow: auto;
137
- }
138
-
139
- .fr-tab-bar {
140
- width: 100%;
141
- }
142
-
143
- .fr-tab-scroller {
144
- overflow-y: hidden;
145
- }
146
-
147
- .fr-tab-scroller-scroll-area {
148
- display: flex;
149
- position: relative;
150
- overflow-x: hidden;
151
- }
152
-
153
- .fr-tab-scroller-scroll-area::-webkit-scrollbar {
154
- display: none;
155
- }
156
-
157
- .fr-tab-scroller-scroll-area--scroll {
158
- overflow-x: scroll;
159
- }
160
-
161
- .fr-tab-scroller-scroll-content {
162
- will-change: transform;
163
- flex: 1 0 auto;
164
- padding: 0 17px 0 16px;
165
- display: flex;
166
- position: relative;
167
- transform: none;
168
- }
169
-
170
- .fr-tab-scroller-scroll-content--with-divider .fr-tab-scroller-divider-line {
171
- display: block;
172
- }
173
-
174
- .fr-tab-scroller--animating .fr-tab-scroller-scroll-content {
175
- transition: transform .25s cubic-bezier(.4, 0, .2, 1);
176
- }
177
-
178
- .fr-tab-scroller-divider-line {
179
- border-bottom: 1px solid var(--fwe-control);
180
- display: none;
181
- position: absolute;
182
- inset: 0;
183
- }
184
-
185
- .fr-tab-indicator {
186
- pointer-events: none;
187
- z-index: 1;
188
- justify-content: center;
189
- width: 100%;
190
- height: 100%;
191
- display: flex;
192
- position: absolute;
193
- top: 0;
194
- left: 0;
195
- }
196
-
197
- .fr-tab-indicator-content {
198
- transform-origin: 0;
199
- opacity: 0;
200
- }
201
-
202
- .fr-tab-indicator-content--underline {
203
- box-sizing: border-box;
204
- border-top-style: solid;
205
- align-self: flex-end;
206
- width: 100%;
207
- }
208
-
209
- .fr-tab-indicator .fr-tab-indicator-content {
210
- transition: transform .25s cubic-bezier(.4, 0, .2, 1);
211
- }
212
-
213
- .fr-tab-indicator .fr-tab-indicator-content--underline {
214
- border-top: 4px solid var(--fwe-caerul);
215
- }
216
-
217
- .fr-tab-indicator--active .fr-tab-indicator-content {
218
- opacity: 1;
219
- }
220
-
221
- .fr-tab {
222
- text-align: center;
223
- white-space: nowrap;
224
- cursor: pointer;
225
- -webkit-appearance: none;
226
- z-index: 1;
227
- background: none;
228
- border: none;
229
- outline: none;
230
- flex: 1 0 auto;
231
- justify-content: center;
232
- height: 36px;
233
- margin: 0;
234
- padding: 0;
235
- display: flex;
236
- position: relative;
237
- }
238
-
239
- .fr-tab:not(:last-child) {
240
- margin-right: 32px;
241
- }
242
-
243
- .fr-tab::-moz-focus-inner {
244
- border: 0;
245
- padding: 0;
246
- }
247
-
248
- .fr-tab .fr-tab-text-label {
249
- color: var(--fwe-text);
250
- }
251
-
252
- .fr-tab--active .fr-tab-text-label {
253
- color: var(--fwe-caerul);
254
- }
255
-
256
- .fr-tab-content {
257
- height: inherit;
258
- pointer-events: none;
259
- justify-content: center;
260
- align-items: flex-start;
261
- display: flex;
262
- position: relative;
263
- }
264
-
265
- .fr-tab-text-label {
266
- z-index: 2;
267
- display: inline-block;
268
- }
269
-
270
- .fr-tab-scroller-scroll-area:not(.fr-tab-scroller-scroll-area--compact) .fr-tab {
271
- flex: none;
272
- }
273
-
274
- .fr-tab-scroller-scroll-area:not(.fr-tab-scroller-scroll-area--compact) .fr-tab:not(:last-child) {
275
- margin-right: 64px;
276
- }
277
-
278
- .fr-tab-scroller-scroll-area:not(.fr-tab-scroller-scroll-area--compact) .fr-tab-scroller-scroll-content {
279
- padding: 0 32px;
280
- }
281
-
282
- .fr-tab-scroller-scroll-area:not(.fr-tab-scroller-scroll-area--compact) .fr-tab-scroller-divider-line {
283
- padding-right: 64px;
284
- }
285
-
@@ -1,23 +0,0 @@
1
- import './Tabs.scss';
2
- import React, { type ComponentPropsWithoutRef } from 'react';
3
- type TabItemAppearance = 'fill' | 'equal' | 'default';
4
- export type TabViewType = 'legacy' | 'responsive';
5
- export interface TabsConfiguration {
6
- tabBar?: {
7
- fullWidth?: boolean;
8
- };
9
- tabItems?: {
10
- appearance: TabItemAppearance;
11
- };
12
- }
13
- export interface TabsProps extends Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> {
14
- config?: TabsConfiguration;
15
- viewType?: TabViewType;
16
- showDivider?: boolean;
17
- onChange?: (value: {
18
- previous: string;
19
- current: string;
20
- }) => void;
21
- }
22
- export declare const Tabs: (props: TabsProps & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
23
- export {};
@@ -1,194 +0,0 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
- import "./Tabs.css";
3
- import classnames from "classnames";
4
- import react, { forwardRef, isValidElement, useEffect, useRef, useState } from "react";
5
- import { useForkRef } from "../../utils/useForkRef.js";
6
- import { IconWrapper } from "../icon-wrapper/IconWrapper.js";
7
- import { useTabScroll } from "./useTabScroll.js";
8
- let nextId = 0;
9
- const Tabs = /*#__PURE__*/ forwardRef(({ config, children, className, onChange, viewType = 'responsive', showDivider = false, ...props }, ref)=>{
10
- const [useCompactDensity, setCompactDensity] = useState(true);
11
- const componentId = useRef(`tabs-${++nextId}`);
12
- const elRef = useRef(null);
13
- const combinedRef = useForkRef(ref, elRef);
14
- const scrollContent = useRef(null);
15
- const scrollArea = useRef(null);
16
- const observer = useRef(null);
17
- let activeId = '';
18
- react.Children.forEach(children, (element, i)=>{
19
- if (/*#__PURE__*/ react.isValidElement(element)) {
20
- if ('' === activeId) activeId = `${componentId.current}-tab-panel-${i}`;
21
- else if (element.props.active) activeId = `${componentId.current}-tab-panel-${i}`;
22
- }
23
- });
24
- const [currentId, setId] = useState(activeId);
25
- const innerChildren = react.Children.map(children, (element, i)=>{
26
- if (/*#__PURE__*/ isValidElement(element)) {
27
- const newId = `${componentId.current}-tab-panel-${i}`;
28
- return /*#__PURE__*/ react.cloneElement(element, {
29
- isVisible: newId === currentId,
30
- active: newId === currentId,
31
- id: newId,
32
- tabId: `${componentId.current}-tab-${i}`,
33
- ...element.props
34
- });
35
- }
36
- });
37
- const [handleTabScroll, classes, style] = useTabScroll(innerChildren?.length ?? 0, componentId.current, {
38
- elRef,
39
- scrollContent,
40
- scrollArea
41
- });
42
- useEffect(()=>{
43
- const { current } = scrollArea;
44
- if (current) {
45
- const initialWidth = current.offsetWidth;
46
- if (initialWidth > 768) setCompactDensity(false);
47
- observer.current = new ResizeObserver(()=>{
48
- const width = current.offsetWidth;
49
- if (width > 768 && useCompactDensity) setCompactDensity(false);
50
- else if (width <= 768 && !useCompactDensity) setCompactDensity(true);
51
- });
52
- if (current) observer.current.observe(current);
53
- }
54
- return ()=>{
55
- if (current && observer && observer.current) observer.current.unobserve(current);
56
- };
57
- }, [
58
- useCompactDensity
59
- ]);
60
- const showTabPane = (id)=>{
61
- if (null == id) return;
62
- if (onChange) onChange({
63
- previous: currentId,
64
- current: id
65
- });
66
- setId(id);
67
- };
68
- function handleClick(e, index, id) {
69
- handleTabScroll(e, index);
70
- if (void 0 !== id) showTabPane(id);
71
- }
72
- return /*#__PURE__*/ jsx(Fragment, {
73
- children: 'legacy' === viewType ? /*#__PURE__*/ jsxs("div", {
74
- className: classnames('fwe-legacy-tabs', className),
75
- children: [
76
- /*#__PURE__*/ jsx("ul", {
77
- role: "tablist",
78
- className: classnames('fwe-legacy-tab-bar', {
79
- 'fwe-legacy-tab-bar-full-width': config?.tabBar?.fullWidth
80
- }, {
81
- 'fwe-legacy-tab-items-equal-width': config?.tabItems?.appearance === 'equal'
82
- }, {
83
- 'fwe-legacy-tab-items-fill': config?.tabItems?.appearance === 'fill'
84
- }),
85
- children: innerChildren?.map((child, i)=>{
86
- const { active, icon, name, id, tabId } = child.props;
87
- return /*#__PURE__*/ jsx("li", {
88
- className: classnames('fwe-legacy-tab-item', {
89
- 'fwe-active': active
90
- }),
91
- children: icon ? /*#__PURE__*/ jsxs("button", {
92
- type: "button",
93
- id: tabId,
94
- className: classnames('fwe-legacy-tab-link', {
95
- 'fwe-can-swap-icon': 2 === innerChildren.length && 1 === i
96
- }),
97
- role: "tab",
98
- "aria-controls": id,
99
- "aria-selected": active,
100
- onClick: ()=>showTabPane(id),
101
- children: [
102
- /*#__PURE__*/ jsx(IconWrapper, {
103
- icon: icon
104
- }),
105
- /*#__PURE__*/ jsx("span", {
106
- children: name
107
- })
108
- ]
109
- }) : /*#__PURE__*/ jsx("button", {
110
- type: "button",
111
- id: tabId,
112
- className: "fwe-legacy-tab-link",
113
- role: "tab",
114
- "aria-controls": id,
115
- "aria-selected": active,
116
- onClick: ()=>showTabPane(id),
117
- children: name
118
- })
119
- }, tabId);
120
- })
121
- }),
122
- /*#__PURE__*/ jsx("div", {
123
- className: "fwe-legacy-tab-panel-content",
124
- children: innerChildren
125
- })
126
- ]
127
- }) : /*#__PURE__*/ jsxs("div", {
128
- className: "fr-tab-bar",
129
- role: "tablist",
130
- ref: combinedRef,
131
- ...props,
132
- children: [
133
- /*#__PURE__*/ jsx("div", {
134
- className: classnames('fr-tab-scroller', classes),
135
- children: /*#__PURE__*/ jsx("div", {
136
- className: classnames('fr-tab-scroller-scroll-area fr-tab-scroller-scroll-area--scroll', {
137
- 'fr-tab-scroller-scroll-area--compact': useCompactDensity
138
- }),
139
- ref: scrollArea,
140
- children: /*#__PURE__*/ jsxs("div", {
141
- className: classnames('fr-tab-scroller-scroll-content', {
142
- 'fr-tab-scroller-scroll-content--with-divider': showDivider
143
- }),
144
- ref: scrollContent,
145
- style: style,
146
- children: [
147
- innerChildren?.map((child, i)=>{
148
- const { active, name, id, tabId } = child.props;
149
- return /*#__PURE__*/ jsxs("button", {
150
- type: "button",
151
- role: "tab",
152
- className: classnames('fr-tab', {
153
- 'fr-tab--active': active
154
- }),
155
- id: tabId,
156
- "aria-controls": id,
157
- "aria-selected": active,
158
- tabIndex: 0 === i ? 0 : 1,
159
- onClick: (e)=>handleClick(e, i, id),
160
- children: [
161
- /*#__PURE__*/ jsx("span", {
162
- className: "fr-tab-content",
163
- children: /*#__PURE__*/ jsx("span", {
164
- className: "fr-tab-text-label",
165
- children: name
166
- })
167
- }),
168
- /*#__PURE__*/ jsx("span", {
169
- className: classnames('fr-tab-indicator', {
170
- 'fr-tab-indicator--active': active
171
- }),
172
- children: /*#__PURE__*/ jsx("span", {
173
- className: "fr-tab-indicator-content fr-tab-indicator-content--underline"
174
- })
175
- })
176
- ]
177
- }, tabId);
178
- }),
179
- /*#__PURE__*/ jsx("div", {
180
- className: "fr-tab-scroller-divider-line"
181
- })
182
- ]
183
- })
184
- })
185
- }),
186
- /*#__PURE__*/ jsx("div", {
187
- className: "fr-tab-panel-content",
188
- children: innerChildren
189
- })
190
- ]
191
- })
192
- });
193
- });
194
- export { Tabs };
@@ -1,5 +0,0 @@
1
- export type Tab = {
2
- icon?: React.ReactNode;
3
- active?: boolean;
4
- name: string;
5
- };
File without changes
@@ -1,8 +0,0 @@
1
- .fr-show {
2
- display: block;
3
- }
4
-
5
- .fr-hide {
6
- display: none;
7
- }
8
-
@@ -1,9 +0,0 @@
1
- import './TabPane.scss';
2
- import type { ClassNamePropsWithChildren } from '../../../utils/types';
3
- import type { Tab } from '../interfaces';
4
- export interface TabPaneProps extends ClassNamePropsWithChildren, Tab {
5
- readonly id?: string;
6
- readonly isVisible?: boolean;
7
- readonly tabId?: string;
8
- }
9
- export declare function TabPane({ isVisible, children, className, tabId, id, }: TabPaneProps): import("react/jsx-runtime").JSX.Element;
@@ -1,18 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import "./TabPane.css";
3
- import classnames from "classnames";
4
- function TabPane({ isVisible = false, children, className, tabId, id }) {
5
- const tabPaneClasses = classnames({
6
- 'fr-show': isVisible
7
- }, {
8
- 'fr-hide': !isVisible
9
- }, className);
10
- return /*#__PURE__*/ jsx("div", {
11
- id: id,
12
- role: "tabpanel",
13
- "aria-labelledby": tabId,
14
- className: tabPaneClasses,
15
- children: children
16
- });
17
- }
18
- export { TabPane };
@@ -1,25 +0,0 @@
1
- import type React from 'react';
2
- import { type CSSProperties } from 'react';
3
- export interface TabDimensions {
4
- rootLeft: number;
5
- rootRight: number;
6
- contentLeft: number;
7
- contentRight: number;
8
- }
9
- export interface TabScrollAnimation {
10
- finalScrollPosition: number;
11
- scrollDelta: number;
12
- }
13
- export interface TabScrollHorizontalEdges {
14
- left: number;
15
- right: number;
16
- }
17
- type TypeHandleTabScroll = (e: React.MouseEvent<HTMLButtonElement>, index: number) => void;
18
- interface Refs {
19
- elRef: React.MutableRefObject<HTMLDivElement | null>;
20
- scrollContent: React.MutableRefObject<HTMLDivElement | null>;
21
- scrollArea: React.MutableRefObject<HTMLDivElement | null>;
22
- }
23
- type TypeUseTabScroll = (tabLength: number, componentId: string, refs: Refs) => [TypeHandleTabScroll, string, CSSProperties];
24
- export declare const useTabScroll: TypeUseTabScroll;
25
- export {};