@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.
- package/dist/accordion/Accordion.js +203 -7
- package/dist/accordion/Accordion.stories.js +31 -11
- package/dist/alert/Alert.js +193 -19
- package/dist/alert/Alert.stories.js +50 -15
- package/dist/animations/LoadingAnimation.js +34 -21
- package/dist/badge/Badge.js +105 -7
- package/dist/badge/Badge.stories.js +28 -7
- package/dist/box/Box.js +151 -3
- package/dist/box/Box.stories.js +8 -7
- package/dist/breadcrumbs/Breadcrumbs.js +351 -26
- package/dist/breadcrumbs/Breadcrumbs.stories.js +51 -27
- package/dist/button/Button.js +190 -12
- package/dist/button/Button.stories.js +35 -7
- package/dist/button/TextButton.js +168 -9
- package/dist/card/Card.js +188 -7
- package/dist/card/Card.stories.js +10 -7
- package/dist/carousel/Carousel.js +308 -58
- package/dist/carousel/Carousel.stories.js +39 -7
- package/dist/carousel/CarouselButton.js +132 -7
- package/dist/center/Center.js +127 -3
- package/dist/center/Center.stories.js +19 -7
- package/dist/checkbox/Checkbox.js +188 -4
- package/dist/checkbox/Checkbox.stories.js +10 -8
- package/dist/chip/Chip.js +168 -3
- package/dist/chip/Chip.stories.js +19 -7
- package/dist/circular-progress/CircularProgress.js +159 -11
- package/dist/circular-progress/CircularProgress.stories.js +54 -14
- package/dist/command/command.js +249 -13
- package/dist/datepicker/DatePicker.js +245 -90
- package/dist/datepicker/DatePicker.stories.js +162 -58
- package/dist/datepicker/DatePickerDrawer.js +115 -17
- package/dist/datepicker/DatePickerPopover.js +208 -35
- package/dist/datepicker/constants.js +3 -4
- package/dist/datepicker/utils.js +4 -11
- package/dist/dialog/index.js +253 -12
- package/dist/divider/Divider.js +127 -3
- package/dist/divider/Divider.stories.js +13 -7
- package/dist/drawer/index.js +230 -12
- package/dist/dropdown/Dropdown.js +297 -26
- package/dist/dropdown/Dropdown.stories.js +109 -22
- package/dist/field-wrapper/FieldWrapper.js +203 -3
- package/dist/field-wrapper/FieldWrapper.stories.js +124 -28
- package/dist/flex/Flex.js +127 -3
- package/dist/flex/Flex.stories.js +19 -7
- package/dist/grid/Grid.js +127 -3
- package/dist/grid/Grid.stories.js +28 -7
- package/dist/hooks/use-breakpoint-value.js +77 -14
- package/dist/hooks/use-media-query.js +61 -12
- package/dist/hstack/HStack.js +127 -3
- package/dist/hstack/HStack.stories.js +19 -7
- package/dist/icons/FluxLogo.js +222 -9
- package/dist/icons/FluxLogoTable.js +118 -5
- package/dist/icons/Icon.js +117 -7
- package/dist/icons/Icon.stories.js +12 -7
- package/dist/icons/Icon24Hours.js +92 -5
- package/dist/icons/IconAcceleration.js +81 -4
- package/dist/icons/IconAccount.js +81 -4
- package/dist/icons/IconApplicant.js +87 -5
- package/dist/icons/IconArrow.js +87 -6
- package/dist/icons/IconArrowBack.js +81 -4
- package/dist/icons/IconArrowForward.js +81 -4
- package/dist/icons/IconArrowTopLeft.js +79 -4
- package/dist/icons/IconBluesharkProductGuide.js +89 -5
- package/dist/icons/IconBolt.js +81 -4
- package/dist/icons/IconBriefcase.js +81 -4
- package/dist/icons/IconBulb.js +81 -4
- package/dist/icons/IconCalendar.js +81 -4
- package/dist/icons/IconCalendarArrowBack.js +81 -4
- package/dist/icons/IconCalendarArrowForward.js +81 -4
- package/dist/icons/IconCalendarDoubleArrowBack.js +81 -4
- package/dist/icons/IconCalendarDoubleArrowForward.js +81 -4
- package/dist/icons/IconCancel.js +86 -5
- package/dist/icons/IconCancelMark.js +81 -4
- package/dist/icons/IconCarSUV.js +81 -4
- package/dist/icons/IconCarSedan.js +156 -7
- package/dist/icons/IconChain.js +88 -5
- package/dist/icons/IconCheckmark.js +81 -4
- package/dist/icons/IconChevronRight.js +81 -4
- package/dist/icons/IconCircle.js +123 -11
- package/dist/icons/IconCircleCheckmark.js +86 -5
- package/dist/icons/IconCircleError.js +81 -4
- package/dist/icons/IconCircleExclamation.js +113 -6
- package/dist/icons/IconCircleMark.js +87 -5
- package/dist/icons/IconCircleOutline.js +148 -5
- package/dist/icons/IconClock.js +89 -5
- package/dist/icons/IconClose.js +81 -4
- package/dist/icons/IconCollapseAll.js +103 -5
- package/dist/icons/IconConcierge.js +88 -5
- package/dist/icons/IconConciergeService.js +96 -5
- package/dist/icons/IconCreditCard.js +87 -5
- package/dist/icons/IconDash.js +81 -4
- package/dist/icons/IconDeliver.js +81 -4
- package/dist/icons/IconDelivery.js +96 -5
- package/dist/icons/IconDetails.js +81 -4
- package/dist/icons/IconDot.js +96 -6
- package/dist/icons/IconDownload.js +88 -5
- package/dist/icons/IconEVCharging.js +88 -5
- package/dist/icons/IconElectricCarFuel.js +89 -5
- package/dist/icons/IconEllipsis.js +87 -5
- package/dist/icons/IconEnvelope.js +81 -4
- package/dist/icons/IconExpandAll.js +103 -5
- package/dist/icons/IconEye.js +88 -5
- package/dist/icons/IconFacebook.js +103 -6
- package/dist/icons/IconFilter.js +92 -5
- package/dist/icons/IconFlagMalaysia.js +150 -5
- package/dist/icons/IconGiveKey.js +88 -5
- package/dist/icons/IconGlobe.js +79 -4
- package/dist/icons/IconGoogle.js +96 -5
- package/dist/icons/IconHome.js +87 -5
- package/dist/icons/IconHostAdvertise.js +81 -4
- package/dist/icons/IconHostCar.js +84 -4
- package/dist/icons/IconHostCash.js +100 -5
- package/dist/icons/IconHostHandle.js +79 -4
- package/dist/icons/IconHostLocation.js +79 -4
- package/dist/icons/IconHostPayment.js +100 -5
- package/dist/icons/IconHostService.js +88 -5
- package/dist/icons/IconHotDeals.js +81 -4
- package/dist/icons/IconInfo.js +86 -5
- package/dist/icons/IconInstagram.js +81 -4
- package/dist/icons/IconInsurance.js +108 -5
- package/dist/icons/IconInternet.js +82 -4
- package/dist/icons/IconInventory.js +87 -5
- package/dist/icons/IconLaurel.js +110 -5
- package/dist/icons/IconLinkedIn.js +81 -4
- package/dist/icons/IconLoading.js +87 -4
- package/dist/icons/IconLocation.js +89 -5
- package/dist/icons/IconLock.js +82 -4
- package/dist/icons/IconLogistics.js +81 -4
- package/dist/icons/IconMail.js +103 -5
- package/dist/icons/IconMember.js +87 -5
- package/dist/icons/IconMobilePen.js +92 -5
- package/dist/icons/IconMotorcycleMoped.js +87 -5
- package/dist/icons/IconNoCost.js +101 -5
- package/dist/icons/IconPDF.js +89 -5
- package/dist/icons/IconPencil.js +79 -4
- package/dist/icons/IconPhone.js +79 -4
- package/dist/icons/IconPlus.js +81 -4
- package/dist/icons/IconPricing.js +81 -4
- package/dist/icons/IconProtected.js +80 -4
- package/dist/icons/IconPsychology.js +81 -4
- package/dist/icons/IconQuestionTooltip.js +137 -4
- package/dist/icons/IconQuote.js +81 -4
- package/dist/icons/IconRate.js +80 -4
- package/dist/icons/IconRegister.js +108 -5
- package/dist/icons/IconReport.js +98 -6
- package/dist/icons/IconReturn.js +81 -4
- package/dist/icons/IconSearch.js +79 -4
- package/dist/icons/IconSecure.js +80 -4
- package/dist/icons/IconSecurity.js +82 -4
- package/dist/icons/IconSedanOutline.js +168 -5
- package/dist/icons/IconSelectArrow.js +87 -6
- package/dist/icons/IconSort.js +88 -5
- package/dist/icons/IconSortListed.js +104 -5
- package/dist/icons/IconSortPriceAscending.js +92 -5
- package/dist/icons/IconSortPriceDescending.js +92 -5
- package/dist/icons/IconSortYear.js +88 -5
- package/dist/icons/IconSpan.js +80 -4
- package/dist/icons/IconSpeaker.js +88 -4
- package/dist/icons/IconSpecialCar.js +104 -5
- package/dist/icons/IconStar.js +101 -7
- package/dist/icons/IconStockPhoto.js +104 -5
- package/dist/icons/IconSubscription.js +122 -6
- package/dist/icons/IconSubscriptions.js +122 -6
- package/dist/icons/IconSwap.js +88 -5
- package/dist/icons/IconTax.js +81 -4
- package/dist/icons/IconThinArrow.js +87 -6
- package/dist/icons/IconThumbsdown.js +87 -5
- package/dist/icons/IconThumbsup.js +87 -5
- package/dist/icons/IconTool.js +81 -4
- package/dist/icons/IconTooltip.js +137 -4
- package/dist/icons/IconTrash.js +81 -4
- package/dist/icons/IconTriangleExclamation.js +81 -4
- package/dist/icons/IconTyersBrakes.js +92 -5
- package/dist/icons/IconTyre.js +92 -5
- package/dist/icons/IconVacancy.js +87 -5
- package/dist/icons/IconVolunteer.js +81 -4
- package/dist/icons/IconWhatsapp.js +82 -4
- package/dist/icons/IconXPlatform.js +81 -4
- package/dist/icons/IconZeroEffort.js +86 -5
- package/dist/icons/Logo.js +108 -3
- package/dist/input/Input.js +134 -11
- package/dist/input/Input.stories.js +17 -18
- package/dist/input-mask/InputMask.js +158 -11
- package/dist/input-mask/InputMask.stories.js +5 -6
- package/dist/input-mask/mask-trackers.js +4 -5
- package/dist/input-select/InputSelect.js +390 -68
- package/dist/input-select/InputSelect.stories.js +98 -25
- package/dist/popover/popover.js +136 -4
- package/dist/progress/Progress.js +160 -2
- package/dist/progress/Progress.stories.js +13 -14
- package/dist/radio/Radio.js +227 -4
- package/dist/scroll-area/scroll-area.js +180 -5
- package/dist/search-input-select/SearchInputSelect.js +379 -69
- package/dist/select/Select.js +354 -29
- package/dist/select/Select.stories.js +55 -19
- package/dist/skeleton/Skeleton.js +71 -3
- package/dist/skeleton/Skeleton.stories.js +8 -7
- package/dist/slider/Slider.js +170 -5
- package/dist/slider/Slider.stories.js +12 -11
- package/dist/stack/Stack.js +127 -3
- package/dist/stack/Stack.stories.js +19 -7
- package/dist/table/Table.js +216 -10
- package/dist/table/Table.stories.js +84 -8
- package/dist/tabs/Tabs.js +198 -9
- package/dist/tabs/Tabs.stories.js +46 -13
- package/dist/text/Text.js +152 -6
- package/dist/text/Text.stories.js +44 -7
- package/dist/toast/Toast.stories.js +66 -14
- package/dist/toast/ToastBox.js +77 -29
- package/dist/toast/index.js +0 -1
- package/dist/toast/sonner.js +66 -6
- package/dist/toggle/Toggle.js +180 -7
- package/dist/toggle/Toggle.stories.js +10 -8
- package/dist/tooltip/Tooltip.js +169 -12
- package/dist/tooltip/Tooltip.stories.js +71 -13
- package/dist/utils.js +4 -2
- package/dist/vstack/VStack.js +127 -3
- package/dist/vstack/VStack.stories.js +19 -7
- 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
|
-
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
196
|
+
}))
|
|
197
|
+
]
|
|
198
|
+
});
|
|
199
|
+
});
|
|
20
200
|
CommandInput.displayName = CommandPrimitive.Input.displayName;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
}, [
|
|
45
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
57
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
// for wrapper
|
|
63
|
-
wrapperProps, htmlFor, label, showRequired, showOptional, outerPrefix, outerSuffix, error,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
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
|
-
|
|
334
|
+
var handleBlur = function handleBlur(e) {
|
|
84
335
|
if (e.relatedTarget === null) {
|
|
336
|
+
var _inputRef_current;
|
|
85
337
|
setIsFocused(false);
|
|
86
|
-
inputRef.current
|
|
338
|
+
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.blur();
|
|
87
339
|
}
|
|
88
340
|
};
|
|
89
|
-
|
|
341
|
+
var handleChange = function handleChange(value) {
|
|
90
342
|
setSearch(value);
|
|
91
343
|
};
|
|
92
|
-
|
|
344
|
+
var handleSelect = function handleSelect(option) {
|
|
345
|
+
var _inputRef_current;
|
|
93
346
|
setSearch(option.label);
|
|
94
|
-
onChange
|
|
347
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(option.value);
|
|
95
348
|
setValue(option.value);
|
|
96
349
|
setIsFocused(false);
|
|
97
|
-
inputRef.current
|
|
350
|
+
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
|
|
98
351
|
};
|
|
99
|
-
|
|
100
|
-
setIsFocused((isFocused)
|
|
101
|
-
|
|
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
|
-
|
|
359
|
+
var handleClear = function handleClear(event) {
|
|
106
360
|
event.preventDefault();
|
|
107
361
|
event.stopPropagation();
|
|
108
362
|
setSearch('');
|
|
109
363
|
setIsFocused(false);
|
|
110
|
-
onChange
|
|
364
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(undefined);
|
|
111
365
|
setValue(undefined);
|
|
112
366
|
};
|
|
113
|
-
|
|
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
|
-
|
|
120
|
-
setShowAll((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
|
|
133
|
-
|
|
134
|
-
|
|
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
|