@drivenets/design-system 0.0.3 → 0.0.4
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/CHANGELOG.md +6 -0
- package/dist/components/ds-alert-banner/ds-alert-banner.cjs +157 -52
- package/dist/components/ds-alert-banner/ds-alert-banner.d.cts +5 -5
- package/dist/components/ds-alert-banner/ds-alert-banner.d.cts.map +1 -1
- package/dist/components/ds-alert-banner/ds-alert-banner.js +157 -52
- package/dist/components/ds-alert-banner/ds-alert-banner.js.map +1 -1
- package/dist/components/ds-alert-banner/ds-alert-banner.types.d.cts.map +1 -1
- package/dist/components/ds-alert-banner/ds-alert-banner.types.js.map +1 -1
- package/dist/components/ds-breadcrumb/ds-breadcrumb.cjs +59 -16
- package/dist/components/ds-breadcrumb/ds-breadcrumb.js +59 -16
- package/dist/components/ds-breadcrumb/ds-breadcrumb.js.map +1 -1
- package/dist/components/ds-button/ds-button.cjs +18 -2
- package/dist/components/ds-button/ds-button.d.cts +2 -2
- package/dist/components/ds-button/ds-button.d.ts +2 -2
- package/dist/components/ds-button/ds-button.js +18 -2
- package/dist/components/ds-button/ds-button.js.map +1 -1
- package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.cjs +79 -10
- package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js +79 -10
- package/dist/components/ds-button/versions/ds-button-legacy/ds-button-legacy.js.map +1 -1
- package/dist/components/ds-button/versions/ds-button-new/ds-button-new.cjs +78 -10
- package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js +78 -10
- package/dist/components/ds-button/versions/ds-button-new/ds-button-new.js.map +1 -1
- package/dist/components/ds-checkbox/ds-checkbox.cjs +89 -18
- package/dist/components/ds-checkbox/ds-checkbox.js +89 -18
- package/dist/components/ds-checkbox/ds-checkbox.js.map +1 -1
- package/dist/components/ds-chip/ds-chip.cjs +100 -30
- package/dist/components/ds-chip/ds-chip.js +100 -30
- package/dist/components/ds-chip/ds-chip.js.map +1 -1
- package/dist/components/ds-chip-group/ds-chip-group.cjs +6 -6
- package/dist/components/ds-chip-group/ds-chip-group.js +6 -6
- package/dist/components/ds-chip-group/ds-chip-group.js.map +1 -1
- package/dist/components/ds-chip-group/hooks/use-chip-row-calculation.js.map +1 -1
- package/dist/components/ds-confirmation/ds-confirmation.cjs +210 -56
- package/dist/components/ds-confirmation/ds-confirmation.d.cts +8 -8
- package/dist/components/ds-confirmation/ds-confirmation.d.cts.map +1 -1
- package/dist/components/ds-confirmation/ds-confirmation.d.ts +8 -8
- package/dist/components/ds-confirmation/ds-confirmation.js +210 -56
- package/dist/components/ds-confirmation/ds-confirmation.js.map +1 -1
- package/dist/components/ds-dialog/ds-dialog.js.map +1 -1
- package/dist/components/ds-drawer/ds-drawer.cjs +261 -61
- package/dist/components/ds-drawer/ds-drawer.d.cts +9 -9
- package/dist/components/ds-drawer/ds-drawer.d.ts +9 -9
- package/dist/components/ds-drawer/ds-drawer.js +261 -61
- package/dist/components/ds-drawer/ds-drawer.js.map +1 -1
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.cjs +481 -135
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js +481 -135
- package/dist/components/ds-dropdown-menu/ds-dropdown-menu.js.map +1 -1
- package/dist/components/ds-expandable-text-input/ds-expandable-text-input.cjs +146 -56
- package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.cts +2 -2
- package/dist/components/ds-expandable-text-input/ds-expandable-text-input.d.ts +2 -2
- package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js +146 -56
- package/dist/components/ds-expandable-text-input/ds-expandable-text-input.js.map +1 -1
- package/dist/components/ds-file-upload/components/file-upload/file-upload.cjs +190 -69
- package/dist/components/ds-file-upload/components/file-upload/file-upload.js +190 -69
- package/dist/components/ds-file-upload/components/file-upload/file-upload.js.map +1 -1
- package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.cjs +273 -132
- package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js +273 -132
- package/dist/components/ds-file-upload/components/file-upload-item/file-upload-item.js.map +1 -1
- package/dist/components/ds-file-upload/ds-file-upload.cjs +96 -16
- package/dist/components/ds-file-upload/ds-file-upload.js +96 -16
- package/dist/components/ds-file-upload/ds-file-upload.js.map +1 -1
- package/dist/components/ds-file-upload/errors/file-upload-errors.js.map +1 -1
- package/dist/components/ds-file-upload/hooks/use-file-upload.cjs +93 -93
- package/dist/components/ds-file-upload/hooks/use-file-upload.js +93 -93
- package/dist/components/ds-file-upload/hooks/use-file-upload.js.map +1 -1
- package/dist/components/ds-file-upload/types/accept-types.js.map +1 -1
- package/dist/components/ds-file-upload/utils/accept-utils.js.map +1 -1
- package/dist/components/ds-file-upload/utils/constants.js.map +1 -1
- package/dist/components/ds-file-upload/utils/file-factory.js.map +1 -1
- package/dist/components/ds-file-upload/utils/format-file-size.js.map +1 -1
- package/dist/components/ds-file-upload/utils/generate-helper-text.js.map +1 -1
- package/dist/components/ds-file-upload/utils/get-error-message.js.map +1 -1
- package/dist/components/ds-file-upload/utils/is-file-equal.js.map +1 -1
- package/dist/components/ds-form-control/ds-form-control.cjs +119 -34
- package/dist/components/ds-form-control/ds-form-control.d.cts +7 -7
- package/dist/components/ds-form-control/ds-form-control.d.ts +7 -7
- package/dist/components/ds-form-control/ds-form-control.d.ts.map +1 -1
- package/dist/components/ds-form-control/ds-form-control.js +119 -34
- package/dist/components/ds-form-control/ds-form-control.js.map +1 -1
- package/dist/components/ds-form-control/ds-form-control.types.js.map +1 -1
- package/dist/components/ds-grid/ds-grid.js.map +1 -1
- package/dist/components/ds-icon/ds-icon.cjs +84 -13
- package/dist/components/ds-icon/ds-icon.js +84 -13
- package/dist/components/ds-icon/ds-icon.js.map +1 -1
- package/dist/components/ds-icon/ds-icon.types.d.cts.map +1 -1
- package/dist/components/ds-icon/ds-icon.types.js.map +1 -1
- package/dist/components/ds-modal/ds-modal.cjs +222 -55
- package/dist/components/ds-modal/ds-modal.d.cts +8 -8
- package/dist/components/ds-modal/ds-modal.d.cts.map +1 -1
- package/dist/components/ds-modal/ds-modal.d.ts +8 -8
- package/dist/components/ds-modal/ds-modal.d.ts.map +1 -1
- package/dist/components/ds-modal/ds-modal.js +222 -55
- package/dist/components/ds-modal/ds-modal.js.map +1 -1
- package/dist/components/ds-number-input/ds-number-input.cjs +136 -49
- package/dist/components/ds-number-input/ds-number-input.js +136 -49
- package/dist/components/ds-number-input/ds-number-input.js.map +1 -1
- package/dist/components/ds-panel/ds-panel.cjs +111 -19
- package/dist/components/ds-panel/ds-panel.d.cts +2 -2
- package/dist/components/ds-panel/ds-panel.d.cts.map +1 -1
- package/dist/components/ds-panel/ds-panel.js +111 -19
- package/dist/components/ds-panel/ds-panel.js.map +1 -1
- package/dist/components/ds-password-input/ds-password-input.cjs +108 -41
- package/dist/components/ds-password-input/ds-password-input.js +108 -41
- package/dist/components/ds-password-input/ds-password-input.js.map +1 -1
- package/dist/components/ds-popover/ds-popover.cjs +50 -12
- package/dist/components/ds-popover/ds-popover.js +50 -12
- package/dist/components/ds-popover/ds-popover.js.map +1 -1
- package/dist/components/ds-radio-group/ds-radio-group.cjs +209 -53
- package/dist/components/ds-radio-group/ds-radio-group.js +209 -53
- package/dist/components/ds-radio-group/ds-radio-group.js.map +1 -1
- package/dist/components/ds-select/ds-select.cjs +198 -89
- package/dist/components/ds-select/ds-select.d.cts +2 -2
- package/dist/components/ds-select/ds-select.d.cts.map +1 -1
- package/dist/components/ds-select/ds-select.js +198 -89
- package/dist/components/ds-select/ds-select.js.map +1 -1
- package/dist/components/ds-select/select-items-chips.cjs +73 -22
- package/dist/components/ds-select/select-items-chips.js +73 -22
- package/dist/components/ds-select/select-items-chips.js.map +1 -1
- package/dist/components/ds-smart-tabs/ds-smart-tabs.cjs +208 -46
- package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts +2 -2
- package/dist/components/ds-smart-tabs/ds-smart-tabs.d.cts.map +1 -1
- package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts +2 -2
- package/dist/components/ds-smart-tabs/ds-smart-tabs.d.ts.map +1 -1
- package/dist/components/ds-smart-tabs/ds-smart-tabs.js +208 -46
- package/dist/components/ds-smart-tabs/ds-smart-tabs.js.map +1 -1
- package/dist/components/ds-smart-tabs/ds-smart-tabs.types.js.map +1 -1
- package/dist/components/ds-spinner/ds-spinner.cjs +90 -20
- package/dist/components/ds-spinner/ds-spinner.js +90 -20
- package/dist/components/ds-spinner/ds-spinner.js.map +1 -1
- package/dist/components/ds-spinner/ds-spinner.types.js.map +1 -1
- package/dist/components/ds-status-badge/ds-status-badge.cjs +54 -11
- package/dist/components/ds-status-badge/ds-status-badge.js +54 -11
- package/dist/components/ds-status-badge/ds-status-badge.js.map +1 -1
- package/dist/components/ds-stepper/components/ds-step-content.cjs +59 -13
- package/dist/components/ds-stepper/components/ds-step-content.d.cts +2 -2
- package/dist/components/ds-stepper/components/ds-step-content.d.ts +2 -2
- package/dist/components/ds-stepper/components/ds-step-content.js +59 -13
- package/dist/components/ds-stepper/components/ds-step-content.js.map +1 -1
- package/dist/components/ds-stepper/components/ds-step-description.cjs +14 -5
- package/dist/components/ds-stepper/components/ds-step-description.js +14 -5
- package/dist/components/ds-stepper/components/ds-step-description.js.map +1 -1
- package/dist/components/ds-stepper/components/ds-step-label.cjs +14 -5
- package/dist/components/ds-stepper/components/ds-step-label.js +14 -5
- package/dist/components/ds-stepper/components/ds-step-label.js.map +1 -1
- package/dist/components/ds-stepper/components/ds-step-next-button.cjs +23 -6
- package/dist/components/ds-stepper/components/ds-step-next-button.d.cts +2 -2
- package/dist/components/ds-stepper/components/ds-step-next-button.d.ts +2 -2
- package/dist/components/ds-stepper/components/ds-step-next-button.js +23 -6
- package/dist/components/ds-stepper/components/ds-step-next-button.js.map +1 -1
- package/dist/components/ds-stepper/components/ds-step.cjs +106 -25
- package/dist/components/ds-stepper/components/ds-step.d.cts +2 -2
- package/dist/components/ds-stepper/components/ds-step.d.ts +2 -2
- package/dist/components/ds-stepper/components/ds-step.js +106 -25
- package/dist/components/ds-stepper/components/ds-step.js.map +1 -1
- package/dist/components/ds-stepper/ds-stepper.cjs +62 -15
- package/dist/components/ds-stepper/ds-stepper.d.cts +2 -2
- package/dist/components/ds-stepper/ds-stepper.d.cts.map +1 -1
- package/dist/components/ds-stepper/ds-stepper.d.ts +2 -2
- package/dist/components/ds-stepper/ds-stepper.js +62 -15
- package/dist/components/ds-stepper/ds-stepper.js.map +1 -1
- package/dist/components/ds-stepper/hooks/use-stepper.js.map +1 -1
- package/dist/components/ds-stepper/hooks/use-steps.cjs +29 -9
- package/dist/components/ds-stepper/hooks/use-steps.js +29 -9
- package/dist/components/ds-stepper/hooks/use-steps.js.map +1 -1
- package/dist/components/ds-system-status/ds-system-status.cjs +37 -7
- package/dist/components/ds-system-status/ds-system-status.js +37 -7
- package/dist/components/ds-system-status/ds-system-status.js.map +1 -1
- package/dist/components/ds-system-status/ds-system-status.types.js.map +1 -1
- package/dist/components/ds-table/components/core-table/core-table.cjs +281 -48
- package/dist/components/ds-table/components/core-table/core-table.js +281 -48
- package/dist/components/ds-table/components/core-table/core-table.js.map +1 -1
- package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.cjs +134 -50
- package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js +134 -50
- package/dist/components/ds-table/components/ds-table-bulk-actions/ds-table-bulk-actions.js.map +1 -1
- package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.cjs +140 -43
- package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js +140 -43
- package/dist/components/ds-table/components/ds-table-cell/ds-table-cell.js.map +1 -1
- package/dist/components/ds-table/components/ds-table-header/ds-table-header.cjs +37 -6
- package/dist/components/ds-table/components/ds-table-header/ds-table-header.js +37 -6
- package/dist/components/ds-table/components/ds-table-header/ds-table-header.js.map +1 -1
- package/dist/components/ds-table/components/ds-table-row/ds-table-row.cjs +272 -100
- package/dist/components/ds-table/components/ds-table-row/ds-table-row.js +272 -100
- package/dist/components/ds-table/components/ds-table-row/ds-table-row.js.map +1 -1
- package/dist/components/ds-table/context/ds-table-context.js.map +1 -1
- package/dist/components/ds-table/ds-table.cjs +15 -15
- package/dist/components/ds-table/ds-table.d.cts +2 -2
- package/dist/components/ds-table/ds-table.js +15 -15
- package/dist/components/ds-table/ds-table.js.map +1 -1
- package/dist/components/ds-table/hooks/use-drag-and-drop.cjs +126 -38
- package/dist/components/ds-table/hooks/use-drag-and-drop.js +126 -38
- package/dist/components/ds-table/hooks/use-drag-and-drop.js.map +1 -1
- package/dist/components/ds-table/utils/column-styling.js.map +1 -1
- package/dist/components/ds-table/utils/create-columns-grid-template.js.map +1 -1
- package/dist/components/ds-table/utils/merge-refs.js.map +1 -1
- package/dist/components/ds-text-input/ds-text-input.cjs +128 -43
- package/dist/components/ds-text-input/ds-text-input.js +128 -43
- package/dist/components/ds-text-input/ds-text-input.js.map +1 -1
- package/dist/components/ds-text-input/ds-text-input.types.js.map +1 -1
- package/dist/components/ds-textarea/ds-textarea.cjs +66 -22
- package/dist/components/ds-textarea/ds-textarea.js +66 -22
- package/dist/components/ds-textarea/ds-textarea.js.map +1 -1
- package/dist/components/ds-toast/ds-toast-context.cjs +62 -17
- package/dist/components/ds-toast/ds-toast-context.js +62 -17
- package/dist/components/ds-toast/ds-toast-context.js.map +1 -1
- package/dist/components/ds-toast/ds-toast.cjs +90 -26
- package/dist/components/ds-toast/ds-toast.js +90 -26
- package/dist/components/ds-toast/ds-toast.js.map +1 -1
- package/dist/components/ds-tooltip/ds-tooltip.cjs +51 -13
- package/dist/components/ds-tooltip/ds-tooltip.js +51 -13
- package/dist/components/ds-tooltip/ds-tooltip.js.map +1 -1
- package/dist/components/ds-typography/ds-typography.cjs +51 -7
- package/dist/components/ds-typography/ds-typography.config.js.map +1 -1
- package/dist/components/ds-typography/ds-typography.js +51 -7
- package/dist/components/ds-typography/ds-typography.js.map +1 -1
- package/dist/components/ds-vertical-tabs/ds-vertical-tabs.cjs +91 -30
- package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.cts +5 -5
- package/dist/components/ds-vertical-tabs/ds-vertical-tabs.d.ts +5 -5
- package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js +91 -30
- package/dist/components/ds-vertical-tabs/ds-vertical-tabs.js.map +1 -1
- package/dist/index.min.css +1 -1
- package/package.json +7 -1
|
@@ -8,6 +8,7 @@ import ds_checkbox_default from "../ds-checkbox/ds-checkbox.js";
|
|
|
8
8
|
import "../ds-checkbox/index.js";
|
|
9
9
|
import ds_select_module_default from "./ds-select.module.js";
|
|
10
10
|
import { SelectItemsChips } from "./select-items-chips.js";
|
|
11
|
+
import { c } from "react/compiler-runtime";
|
|
11
12
|
import classNames from "classnames";
|
|
12
13
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
14
|
import { useState } from "react";
|
|
@@ -21,46 +22,214 @@ const SELECT_ALL = {
|
|
|
21
22
|
label: "All",
|
|
22
23
|
value: SELECT_ALL_VALUE
|
|
23
24
|
};
|
|
24
|
-
const DsSelect = (
|
|
25
|
+
const DsSelect = (t0) => {
|
|
26
|
+
const $ = c(35);
|
|
27
|
+
const { id, options: userOptions, value, style, size, clearable, onClear, onBlur, className, placeholder: t1, disabled, ...multiselectProps } = t0;
|
|
28
|
+
const placeholder = t1 === void 0 ? "Click to select a value" : t1;
|
|
25
29
|
const [searchTerm, setSearchTerm] = useState("");
|
|
26
30
|
const [showAllItems, setShowAllItems] = useState(false);
|
|
27
31
|
const internalOptions = multiselectProps.multiple ? [SELECT_ALL, ...userOptions] : userOptions;
|
|
28
32
|
const collection = createListCollection({
|
|
29
33
|
items: internalOptions,
|
|
30
|
-
itemToValue:
|
|
34
|
+
itemToValue: _temp
|
|
31
35
|
});
|
|
32
|
-
|
|
33
|
-
|
|
36
|
+
let t2;
|
|
37
|
+
if ($[0] !== searchTerm) {
|
|
38
|
+
t2 = (option) => option.label.toLowerCase().includes(searchTerm.toLowerCase());
|
|
39
|
+
$[0] = searchTerm;
|
|
40
|
+
$[1] = t2;
|
|
41
|
+
} else t2 = $[1];
|
|
42
|
+
const filteredOptions = internalOptions.filter(t2);
|
|
43
|
+
const normalizedValue = Array.isArray(value) ? value : [value].filter(_temp2);
|
|
44
|
+
let t3;
|
|
45
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
46
|
+
t3 = () => {
|
|
47
|
+
setSearchTerm("");
|
|
48
|
+
setShowAllItems(false);
|
|
49
|
+
};
|
|
50
|
+
$[2] = t3;
|
|
51
|
+
} else t3 = $[2];
|
|
34
52
|
const select = useSelect({
|
|
35
53
|
collection,
|
|
36
54
|
disabled,
|
|
37
55
|
multiple: multiselectProps.multiple,
|
|
38
56
|
value: normalizedValue,
|
|
39
57
|
ids: { trigger: id },
|
|
40
|
-
onOpenChange:
|
|
41
|
-
setSearchTerm("");
|
|
42
|
-
setShowAllItems(false);
|
|
43
|
-
},
|
|
58
|
+
onOpenChange: t3,
|
|
44
59
|
onValueChange: (details) => {
|
|
45
60
|
if (!multiselectProps.multiple) {
|
|
46
61
|
multiselectProps.onValueChange?.(details.value[0]);
|
|
47
62
|
return;
|
|
48
63
|
}
|
|
49
64
|
if (details.value.includes(SELECT_ALL_VALUE)) {
|
|
50
|
-
const newValues = select.selectedItems.length === userOptions.length ? [] : userOptions.map(
|
|
65
|
+
const newValues = select.selectedItems.length === userOptions.length ? [] : userOptions.map(_temp3);
|
|
51
66
|
multiselectProps.onValueChange?.(newValues);
|
|
52
67
|
return;
|
|
53
68
|
}
|
|
54
|
-
const newValueWithoutSelectAll = details.value.filter(
|
|
69
|
+
const newValueWithoutSelectAll = details.value.filter(_temp4);
|
|
55
70
|
multiselectProps.onValueChange?.(newValueWithoutSelectAll);
|
|
56
71
|
}
|
|
57
72
|
});
|
|
73
|
+
const t4 = size === "small" && ds_select_module_default.small;
|
|
74
|
+
let t5;
|
|
75
|
+
if ($[3] !== className || $[4] !== t4) {
|
|
76
|
+
t5 = classNames(ds_select_module_default.control, t4, className);
|
|
77
|
+
$[3] = className;
|
|
78
|
+
$[4] = t4;
|
|
79
|
+
$[5] = t5;
|
|
80
|
+
} else t5 = $[5];
|
|
81
|
+
let t6;
|
|
82
|
+
if ($[6] !== placeholder) {
|
|
83
|
+
t6 = /* @__PURE__ */ jsx(ds_typography_default, {
|
|
84
|
+
className: ds_select_module_default.valueText,
|
|
85
|
+
variant: "body-sm-reg",
|
|
86
|
+
asChild: true,
|
|
87
|
+
children: /* @__PURE__ */ jsx(Select.ValueText, { placeholder })
|
|
88
|
+
});
|
|
89
|
+
$[6] = placeholder;
|
|
90
|
+
$[7] = t6;
|
|
91
|
+
} else t6 = $[7];
|
|
92
|
+
const t7 = size === "small" ? "small" : "medium";
|
|
93
|
+
let t8;
|
|
94
|
+
if ($[8] !== t7) {
|
|
95
|
+
t8 = /* @__PURE__ */ jsx(Select.Indicator, {
|
|
96
|
+
className: ds_select_module_default.triggerIcon,
|
|
97
|
+
children: /* @__PURE__ */ jsx(ds_icon_default, {
|
|
98
|
+
icon: "keyboard_arrow_down",
|
|
99
|
+
size: t7
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
$[8] = t7;
|
|
103
|
+
$[9] = t8;
|
|
104
|
+
} else t8 = $[9];
|
|
105
|
+
let t9;
|
|
106
|
+
if ($[10] !== id || $[11] !== t6 || $[12] !== t8) {
|
|
107
|
+
t9 = /* @__PURE__ */ jsxs(Select.Trigger, {
|
|
108
|
+
id,
|
|
109
|
+
className: ds_select_module_default.trigger,
|
|
110
|
+
"aria-labelledby": null,
|
|
111
|
+
children: [t6, t8]
|
|
112
|
+
});
|
|
113
|
+
$[10] = id;
|
|
114
|
+
$[11] = t6;
|
|
115
|
+
$[12] = t8;
|
|
116
|
+
$[13] = t9;
|
|
117
|
+
} else t9 = $[13];
|
|
118
|
+
let t10;
|
|
119
|
+
if ($[14] !== clearable || $[15] !== onClear || $[16] !== size) {
|
|
120
|
+
t10 = clearable && /* @__PURE__ */ jsx(Select.ClearTrigger, {
|
|
121
|
+
className: ds_select_module_default.clearIcon,
|
|
122
|
+
onClick: onClear,
|
|
123
|
+
children: /* @__PURE__ */ jsx(ds_icon_default, {
|
|
124
|
+
icon: "close",
|
|
125
|
+
size: size === "small" ? "small" : "medium"
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
$[14] = clearable;
|
|
129
|
+
$[15] = onClear;
|
|
130
|
+
$[16] = size;
|
|
131
|
+
$[17] = t10;
|
|
132
|
+
} else t10 = $[17];
|
|
133
|
+
const T0 = Portal;
|
|
134
|
+
const t11 = Select;
|
|
135
|
+
const t12 = ds_select_module_default;
|
|
136
|
+
const t13 = Select;
|
|
137
|
+
const t14 = ds_select_module_default;
|
|
138
|
+
let t15;
|
|
139
|
+
if ($[18] !== searchTerm || $[19] !== userOptions.length) {
|
|
140
|
+
t15 = userOptions.length > SEARCH_THRESHOLD && /* @__PURE__ */ jsx("div", {
|
|
141
|
+
className: ds_select_module_default.searchInput,
|
|
142
|
+
children: /* @__PURE__ */ jsx(ds_text_input_default, {
|
|
143
|
+
placeholder: "Search",
|
|
144
|
+
value: searchTerm,
|
|
145
|
+
onChange: (e_0) => setSearchTerm(e_0.target.value),
|
|
146
|
+
onKeyDown: _temp5,
|
|
147
|
+
slots: { startAdornment: /* @__PURE__ */ jsx(ds_icon_default, {
|
|
148
|
+
icon: "search",
|
|
149
|
+
size: "tiny"
|
|
150
|
+
}) }
|
|
151
|
+
})
|
|
152
|
+
});
|
|
153
|
+
$[18] = searchTerm;
|
|
154
|
+
$[19] = userOptions.length;
|
|
155
|
+
$[20] = t15;
|
|
156
|
+
} else t15 = $[20];
|
|
157
|
+
const t16 = multiselectProps.multiple && /* @__PURE__ */ jsx(SelectItemsChips, {
|
|
158
|
+
onValueChange: multiselectProps.onValueChange,
|
|
159
|
+
showAll: showAllItems,
|
|
160
|
+
onShowAll: () => setShowAllItems(true),
|
|
161
|
+
count: 6
|
|
162
|
+
});
|
|
163
|
+
const t17 = filteredOptions.map((item_0) => {
|
|
164
|
+
const checked = getItemCheckedState({
|
|
165
|
+
item: item_0,
|
|
166
|
+
select,
|
|
167
|
+
options: internalOptions
|
|
168
|
+
});
|
|
169
|
+
return /* @__PURE__ */ jsx(ds_typography_default, {
|
|
170
|
+
variant: "body-sm-reg",
|
|
171
|
+
asChild: true,
|
|
172
|
+
className: ds_select_module_default.item,
|
|
173
|
+
children: /* @__PURE__ */ jsxs(Select.Item, {
|
|
174
|
+
item: item_0,
|
|
175
|
+
children: [
|
|
176
|
+
multiselectProps.multiple && /* @__PURE__ */ jsx(ds_checkbox_default, { checked }),
|
|
177
|
+
item_0.icon && /* @__PURE__ */ jsx(ds_icon_default, {
|
|
178
|
+
className: ds_select_module_default.itemIcon,
|
|
179
|
+
icon: item_0.icon,
|
|
180
|
+
"aria-hidden": "true"
|
|
181
|
+
}),
|
|
182
|
+
/* @__PURE__ */ jsx(Select.ItemText, { children: item_0.label })
|
|
183
|
+
]
|
|
184
|
+
})
|
|
185
|
+
}, collection.getItemValue(item_0));
|
|
186
|
+
});
|
|
187
|
+
let t18;
|
|
188
|
+
if ($[21] !== t13.Content || $[22] !== t14.content || $[23] !== t15 || $[24] !== t16 || $[25] !== t17) {
|
|
189
|
+
t18 = /* @__PURE__ */ jsxs(t13.Content, {
|
|
190
|
+
className: t14.content,
|
|
191
|
+
children: [
|
|
192
|
+
t15,
|
|
193
|
+
t16,
|
|
194
|
+
t17
|
|
195
|
+
]
|
|
196
|
+
});
|
|
197
|
+
$[21] = t13.Content;
|
|
198
|
+
$[22] = t14.content;
|
|
199
|
+
$[23] = t15;
|
|
200
|
+
$[24] = t16;
|
|
201
|
+
$[25] = t17;
|
|
202
|
+
$[26] = t18;
|
|
203
|
+
} else t18 = $[26];
|
|
204
|
+
let t19;
|
|
205
|
+
if ($[27] !== t11.Positioner || $[28] !== t12.viewport || $[29] !== t18) {
|
|
206
|
+
t19 = /* @__PURE__ */ jsx(t11.Positioner, {
|
|
207
|
+
className: t12.viewport,
|
|
208
|
+
children: t18
|
|
209
|
+
});
|
|
210
|
+
$[27] = t11.Positioner;
|
|
211
|
+
$[28] = t12.viewport;
|
|
212
|
+
$[29] = t18;
|
|
213
|
+
$[30] = t19;
|
|
214
|
+
} else t19 = $[30];
|
|
215
|
+
let t20;
|
|
216
|
+
if ($[31] !== T0 || $[32] !== t19) {
|
|
217
|
+
t20 = /* @__PURE__ */ jsx(T0, { children: t19 });
|
|
218
|
+
$[31] = T0;
|
|
219
|
+
$[32] = t19;
|
|
220
|
+
$[33] = t20;
|
|
221
|
+
} else t20 = $[33];
|
|
222
|
+
let t21;
|
|
223
|
+
if ($[34] === Symbol.for("react.memo_cache_sentinel")) {
|
|
224
|
+
t21 = /* @__PURE__ */ jsx(Select.HiddenSelect, { style: { display: "none" } });
|
|
225
|
+
$[34] = t21;
|
|
226
|
+
} else t21 = $[34];
|
|
58
227
|
return /* @__PURE__ */ jsxs(Select.RootProvider, {
|
|
59
228
|
value: select,
|
|
60
229
|
lazyMount: true,
|
|
61
230
|
children: [
|
|
62
231
|
/* @__PURE__ */ jsxs(Select.Control, {
|
|
63
|
-
className:
|
|
232
|
+
className: t5,
|
|
64
233
|
style,
|
|
65
234
|
onBlur,
|
|
66
235
|
onKeyDown: (e) => {
|
|
@@ -72,85 +241,10 @@ const DsSelect = ({ id, options: userOptions, value, style, size, clearable, onC
|
|
|
72
241
|
onClear?.();
|
|
73
242
|
}
|
|
74
243
|
},
|
|
75
|
-
children: [
|
|
76
|
-
id,
|
|
77
|
-
className: ds_select_module_default.trigger,
|
|
78
|
-
"aria-labelledby": null,
|
|
79
|
-
children: [/* @__PURE__ */ jsx(ds_typography_default, {
|
|
80
|
-
className: ds_select_module_default.valueText,
|
|
81
|
-
variant: "body-sm-reg",
|
|
82
|
-
asChild: true,
|
|
83
|
-
children: /* @__PURE__ */ jsx(Select.ValueText, { placeholder })
|
|
84
|
-
}), /* @__PURE__ */ jsx(Select.Indicator, {
|
|
85
|
-
className: ds_select_module_default.triggerIcon,
|
|
86
|
-
children: /* @__PURE__ */ jsx(ds_icon_default, {
|
|
87
|
-
icon: "keyboard_arrow_down",
|
|
88
|
-
size: size === "small" ? "small" : "medium"
|
|
89
|
-
})
|
|
90
|
-
})]
|
|
91
|
-
}), clearable && /* @__PURE__ */ jsx(Select.ClearTrigger, {
|
|
92
|
-
className: ds_select_module_default.clearIcon,
|
|
93
|
-
onClick: onClear,
|
|
94
|
-
children: /* @__PURE__ */ jsx(ds_icon_default, {
|
|
95
|
-
icon: "close",
|
|
96
|
-
size: size === "small" ? "small" : "medium"
|
|
97
|
-
})
|
|
98
|
-
})]
|
|
244
|
+
children: [t9, t10]
|
|
99
245
|
}),
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
children: /* @__PURE__ */ jsxs(Select.Content, {
|
|
103
|
-
className: ds_select_module_default.content,
|
|
104
|
-
children: [
|
|
105
|
-
userOptions.length > SEARCH_THRESHOLD && /* @__PURE__ */ jsx("div", {
|
|
106
|
-
className: ds_select_module_default.searchInput,
|
|
107
|
-
children: /* @__PURE__ */ jsx(ds_text_input_default, {
|
|
108
|
-
placeholder: "Search",
|
|
109
|
-
value: searchTerm,
|
|
110
|
-
onChange: (e) => setSearchTerm(e.target.value),
|
|
111
|
-
onKeyDown: (e) => {
|
|
112
|
-
if (e.key === " ") e.stopPropagation();
|
|
113
|
-
},
|
|
114
|
-
slots: { startAdornment: /* @__PURE__ */ jsx(ds_icon_default, {
|
|
115
|
-
icon: "search",
|
|
116
|
-
size: "tiny"
|
|
117
|
-
}) }
|
|
118
|
-
})
|
|
119
|
-
}),
|
|
120
|
-
multiselectProps.multiple && /* @__PURE__ */ jsx(SelectItemsChips, {
|
|
121
|
-
onValueChange: multiselectProps.onValueChange,
|
|
122
|
-
showAll: showAllItems,
|
|
123
|
-
onShowAll: () => setShowAllItems(true),
|
|
124
|
-
count: 6
|
|
125
|
-
}),
|
|
126
|
-
filteredOptions.map((item) => {
|
|
127
|
-
const checked = getItemCheckedState({
|
|
128
|
-
item,
|
|
129
|
-
select,
|
|
130
|
-
options: internalOptions
|
|
131
|
-
});
|
|
132
|
-
return /* @__PURE__ */ jsx(ds_typography_default, {
|
|
133
|
-
variant: "body-sm-reg",
|
|
134
|
-
asChild: true,
|
|
135
|
-
className: ds_select_module_default.item,
|
|
136
|
-
children: /* @__PURE__ */ jsxs(Select.Item, {
|
|
137
|
-
item,
|
|
138
|
-
children: [
|
|
139
|
-
multiselectProps.multiple && /* @__PURE__ */ jsx(ds_checkbox_default, { checked }),
|
|
140
|
-
item.icon && /* @__PURE__ */ jsx(ds_icon_default, {
|
|
141
|
-
className: ds_select_module_default.itemIcon,
|
|
142
|
-
icon: item.icon,
|
|
143
|
-
"aria-hidden": "true"
|
|
144
|
-
}),
|
|
145
|
-
/* @__PURE__ */ jsx(Select.ItemText, { children: item.label })
|
|
146
|
-
]
|
|
147
|
-
})
|
|
148
|
-
}, collection.getItemValue(item));
|
|
149
|
-
})
|
|
150
|
-
]
|
|
151
|
-
})
|
|
152
|
-
}) }),
|
|
153
|
-
/* @__PURE__ */ jsx(Select.HiddenSelect, { style: { display: "none" } })
|
|
246
|
+
t20,
|
|
247
|
+
t21
|
|
154
248
|
]
|
|
155
249
|
});
|
|
156
250
|
};
|
|
@@ -160,6 +254,21 @@ function getItemCheckedState({ item, select, options }) {
|
|
|
160
254
|
return select.hasSelectedItems ? "indeterminate" : false;
|
|
161
255
|
}
|
|
162
256
|
var ds_select_default = DsSelect;
|
|
257
|
+
function _temp(item) {
|
|
258
|
+
return item.value;
|
|
259
|
+
}
|
|
260
|
+
function _temp2(value_0) {
|
|
261
|
+
return !!value_0;
|
|
262
|
+
}
|
|
263
|
+
function _temp3(opt) {
|
|
264
|
+
return opt.value;
|
|
265
|
+
}
|
|
266
|
+
function _temp4(val) {
|
|
267
|
+
return val !== SELECT_ALL_VALUE;
|
|
268
|
+
}
|
|
269
|
+
function _temp5(e_1) {
|
|
270
|
+
if (e_1.key === " ") e_1.stopPropagation();
|
|
271
|
+
}
|
|
163
272
|
|
|
164
273
|
//#endregion
|
|
165
274
|
export { ds_select_default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ds-select.js","names":["SELECT_ALL: DsSelectOption","value","styles","DsTypography","DsIcon","DsTextInput","DsCheckbox"],"sources":["../../../src/components/ds-select/ds-select.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { type UseSelectReturn, Select, createListCollection, useSelect } from '@ark-ui/react/select';\nimport { Portal } from '@ark-ui/react/portal';\nimport classNames from 'classnames';\nimport styles from './ds-select.module.scss';\nimport type { DsSelectOption, DsSelectProps } from './ds-select.types';\nimport { DsIcon } from '../ds-icon';\nimport { type DsCheckboxProps, DsCheckbox } from '../ds-checkbox';\nimport { SelectItemsChips } from './select-items-chips';\nimport { DsTypography } from '../ds-typography';\nimport { DsTextInput } from '../ds-text-input';\n\nconst SEARCH_THRESHOLD = 13;\nconst SELECT_ALL_VALUE = '__INTERNAL_SELECT_ALL_VALUE__';\n\nconst SELECT_ALL: DsSelectOption = {\n\tlabel: 'All',\n\tvalue: SELECT_ALL_VALUE,\n};\n\nconst DsSelect = ({\n\tid,\n\toptions: userOptions,\n\tvalue,\n\tstyle,\n\tsize,\n\tclearable,\n\tonClear,\n\tonBlur,\n\tclassName,\n\tplaceholder = 'Click to select a value',\n\tdisabled,\n\t...multiselectProps\n}: DsSelectProps) => {\n\tconst [searchTerm, setSearchTerm] = useState('');\n\tconst [showAllItems, setShowAllItems] = useState(false);\n\n\tconst internalOptions = multiselectProps.multiple ? [SELECT_ALL, ...userOptions] : userOptions;\n\n\tconst collection = createListCollection({\n\t\titems: internalOptions,\n\t\titemToValue: (item) => item.value,\n\t});\n\n\tconst filteredOptions = internalOptions.filter((option) =>\n\t\toption.label.toLowerCase().includes(searchTerm.toLowerCase()),\n\t);\n\n\tconst normalizedValue = Array.isArray(value) ? value : [value].filter((value) => !!value);\n\n\tconst select = useSelect({\n\t\tcollection,\n\t\tdisabled,\n\t\tmultiple: multiselectProps.multiple,\n\t\tvalue: normalizedValue,\n\n\t\t// Override Ark's auto-generated trigger id if an id provided by the user.\n\t\t// See: https://github.com/chakra-ui/zag/blob/f6e079095/packages/machines/select/src/select.dom.ts#L5\n\t\tids: { trigger: id },\n\n\t\tonOpenChange: () => {\n\t\t\tsetSearchTerm('');\n\t\t\tsetShowAllItems(false);\n\t\t},\n\n\t\tonValueChange: (details) => {\n\t\t\t// Single select mode.\n\t\t\tif (!multiselectProps.multiple) {\n\t\t\t\tmultiselectProps.onValueChange?.(details.value[0]);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Select All\" clicked in multi select mode.\n\t\t\tconst isSelectAllClicked = details.value.includes(SELECT_ALL_VALUE);\n\n\t\t\tif (isSelectAllClicked) {\n\t\t\t\tconst areAllOptionsSelected = select.selectedItems.length === userOptions.length;\n\n\t\t\t\tconst newValues = areAllOptionsSelected ? [] : userOptions.map((opt) => opt.value);\n\n\t\t\t\tmultiselectProps.onValueChange?.(newValues);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Regular\" multi select mode.\n\t\t\tconst newValueWithoutSelectAll = details.value.filter((val) => val !== SELECT_ALL_VALUE);\n\n\t\t\tmultiselectProps.onValueChange?.(newValueWithoutSelectAll);\n\t\t},\n\t});\n\n\treturn (\n\t\t<Select.RootProvider\n\t\t\tvalue={select}\n\t\t\t// When rendering the Select inside a Modal, it has an `aria-hidden=\"true\"` attribute\n\t\t\t// which causes screen readers to ignore it.\n\t\t\t//\n\t\t\t// See: https://github.com/chakra-ui/ark/issues/3728\n\t\t\tlazyMount\n\t\t>\n\t\t\t<Select.Control\n\t\t\t\tclassName={classNames(styles.control, size === 'small' && styles.small, className)}\n\t\t\t\tstyle={style}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (!clearable) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (select.open) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (e.key === 'Backspace' || e.key === 'Delete') {\n\t\t\t\t\t\tif (multiselectProps.multiple) {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.([]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.('');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonClear?.();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Select.Trigger\n\t\t\t\t\tid={id}\n\t\t\t\t\tclassName={styles.trigger}\n\t\t\t\t\t// Ark expects a `Select.Label` component to exist and automatically label the trigger\n\t\t\t\t\t// with it. We're using the `DsFormControl` label handling instead, so we disable the\n\t\t\t\t\t// automatic labelling here.\n\t\t\t\t\taria-labelledby={null as never}\n\t\t\t\t>\n\t\t\t\t\t<DsTypography className={styles.valueText} variant=\"body-sm-reg\" asChild>\n\t\t\t\t\t\t<Select.ValueText placeholder={placeholder} />\n\t\t\t\t\t</DsTypography>\n\n\t\t\t\t\t<Select.Indicator className={styles.triggerIcon}>\n\t\t\t\t\t\t<DsIcon icon=\"keyboard_arrow_down\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.Indicator>\n\t\t\t\t</Select.Trigger>\n\n\t\t\t\t{clearable && (\n\t\t\t\t\t<Select.ClearTrigger className={styles.clearIcon} onClick={onClear}>\n\t\t\t\t\t\t<DsIcon icon=\"close\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.ClearTrigger>\n\t\t\t\t)}\n\t\t\t</Select.Control>\n\t\t\t<Portal>\n\t\t\t\t<Select.Positioner className={styles.viewport}>\n\t\t\t\t\t<Select.Content className={styles.content}>\n\t\t\t\t\t\t{userOptions.length > SEARCH_THRESHOLD && (\n\t\t\t\t\t\t\t<div className={styles.searchInput}>\n\t\t\t\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t// Prevent the select from opening/closing when pressing space in the search input.\n\t\t\t\t\t\t\t\t\t\tif (e.key === ' ') {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tslots={{\n\t\t\t\t\t\t\t\t\t\tstartAdornment: <DsIcon icon=\"search\" size=\"tiny\" />,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{multiselectProps.multiple && (\n\t\t\t\t\t\t\t<SelectItemsChips\n\t\t\t\t\t\t\t\tonValueChange={multiselectProps.onValueChange}\n\t\t\t\t\t\t\t\tshowAll={showAllItems}\n\t\t\t\t\t\t\t\tonShowAll={() => setShowAllItems(true)}\n\t\t\t\t\t\t\t\t// TODO: Find a way to calculate this based on the size of the select.\n\t\t\t\t\t\t\t\tcount={6}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{filteredOptions.map((item) => {\n\t\t\t\t\t\t\tconst checked = getItemCheckedState({ item, select, options: internalOptions });\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<DsTypography\n\t\t\t\t\t\t\t\t\tvariant=\"body-sm-reg\"\n\t\t\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t\t\t\tkey={collection.getItemValue(item)}\n\t\t\t\t\t\t\t\t\tclassName={styles.item}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Select.Item item={item}>\n\t\t\t\t\t\t\t\t\t\t{multiselectProps.multiple && <DsCheckbox checked={checked} />}\n\t\t\t\t\t\t\t\t\t\t{item.icon && <DsIcon className={styles.itemIcon} icon={item.icon} aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t\t\t\t<Select.ItemText>{item.label}</Select.ItemText>\n\t\t\t\t\t\t\t\t\t</Select.Item>\n\t\t\t\t\t\t\t\t</DsTypography>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Select.Content>\n\t\t\t\t</Select.Positioner>\n\t\t\t</Portal>\n\n\t\t\t{/*\n\t\t\t\tThis element isn't properly hidden by Zag, so we hide it manually.\n\t\t\t \tFor more information, see: https://github.com/chakra-ui/zag/issues/2865\n\t\t\t*/}\n\t\t\t<Select.HiddenSelect style={{ display: 'none' }} />\n\t\t</Select.RootProvider>\n\t);\n};\n\nfunction getItemCheckedState({\n\titem,\n\tselect,\n\toptions,\n}: {\n\titem: DsSelectOption;\n\tselect: UseSelectReturn<DsSelectOption>;\n\toptions: DsSelectOption[];\n}): DsCheckboxProps['checked'] {\n\tconst isRegularItem = item.value !== SELECT_ALL_VALUE;\n\n\tif (isRegularItem) {\n\t\treturn select.getItemState({ item }).selected;\n\t}\n\n\t// Doing -1 since it contains the \"Select All\" option itself.\n\tconst allSelected = select.selectedItems.length === options.length - 1;\n\n\tif (allSelected) {\n\t\treturn true;\n\t}\n\n\tconst someSelected = select.hasSelectedItems;\n\n\treturn someSelected ? 'indeterminate' : false;\n}\n\nexport default DsSelect;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ds-select.js","names":["useState","UseSelectReturn","Select","createListCollection","useSelect","Portal","classNames","styles","DsSelectOption","DsSelectProps","DsIcon","DsCheckboxProps","DsCheckbox","SelectItemsChips","DsTypography","DsTextInput","SEARCH_THRESHOLD","SELECT_ALL_VALUE","SELECT_ALL","label","value","DsSelect","t0","$","_c","id","options","userOptions","style","size","clearable","onClear","onBlur","className","placeholder","t1","disabled","multiselectProps","undefined","searchTerm","setSearchTerm","showAllItems","setShowAllItems","internalOptions","multiple","collection","items","itemToValue","_temp","t2","option","toLowerCase","includes","filteredOptions","filter","normalizedValue","Array","isArray","_temp2","t3","Symbol","for","select","ids","trigger","onOpenChange","onValueChange","details","isSelectAllClicked","areAllOptionsSelected","selectedItems","length","newValues","map","_temp3","newValueWithoutSelectAll","_temp4","t4","small","t5","control","t6","valueText","t7","t8","triggerIcon","t9","t10","clearIcon","T0","t11","t13","t15","searchInput","e_0","e","target","_temp5","startAdornment","t16","t17","item_0","checked","getItemCheckedState","item","getItemValue","icon","itemIcon","t18","Content","t14","content","t19","Positioner","t12","viewport","t20","t21","display","open","key","isRegularItem","getItemState","selected","allSelected","someSelected","hasSelectedItems","value_0","opt","val","e_1","stopPropagation"],"sources":["../../../src/components/ds-select/ds-select.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { type UseSelectReturn, Select, createListCollection, useSelect } from '@ark-ui/react/select';\nimport { Portal } from '@ark-ui/react/portal';\nimport classNames from 'classnames';\nimport styles from './ds-select.module.scss';\nimport type { DsSelectOption, DsSelectProps } from './ds-select.types';\nimport { DsIcon } from '../ds-icon';\nimport { type DsCheckboxProps, DsCheckbox } from '../ds-checkbox';\nimport { SelectItemsChips } from './select-items-chips';\nimport { DsTypography } from '../ds-typography';\nimport { DsTextInput } from '../ds-text-input';\n\nconst SEARCH_THRESHOLD = 13;\nconst SELECT_ALL_VALUE = '__INTERNAL_SELECT_ALL_VALUE__';\n\nconst SELECT_ALL: DsSelectOption = {\n\tlabel: 'All',\n\tvalue: SELECT_ALL_VALUE,\n};\n\nconst DsSelect = ({\n\tid,\n\toptions: userOptions,\n\tvalue,\n\tstyle,\n\tsize,\n\tclearable,\n\tonClear,\n\tonBlur,\n\tclassName,\n\tplaceholder = 'Click to select a value',\n\tdisabled,\n\t...multiselectProps\n}: DsSelectProps) => {\n\tconst [searchTerm, setSearchTerm] = useState('');\n\tconst [showAllItems, setShowAllItems] = useState(false);\n\n\tconst internalOptions = multiselectProps.multiple ? [SELECT_ALL, ...userOptions] : userOptions;\n\n\tconst collection = createListCollection({\n\t\titems: internalOptions,\n\t\titemToValue: (item) => item.value,\n\t});\n\n\tconst filteredOptions = internalOptions.filter((option) =>\n\t\toption.label.toLowerCase().includes(searchTerm.toLowerCase()),\n\t);\n\n\tconst normalizedValue = Array.isArray(value) ? value : [value].filter((value) => !!value);\n\n\tconst select = useSelect({\n\t\tcollection,\n\t\tdisabled,\n\t\tmultiple: multiselectProps.multiple,\n\t\tvalue: normalizedValue,\n\n\t\t// Override Ark's auto-generated trigger id if an id provided by the user.\n\t\t// See: https://github.com/chakra-ui/zag/blob/f6e079095/packages/machines/select/src/select.dom.ts#L5\n\t\tids: { trigger: id },\n\n\t\tonOpenChange: () => {\n\t\t\tsetSearchTerm('');\n\t\t\tsetShowAllItems(false);\n\t\t},\n\n\t\tonValueChange: (details) => {\n\t\t\t// Single select mode.\n\t\t\tif (!multiselectProps.multiple) {\n\t\t\t\tmultiselectProps.onValueChange?.(details.value[0]);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Select All\" clicked in multi select mode.\n\t\t\tconst isSelectAllClicked = details.value.includes(SELECT_ALL_VALUE);\n\n\t\t\tif (isSelectAllClicked) {\n\t\t\t\tconst areAllOptionsSelected = select.selectedItems.length === userOptions.length;\n\n\t\t\t\tconst newValues = areAllOptionsSelected ? [] : userOptions.map((opt) => opt.value);\n\n\t\t\t\tmultiselectProps.onValueChange?.(newValues);\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// \"Regular\" multi select mode.\n\t\t\tconst newValueWithoutSelectAll = details.value.filter((val) => val !== SELECT_ALL_VALUE);\n\n\t\t\tmultiselectProps.onValueChange?.(newValueWithoutSelectAll);\n\t\t},\n\t});\n\n\treturn (\n\t\t<Select.RootProvider\n\t\t\tvalue={select}\n\t\t\t// When rendering the Select inside a Modal, it has an `aria-hidden=\"true\"` attribute\n\t\t\t// which causes screen readers to ignore it.\n\t\t\t//\n\t\t\t// See: https://github.com/chakra-ui/ark/issues/3728\n\t\t\tlazyMount\n\t\t>\n\t\t\t<Select.Control\n\t\t\t\tclassName={classNames(styles.control, size === 'small' && styles.small, className)}\n\t\t\t\tstyle={style}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\tif (!clearable) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (select.open) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (e.key === 'Backspace' || e.key === 'Delete') {\n\t\t\t\t\t\tif (multiselectProps.multiple) {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.([]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmultiselectProps.onValueChange?.('');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonClear?.();\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<Select.Trigger\n\t\t\t\t\tid={id}\n\t\t\t\t\tclassName={styles.trigger}\n\t\t\t\t\t// Ark expects a `Select.Label` component to exist and automatically label the trigger\n\t\t\t\t\t// with it. We're using the `DsFormControl` label handling instead, so we disable the\n\t\t\t\t\t// automatic labelling here.\n\t\t\t\t\taria-labelledby={null as never}\n\t\t\t\t>\n\t\t\t\t\t<DsTypography className={styles.valueText} variant=\"body-sm-reg\" asChild>\n\t\t\t\t\t\t<Select.ValueText placeholder={placeholder} />\n\t\t\t\t\t</DsTypography>\n\n\t\t\t\t\t<Select.Indicator className={styles.triggerIcon}>\n\t\t\t\t\t\t<DsIcon icon=\"keyboard_arrow_down\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.Indicator>\n\t\t\t\t</Select.Trigger>\n\n\t\t\t\t{clearable && (\n\t\t\t\t\t<Select.ClearTrigger className={styles.clearIcon} onClick={onClear}>\n\t\t\t\t\t\t<DsIcon icon=\"close\" size={size === 'small' ? 'small' : 'medium'} />\n\t\t\t\t\t</Select.ClearTrigger>\n\t\t\t\t)}\n\t\t\t</Select.Control>\n\t\t\t<Portal>\n\t\t\t\t<Select.Positioner className={styles.viewport}>\n\t\t\t\t\t<Select.Content className={styles.content}>\n\t\t\t\t\t\t{userOptions.length > SEARCH_THRESHOLD && (\n\t\t\t\t\t\t\t<div className={styles.searchInput}>\n\t\t\t\t\t\t\t\t<DsTextInput\n\t\t\t\t\t\t\t\t\tplaceholder=\"Search\"\n\t\t\t\t\t\t\t\t\tvalue={searchTerm}\n\t\t\t\t\t\t\t\t\tonChange={(e) => setSearchTerm(e.target.value)}\n\t\t\t\t\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\t\t\t\t\t// Prevent the select from opening/closing when pressing space in the search input.\n\t\t\t\t\t\t\t\t\t\tif (e.key === ' ') {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tslots={{\n\t\t\t\t\t\t\t\t\t\tstartAdornment: <DsIcon icon=\"search\" size=\"tiny\" />,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{multiselectProps.multiple && (\n\t\t\t\t\t\t\t<SelectItemsChips\n\t\t\t\t\t\t\t\tonValueChange={multiselectProps.onValueChange}\n\t\t\t\t\t\t\t\tshowAll={showAllItems}\n\t\t\t\t\t\t\t\tonShowAll={() => setShowAllItems(true)}\n\t\t\t\t\t\t\t\t// TODO: Find a way to calculate this based on the size of the select.\n\t\t\t\t\t\t\t\tcount={6}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{filteredOptions.map((item) => {\n\t\t\t\t\t\t\tconst checked = getItemCheckedState({ item, select, options: internalOptions });\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<DsTypography\n\t\t\t\t\t\t\t\t\tvariant=\"body-sm-reg\"\n\t\t\t\t\t\t\t\t\tasChild\n\t\t\t\t\t\t\t\t\tkey={collection.getItemValue(item)}\n\t\t\t\t\t\t\t\t\tclassName={styles.item}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Select.Item item={item}>\n\t\t\t\t\t\t\t\t\t\t{multiselectProps.multiple && <DsCheckbox checked={checked} />}\n\t\t\t\t\t\t\t\t\t\t{item.icon && <DsIcon className={styles.itemIcon} icon={item.icon} aria-hidden=\"true\" />}\n\t\t\t\t\t\t\t\t\t\t<Select.ItemText>{item.label}</Select.ItemText>\n\t\t\t\t\t\t\t\t\t</Select.Item>\n\t\t\t\t\t\t\t\t</DsTypography>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t</Select.Content>\n\t\t\t\t</Select.Positioner>\n\t\t\t</Portal>\n\n\t\t\t{/*\n\t\t\t\tThis element isn't properly hidden by Zag, so we hide it manually.\n\t\t\t \tFor more information, see: https://github.com/chakra-ui/zag/issues/2865\n\t\t\t*/}\n\t\t\t<Select.HiddenSelect style={{ display: 'none' }} />\n\t\t</Select.RootProvider>\n\t);\n};\n\nfunction getItemCheckedState({\n\titem,\n\tselect,\n\toptions,\n}: {\n\titem: DsSelectOption;\n\tselect: UseSelectReturn<DsSelectOption>;\n\toptions: DsSelectOption[];\n}): DsCheckboxProps['checked'] {\n\tconst isRegularItem = item.value !== SELECT_ALL_VALUE;\n\n\tif (isRegularItem) {\n\t\treturn select.getItemState({ item }).selected;\n\t}\n\n\t// Doing -1 since it contains the \"Select All\" option itself.\n\tconst allSelected = select.selectedItems.length === options.length - 1;\n\n\tif (allSelected) {\n\t\treturn true;\n\t}\n\n\tconst someSelected = select.hasSelectedItems;\n\n\treturn someSelected ? 'indeterminate' : false;\n}\n\nexport default DsSelect;\n"],"mappings":"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"}
|
|
@@ -2,18 +2,30 @@ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
|
2
2
|
const require_ds_button = require('../ds-button/ds-button.cjs');
|
|
3
3
|
const require_ds_chip = require('../ds-chip/ds-chip.cjs');
|
|
4
4
|
const require_ds_select_module = require('./ds-select.module.cjs');
|
|
5
|
+
let react_compiler_runtime = require("react/compiler-runtime");
|
|
5
6
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
7
|
let __ark_ui_react_select = require("@ark-ui/react/select");
|
|
7
8
|
|
|
8
9
|
//#region src/components/ds-select/select-items-chips.tsx
|
|
9
|
-
function SelectItemsChips(
|
|
10
|
+
function SelectItemsChips(t0) {
|
|
11
|
+
const $ = (0, react_compiler_runtime.c)(24);
|
|
12
|
+
const { showAll, onShowAll, onValueChange, count } = t0;
|
|
10
13
|
const { collection, value: selectedItems } = (0, __ark_ui_react_select.useSelectContext)();
|
|
11
14
|
if (!selectedItems.length) return null;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
let t1;
|
|
16
|
+
if ($[0] !== count || $[1] !== selectedItems || $[2] !== showAll) {
|
|
17
|
+
t1 = showAll ? selectedItems : selectedItems.slice(0, count);
|
|
18
|
+
$[0] = count;
|
|
19
|
+
$[1] = selectedItems;
|
|
20
|
+
$[2] = showAll;
|
|
21
|
+
$[3] = t1;
|
|
22
|
+
} else t1 = $[3];
|
|
23
|
+
const itemsToShow = t1;
|
|
24
|
+
let t2;
|
|
25
|
+
if ($[4] !== collection || $[5] !== itemsToShow || $[6] !== onValueChange || $[7] !== selectedItems) {
|
|
26
|
+
let t3$1;
|
|
27
|
+
if ($[9] !== collection || $[10] !== onValueChange || $[11] !== selectedItems) {
|
|
28
|
+
t3$1 = (itemValue) => {
|
|
17
29
|
const item = collection.find(itemValue);
|
|
18
30
|
if (!item) return null;
|
|
19
31
|
const onDelete = () => {
|
|
@@ -24,22 +36,61 @@ function SelectItemsChips({ showAll, onShowAll, onValueChange, count }) {
|
|
|
24
36
|
label: item.label,
|
|
25
37
|
onDelete
|
|
26
38
|
}, itemValue);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
};
|
|
40
|
+
$[9] = collection;
|
|
41
|
+
$[10] = onValueChange;
|
|
42
|
+
$[11] = selectedItems;
|
|
43
|
+
$[12] = t3$1;
|
|
44
|
+
} else t3$1 = $[12];
|
|
45
|
+
t2 = itemsToShow.map(t3$1);
|
|
46
|
+
$[4] = collection;
|
|
47
|
+
$[5] = itemsToShow;
|
|
48
|
+
$[6] = onValueChange;
|
|
49
|
+
$[7] = selectedItems;
|
|
50
|
+
$[8] = t2;
|
|
51
|
+
} else t2 = $[8];
|
|
52
|
+
let t3;
|
|
53
|
+
if ($[13] !== count || $[14] !== onShowAll || $[15] !== selectedItems.length || $[16] !== showAll) {
|
|
54
|
+
t3 = !showAll && selectedItems.length > count && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_chip.default, {
|
|
55
|
+
label: `+${String(selectedItems.length - count)}`,
|
|
56
|
+
onClick: onShowAll,
|
|
57
|
+
size: "small"
|
|
58
|
+
});
|
|
59
|
+
$[13] = count;
|
|
60
|
+
$[14] = onShowAll;
|
|
61
|
+
$[15] = selectedItems.length;
|
|
62
|
+
$[16] = showAll;
|
|
63
|
+
$[17] = t3;
|
|
64
|
+
} else t3 = $[17];
|
|
65
|
+
let t4;
|
|
66
|
+
if ($[18] !== onValueChange) {
|
|
67
|
+
t4 = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ds_button.default, {
|
|
68
|
+
design: "v1.2",
|
|
69
|
+
buttonType: "tertiary",
|
|
70
|
+
variant: "ghost",
|
|
71
|
+
size: "small",
|
|
72
|
+
onClick: () => onValueChange?.([]),
|
|
73
|
+
children: "Clear All"
|
|
74
|
+
});
|
|
75
|
+
$[18] = onValueChange;
|
|
76
|
+
$[19] = t4;
|
|
77
|
+
} else t4 = $[19];
|
|
78
|
+
let t5;
|
|
79
|
+
if ($[20] !== t2 || $[21] !== t3 || $[22] !== t4) {
|
|
80
|
+
t5 = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
81
|
+
className: require_ds_select_module.default.multiSelectItemsContainer,
|
|
82
|
+
children: [
|
|
83
|
+
t2,
|
|
84
|
+
t3,
|
|
85
|
+
t4
|
|
86
|
+
]
|
|
87
|
+
});
|
|
88
|
+
$[20] = t2;
|
|
89
|
+
$[21] = t3;
|
|
90
|
+
$[22] = t4;
|
|
91
|
+
$[23] = t5;
|
|
92
|
+
} else t5 = $[23];
|
|
93
|
+
return t5;
|
|
43
94
|
}
|
|
44
95
|
|
|
45
96
|
//#endregion
|
|
@@ -1,18 +1,30 @@
|
|
|
1
1
|
import ds_button_default from "../ds-button/ds-button.js";
|
|
2
2
|
import ds_chip_default from "../ds-chip/ds-chip.js";
|
|
3
3
|
import ds_select_module_default from "./ds-select.module.js";
|
|
4
|
+
import { c } from "react/compiler-runtime";
|
|
4
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
6
|
import { useSelectContext } from "@ark-ui/react/select";
|
|
6
7
|
|
|
7
8
|
//#region src/components/ds-select/select-items-chips.tsx
|
|
8
|
-
function SelectItemsChips(
|
|
9
|
+
function SelectItemsChips(t0) {
|
|
10
|
+
const $ = c(24);
|
|
11
|
+
const { showAll, onShowAll, onValueChange, count } = t0;
|
|
9
12
|
const { collection, value: selectedItems } = useSelectContext();
|
|
10
13
|
if (!selectedItems.length) return null;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
let t1;
|
|
15
|
+
if ($[0] !== count || $[1] !== selectedItems || $[2] !== showAll) {
|
|
16
|
+
t1 = showAll ? selectedItems : selectedItems.slice(0, count);
|
|
17
|
+
$[0] = count;
|
|
18
|
+
$[1] = selectedItems;
|
|
19
|
+
$[2] = showAll;
|
|
20
|
+
$[3] = t1;
|
|
21
|
+
} else t1 = $[3];
|
|
22
|
+
const itemsToShow = t1;
|
|
23
|
+
let t2;
|
|
24
|
+
if ($[4] !== collection || $[5] !== itemsToShow || $[6] !== onValueChange || $[7] !== selectedItems) {
|
|
25
|
+
let t3$1;
|
|
26
|
+
if ($[9] !== collection || $[10] !== onValueChange || $[11] !== selectedItems) {
|
|
27
|
+
t3$1 = (itemValue) => {
|
|
16
28
|
const item = collection.find(itemValue);
|
|
17
29
|
if (!item) return null;
|
|
18
30
|
const onDelete = () => {
|
|
@@ -23,22 +35,61 @@ function SelectItemsChips({ showAll, onShowAll, onValueChange, count }) {
|
|
|
23
35
|
label: item.label,
|
|
24
36
|
onDelete
|
|
25
37
|
}, itemValue);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
};
|
|
39
|
+
$[9] = collection;
|
|
40
|
+
$[10] = onValueChange;
|
|
41
|
+
$[11] = selectedItems;
|
|
42
|
+
$[12] = t3$1;
|
|
43
|
+
} else t3$1 = $[12];
|
|
44
|
+
t2 = itemsToShow.map(t3$1);
|
|
45
|
+
$[4] = collection;
|
|
46
|
+
$[5] = itemsToShow;
|
|
47
|
+
$[6] = onValueChange;
|
|
48
|
+
$[7] = selectedItems;
|
|
49
|
+
$[8] = t2;
|
|
50
|
+
} else t2 = $[8];
|
|
51
|
+
let t3;
|
|
52
|
+
if ($[13] !== count || $[14] !== onShowAll || $[15] !== selectedItems.length || $[16] !== showAll) {
|
|
53
|
+
t3 = !showAll && selectedItems.length > count && /* @__PURE__ */ jsx(ds_chip_default, {
|
|
54
|
+
label: `+${String(selectedItems.length - count)}`,
|
|
55
|
+
onClick: onShowAll,
|
|
56
|
+
size: "small"
|
|
57
|
+
});
|
|
58
|
+
$[13] = count;
|
|
59
|
+
$[14] = onShowAll;
|
|
60
|
+
$[15] = selectedItems.length;
|
|
61
|
+
$[16] = showAll;
|
|
62
|
+
$[17] = t3;
|
|
63
|
+
} else t3 = $[17];
|
|
64
|
+
let t4;
|
|
65
|
+
if ($[18] !== onValueChange) {
|
|
66
|
+
t4 = /* @__PURE__ */ jsx(ds_button_default, {
|
|
67
|
+
design: "v1.2",
|
|
68
|
+
buttonType: "tertiary",
|
|
69
|
+
variant: "ghost",
|
|
70
|
+
size: "small",
|
|
71
|
+
onClick: () => onValueChange?.([]),
|
|
72
|
+
children: "Clear All"
|
|
73
|
+
});
|
|
74
|
+
$[18] = onValueChange;
|
|
75
|
+
$[19] = t4;
|
|
76
|
+
} else t4 = $[19];
|
|
77
|
+
let t5;
|
|
78
|
+
if ($[20] !== t2 || $[21] !== t3 || $[22] !== t4) {
|
|
79
|
+
t5 = /* @__PURE__ */ jsxs("div", {
|
|
80
|
+
className: ds_select_module_default.multiSelectItemsContainer,
|
|
81
|
+
children: [
|
|
82
|
+
t2,
|
|
83
|
+
t3,
|
|
84
|
+
t4
|
|
85
|
+
]
|
|
86
|
+
});
|
|
87
|
+
$[20] = t2;
|
|
88
|
+
$[21] = t3;
|
|
89
|
+
$[22] = t4;
|
|
90
|
+
$[23] = t5;
|
|
91
|
+
} else t5 = $[23];
|
|
92
|
+
return t5;
|
|
42
93
|
}
|
|
43
94
|
|
|
44
95
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-items-chips.js","names":["styles","DsChip","
|
|
1
|
+
{"version":3,"file":"select-items-chips.js","names":["useSelectContext","UseSelectContext","styles","DsButton","DsChip","DsSelectOption","SelectOptionValue","SelectItemsChipsProps","showAll","onValueChange","value","onShowAll","count","SelectItemsChips","t0","$","_c","collection","selectedItems","length","t1","slice","itemsToShow","t2","t3","itemValue","item","find","onDelete","filteredValue","filter","v","label","map","String","t4","t5","multiSelectItemsContainer"],"sources":["../../../src/components/ds-select/select-items-chips.tsx"],"sourcesContent":["import { useSelectContext, type UseSelectContext } from '@ark-ui/react/select';\nimport styles from './ds-select.module.scss';\nimport DsButton from '../ds-button/ds-button';\nimport DsChip from '../ds-chip/ds-chip';\nimport type { DsSelectOption, SelectOptionValue } from './ds-select.types';\n\ntype SelectItemsChipsProps = {\n\tshowAll: boolean;\n\tonValueChange?: (value: SelectOptionValue[]) => void;\n\tonShowAll: () => void;\n\tcount: number;\n};\n\nexport function SelectItemsChips({ showAll, onShowAll, onValueChange, count }: SelectItemsChipsProps) {\n\tconst { collection, value: selectedItems } = useSelectContext() as UseSelectContext<DsSelectOption>;\n\n\tif (!selectedItems.length) {\n\t\treturn null;\n\t}\n\n\tconst itemsToShow = showAll ? selectedItems : selectedItems.slice(0, count);\n\n\treturn (\n\t\t<div className={styles.multiSelectItemsContainer}>\n\t\t\t{itemsToShow.map((itemValue) => {\n\t\t\t\tconst item = collection.find(itemValue);\n\n\t\t\t\tif (!item) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst onDelete = () => {\n\t\t\t\t\tconst filteredValue = selectedItems.filter((v) => v !== item.value);\n\n\t\t\t\t\tonValueChange?.(filteredValue);\n\t\t\t\t};\n\n\t\t\t\treturn <DsChip key={itemValue} label={item.label} onDelete={onDelete} />;\n\t\t\t})}\n\n\t\t\t{!showAll && selectedItems.length > count && (\n\t\t\t\t<DsChip label={`+${String(selectedItems.length - count)}`} onClick={onShowAll} size=\"small\" />\n\t\t\t)}\n\n\t\t\t<DsButton\n\t\t\t\tdesign=\"v1.2\"\n\t\t\t\tbuttonType=\"tertiary\"\n\t\t\t\tvariant=\"ghost\"\n\t\t\t\tsize=\"small\"\n\t\t\t\tonClick={() => onValueChange?.([])}\n\t\t\t>\n\t\t\t\tClear All\n\t\t\t</DsButton>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAaA,SAAOa,iBAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAA0B,MAAA,EAAAR,SAAAG,WAAAF,eAAAG,UAAAE;CAChC,MAAA,EAAAG,YAAAP,OAAAQ,kBAA6ClB,kBAAkB;AAE/D,KAAI,CAACkB,cAAaC,OAAO,QACjB;CACP,IAAAC;AAAA,KAAAL,EAAA,OAAAH,SAAAG,EAAA,OAAAG,iBAAAH,EAAA,OAAAP,SAAA;AAEmBY,OAAAZ,UAAAU,gBAA0BA,cAAaG,MAAO,GAAGT,MAAM;AAAAG,IAAA,KAAAH;AAAAG,IAAA,KAAAG;AAAAH,IAAA,KAAAP;AAAAO,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAA3E,MAAAO,cAAoBF;CAAwD,IAAAG;AAAA,KAAAR,EAAA,OAAAE,cAAAF,EAAA,OAAAO,eAAAP,EAAA,OAAAN,iBAAAM,EAAA,OAAAG,eAAA;EAAA,IAAAM;AAAA,MAAAT,EAAA,OAAAE,cAAAF,EAAA,QAAAN,iBAAAM,EAAA,QAAAG,eAAA;AAIzDM,WAAAC,cAAA;IAChB,MAAAC,OAAaT,WAAUU,KAAMF,UAAU;AAEvC,QAAI,CAACC,KAAI,QACD;IAGR,MAAAE,iBAAiB;KAChB,MAAAC,gBAAsBX,cAAaY,QAAQC,MAAOA,MAAML,KAAIhB,MAAO;AAEnED,qBAAgBoB,cAAc;;AAC7B,WAEK,oBAAC;KAA8B,OAAAH,KAAIM;KAAkBJ;OAAxCH,UAAoD;;AACxEV,KAAA,KAAAE;AAAAF,KAAA,MAAAN;AAAAM,KAAA,MAAAG;AAAAH,KAAA,MAAAS;QAAAA,QAAAT,EAAA;AAdAQ,OAAAD,YAAWW,IAAKT,KAcf;AAAAT,IAAA,KAAAE;AAAAF,IAAA,KAAAO;AAAAP,IAAA,KAAAN;AAAAM,IAAA,KAAAG;AAAAH,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;CAAA,IAAAS;AAAA,KAAAT,EAAA,QAAAH,SAAAG,EAAA,QAAAJ,aAAAI,EAAA,QAAAG,cAAAC,UAAAJ,EAAA,QAAAP,SAAA;AAEDgB,OAAA,CAAChB,WAAWU,cAAaC,SAAUP,SACnC,oBAAC;GAAc,OAAA,IAAIsB,OAAOhB,cAAaC,SAAUP,MAAM;GAAaD,SAAAA;GAAgB,MAAA;IACpF;AAAAI,IAAA,MAAAH;AAAAG,IAAA,MAAAJ;AAAAI,IAAA,MAAAG,cAAAC;AAAAJ,IAAA,MAAAP;AAAAO,IAAA,MAAAS;OAAAA,MAAAT,EAAA;CAAA,IAAAoB;AAAA,KAAApB,EAAA,QAAAN,eAAA;AAED0B,OAAA,oBAAC;GACO,QAAA;GACI,YAAA;GACH,SAAA;GACH,MAAA;GACI,eAAM1B,gBAAgB,EAAE,CAAA;aACjC;IAEU;AAAAM,IAAA,MAAAN;AAAAM,IAAA,MAAAoB;OAAAA,MAAApB,EAAA;CAAA,IAAAqB;AAAA,KAAArB,EAAA,QAAAQ,MAAAR,EAAA,QAAAS,MAAAT,EAAA,QAAAoB,IAAA;AA7BZC,OAAA,qBAAA;GAAgB,WAAAlC,yBAAMmC;;IACpBd;IAgBAC;IAIDW;;IASK;AAAApB,IAAA,MAAAQ;AAAAR,IAAA,MAAAS;AAAAT,IAAA,MAAAoB;AAAApB,IAAA,MAAAqB;OAAAA,MAAArB,EAAA;AAAA,QA9BNqB"}
|