@driveflux/beam 3.0.19 → 3.0.20

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 (219) hide show
  1. package/dist/accordion/Accordion.js +203 -7
  2. package/dist/accordion/Accordion.stories.js +31 -11
  3. package/dist/alert/Alert.js +193 -19
  4. package/dist/alert/Alert.stories.js +50 -15
  5. package/dist/animations/LoadingAnimation.js +34 -21
  6. package/dist/badge/Badge.js +105 -7
  7. package/dist/badge/Badge.stories.js +28 -7
  8. package/dist/box/Box.js +151 -3
  9. package/dist/box/Box.stories.js +8 -7
  10. package/dist/breadcrumbs/Breadcrumbs.js +351 -26
  11. package/dist/breadcrumbs/Breadcrumbs.stories.js +51 -27
  12. package/dist/button/Button.js +190 -12
  13. package/dist/button/Button.stories.js +35 -7
  14. package/dist/button/TextButton.js +168 -9
  15. package/dist/card/Card.js +188 -7
  16. package/dist/card/Card.stories.js +10 -7
  17. package/dist/carousel/Carousel.js +308 -58
  18. package/dist/carousel/Carousel.stories.js +39 -7
  19. package/dist/carousel/CarouselButton.js +132 -7
  20. package/dist/center/Center.js +127 -3
  21. package/dist/center/Center.stories.js +19 -7
  22. package/dist/checkbox/Checkbox.js +188 -4
  23. package/dist/checkbox/Checkbox.stories.js +10 -8
  24. package/dist/chip/Chip.js +168 -3
  25. package/dist/chip/Chip.stories.js +19 -7
  26. package/dist/circular-progress/CircularProgress.js +159 -11
  27. package/dist/circular-progress/CircularProgress.stories.js +54 -14
  28. package/dist/command/command.js +249 -13
  29. package/dist/datepicker/DatePicker.js +245 -90
  30. package/dist/datepicker/DatePicker.stories.js +162 -58
  31. package/dist/datepicker/DatePickerDrawer.js +115 -17
  32. package/dist/datepicker/DatePickerPopover.js +208 -35
  33. package/dist/datepicker/constants.js +3 -4
  34. package/dist/datepicker/utils.js +4 -11
  35. package/dist/dialog/index.js +253 -12
  36. package/dist/divider/Divider.js +127 -3
  37. package/dist/divider/Divider.stories.js +13 -7
  38. package/dist/drawer/index.js +230 -12
  39. package/dist/dropdown/Dropdown.js +297 -26
  40. package/dist/dropdown/Dropdown.stories.js +109 -22
  41. package/dist/field-wrapper/FieldWrapper.js +203 -3
  42. package/dist/field-wrapper/FieldWrapper.stories.js +124 -28
  43. package/dist/flex/Flex.js +127 -3
  44. package/dist/flex/Flex.stories.js +19 -7
  45. package/dist/grid/Grid.js +127 -3
  46. package/dist/grid/Grid.stories.js +28 -7
  47. package/dist/hooks/use-breakpoint-value.js +77 -14
  48. package/dist/hooks/use-media-query.js +61 -12
  49. package/dist/hstack/HStack.js +127 -3
  50. package/dist/hstack/HStack.stories.js +19 -7
  51. package/dist/icons/FluxLogo.js +222 -9
  52. package/dist/icons/FluxLogoTable.js +118 -5
  53. package/dist/icons/Icon.js +117 -7
  54. package/dist/icons/Icon.stories.js +12 -7
  55. package/dist/icons/Icon24Hours.js +92 -5
  56. package/dist/icons/IconAcceleration.js +81 -4
  57. package/dist/icons/IconAccount.js +81 -4
  58. package/dist/icons/IconApplicant.js +87 -5
  59. package/dist/icons/IconArrow.js +87 -6
  60. package/dist/icons/IconArrowBack.js +81 -4
  61. package/dist/icons/IconArrowForward.js +81 -4
  62. package/dist/icons/IconArrowTopLeft.js +79 -4
  63. package/dist/icons/IconBluesharkProductGuide.js +89 -5
  64. package/dist/icons/IconBolt.js +81 -4
  65. package/dist/icons/IconBriefcase.js +81 -4
  66. package/dist/icons/IconBulb.js +81 -4
  67. package/dist/icons/IconCalendar.js +81 -4
  68. package/dist/icons/IconCalendarArrowBack.js +81 -4
  69. package/dist/icons/IconCalendarArrowForward.js +81 -4
  70. package/dist/icons/IconCalendarDoubleArrowBack.js +81 -4
  71. package/dist/icons/IconCalendarDoubleArrowForward.js +81 -4
  72. package/dist/icons/IconCancel.js +86 -5
  73. package/dist/icons/IconCancelMark.js +81 -4
  74. package/dist/icons/IconCarSUV.js +81 -4
  75. package/dist/icons/IconCarSedan.js +156 -7
  76. package/dist/icons/IconChain.js +88 -5
  77. package/dist/icons/IconCheckmark.js +81 -4
  78. package/dist/icons/IconChevronRight.js +81 -4
  79. package/dist/icons/IconCircle.js +123 -11
  80. package/dist/icons/IconCircleCheckmark.js +86 -5
  81. package/dist/icons/IconCircleError.js +81 -4
  82. package/dist/icons/IconCircleExclamation.js +113 -6
  83. package/dist/icons/IconCircleMark.js +87 -5
  84. package/dist/icons/IconCircleOutline.js +148 -5
  85. package/dist/icons/IconClock.js +89 -5
  86. package/dist/icons/IconClose.js +81 -4
  87. package/dist/icons/IconCollapseAll.js +103 -5
  88. package/dist/icons/IconConcierge.js +88 -5
  89. package/dist/icons/IconConciergeService.js +96 -5
  90. package/dist/icons/IconCreditCard.js +87 -5
  91. package/dist/icons/IconDash.js +81 -4
  92. package/dist/icons/IconDeliver.js +81 -4
  93. package/dist/icons/IconDelivery.js +96 -5
  94. package/dist/icons/IconDetails.js +81 -4
  95. package/dist/icons/IconDot.js +96 -6
  96. package/dist/icons/IconDownload.js +88 -5
  97. package/dist/icons/IconEVCharging.js +88 -5
  98. package/dist/icons/IconElectricCarFuel.js +89 -5
  99. package/dist/icons/IconEllipsis.js +87 -5
  100. package/dist/icons/IconEnvelope.js +81 -4
  101. package/dist/icons/IconExpandAll.js +103 -5
  102. package/dist/icons/IconEye.js +88 -5
  103. package/dist/icons/IconFacebook.js +103 -6
  104. package/dist/icons/IconFilter.js +92 -5
  105. package/dist/icons/IconFlagMalaysia.js +150 -5
  106. package/dist/icons/IconGiveKey.js +88 -5
  107. package/dist/icons/IconGlobe.js +79 -4
  108. package/dist/icons/IconGoogle.js +96 -5
  109. package/dist/icons/IconHome.js +87 -5
  110. package/dist/icons/IconHostAdvertise.js +81 -4
  111. package/dist/icons/IconHostCar.js +84 -4
  112. package/dist/icons/IconHostCash.js +100 -5
  113. package/dist/icons/IconHostHandle.js +79 -4
  114. package/dist/icons/IconHostLocation.js +79 -4
  115. package/dist/icons/IconHostPayment.js +100 -5
  116. package/dist/icons/IconHostService.js +88 -5
  117. package/dist/icons/IconHotDeals.js +81 -4
  118. package/dist/icons/IconInfo.js +86 -5
  119. package/dist/icons/IconInstagram.js +81 -4
  120. package/dist/icons/IconInsurance.js +108 -5
  121. package/dist/icons/IconInternet.js +82 -4
  122. package/dist/icons/IconInventory.js +87 -5
  123. package/dist/icons/IconLaurel.js +110 -5
  124. package/dist/icons/IconLinkedIn.js +81 -4
  125. package/dist/icons/IconLoading.js +87 -4
  126. package/dist/icons/IconLocation.js +89 -5
  127. package/dist/icons/IconLock.js +82 -4
  128. package/dist/icons/IconLogistics.js +81 -4
  129. package/dist/icons/IconMail.js +103 -5
  130. package/dist/icons/IconMember.js +87 -5
  131. package/dist/icons/IconMobilePen.js +92 -5
  132. package/dist/icons/IconMotorcycleMoped.js +87 -5
  133. package/dist/icons/IconNoCost.js +101 -5
  134. package/dist/icons/IconPDF.js +89 -5
  135. package/dist/icons/IconPencil.js +79 -4
  136. package/dist/icons/IconPhone.js +79 -4
  137. package/dist/icons/IconPlus.js +81 -4
  138. package/dist/icons/IconPricing.js +81 -4
  139. package/dist/icons/IconProtected.js +80 -4
  140. package/dist/icons/IconPsychology.js +81 -4
  141. package/dist/icons/IconQuestionTooltip.js +137 -4
  142. package/dist/icons/IconQuote.js +81 -4
  143. package/dist/icons/IconRate.js +80 -4
  144. package/dist/icons/IconRegister.js +108 -5
  145. package/dist/icons/IconReport.js +98 -6
  146. package/dist/icons/IconReturn.js +81 -4
  147. package/dist/icons/IconSearch.js +79 -4
  148. package/dist/icons/IconSecure.js +80 -4
  149. package/dist/icons/IconSecurity.js +82 -4
  150. package/dist/icons/IconSedanOutline.js +168 -5
  151. package/dist/icons/IconSelectArrow.js +87 -6
  152. package/dist/icons/IconSort.js +88 -5
  153. package/dist/icons/IconSortListed.js +104 -5
  154. package/dist/icons/IconSortPriceAscending.js +92 -5
  155. package/dist/icons/IconSortPriceDescending.js +92 -5
  156. package/dist/icons/IconSortYear.js +88 -5
  157. package/dist/icons/IconSpan.js +80 -4
  158. package/dist/icons/IconSpeaker.js +88 -4
  159. package/dist/icons/IconSpecialCar.js +104 -5
  160. package/dist/icons/IconStar.js +101 -7
  161. package/dist/icons/IconStockPhoto.js +104 -5
  162. package/dist/icons/IconSubscription.js +122 -6
  163. package/dist/icons/IconSubscriptions.js +122 -6
  164. package/dist/icons/IconSwap.js +88 -5
  165. package/dist/icons/IconTax.js +81 -4
  166. package/dist/icons/IconThinArrow.js +87 -6
  167. package/dist/icons/IconThumbsdown.js +87 -5
  168. package/dist/icons/IconThumbsup.js +87 -5
  169. package/dist/icons/IconTool.js +81 -4
  170. package/dist/icons/IconTooltip.js +137 -4
  171. package/dist/icons/IconTrash.js +81 -4
  172. package/dist/icons/IconTriangleExclamation.js +81 -4
  173. package/dist/icons/IconTyersBrakes.js +92 -5
  174. package/dist/icons/IconTyre.js +92 -5
  175. package/dist/icons/IconVacancy.js +87 -5
  176. package/dist/icons/IconVolunteer.js +81 -4
  177. package/dist/icons/IconWhatsapp.js +82 -4
  178. package/dist/icons/IconXPlatform.js +81 -4
  179. package/dist/icons/IconZeroEffort.js +86 -5
  180. package/dist/icons/Logo.js +108 -3
  181. package/dist/input/Input.js +134 -11
  182. package/dist/input/Input.stories.js +17 -18
  183. package/dist/input-mask/InputMask.js +158 -11
  184. package/dist/input-mask/InputMask.stories.js +5 -6
  185. package/dist/input-mask/mask-trackers.js +4 -5
  186. package/dist/input-select/InputSelect.js +390 -68
  187. package/dist/input-select/InputSelect.stories.js +98 -25
  188. package/dist/popover/popover.js +136 -4
  189. package/dist/progress/Progress.js +160 -2
  190. package/dist/progress/Progress.stories.js +13 -14
  191. package/dist/radio/Radio.js +227 -4
  192. package/dist/scroll-area/scroll-area.js +180 -5
  193. package/dist/search-input-select/SearchInputSelect.js +379 -69
  194. package/dist/select/Select.js +354 -29
  195. package/dist/select/Select.stories.js +55 -19
  196. package/dist/skeleton/Skeleton.js +71 -3
  197. package/dist/skeleton/Skeleton.stories.js +8 -7
  198. package/dist/slider/Slider.js +170 -5
  199. package/dist/slider/Slider.stories.js +12 -11
  200. package/dist/stack/Stack.js +127 -3
  201. package/dist/stack/Stack.stories.js +19 -7
  202. package/dist/table/Table.js +216 -10
  203. package/dist/table/Table.stories.js +84 -8
  204. package/dist/tabs/Tabs.js +198 -9
  205. package/dist/tabs/Tabs.stories.js +46 -13
  206. package/dist/text/Text.js +152 -6
  207. package/dist/text/Text.stories.js +44 -7
  208. package/dist/toast/Toast.stories.js +66 -14
  209. package/dist/toast/ToastBox.js +77 -29
  210. package/dist/toast/index.js +0 -1
  211. package/dist/toast/sonner.js +66 -6
  212. package/dist/toggle/Toggle.js +180 -7
  213. package/dist/toggle/Toggle.stories.js +10 -8
  214. package/dist/tooltip/Tooltip.js +169 -12
  215. package/dist/tooltip/Tooltip.stories.js +71 -13
  216. package/dist/utils.js +4 -2
  217. package/dist/vstack/VStack.js +127 -3
  218. package/dist/vstack/VStack.stories.js +19 -7
  219. package/package.json +11 -11
