@festo-ui/react 10.0.1-dev.848 → 10.0.1-dev.849

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 (209) hide show
  1. package/package.json +1 -1
  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 -42
  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 -12
  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 -61
  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 -56
  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 -21
  21. package/dist/components/bottom-sheet/BottomSheet.css +0 -18
  22. package/dist/components/bottom-sheet/BottomSheet.d.ts +0 -10
  23. package/dist/components/bottom-sheet/BottomSheet.js +0 -104
  24. package/dist/components/breadcrumb/Breadcrumb.d.ts +0 -13
  25. package/dist/components/breadcrumb/Breadcrumb.js +0 -61
  26. package/dist/components/button/Button.d.ts +0 -11
  27. package/dist/components/button/Button.js +0 -37
  28. package/dist/components/card/Card.d.ts +0 -3
  29. package/dist/components/card/Card.js +0 -11
  30. package/dist/components/card/CardBody.d.ts +0 -5
  31. package/dist/components/card/CardBody.js +0 -17
  32. package/dist/components/card/CardHeader.d.ts +0 -8
  33. package/dist/components/card/CardHeader.js +0 -33
  34. package/dist/components/card/CardHeader.stories.helper.js +0 -7
  35. package/dist/components/card/CardNotification.d.ts +0 -5
  36. package/dist/components/card/CardNotification.js +0 -30
  37. package/dist/components/chips/chip/Chip.d.ts +0 -16
  38. package/dist/components/chips/chip/Chip.js +0 -45
  39. package/dist/components/chips/chip-container/ChipContainer.d.ts +0 -5
  40. package/dist/components/chips/chip-container/ChipContainer.js +0 -16
  41. package/dist/components/icon-wrapper/IconWrapper.d.ts +0 -7
  42. package/dist/components/icon-wrapper/IconWrapper.js +0 -13
  43. package/dist/components/loading-indicator/LoadingIndicator.d.ts +0 -5
  44. package/dist/components/loading-indicator/LoadingIndicator.js +0 -42
  45. package/dist/components/mobile-flyout/MobileFlyout.d.ts +0 -11
  46. package/dist/components/mobile-flyout/MobileFlyout.js +0 -89
  47. package/dist/components/mobile-flyout/MobileFlyoutContext.d.ts +0 -8
  48. package/dist/components/mobile-flyout/MobileFlyoutContext.js +0 -3
  49. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.d.ts +0 -18
  50. package/dist/components/mobile-flyout/mobile-flyout-item/MobileFlyoutItem.js +0 -37
  51. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.css +0 -5
  52. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.d.ts +0 -8
  53. package/dist/components/mobile-flyout/mobile-flyout-page/MobileFlyoutPage.js +0 -36
  54. package/dist/components/modals/AlertModal.d.ts +0 -12
  55. package/dist/components/modals/AlertModal.js +0 -54
  56. package/dist/components/modals/ConfirmModal.d.ts +0 -11
  57. package/dist/components/modals/ConfirmModal.js +0 -47
  58. package/dist/components/modals/CustomModal.d.ts +0 -8
  59. package/dist/components/modals/CustomModal.js +0 -39
  60. package/dist/components/modals/Modal.css +0 -39
  61. package/dist/components/modals/Modal.d.ts +0 -8
  62. package/dist/components/modals/Modal.js +0 -32
  63. package/dist/components/modals/ModalBase.d.ts +0 -10
  64. package/dist/components/modals/ModalBase.js +0 -125
  65. package/dist/components/modals/ModalFooter.d.ts +0 -2
  66. package/dist/components/modals/ModalFooter.js +0 -14
  67. package/dist/components/modals/Prompt.d.ts +0 -15
  68. package/dist/components/modals/Prompt.js +0 -61
  69. package/dist/components/modals/image-gallery/ImageGallery.css +0 -833
  70. package/dist/components/modals/image-gallery/ImageGallery.d.ts +0 -21
  71. package/dist/components/modals/image-gallery/ImageGallery.helper.d.ts +0 -2
  72. package/dist/components/modals/image-gallery/ImageGallery.helper.js +0 -13
  73. package/dist/components/modals/image-gallery/ImageGallery.js +0 -104
  74. package/dist/components/modals/image-gallery/ImageGallery.stories.helper.js +0 -112
  75. package/dist/components/modals/image-gallery/ImageGalleryContent.d.ts +0 -8
  76. package/dist/components/modals/image-gallery/ImageGalleryContent.js +0 -15
  77. package/dist/components/modals/image-gallery/ImageGalleryScale.d.ts +0 -6
  78. package/dist/components/modals/image-gallery/ImageGalleryScale.js +0 -15
  79. package/dist/components/modals/image-gallery/ImageGallerySwiper.d.ts +0 -12
  80. package/dist/components/modals/image-gallery/ImageGallerySwiper.js +0 -40
  81. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.d.ts +0 -7
  82. package/dist/components/modals/image-gallery/ImageGalleryThumbsSwiper.js +0 -27
  83. package/dist/components/modals/image-gallery/internal/CloseButton.d.ts +0 -6
  84. package/dist/components/modals/image-gallery/internal/CloseButton.js +0 -14
  85. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.d.ts +0 -5
  86. package/dist/components/modals/image-gallery/internal/ImageGalleryContainer.js +0 -8
  87. package/dist/components/modals/image-gallery/internal/ImageGalleryPagination.d.ts +0 -5
  88. package/dist/components/modals/image-gallery/internal/ImageGalleryPagination.js +0 -29
  89. package/dist/components/pagination/Pagination.css +0 -10
  90. package/dist/components/pagination/Pagination.d.ts +0 -14
  91. package/dist/components/pagination/Pagination.js +0 -104
  92. package/dist/components/popovers/legend/Legend.d.ts +0 -11
  93. package/dist/components/popovers/legend/Legend.js +0 -25
  94. package/dist/components/popovers/popover/Popover.css +0 -9
  95. package/dist/components/popovers/popover/Popover.d.ts +0 -19
  96. package/dist/components/popovers/popover/Popover.js +0 -96
  97. package/dist/components/popovers/popover-menu/PopoverMenu.d.ts +0 -9
  98. package/dist/components/popovers/popover-menu/PopoverMenu.js +0 -33
  99. package/dist/components/popovers/popover-menu/PopoverMenuContext.d.ts +0 -4
  100. package/dist/components/popovers/popover-menu/PopoverMenuContext.js +0 -5
  101. package/dist/components/popovers/popover-menu/popover-menu-item/PopoverMenuItem.d.ts +0 -9
  102. package/dist/components/popovers/popover-menu/popover-menu-item/PopoverMenuItem.js +0 -31
  103. package/dist/components/popovers/tooltip/Tooltip.d.ts +0 -6
  104. package/dist/components/popovers/tooltip/Tooltip.js +0 -13
  105. package/dist/components/progress/Progress.d.ts +0 -6
  106. package/dist/components/progress/Progress.js +0 -30
  107. package/dist/components/search-input/ClearButton.d.ts +0 -1
  108. package/dist/components/search-input/ClearButton.js +0 -11
  109. package/dist/components/search-input/SearchInput.css +0 -13
  110. package/dist/components/search-input/SearchInput.d.ts +0 -13
  111. package/dist/components/search-input/SearchInput.js +0 -65
  112. package/dist/components/search-input/SearchSuggestion.d.ts +0 -17
  113. package/dist/components/search-input/SearchSuggestion.js +0 -21
  114. package/dist/components/search-input/useSearchInput.d.ts +0 -13
  115. package/dist/components/search-input/useSearchInput.js +0 -85
  116. package/dist/components/snackbar/Snackbar.css +0 -55
  117. package/dist/components/snackbar/Snackbar.d.ts +0 -21
  118. package/dist/components/snackbar/Snackbar.js +0 -82
  119. package/dist/components/snackbar/SnackbarContext.d.ts +0 -7
  120. package/dist/components/snackbar/SnackbarContext.js +0 -3
  121. package/dist/components/snackbar/SnackbarProvider.d.ts +0 -7
  122. package/dist/components/snackbar/SnackbarProvider.js +0 -69
  123. package/dist/components/snackbar/useSnackbar.d.ts +0 -2
  124. package/dist/components/snackbar/useSnackbar.js +0 -4
  125. package/dist/components/stepper-horizontal/StepperHorizontal.css +0 -6
  126. package/dist/components/stepper-horizontal/StepperHorizontal.d.ts +0 -7
  127. package/dist/components/stepper-horizontal/StepperHorizontal.js +0 -49
  128. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.css +0 -24
  129. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.d.ts +0 -6
  130. package/dist/components/stepper-horizontal/step-horizontal/StepHorizontal.js +0 -17
  131. package/dist/components/stepper-vertical/StepperVertical.d.ts +0 -6
  132. package/dist/components/stepper-vertical/StepperVertical.js +0 -26
  133. package/dist/components/stepper-vertical/step-vertical/StepVertical.css +0 -10
  134. package/dist/components/stepper-vertical/step-vertical/StepVertical.d.ts +0 -11
  135. package/dist/components/stepper-vertical/step-vertical/StepVertical.js +0 -59
  136. package/dist/components/tab/Tabs.css +0 -285
  137. package/dist/components/tab/Tabs.d.ts +0 -22
  138. package/dist/components/tab/Tabs.js +0 -194
  139. package/dist/components/tab/interfaces.d.ts +0 -5
  140. package/dist/components/tab/interfaces.js +0 -0
  141. package/dist/components/tab/tab-pane/TabPane.css +0 -8
  142. package/dist/components/tab/tab-pane/TabPane.d.ts +0 -8
  143. package/dist/components/tab/tab-pane/TabPane.js +0 -22
  144. package/dist/components/tab/useTabScroll.d.ts +0 -25
  145. package/dist/components/tab/useTabScroll.js +0 -151
  146. package/dist/components/table-header-cell/TableHeaderCell.d.ts +0 -6
  147. package/dist/components/table-header-cell/TableHeaderCell.js +0 -22
  148. package/dist/forms/checkbox/Checkbox.css +0 -134
  149. package/dist/forms/checkbox/Checkbox.d.ts +0 -12
  150. package/dist/forms/checkbox/Checkbox.js +0 -83
  151. package/dist/forms/combobox/ComboBox.css +0 -124
  152. package/dist/forms/combobox/ComboBox.d.ts +0 -27
  153. package/dist/forms/combobox/ComboBox.js +0 -174
  154. package/dist/forms/multi-select/MultiSelect.css +0 -13
  155. package/dist/forms/multi-select/MultiSelect.d.ts +0 -20
  156. package/dist/forms/multi-select/MultiSelect.js +0 -192
  157. package/dist/forms/radio/RadioButton.d.ts +0 -14
  158. package/dist/forms/radio/RadioButton.js +0 -57
  159. package/dist/forms/radio/RadioGroup.d.ts +0 -12
  160. package/dist/forms/radio/RadioGroup.js +0 -51
  161. package/dist/forms/radio/RadioGroupContext.d.ts +0 -12
  162. package/dist/forms/radio/RadioGroupContext.js +0 -3
  163. package/dist/forms/segment/Segment.d.ts +0 -12
  164. package/dist/forms/segment/Segment.js +0 -60
  165. package/dist/forms/segment/segment-control/SegmentControl.d.ts +0 -10
  166. package/dist/forms/segment/segment-control/SegmentControl.js +0 -59
  167. package/dist/forms/select/Select.d.ts +0 -25
  168. package/dist/forms/select/Select.js +0 -93
  169. package/dist/forms/select/internal/SelectButton.d.ts +0 -0
  170. package/dist/forms/select/internal/SelectButton.js +0 -0
  171. package/dist/forms/select/internal/SelectButtonContent.d.ts +0 -0
  172. package/dist/forms/select/internal/SelectButtonContent.js +0 -0
  173. package/dist/forms/select/internal/SelectOptionsContainer.d.ts +0 -0
  174. package/dist/forms/select/internal/SelectOptionsContainer.js +0 -0
  175. package/dist/forms/slider/Slider.css +0 -50
  176. package/dist/forms/slider/Slider.d.ts +0 -14
  177. package/dist/forms/slider/Slider.js +0 -98
  178. package/dist/forms/switch/Switch.d.ts +0 -10
  179. package/dist/forms/switch/Switch.js +0 -48
  180. package/dist/forms/text-area/TextArea.css +0 -14
  181. package/dist/forms/text-area/TextArea.d.ts +0 -13
  182. package/dist/forms/text-area/TextArea.js +0 -116
  183. package/dist/forms/text-input/TextInput.css +0 -31
  184. package/dist/forms/text-input/TextInput.d.ts +0 -13
  185. package/dist/forms/text-input/TextInput.js +0 -65
  186. package/dist/forms/time-picker/TimePicker.css +0 -10
  187. package/dist/forms/time-picker/TimePicker.d.ts +0 -25
  188. package/dist/forms/time-picker/TimePicker.js +0 -125
  189. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.css +0 -4
  190. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.d.ts +0 -19
  191. package/dist/forms/time-picker/time-picker-dropdown/TimePickerDropdown.js +0 -209
  192. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.d.ts +0 -9
  193. package/dist/forms/time-picker/time-picker-dropdown/TimePickerInput.js +0 -15
  194. package/dist/index.d.ts +0 -60
  195. package/dist/index.js +0 -60
  196. package/dist/utils/index.d.ts +0 -1
  197. package/dist/utils/index.js +0 -7
  198. package/dist/utils/setRef.d.ts +0 -1
  199. package/dist/utils/setRef.js +0 -5
  200. package/dist/utils/types.d.ts +0 -23
  201. package/dist/utils/types.js +0 -0
  202. package/dist/utils/useControlled.d.ts +0 -7
  203. package/dist/utils/useControlled.js +0 -20
  204. package/dist/utils/useForkRef.d.ts +0 -2
  205. package/dist/utils/useForkRef.js +0 -15
  206. package/dist/utils/useId.d.ts +0 -1
  207. package/dist/utils/useId.js +0 -20
  208. package/dist/utils/useOnClickOutside.d.ts +0 -2
  209. package/dist/utils/useOnClickOutside.js +0 -20
