@driveflux/beam 3.0.18 → 3.0.19
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 +7 -203
- package/dist/accordion/Accordion.stories.js +11 -31
- package/dist/alert/Alert.js +19 -193
- package/dist/alert/Alert.stories.js +15 -50
- package/dist/animations/LoadingAnimation.js +21 -34
- package/dist/badge/Badge.js +7 -105
- package/dist/badge/Badge.stories.js +7 -28
- package/dist/box/Box.js +3 -151
- package/dist/box/Box.stories.js +7 -8
- package/dist/breadcrumbs/Breadcrumbs.js +26 -351
- package/dist/breadcrumbs/Breadcrumbs.stories.js +27 -51
- package/dist/button/Button.js +12 -190
- package/dist/button/Button.stories.js +7 -35
- package/dist/button/TextButton.js +9 -168
- package/dist/card/Card.js +7 -188
- package/dist/card/Card.stories.js +7 -10
- package/dist/carousel/Carousel.js +58 -308
- package/dist/carousel/Carousel.stories.js +7 -39
- package/dist/carousel/CarouselButton.js +7 -132
- package/dist/center/Center.js +3 -127
- package/dist/center/Center.stories.js +7 -19
- package/dist/checkbox/Checkbox.js +4 -188
- package/dist/checkbox/Checkbox.stories.js +8 -10
- package/dist/chip/Chip.js +3 -168
- package/dist/chip/Chip.stories.js +7 -19
- package/dist/circular-progress/CircularProgress.js +11 -159
- package/dist/circular-progress/CircularProgress.stories.js +14 -54
- package/dist/command/command.js +13 -249
- package/dist/datepicker/DatePicker.js +90 -245
- package/dist/datepicker/DatePicker.stories.js +58 -162
- package/dist/datepicker/DatePickerDrawer.js +17 -115
- package/dist/datepicker/DatePickerPopover.js +35 -208
- package/dist/datepicker/constants.js +4 -3
- package/dist/datepicker/utils.js +11 -4
- package/dist/dialog/index.js +12 -253
- package/dist/divider/Divider.js +3 -127
- package/dist/divider/Divider.stories.js +7 -13
- package/dist/drawer/index.js +12 -230
- package/dist/dropdown/Dropdown.js +26 -297
- package/dist/dropdown/Dropdown.stories.js +22 -109
- package/dist/field-wrapper/FieldWrapper.js +3 -203
- package/dist/field-wrapper/FieldWrapper.stories.js +28 -124
- package/dist/flex/Flex.js +3 -127
- package/dist/flex/Flex.stories.js +7 -19
- package/dist/grid/Grid.js +3 -127
- package/dist/grid/Grid.stories.js +7 -28
- package/dist/hooks/use-breakpoint-value.js +14 -77
- package/dist/hooks/use-media-query.js +12 -61
- package/dist/hstack/HStack.js +3 -127
- package/dist/hstack/HStack.stories.js +7 -19
- package/dist/icons/FluxLogo.js +9 -222
- package/dist/icons/FluxLogoTable.js +5 -118
- package/dist/icons/Icon.js +7 -117
- package/dist/icons/Icon.stories.js +7 -12
- package/dist/icons/Icon24Hours.js +5 -92
- package/dist/icons/IconAcceleration.js +4 -81
- package/dist/icons/IconAccount.js +4 -81
- package/dist/icons/IconApplicant.js +5 -87
- package/dist/icons/IconArrow.js +6 -87
- package/dist/icons/IconArrowBack.js +4 -81
- package/dist/icons/IconArrowForward.js +4 -81
- package/dist/icons/IconArrowTopLeft.js +4 -79
- package/dist/icons/IconBluesharkProductGuide.js +5 -89
- package/dist/icons/IconBolt.js +4 -81
- package/dist/icons/IconBriefcase.js +4 -81
- package/dist/icons/IconBulb.js +4 -81
- package/dist/icons/IconCalendar.js +4 -81
- package/dist/icons/IconCalendarArrowBack.js +4 -81
- package/dist/icons/IconCalendarArrowForward.js +4 -81
- package/dist/icons/IconCalendarDoubleArrowBack.js +4 -81
- package/dist/icons/IconCalendarDoubleArrowForward.js +4 -81
- package/dist/icons/IconCancel.js +5 -86
- package/dist/icons/IconCancelMark.js +4 -81
- package/dist/icons/IconCarSUV.js +4 -81
- package/dist/icons/IconCarSedan.js +7 -156
- package/dist/icons/IconChain.js +5 -88
- package/dist/icons/IconCheckmark.js +4 -81
- package/dist/icons/IconChevronRight.js +4 -81
- package/dist/icons/IconCircle.js +11 -123
- package/dist/icons/IconCircleCheckmark.js +5 -86
- package/dist/icons/IconCircleError.js +4 -81
- package/dist/icons/IconCircleExclamation.js +6 -113
- package/dist/icons/IconCircleMark.js +5 -87
- package/dist/icons/IconCircleOutline.js +5 -148
- package/dist/icons/IconClock.js +5 -89
- package/dist/icons/IconClose.js +4 -81
- package/dist/icons/IconCollapseAll.js +5 -103
- package/dist/icons/IconConcierge.js +5 -88
- package/dist/icons/IconConciergeService.js +5 -96
- package/dist/icons/IconCreditCard.js +5 -87
- package/dist/icons/IconDash.js +4 -81
- package/dist/icons/IconDeliver.js +4 -81
- package/dist/icons/IconDelivery.js +5 -96
- package/dist/icons/IconDetails.js +4 -81
- package/dist/icons/IconDot.js +6 -96
- package/dist/icons/IconDownload.js +5 -88
- package/dist/icons/IconEVCharging.js +5 -88
- package/dist/icons/IconElectricCarFuel.js +5 -89
- package/dist/icons/IconEllipsis.js +5 -87
- package/dist/icons/IconEnvelope.js +4 -81
- package/dist/icons/IconExpandAll.js +5 -103
- package/dist/icons/IconEye.js +5 -88
- package/dist/icons/IconFacebook.js +6 -103
- package/dist/icons/IconFilter.js +5 -92
- package/dist/icons/IconFlagMalaysia.js +5 -150
- package/dist/icons/IconGiveKey.js +5 -88
- package/dist/icons/IconGlobe.js +4 -79
- package/dist/icons/IconGoogle.js +5 -96
- package/dist/icons/IconHome.js +5 -87
- package/dist/icons/IconHostAdvertise.js +4 -81
- package/dist/icons/IconHostCar.js +4 -84
- package/dist/icons/IconHostCash.js +5 -100
- package/dist/icons/IconHostHandle.js +4 -79
- package/dist/icons/IconHostLocation.js +4 -79
- package/dist/icons/IconHostPayment.js +5 -100
- package/dist/icons/IconHostService.js +5 -88
- package/dist/icons/IconHotDeals.js +4 -81
- package/dist/icons/IconInfo.js +5 -86
- package/dist/icons/IconInstagram.js +4 -81
- package/dist/icons/IconInsurance.js +5 -108
- package/dist/icons/IconInternet.js +4 -82
- package/dist/icons/IconInventory.js +5 -87
- package/dist/icons/IconLaurel.js +5 -110
- package/dist/icons/IconLinkedIn.js +4 -81
- package/dist/icons/IconLoading.js +4 -87
- package/dist/icons/IconLocation.js +5 -89
- package/dist/icons/IconLock.js +4 -82
- package/dist/icons/IconLogistics.js +4 -81
- package/dist/icons/IconMail.js +5 -103
- package/dist/icons/IconMember.js +5 -87
- package/dist/icons/IconMobilePen.js +5 -92
- package/dist/icons/IconMotorcycleMoped.js +5 -87
- package/dist/icons/IconNoCost.js +5 -101
- package/dist/icons/IconPDF.js +5 -89
- package/dist/icons/IconPencil.js +4 -79
- package/dist/icons/IconPhone.js +4 -79
- package/dist/icons/IconPlus.js +4 -81
- package/dist/icons/IconPricing.js +4 -81
- package/dist/icons/IconProtected.js +4 -80
- package/dist/icons/IconPsychology.js +4 -81
- package/dist/icons/IconQuestionTooltip.js +4 -137
- package/dist/icons/IconQuote.js +4 -81
- package/dist/icons/IconRate.js +4 -80
- package/dist/icons/IconRegister.js +5 -108
- package/dist/icons/IconReport.js +6 -98
- package/dist/icons/IconReturn.js +4 -81
- package/dist/icons/IconSearch.js +4 -79
- package/dist/icons/IconSecure.js +4 -80
- package/dist/icons/IconSecurity.js +4 -82
- package/dist/icons/IconSedanOutline.js +5 -168
- package/dist/icons/IconSelectArrow.js +6 -87
- package/dist/icons/IconSort.js +5 -88
- package/dist/icons/IconSortListed.js +5 -104
- package/dist/icons/IconSortPriceAscending.js +5 -92
- package/dist/icons/IconSortPriceDescending.js +5 -92
- package/dist/icons/IconSortYear.js +5 -88
- package/dist/icons/IconSpan.js +4 -80
- package/dist/icons/IconSpeaker.js +4 -88
- package/dist/icons/IconSpecialCar.js +5 -104
- package/dist/icons/IconStar.js +7 -101
- package/dist/icons/IconStockPhoto.js +5 -104
- package/dist/icons/IconSubscription.js +6 -122
- package/dist/icons/IconSubscriptions.js +6 -122
- package/dist/icons/IconSwap.js +5 -88
- package/dist/icons/IconTax.js +4 -81
- package/dist/icons/IconThinArrow.js +6 -87
- package/dist/icons/IconThumbsdown.js +5 -87
- package/dist/icons/IconThumbsup.js +5 -87
- package/dist/icons/IconTool.js +4 -81
- package/dist/icons/IconTooltip.js +4 -137
- package/dist/icons/IconTrash.js +4 -81
- package/dist/icons/IconTriangleExclamation.js +4 -81
- package/dist/icons/IconTyersBrakes.js +5 -92
- package/dist/icons/IconTyre.js +5 -92
- package/dist/icons/IconVacancy.js +5 -87
- package/dist/icons/IconVolunteer.js +4 -81
- package/dist/icons/IconWhatsapp.js +4 -82
- package/dist/icons/IconXPlatform.js +4 -81
- package/dist/icons/IconZeroEffort.js +5 -86
- package/dist/icons/Logo.js +3 -108
- package/dist/input/Input.js +11 -134
- package/dist/input/Input.stories.js +18 -17
- package/dist/input-mask/InputMask.js +11 -158
- package/dist/input-mask/InputMask.stories.js +6 -5
- package/dist/input-mask/mask-trackers.js +5 -4
- package/dist/input-select/InputSelect.js +68 -390
- package/dist/input-select/InputSelect.stories.js +25 -98
- package/dist/popover/popover.js +4 -136
- package/dist/progress/Progress.js +2 -160
- package/dist/progress/Progress.stories.js +14 -13
- package/dist/radio/Radio.js +4 -227
- package/dist/scroll-area/scroll-area.js +5 -180
- package/dist/search-input-select/SearchInputSelect.js +69 -379
- package/dist/select/Select.js +29 -354
- package/dist/select/Select.stories.js +19 -55
- package/dist/skeleton/Skeleton.js +3 -71
- package/dist/skeleton/Skeleton.stories.js +7 -8
- package/dist/slider/Slider.js +5 -170
- package/dist/slider/Slider.stories.js +11 -12
- package/dist/stack/Stack.js +3 -127
- package/dist/stack/Stack.stories.js +7 -19
- package/dist/table/Table.js +10 -216
- package/dist/table/Table.stories.js +8 -84
- package/dist/tabs/Tabs.js +9 -198
- package/dist/tabs/Tabs.stories.js +13 -46
- package/dist/text/Text.js +6 -152
- package/dist/text/Text.stories.js +7 -44
- package/dist/toast/Toast.stories.js +14 -66
- package/dist/toast/ToastBox.js +29 -77
- package/dist/toast/index.js +1 -0
- package/dist/toast/sonner.js +6 -66
- package/dist/toggle/Toggle.js +7 -180
- package/dist/toggle/Toggle.stories.js +8 -10
- package/dist/tooltip/Tooltip.js +12 -169
- package/dist/tooltip/Tooltip.stories.js +13 -71
- package/dist/utils.js +2 -4
- package/dist/vstack/VStack.js +3 -127
- package/dist/vstack/VStack.stories.js +7 -19
- package/package.json +16 -16
|
@@ -1,144 +1,4 @@
|
|
|
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
|
-
}
|
|
142
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
143
3
|
import { Command as CommandPrimitive } from 'cmdk';
|
|
144
4
|
import * as React from 'react';
|
|
@@ -147,74 +7,29 @@ import Box from '../box/Box';
|
|
|
147
7
|
import FieldWrapper from '../field-wrapper/FieldWrapper';
|
|
148
8
|
import IconSearch from '../icons/IconSearch';
|
|
149
9
|
import { cn } from '../utils';
|
|
150
|
-
|
|
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
|
-
});
|
|
10
|
+
const Command = React.forwardRef(({ className, ...props }, ref) => (_jsx(CommandPrimitive, { ref: ref, className: cn('flex relative w-full', className), ...props })));
|
|
162
11
|
Command.displayName = CommandPrimitive.displayName;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
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
|
-
}
|
|
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;
|
|
195
15
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
});
|
|
16
|
+
else if (!isFocused) {
|
|
17
|
+
handleToggle();
|
|
18
|
+
}
|
|
19
|
+
} })] })));
|
|
200
20
|
CommandInput.displayName = CommandPrimitive.Input.displayName;
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
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() {
|
|
21
|
+
const CommandList = React.forwardRef(({ className, ...props }, ref) => {
|
|
22
|
+
const [position, setPosition] = React.useState('bottom');
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
const handlePosition = () => {
|
|
211
25
|
if (ref && 'current' in ref && ref.current) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
26
|
+
const rect = ref.current.getBoundingClientRect();
|
|
27
|
+
const spaceBelow = window.innerHeight - rect.bottom;
|
|
28
|
+
const spaceAbove = rect.top;
|
|
215
29
|
if (spaceBelow < 200 && spaceAbove > spaceBelow) {
|
|
216
30
|
setPosition('top');
|
|
217
|
-
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
218
33
|
setPosition('bottom');
|
|
219
34
|
}
|
|
220
35
|
}
|
|
@@ -222,226 +37,101 @@ var CommandList = /*#__PURE__*/ React.forwardRef(function(_0, _1) {
|
|
|
222
37
|
handlePosition();
|
|
223
38
|
window.addEventListener('resize', handlePosition);
|
|
224
39
|
window.addEventListener('scroll', handlePosition);
|
|
225
|
-
return
|
|
40
|
+
return () => {
|
|
226
41
|
window.removeEventListener('resize', handlePosition);
|
|
227
42
|
window.removeEventListener('scroll', handlePosition);
|
|
228
43
|
};
|
|
229
|
-
}, [
|
|
230
|
-
|
|
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));
|
|
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 }));
|
|
236
46
|
});
|
|
237
47
|
CommandList.displayName = CommandPrimitive.List.displayName;
|
|
238
|
-
|
|
239
|
-
return /*#__PURE__*/ _jsx(CommandPrimitive.Empty, _object_spread({
|
|
240
|
-
ref: ref,
|
|
241
|
-
className: "p-4 text-center text-sm text-primary3"
|
|
242
|
-
}, props));
|
|
243
|
-
});
|
|
48
|
+
const CommandEmpty = React.forwardRef((props, ref) => (_jsx(CommandPrimitive.Empty, { ref: ref, className: "p-4 text-center text-sm text-primary3", ...props })));
|
|
244
49
|
CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
|
|
245
|
-
|
|
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
|
-
});
|
|
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 })));
|
|
257
51
|
CommandGroup.displayName = CommandPrimitive.Group.displayName;
|
|
258
|
-
|
|
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
|
-
});
|
|
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 })));
|
|
270
53
|
CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
|
|
271
|
-
|
|
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
|
-
});
|
|
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 })));
|
|
283
55
|
CommandItem.displayName = CommandPrimitive.Item.displayName;
|
|
284
|
-
|
|
285
|
-
|
|
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));
|
|
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 }));
|
|
291
58
|
};
|
|
292
59
|
CommandShortcut.displayName = 'CommandShortcut';
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
wrapperProps
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
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() {
|
|
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 = () => {
|
|
332
81
|
setIsFocused(true);
|
|
333
82
|
};
|
|
334
|
-
|
|
83
|
+
const handleBlur = (e) => {
|
|
335
84
|
if (e.relatedTarget === null) {
|
|
336
|
-
var _inputRef_current;
|
|
337
85
|
setIsFocused(false);
|
|
338
|
-
|
|
86
|
+
inputRef.current?.blur();
|
|
339
87
|
}
|
|
340
88
|
};
|
|
341
|
-
|
|
89
|
+
const handleChange = (value) => {
|
|
342
90
|
setSearch(value);
|
|
343
91
|
};
|
|
344
|
-
|
|
345
|
-
var _inputRef_current;
|
|
92
|
+
const handleSelect = (option) => {
|
|
346
93
|
setSearch(option.label);
|
|
347
|
-
onChange
|
|
94
|
+
onChange?.(option.value);
|
|
348
95
|
setValue(option.value);
|
|
349
96
|
setIsFocused(false);
|
|
350
|
-
|
|
97
|
+
inputRef.current?.focus();
|
|
351
98
|
};
|
|
352
|
-
|
|
353
|
-
setIsFocused(
|
|
354
|
-
|
|
355
|
-
isFocused && ((_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.blur());
|
|
99
|
+
const handleToggle = () => {
|
|
100
|
+
setIsFocused((isFocused) => {
|
|
101
|
+
isFocused && inputRef.current?.blur();
|
|
356
102
|
return !isFocused;
|
|
357
103
|
});
|
|
358
104
|
};
|
|
359
|
-
|
|
105
|
+
const handleClear = (event) => {
|
|
360
106
|
event.preventDefault();
|
|
361
107
|
event.stopPropagation();
|
|
362
108
|
setSearch('');
|
|
363
109
|
setIsFocused(false);
|
|
364
|
-
onChange
|
|
110
|
+
onChange?.(undefined);
|
|
365
111
|
setValue(undefined);
|
|
366
112
|
};
|
|
367
|
-
|
|
368
|
-
if (wrapperRef.current &&
|
|
113
|
+
const handleClickOutside = (event) => {
|
|
114
|
+
if (wrapperRef.current &&
|
|
115
|
+
!wrapperRef.current.contains(event.target)) {
|
|
369
116
|
setIsFocused(false);
|
|
370
117
|
}
|
|
371
118
|
};
|
|
372
|
-
|
|
373
|
-
setShowAll(
|
|
374
|
-
return !prev;
|
|
375
|
-
});
|
|
119
|
+
const handleShowAll = () => {
|
|
120
|
+
setShowAll((prev) => !prev);
|
|
376
121
|
if (filteredOptions.length > 5) {
|
|
377
122
|
setShowAll(true);
|
|
378
123
|
}
|
|
379
124
|
};
|
|
380
125
|
// biome-ignore lint/correctness/useExhaustiveDependencies: <explanation>
|
|
381
|
-
React.useEffect(
|
|
126
|
+
React.useEffect(() => {
|
|
382
127
|
document.addEventListener('mousedown', handleClickOutside);
|
|
383
|
-
return
|
|
128
|
+
return () => {
|
|
384
129
|
document.removeEventListener('mousedown', handleClickOutside);
|
|
385
130
|
};
|
|
386
131
|
}, []);
|
|
387
|
-
return
|
|
388
|
-
|
|
389
|
-
|
|
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
|
-
}));
|
|
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] })) })] }) }) }));
|
|
446
135
|
});
|
|
447
136
|
export default SearchInputSelect;
|
|
137
|
+
//# sourceMappingURL=SearchInputSelect.js.map
|