@@ -1,4 +1,144 @@
1
1
  'use client';
2
+ function _array_like_to_array(arr, len) {
3
+ if (len == null || len > arr.length) len = arr.length;
4
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
5
+ return arr2;
6
+ }
7
+ function _array_with_holes(arr) {
8
+ if (Array.isArray(arr)) return arr;
9
+ }
10
+ function _define_property(obj, key, value) {
11
+ if (key in obj) {
12
+ Object.defineProperty(obj, key, {
13
+ value: value,
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true
17
+ });
18
+ } else {
19
+ obj[key] = value;
20
+ }
21
+ return obj;
22
+ }
23
+ function _iterable_to_array(iter) {
24
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
25
+ }
26
+ function _iterable_to_array_limit(arr, i) {
27
+ var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
28
+ if (_i == null) return;
29
+ var _arr = [];
30
+ var _n = true;
31
+ var _d = false;
32
+ var _s, _e;
33
+ try {
34
+ for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
35
+ _arr.push(_s.value);
36
+ if (i && _arr.length === i) break;
37
+ }
38
+ } catch (err) {
39
+ _d = true;
40
+ _e = err;
41
+ } finally{
42
+ try {
43
+ if (!_n && _i["return"] != null) _i["return"]();
44
+ } finally{
45
+ if (_d) throw _e;
46
+ }
47
+ }
48
+ return _arr;
49
+ }
50
+ function _non_iterable_rest() {
51
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
52
+ }
53
+ function _object_spread(target) {
54
+ for(var i = 1; i < arguments.length; i++){
55
+ var source = arguments[i] != null ? arguments[i] : {};
56
+ var ownKeys = Object.keys(source);
57
+ if (typeof Object.getOwnPropertySymbols === "function") {
58
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
59
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
60
+ }));
61
+ }
62
+ ownKeys.forEach(function(key) {
63
+ _define_property(target, key, source[key]);
64
+ });
65
+ }
66
+ return target;
67
+ }
68
+ function ownKeys(object, enumerableOnly) {
69
+ var keys = Object.keys(object);
70
+ if (Object.getOwnPropertySymbols) {
71
+ var symbols = Object.getOwnPropertySymbols(object);
72
+ if (enumerableOnly) {
73
+ symbols = symbols.filter(function(sym) {
74
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
75
+ });
76
+ }
77
+ keys.push.apply(keys, symbols);
78
+ }
79
+ return keys;
80
+ }
81
+ function _object_spread_props(target, source) {
82
+ source = source != null ? source : {};
83
+ if (Object.getOwnPropertyDescriptors) {
84
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
85
+ } else {
86
+ ownKeys(Object(source)).forEach(function(key) {
87
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
88
+ });
89
+ }
90
+ return target;
91
+ }
92
+ function _object_without_properties(source, excluded) {
93
+ if (source == null) return {};
94
+ var target = {}, sourceKeys, key, i;
95
+ if (typeof Reflect !== "undefined" && Reflect.ownKeys) {
96
+ sourceKeys = Reflect.ownKeys(Object(source));
97
+ for(i = 0; i < sourceKeys.length; i++){
98
+ key = sourceKeys[i];
99
+ if (excluded.indexOf(key) >= 0) continue;
100
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
101
+ target[key] = source[key];
102
+ }
103
+ return target;
104
+ }
105
+ target = _object_without_properties_loose(source, excluded);
106
+ if (Object.getOwnPropertySymbols) {
107
+ sourceKeys = Object.getOwnPropertySymbols(source);
108
+ for(i = 0; i < sourceKeys.length; i++){
109
+ key = sourceKeys[i];
110
+ if (excluded.indexOf(key) >= 0) continue;
111
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
112
+ target[key] = source[key];
113
+ }
114
+ }
115
+ return target;
116
+ }
117
+ function _object_without_properties_loose(source, excluded) {
118
+ if (source == null) return {};
119
+ var target = {}, sourceKeys = Object.getOwnPropertyNames(source), key, i;
120
+ for(i = 0; i < sourceKeys.length; i++){
121
+ key = sourceKeys[i];
122
+ if (excluded.indexOf(key) >= 0) continue;
123
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
124
+ target[key] = source[key];
125
+ }
126
+ return target;
127
+ }
128
+ function _sliced_to_array(arr, i) {
129
+ return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
130
+ }
131
+ function _to_array(arr) {
132
+ return _array_with_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_rest();
133
+ }
134
+ function _unsupported_iterable_to_array(o, minLen) {
135
+ if (!o) return;
136
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
137
+ var n = Object.prototype.toString.call(o).slice(8, -1);
138
+ if (n === "Object" && o.constructor) n = o.constructor.name;
139
+ if (n === "Map" || n === "Set") return Array.from(n);
140
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
141
+ }
2
142
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
143
  import { Command as CommandPrimitive } from 'cmdk';