@@ -1,151 +0,0 @@
1
- import { useState } from "react";
2
- const useTabScroll = (tabLength, componentId, refs)=>{
3
- const { elRef, scrollContent, scrollArea } = refs;
4
- const [style, setStyle] = useState({});
5
- const [classes, setClasses] = useState('');
6
- function getScrollContentStyleValue(propName) {
7
- return scrollContent.current ? window.getComputedStyle(scrollContent.current).getPropertyValue(propName) : '';
8
- }
9
- function calculateCurrentTranslateX() {
10
- const transformValue = getScrollContentStyleValue('transform');
11
- if ('none' === transformValue) return 0;
12
- const match = /\(([^)]+)\)/.exec(transformValue);
13
- if (!match) return 0;
14
- const matrixParams = match[1];
15
- const [_a, _b, _c, _d, tx, _ty] = matrixParams.split(',');
16
- return parseFloat(tx);
17
- }
18
- function getScrollPosition() {
19
- const currentTranslateX = calculateCurrentTranslateX();
20
- const scrollLeft = scrollArea.current?.scrollLeft ?? 0;
21
- return scrollLeft - currentTranslateX;
22
- }
23
- function calculateScrollEdges() {
24
- const scrollContentWidth = scrollContent.current?.offsetWidth ?? 0;
25
- const scrollAreaWidth = scrollArea.current?.offsetWidth ?? 0;
26
- return {
27
- left: 0,
28
- right: scrollContentWidth - scrollAreaWidth
29
- };
30
- }
31
- function clampScrollValue(scrollX) {
32
- const edges = calculateScrollEdges();
33
- return Math.min(Math.max(edges.left, scrollX), edges.right);
34
- }
35
- function getIncrementScrollOperation(scrollX) {
36
- const currentScrollX = getScrollPosition();
37
- const targetScrollX = scrollX + currentScrollX;
38
- const safeScrollX = clampScrollValue(targetScrollX);
39
- const scrollDelta = safeScrollX - currentScrollX;
40
- return {
41
- finalScrollPosition: safeScrollX,
42
- scrollDelta
43
- };
44
- }
45
- function getAnimatingScrollPosition() {
46
- const currentTranslateX = calculateCurrentTranslateX();
47
- const scrollLeft = scrollArea.current?.scrollLeft ?? 0;
48
- return scrollLeft - currentTranslateX;
49
- }
50
- function stopScrollAnimation() {
51
- const currentScrollPosition = getAnimatingScrollPosition();
52
- setClasses('');
53
- setStyle({
54
- transform: 'translateX(0px)'
55
- });
56
- if (scrollArea.current) scrollArea.current.scrollLeft = currentScrollPosition;
57
- }
58
- function animate(animation) {
59
- if (0 === animation.scrollDelta) return;
60
- stopScrollAnimation();
61
- if (scrollArea.current) scrollArea.current.scrollLeft = animation.finalScrollPosition;
62
- setStyle({
63
- transform: `translateX(${animation.scrollDelta}px)`
64
- });
65
- if (scrollArea.current) scrollArea.current.getBoundingClientRect();
66
- requestAnimationFrame(()=>{
67
- setClasses('fr-tab-scroller--animating');
68
- setStyle({
69
- transform: 'none'
70
- });
71
- });
72
- }
73
- function incrementScroll(scrollXIncrement) {
74
- if (0 === scrollXIncrement) return;
75
- const scrollOperation = getIncrementScrollOperation(scrollXIncrement);
76
- animate(scrollOperation);
77
- }
78
- function computeDimensions(tab) {
79
- const rootWidth = tab.offsetWidth;
80
- const rootLeft = tab.offsetLeft;
81
- const tabContent = tab.querySelector('.fr-tab-content');
82
- const contentWidth = tabContent?.offsetWidth ?? 0;
83
- const contentLeft = tabContent?.offsetLeft ?? 0;
84
- return {
85
- contentLeft: rootLeft + contentLeft,
86
- contentRight: rootLeft + contentLeft + contentWidth,
87
- rootLeft,
88
- rootRight: rootLeft + rootWidth
89
- };
90
- }
91
- function calculateScrollIncrement(index, nextIndex, scrollPosition, barWidth) {
92
- const nextTab = elRef.current?.querySelector(`#${componentId}-tab-${nextIndex}`);
93
- if (null == nextTab) return 0;
94
- const nextTabDimensions = computeDimensions(nextTab);
95
- const relativeContentLeft = nextTabDimensions.contentLeft - scrollPosition - barWidth;
96
- const relativeContentRight = nextTabDimensions.contentRight - scrollPosition;
97
- const leftIncrement = relativeContentRight - 48;
98
- const rightIncrement = relativeContentLeft + 48;
99
- if (nextIndex < index) return Math.min(leftIncrement, 0);
100
- return Math.max(rightIncrement, 0);
101
- }
102
- function findAdjacentTabIndexClosestToEdge(index, tabDimensions, scrollPosition, barWidth) {
103
- const relativeRootLeft = tabDimensions.rootLeft - scrollPosition;
104
- const relativeRootRight = tabDimensions.rootRight - scrollPosition - barWidth;
105
- const relativeRootDelta = relativeRootLeft + relativeRootRight;
106
- const leftEdgeIsCloser = relativeRootLeft < 0 || relativeRootDelta < 0;
107
- const rightEdgeIsCloser = relativeRootRight > 0 || relativeRootDelta > 0;
108
- if (leftEdgeIsCloser) return index - 1;
109
- if (rightEdgeIsCloser) return index + 1;
110
- return -1;
111
- }
112
- function indexIsInRange(index) {
113
- return index >= 0 && index < tabLength;
114
- }
115
- function scrollIntoView(index, tab) {
116
- const scrollPosition = getScrollPosition();
117
- const barWidth = scrollArea.current?.offsetWidth ?? 0;
118
- const tabDimensions = computeDimensions(tab);
119
- const nextIndex = findAdjacentTabIndexClosestToEdge(index, tabDimensions, scrollPosition, barWidth);
120
- if (!indexIsInRange(nextIndex)) return;
121
- const scrollIncrement = calculateScrollIncrement(index, nextIndex, scrollPosition, barWidth);
122
- incrementScroll(scrollIncrement);
123
- }
124
- function scrollTo(scrollX) {
125
- const currentScrollX = getScrollPosition();
126
- const safeScrollX = clampScrollValue(scrollX);
127
- const scrollDelta = safeScrollX - currentScrollX;
128
- animate({
129
- finalScrollPosition: safeScrollX,
130
- scrollDelta
131
- });
132
- }
133
- function handleTabScroll(e, index) {
134
- const scrollContentWidth = scrollContent.current?.offsetWidth ?? 0;
135
- const scrollAreaWidth = scrollArea.current?.offsetWidth ?? 0;
136
- if (scrollAreaWidth > scrollContentWidth) return;
137
- if (!indexIsInRange(index)) return;
138
- if (0 === index) return void scrollTo(0);
139
- if (index === tabLength - 1 && scrollContent.current) return void scrollTo(scrollContent.current.offsetWidth);
140
- if (e.currentTarget instanceof HTMLElement) {
141
- const currentTab = e.currentTarget;
142
- scrollIntoView(index, currentTab);
143
- }
144
- }
145
- return [
146
- handleTabScroll,
147
- classes,
148
- style
149
- ];
150
- };
151
- export { useTabScroll };
@@ -1,6 +0,0 @@
1
- import { type ComponentPropsWithoutRef } from 'react';
2
- export interface TableHeaderCellProps extends ComponentPropsWithoutRef<'th'> {
3
- readonly active?: boolean;
4
- readonly ascending: boolean;
5
- }
6
- export declare const TableHeaderCell: (props: TableHeaderCellProps & import("react").RefAttributes<HTMLTableCellElement>) => React.ReactElement | null;
@@ -1,22 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import classnames from "classnames";
3
- import { forwardRef } from "react";
4
- const TableHeaderCell = /*#__PURE__*/ forwardRef(({ active, ascending, className, ...props }, ref)=>{
5
- function handleClick(event) {
6
- if (props.onClick) props.onClick(event);
7
- }
8
- return /*#__PURE__*/ jsx("th", {
9
- ...props,
10
- className: classnames('fwe-table-order', {
11
- 'fwe-active': active
12
- }, {
13
- 'fwe-table-order-ascending': active && ascending
14
- }, {
15
- 'fwe-table-order-descending': active && !ascending
16
- }, className),
17
- onClick: handleClick,
18
- ref: ref
19
- });
20
- });
21
- TableHeaderCell.displayName = 'TableHeaderCell';
22
- export { TableHeaderCell };
@@ -1,134 +0,0 @@
1
- .fwe-checkbox-container {
2
- font-family: var(--fwe-font-family-sans-serif);
3
- user-select: none;
4
- cursor: pointer;
5
- flex-direction: row;
6
- align-items: center;
7
- display: flex;
8
- }
9
-
10
- .fwe-checkbox-container.fwe-label-below {
11
- flex-direction: column;
12
- }
13
-
14
- .fwe-checkbox-container.fwe-label-below .fwe-checkbox-title {
15
- margin: 8px 0 0;
16
- }
17
-
18
- .fwe-checkbox-container.fwe-label-before {
19
- flex-direction: row-reverse;
20
- justify-content: flex-end;
21
- }
22
-
23
- .fwe-checkbox-container.fwe-label-before .fwe-checkbox-title {
24
- margin: 0 8px 0 0;
25
- }
26
-
27
- .fwe-checkbox-container .fwe-checkbox-indicator-container {
28
- position: relative;
29
- }
30
-
31
- .fwe-checkbox-container input {
32
- opacity: 0;
33
- cursor: pointer;
34
- width: 0;
35
- height: 0;
36
- }
37
-
38
- .fwe-checkbox-container .fwe-checkbox-title {
39
- color: var(--fwe-text);
40
- user-select: none;
41
- margin-left: 8px;
42
- line-height: 24px;
43
- }
44
-
45
- .fwe-checkbox-container .fwe-checkbox-indicator-background {
46
- box-sizing: border-box;
47
- background: var(--fwe-white);
48
- border: 1px solid var(--fwe-text-light);
49
- border-radius: 2px;
50
- width: 16px;
51
- height: 16px;
52
- transition: border-width .2s ease-out;
53
- }
54
-
55
- .fwe-checkbox-container .fwe-indeterminate-indicator {
56
- background: #fff;
57
- width: 10px;
58
- height: 2px;
59
- position: absolute;
60
- top: 7px;
61
- left: 3px;
62
- }
63
-
64
- .fwe-checkbox-container .fwe-checkbox-indicator-background + svg {
65
- display: block;
66
- position: absolute;
67
- top: 0;
68
- left: 0;
69
- }
70
-
71
- .fwe-checkbox-container.fr-checkbox-large .fwe-checkbox-indicator-background {
72
- border-radius: 4px;
73
- width: 24px;
74
- height: 24px;
75
- }
76
-
77
- .fwe-checkbox-container.fr-checkbox-large .fwe-indeterminate-indicator {
78
- width: 14px;
79
- top: 11px;
80
- left: 5px;
81
- }
82
-
83
- .fwe-checkbox-container.fr-checkbox-large.fwe-checked .fwe-checkbox-indicator-background, .fwe-checkbox-container.fr-checkbox-large.fr-checkbox-indeterminate .fwe-checkbox-indicator-background {
84
- border: 12px solid var(--fwe-hero);
85
- }
86
-
87
- .fwe-checkbox-container:hover .fwe-checkbox-indicator-background {
88
- background-color: var(--fwe-control);
89
- }
90
-
91
- .fwe-checkbox-container:active .fwe-checkbox-indicator-background {
92
- background-color: var(--fwe-control-hover);
93
- }
94
-
95
- .fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background, .fwe-checkbox-container.fr-checkbox-indeterminate .fwe-checkbox-indicator-background {
96
- border: 8px solid var(--fwe-hero);
97
- }
98
-
99
- .fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background, .fwe-checkbox-container.fr-checkbox-indeterminate:hover .fwe-checkbox-indicator-background {
100
- border-color: var(--fwe-hero-hover);
101
- }
102
-
103
- .fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background, .fwe-checkbox-container.fr-checkbox-indeterminate:active .fwe-checkbox-indicator-background {
104
- border-color: var(--fwe-hero-active);
105
- }
106
-
107
- .fwe-checkbox-container.fr-checkbox-invalid .fwe-checkbox-indicator-background {
108
- border: 1px solid var(--fwe-red);
109
- background: var(--fwe-white);
110
- }
111
-
112
- .fwe-checkbox-container.fwe-disabled {
113
- cursor: default;
114
- }
115
-
116
- .fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background {
117
- background-color: var(--fwe-white);
118
- border: 1px solid var(--fwe-control);
119
- }
120
-
121
- .fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background, .fwe-checkbox-container.fwe-disabled.fr-checkbox-indeterminate .fwe-checkbox-indicator-background {
122
- background-color: var(--fwe-control);
123
- border: 1px solid var(--fwe-control);
124
- }
125
-
126
- .fwe-checkbox-container.fwe-disabled.fr-checkbox-invalid .fwe-checkbox-indicator-background {
127
- background-color: var(--fwe-white);
128
- border: 1px solid var(--fwe-control);
129
- }
130
-
131
- .fwe-checkbox-container.fwe-disabled .fwe-checkbox-title {
132
- color: var(--fwe-text-disabled);
133
- }
134
-
@@ -1,12 +0,0 @@
1
- import './Checkbox.scss';
2
- import { type ComponentPropsWithoutRef } from 'react';
3
- export interface CheckboxProps extends Omit<ComponentPropsWithoutRef<'input'>, 'type' | 'onChange' | 'checked' | 'defaultChecked'> {
4
- readonly checked?: boolean;
5
- readonly defaultChecked?: boolean;
6
- readonly onChange?: (value: boolean, e: React.ChangeEvent<HTMLInputElement>) => void;
7
- readonly large?: boolean;
8
- readonly valid?: boolean;
9
- readonly labelPosition?: 'before' | 'after' | 'below';
10
- readonly indeterminate?: boolean;
11
- }
12
- export declare const Checkbox: (props: CheckboxProps & import("react").RefAttributes<HTMLLabelElement>) => React.ReactElement | null;
@@ -1,83 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import "./Checkbox.css";
3
- import classnames from "classnames";
4
- import { forwardRef } from "react";
5
- import { useControlled } from "../../utils/useControlled.js";
6
- const Checkbox = /*#__PURE__*/ forwardRef(({ id, checked: checkedProp, defaultChecked, onChange, name, large = false, valid = true, labelPosition = 'after', required, disabled = false, indeterminate = false, children, className, ...props }, ref)=>{
7
- const [isChecked, setChecked] = useControlled({
8
- controlled: checkedProp,
9
- default: defaultChecked ?? false
10
- });
11
- const handleChange = (e)=>{
12
- const newChecked = !isChecked;
13
- setChecked(newChecked);
14
- onChange?.(newChecked, e);
15
- };
16
- const containerClasses = classnames('fwe-checkbox-container', {
17
- 'fr-checkbox-large': large
18
- }, {
19
- 'fr-checkbox-invalid': !valid || required
20
- }, {
21
- 'fwe-disabled': disabled
22
- }, {
23
- 'fwe-checked': isChecked
24
- }, {
25
- 'fwe-label-below': 'below' === labelPosition
26
- }, {
27
- 'fwe-label-before': 'before' === labelPosition
28
- }, {
29
- 'fr-checkbox-indeterminate': indeterminate
30
- }, className);
31
- return /*#__PURE__*/ jsxs("label", {
32
- className: containerClasses,
33
- htmlFor: id,
34
- ref: ref,
35
- children: [
36
- /*#__PURE__*/ jsx("input", {
37
- name: name,
38
- type: "checkbox",
39
- id: id,
40
- disabled: disabled,
41
- required: required,
42
- onChange: (e)=>handleChange(e),
43
- ...props,
44
- checked: isChecked
45
- }),
46
- /*#__PURE__*/ jsxs("div", {
47
- className: "fwe-checkbox-indicator-container",
48
- children: [
49
- /*#__PURE__*/ jsx("div", {
50
- className: "fwe-checkbox-indicator-background"
51
- }),
52
- !indeterminate && isChecked && (large ? /*#__PURE__*/ jsx("svg", {
53
- width: "24px",
54
- height: "24px",
55
- "aria-hidden": "true",
56
- children: /*#__PURE__*/ jsx("path", {
57
- d: "M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z",
58
- fill: "#fff"
59
- })
60
- }) : /*#__PURE__*/ jsx("svg", {
61
- xmlns: "http://www.w3.org/2000/svg",
62
- width: "16",
63
- height: "16",
64
- "aria-hidden": "true",
65
- children: /*#__PURE__*/ jsx("path", {
66
- d: "M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z",
67
- fill: "#fff"
68
- })
69
- })),
70
- indeterminate && /*#__PURE__*/ jsx("div", {
71
- className: "fwe-indeterminate-indicator"
72
- })
73
- ]
74
- }),
75
- /*#__PURE__*/ jsx("div", {
76
- className: "fwe-checkbox-title",
77
- children: children
78
- })
79
- ]
80
- });
81
- });
82
- Checkbox.displayName = 'Checkbox';
83
- export { Checkbox };
@@ -1,124 +0,0 @@
1
- .fr-combobox-wrapper {
2
- width: inherit;
3
- min-width: 64px;
4
- font-size: var(--fwe-font-size-base);
5
- flex-direction: column;
6
- padding-bottom: 18px;
7
- display: flex;
8
- position: relative;
9
- }
10
-
11
- .fr-combobox-label {
12
- height: 18px;
13
- color: var(--fwe-text);
14
- font-size: var(--fwe-font-size-small);
15
- line-height: var(--fwe-line-height-base);
16
- font-weight: var(--fwe-font-weight-bold);
17
- order: 1;
18
- }
19
-
20
- .fr-combobox-control {
21
- order: 2;
22
- position: relative;
23
- }
24
-
25
- .fr-combobox-input {
26
- width: 100%;
27
- height: 33px;
28
- font-size: var(--fwe-font-size-base);
29
- appearance: none;
30
- border: none;
31
- border-bottom: 1px solid var(--fwe-control-border);
32
- white-space: nowrap;
33
- text-overflow: ellipsis;
34
- cursor: pointer;
35
- background: none;
36
- outline: 0;
37
- padding: 4px 24px 4px 0;
38
- display: block;
39
- overflow: hidden;
40
- }
41
-
42
- .fr-combobox-input:hover:not(:disabled), .fr-combobox-input:focus:not(:disabled) {
43
- color: var(--fwe-hero);
44
- border-color: var(--fwe-hero);
45
- }
46
-
47
- .fr-combobox-button {
48
- cursor: pointer;
49
- background-color: var(--fwe-text);
50
- border: none;
51
- width: 24px;
52
- height: 24px;
53
- padding: 0;
54
- position: absolute;
55
- top: 50%;
56
- right: 0;
57
- transform: translateY(-50%);
58
- mask: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgyNHYyNEgweiIgZGF0YS1uYW1lPSJ3aGl0ZSBiYWNrZ3JvdW5kIi8+PHBhdGggZmlsbD0iIzMzMyIgZD0iTTUuNjM2IDkuMTcyIDEyIDE1LjUzNmw2LjM2NC02LjM2NC0uNzA3LS43MDhMMTIgMTQuMTIxIDYuMzQzIDguNDY0bC0uNzA3LjcwOHoiIGRhdGEtbmFtZT0iY29udGVudCIvPjwvc3ZnPg==) center / 24px 24px no-repeat;
59
- }
60
-
61
- .fr-combobox-button[aria-expanded="true"] {
62
- transform: translateY(-50%)rotate(180deg);
63
- }
64
-
65
- .fr-combobox-description, .fr-combobox-invalid {
66
- width: 100%;
67
- font-size: var(--fwe-font-size-small);
68
- line-height: var(--fwe-line-height-base);
69
- position: absolute;
70
- bottom: 0;
71
- }
72
-
73
- .fr-combobox-description {
74
- color: var(--fwe-text-disabled);
75
- }
76
-
77
- .fr-combobox-invalid {
78
- color: var(--fwe-red);
79
- display: none;
80
- }
81
-
82
- .fr-combobox-wrapper.fr-disabled .fr-combobox-input {
83
- cursor: default;
84
- color: var(--fwe-text-disabled);
85
- border-color: var(--fwe-control-disabled);
86
- }
87
-
88
- .fr-combobox-wrapper.fr-disabled .fr-combobox-label {
89
- color: var(--fwe-text-disabled);
90
- }
91
-
92
- .fr-combobox-wrapper.fr-disabled .fr-combobox-button {
93
- background-color: var(--fwe-text-disabled);
94
- cursor: default;
95
- }
96
-
97
- .fr-combobox-wrapper.fr-invalid .fr-combobox-input {
98
- border-color: var(--fwe-red);
99
- }
100
-
101
- .fr-combobox-wrapper.fr-invalid .fr-combobox-invalid {
102
- display: block;
103
- }
104
-
105
- .fr-combobox-wrapper.fr-invalid .fr-combobox-description {
106
- display: none;
107
- }
108
-
109
- .fwe-combobox-option-content {
110
- white-space: nowrap;
111
- text-overflow: ellipsis;
112
- display: block;
113
- overflow: hidden;
114
- }
115
-
116
- .fwe-combobox-highlight {
117
- color: var(--fwe-hero);
118
- }
119
-
120
- .fwe-combobox-empty {
121
- cursor: default;
122
- color: var(--fwe-text-disabled);
123
- }
124
-
@@ -1,27 +0,0 @@
1
- import './ComboBox.scss';
2
- import { type Ref } from 'react';
3
- export interface ComboBoxOption<T> {
4
- readonly label: string;
5
- readonly data: T;
6
- readonly disabled?: boolean;
7
- }
8
- export interface ComboBoxProps<T> extends Omit<React.ComponentPropsWithoutRef<'div'>, 'onChange' | 'value' | 'defaultValue'> {
9
- readonly value?: T;
10
- readonly defaultValue?: T;
11
- readonly name?: string;
12
- readonly disabled?: boolean;
13
- readonly required?: boolean;
14
- readonly label?: string;
15
- readonly options?: ComboBoxOption<T>[];
16
- readonly hint?: string;
17
- readonly error?: string;
18
- readonly placeholder?: string;
19
- readonly onChange?: (value: T) => void;
20
- readonly onInputChange?: (value: string) => void;
21
- readonly emptyMessage?: string;
22
- }
23
- declare function ComboBoxComponent<T>({ defaultValue, value: controlled, label, options, onChange, required, disabled, name, id: idProp, hint, error, placeholder, onInputChange, emptyMessage, className, ...props }: ComboBoxProps<T>, ref: Ref<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
24
- export declare const ComboBox: <T>(props: ComboBoxProps<T> & {
25
- ref?: Ref<HTMLDivElement>;
26
- }) => ReturnType<typeof ComboBoxComponent>;
27
- export {};