4
144
  import * as React from 'react';
@@ -7,29 +147,74 @@ import Box from '../box/Box';
7
147
  import FieldWrapper from '../field-wrapper/FieldWrapper';
8
148
  import IconSearch from '../icons/IconSearch';
9
149
  import { cn } from '../utils';
10
- const Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn('flex relative w-full', className), ...props })));
150
+ var Command = /*#__PURE__*/ React.forwardRef(function(_0, _1) {
151
+ var _ref = [
152
+ _0,
153
+ _1
154
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, props = _object_without_properties(_ref2, [
155
+ "className"
156
+ ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
157
+ return /*#__PURE__*/ _jsx(CommandPrimitive, _object_spread({
158
+ ref: ref,
159
+ className: cn('flex relative w-full', className)
160
+ }, props));
161
+ });
11
162
  Command.displayName = CommandPrimitive.displayName;
12
- const CommandInput = React.forwardRef(({ className, error, prefix, isFocused, isSelected, handleToggle, handleClear, ...props }, ref) => (_jsxs("div", { ref: ref, className: cn('flex items-center h-12 w-full border border-primary2 bg-white text-sm cursor-pointer outline-hidden file:border-0 file:bg-transparent file:text-sm file:font-medium hover:border-black focus-within:border-black focus-within:outline-hidden disabled:cursor-not-allowed disabled:opacity-50', error && 'border-alert4 hover:border-alert4 focus-within:border-alert4', className), children: [prefix, _jsx(IconSearch, { className: "text-primary3 m-2", size: '20px', title: "Search" }), _jsx(CommandPrimitive.Input, { className: cn('border-none h-full w-full px-3 outline-hidden text-ellipsis placeholder:text-primary2 placeholder:tracking-wide cursor-pointer'), ...props, onClick: (_e) => {
13
- if (isSelected) {
14
- isFocused = true;
163
+ var CommandInput = /*#__PURE__*/ React.forwardRef(function(_0, _1) {
164
+ var _ref = [
165
+ _0,
166
+ _1
167
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, error = _ref2.error, prefix = _ref2.prefix, isFocused = _ref2.isFocused, isSelected = _ref2.isSelected, handleToggle = _ref2.handleToggle, handleClear = _ref2.handleClear, props = _object_without_properties(_ref2, [
168
+ "className",
169
+ "error",
170
+ "prefix",
171
+ "isFocused",
172
+ "isSelected",
173
+ "handleToggle",
174
+ "handleClear"
175
+ ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
176
+ return /*#__PURE__*/ _jsxs("div", {
177
+ ref: ref,
178
+ className: cn('flex items-center h-12 w-full border border-primary2 bg-white text-sm cursor-pointer outline-hidden file:border-0 file:bg-transparent file:text-sm file:font-medium hover:border-black focus-within:border-black focus-within:outline-hidden disabled:cursor-not-allowed disabled:opacity-50', error && 'border-alert4 hover:border-alert4 focus-within:border-alert4', className),
179
+ children: [
180
+ prefix,
181
+ /*#__PURE__*/ _jsx(IconSearch, {
182
+ className: "text-primary3 m-2",
183
+ size: '20px',
184
+ title: "Search"
185
+ }),
186
+ /*#__PURE__*/ _jsx(CommandPrimitive.Input, _object_spread_props(_object_spread({
187
+ className: cn('border-none h-full w-full px-3 outline-hidden text-ellipsis placeholder:text-primary2 placeholder:tracking-wide cursor-pointer')
188
+ }, props), {
189
+ onClick: function onClick(_e) {
190
+ if (isSelected) {
191
+ isFocused = true;
192
+ } else if (!isFocused) {
193
+ handleToggle();
194
+ }
15
195
  }
16
- else if (!isFocused) {
17
- handleToggle();
18
- }
19
- } })] })));
196
+ }))
197
+ ]
198
+ });
199
+ });
20
200
  CommandInput.displayName = CommandPrimitive.Input.displayName;
21
- const CommandList = React.forwardRef(({ className, ...props }, ref) => {
22
- const [position, setPosition] = React.useState('bottom');
23
- useEffect(() => {
24
- const handlePosition = () => {
201
+ var CommandList = /*#__PURE__*/ React.forwardRef(function(_0, _1) {
202
+ var _ref = [
203
+ _0,
204
+ _1
205
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, props = _object_without_properties(_ref2, [
206
+ "className"
207
+ ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
208
+ var _React_useState = _sliced_to_array(React.useState('bottom'), 2), position = _React_useState[0], setPosition = _React_useState[1];
209
+ useEffect(function() {
210
+ var handlePosition = function handlePosition() {
25
211
  if (ref && 'current' in ref && ref.current) {
26
- const rect = ref.current.getBoundingClientRect();
27
- const spaceBelow = window.innerHeight - rect.bottom;
28
- const spaceAbove = rect.top;
212
+ var rect = ref.current.getBoundingClientRect();
213
+ var spaceBelow = window.innerHeight - rect.bottom;
214
+ var spaceAbove = rect.top;
29
215
  if (spaceBelow < 200 && spaceAbove > spaceBelow) {
30
216
  setPosition('top');
31
- }
32
- else {
217
+ } else {
33
218
  setPosition('bottom');
34
219
  }
35
220
  }
@@ -37,101 +222,226 @@ const CommandList = React.forwardRef(({ className, ...props }, ref) => {
37
222
  handlePosition();
38
223
  window.addEventListener('resize', handlePosition);
39
224
  window.addEventListener('scroll', handlePosition);
40
- return () => {
225
+ return function() {
41
226
  window.removeEventListener('resize', handlePosition);
42
227
  window.removeEventListener('scroll', handlePosition);
43
228
  };
44
- }, [ref]);
45
- return (_jsx(CommandPrimitive.List, { ref: ref, className: cn('max-h-80 absolute left-0 right-0 mt-1 shadow-md overflow-y-auto overflow-x-hidden z-10 bg-white', position === 'top' ? 'bottom-full mb-1' : 'top-full mt-1', className), ...props }));
229
+ }, [
230
+ ref
231
+ ]);
232
+ return /*#__PURE__*/ _jsx(CommandPrimitive.List, _object_spread({
233
+ ref: ref,
234
+ className: cn('max-h-80 absolute left-0 right-0 mt-1 shadow-md overflow-y-auto overflow-x-hidden z-10 bg-white', position === 'top' ? 'bottom-full mb-1' : 'top-full mt-1', className)
235
+ }, props));
46
236
  });
47
237
  CommandList.displayName = CommandPrimitive.List.displayName;
48
- const CommandEmpty = React.forwardRef((props, ref) => (_jsx(CommandPrimitive.Empty, { ref: ref, className: "p-4 text-center text-sm text-primary3", ...props })));
238
+ var CommandEmpty = /*#__PURE__*/ React.forwardRef(function(props, ref) {
239
+ return /*#__PURE__*/ _jsx(CommandPrimitive.Empty, _object_spread({
240
+ ref: ref,
241
+ className: "p-4 text-center text-sm text-primary3"
242
+ }, props));
243
+ });
49
244
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
50
- const CommandGroup = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Group, { ref: ref, className: cn('overflow-hidden p-1 text-zinc-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-zinc-500 dark:text-zinc-50 dark:[&_[cmdk-group-heading]]:text-zinc-400', className), ...props })));
245
+ var CommandGroup = /*#__PURE__*/ React.forwardRef(function(_0, _1) {
246
+ var _ref = [
247
+ _0,
248
+ _1
249
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, props = _object_without_properties(_ref2, [
250
+ "className"
251
+ ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
252
+ return /*#__PURE__*/ _jsx(CommandPrimitive.Group, _object_spread({
253
+ ref: ref,
254
+ className: cn('overflow-hidden p-1 text-zinc-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-zinc-500 dark:text-zinc-50 dark:[&_[cmdk-group-heading]]:text-zinc-400', className)
255
+ }, props));
256
+ });
51
257
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
52
- const CommandSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Separator, { ref: ref, className: cn('-mx-1 h-px bg-zinc-200 dark:bg-zinc-800', className), ...props })));
258
+ var CommandSeparator = /*#__PURE__*/ React.forwardRef(function(_0, _1) {
259
+ var _ref = [
260
+ _0,
261
+ _1
262
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, props = _object_without_properties(_ref2, [
263
+ "className"
264
+ ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
265
+ return /*#__PURE__*/ _jsx(CommandPrimitive.Separator, _object_spread({
266
+ ref: ref,
267
+ className: cn('-mx-1 h-px bg-zinc-200 dark:bg-zinc-800', className)
268
+ }, props));
269
+ });
53
270
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
54
- const CommandItem = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive.Item, { ref: ref, className: cn('relative flex cursor-pointer select-none items-center rounded-xs px-4 h-10 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[disabled=true]:bg-primary1 data-[disabled=true]:text-primary2 data-[selected=true]:bg-zinc-100 data-[selected=true]:text-zinc-900 data-[disabled=true]:opacity-50 dark:data-[selected=true]:bg-zinc-800 dark:data-[selected=true]:text-zinc-50', className), ...props })));
271
+ var CommandItem = /*#__PURE__*/ React.forwardRef(function(_0, _1) {
272
+ var _ref = [
273
+ _0,
274
+ _1
275
+ ], _ref1 = _to_array(_ref), _ref2 = _ref1[0], _rest = _ref1.slice(1), className = _ref2.className, props = _object_without_properties(_ref2, [
276
+ "className"
277
+ ]), _rest1 = _sliced_to_array(_rest, 1), ref = _rest1[0];
278
+ return /*#__PURE__*/ _jsx(CommandPrimitive.Item, _object_spread({
279
+ ref: ref,
280
+ className: cn('relative flex cursor-pointer select-none items-center rounded-xs px-4 h-10 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[disabled=true]:bg-primary1 data-[disabled=true]:text-primary2 data-[selected=true]:bg-zinc-100 data-[selected=true]:text-zinc-900 data-[disabled=true]:opacity-50 dark:data-[selected=true]:bg-zinc-800 dark:data-[selected=true]:text-zinc-50', className)
281
+ }, props));
282
+ });
55
283
  CommandItem.displayName = CommandPrimitive.Item.displayName;
56
- const CommandShortcut = ({ className, ...props }) => {
57
- return (_jsx("span", { className: cn('ml-auto text-xs tracking-widest text-zinc-500 dark:text-zinc-400', className), ...props }));
284
+ var CommandShortcut = function CommandShortcut(_0) {
285
+ var className = _0.className, props = _object_without_properties(_0, [
286
+ "className"
287
+ ]);
288
+ return /*#__PURE__*/ _jsx("span", _object_spread({
289
+ className: cn('ml-auto text-xs tracking-widest text-zinc-500 dark:text-zinc-400', className)
290
+ }, props));
58
291
  };
59
292
  CommandShortcut.displayName = 'CommandShortcut';
60
- const SearchInputSelect = React.forwardRef((props, _ref) => {
61
- const {
62
- // for wrapper
63
- wrapperProps, htmlFor, label, showRequired, showOptional, outerPrefix, outerSuffix, error,
64
- // for Select-input-search
65
- value: providedValue, placeholder, prefix, options, noOptionsText, onChange, isClearable = true, children, ...selectProps } = props;
66
- const [isFocused, setIsFocused] = React.useState(false);
67
- const [search, setSearch] = React.useState('');
68
- const [value, setValue] = React.useState(providedValue);
69
- const [showAll, setShowAll] = React.useState(false);
70
- const inputRef = React.useRef(null);
71
- const listRef = React.useRef(null);
72
- const wrapperRef = React.useRef(null);
73
- const filteredOptions = React.useMemo(() => {
74
- return options.filter((option) => typeof option.label === 'string' &&
75
- option.label.toLowerCase().includes(search.toLowerCase()));
76
- }, [search, options]);
77
- const displayedOptions = showAll
78
- ? filteredOptions
79
- : filteredOptions.slice(0, 5);
80
- const handleFocus = () => {
293
+ var SearchInputSelect = /*#__PURE__*/ React.forwardRef(function(props, _ref) {
294
+ var _options_find;
295
+ var // for wrapper
296
+ wrapperProps = props.wrapperProps, htmlFor = props.htmlFor, label = props.label, showRequired = props.showRequired, showOptional = props.showOptional, outerPrefix = props.outerPrefix, outerSuffix = props.outerSuffix, error = props.error, // for Select-input-search
297
+ providedValue = props.value, placeholder = props.placeholder, prefix = props.prefix, options = props.options, noOptionsText = props.noOptionsText, onChange = props.onChange, _props_isClearable = props.isClearable, isClearable = _props_isClearable === void 0 ? true : _props_isClearable, children = props.children, selectProps = _object_without_properties(props, [
298
+ "wrapperProps",
299
+ "htmlFor",
300
+ "label",
301
+ "showRequired",
302
+ "showOptional",
303
+ "outerPrefix",
304
+ "outerSuffix",
305
+ "error",
306
+ "value",
307
+ "placeholder",
308
+ "prefix",
309
+ "options",
310
+ "noOptionsText",
311
+ "onChange",
312
+ "isClearable",
313
+ "children"
314
+ ]);
315
+ var _React_useState = _sliced_to_array(React.useState(false), 2), isFocused = _React_useState[0], setIsFocused = _React_useState[1];
316
+ var _React_useState1 = _sliced_to_array(React.useState(''), 2), search = _React_useState1[0], setSearch = _React_useState1[1];
317
+ var _React_useState2 = _sliced_to_array(React.useState(providedValue), 2), value = _React_useState2[0], setValue = _React_useState2[1];
318
+ var _React_useState3 = _sliced_to_array(React.useState(false), 2), showAll = _React_useState3[0], setShowAll = _React_useState3[1];
319
+ var inputRef = React.useRef(null);
320
+ var listRef = React.useRef(null);
321
+ var wrapperRef = React.useRef(null);
322
+ var filteredOptions = React.useMemo(function() {
323
+ return options.filter(function(option) {
324
+ return typeof option.label === 'string' && option.label.toLowerCase().includes(search.toLowerCase());
325
+ });
326
+ }, [
327
+ search,
328
+ options
329
+ ]);
330
+ var displayedOptions = showAll ? filteredOptions : filteredOptions.slice(0, 5);
331
+ var handleFocus = function handleFocus() {
81
332
  setIsFocused(true);
82
333
  };
83
- const handleBlur = (e) => {
334
+ var handleBlur = function handleBlur(e) {
84
335
  if (e.relatedTarget === null) {
336
+ var _inputRef_current;
85
337
  setIsFocused(false);
86
- inputRef.current?.blur();
338
+ (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.blur();
87
339
  }
88
340
  };
89
- const handleChange = (value) => {
341
+ var handleChange = function handleChange(value) {
90
342
  setSearch(value);
91
343
  };
92
- const handleSelect = (option) => {
344
+ var handleSelect = function handleSelect(option) {
345
+ var _inputRef_current;
93
346
  setSearch(option.label);
94
- onChange?.(option.value);
347
+ onChange === null || onChange === void 0 ? void 0 : onChange(option.value);
95
348
  setValue(option.value);
96
349
  setIsFocused(false);
97
- inputRef.current?.focus();
350
+ (_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
98
351
  };
99
- const handleToggle = () => {
100
- setIsFocused((isFocused) => {
101
- isFocused && inputRef.current?.blur();
352
+ var handleToggle = function handleToggle() {
353
+ setIsFocused(function(isFocused) {
354
+ var _inputRef_current;
355
+ isFocused && ((_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.blur());
102
356
  return !isFocused;
103
357
  });
104
358
  };
105
- const handleClear = (event) => {
359
+ var handleClear = function handleClear(event) {
106
360
  event.preventDefault();
107
361
  event.stopPropagation();
108
362
  setSearch('');
109
363
  setIsFocused(false);
110
- onChange?.(undefined);
364
+ onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
111
365
  setValue(undefined);
112
366
  };
113
- const handleClickOutside = (event) => {
114
- if (wrapperRef.current &&
115
- !wrapperRef.current.contains(event.target)) {
367
+ var handleClickOutside = function handleClickOutside(event) {
368
+ if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {
116
369
  setIsFocused(false);
117
370
  }
118
371
  };
119
- const handleShowAll = () => {
120
- setShowAll((prev) => !prev);
372
+ var handleShowAll = function handleShowAll() {
373
+ setShowAll(function(prev) {
374
+ return !prev;
375
+ });
121
376
  if (filteredOptions.length > 5) {
122
377
  setShowAll(true);
123
378
  }
124
379
  };
125
380
  // biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
126
- React.useEffect(() => {
381
+ React.useEffect(function() {
127
382
  document.addEventListener('mousedown', handleClickOutside);
128
- return () => {
383
+ return function() {
129
384
  document.removeEventListener('mousedown', handleClickOutside);
130
385
  };
131
386
  }, []);
132
- return (_jsx(FieldWrapper, { htmlFor: htmlFor, label: label, showOptional: showOptional, showRequired: showRequired, error: error, ...wrapperProps, children: _jsx("div", { ref: wrapperRef, className: "relative w-full", children: _jsxs(Command, { shouldFilter: false, onFocus: handleFocus, onBlur: handleBlur, children: [_jsx(CommandInput, { ...selectProps, ref: inputRef, placeholder: placeholder, value: isFocused
133
- ? search
134
- : options.find((option) => option.value === value)?.label || '', isFocused: isFocused, isSelected: !!value, onValueChange: handleChange, handleToggle: handleToggle, handleClear: handleClear }), _jsx(CommandList, { ref: listRef, children: isFocused && !value && (_jsxs(_Fragment, { children: [displayedOptions.length > 0 ? (displayedOptions.map((option) => (_jsx(CommandItem, { value: JSON.stringify(option.value), disabled: option.isDisabled, onSelect: () => handleSelect(option), className: "tracking-normal text-primary3 w-full", children: option.label }, option.label)))) : (_jsx(CommandEmpty, { children: noOptionsText || 'No options' })), filteredOptions.length > 5 && !showAll && (_jsx(Box, { className: cn('text-links text-sm font-bold text-center tracking-wide', 'p-2 items-center'), as: "button", type: "button", onClick: handleShowAll, children: showAll ? 'Show less' : 'Show all results' })), children] })) })] }) }) }));
387
+ return /*#__PURE__*/ _jsx(FieldWrapper, _object_spread_props(_object_spread({
388
+ htmlFor: htmlFor,
389
+ label: label,
390
+ showOptional: showOptional,
391
+ showRequired: showRequired,
392
+ error: error
393
+ }, wrapperProps), {
394
+ children: /*#__PURE__*/ _jsx("div", {
395
+ ref: wrapperRef,
396
+ className: "relative w-full",
397
+ children: /*#__PURE__*/ _jsxs(Command, {
398
+ shouldFilter: false,
399
+ onFocus: handleFocus,
400
+ onBlur: handleBlur,
401
+ children: [
402
+ /*#__PURE__*/ _jsx(CommandInput, _object_spread_props(_object_spread({}, selectProps), {
403
+ ref: inputRef,
404
+ placeholder: placeholder,
405
+ value: isFocused ? search : ((_options_find = options.find(function(option) {
406
+ return option.value === value;
407
+ })) === null || _options_find === void 0 ? void 0 : _options_find.label) || '',
408
+ isFocused: isFocused,
409
+ isSelected: !!value,
410
+ onValueChange: handleChange,
411
+ handleToggle: handleToggle,
412
+ handleClear: handleClear
413
+ })),
414
+ /*#__PURE__*/ _jsx(CommandList, {
415
+ ref: listRef,
416
+ children: isFocused && !value && /*#__PURE__*/ _jsxs(_Fragment, {
417
+ children: [
418
+ displayedOptions.length > 0 ? displayedOptions.map(function(option) {
419
+ return /*#__PURE__*/ _jsx(CommandItem, {
420
+ value: JSON.stringify(option.value),
421
+ disabled: option.isDisabled,
422
+ onSelect: function onSelect() {
423
+ return handleSelect(option);
424
+ },
425
+ className: "tracking-normal text-primary3 w-full",
426
+ children: option.label
427
+ }, option.label);
428
+ }) : /*#__PURE__*/ _jsx(CommandEmpty, {
429
+ children: noOptionsText || 'No options'
430
+ }),
431
+ filteredOptions.length > 5 && !showAll && /*#__PURE__*/ _jsx(Box, {
432
+ className: cn('text-links text-sm font-bold text-center tracking-wide', 'p-2 items-center'),
433
+ as: "button",
434
+ type: "button",
435
+ onClick: handleShowAll,
436
+ children: showAll ? 'Show less' : 'Show all results'
437
+ }),
438
+ children
439
+ ]
440
+ })
441
+ })
442
+ ]
443
+ })
444
+ })
445
+ }));
135
446
  });
136
447
  export default SearchInputSelect;
137
- //# sourceMappingURL=SearchInputSelect.js.map