@simplysm/solid 13.0.71 → 13.0.74
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/README.md +209 -202
- package/dist/components/data/calendar/Calendar.d.ts.map +1 -1
- package/dist/components/data/calendar/Calendar.js +3 -11
- package/dist/components/data/calendar/Calendar.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +13 -16
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.styles.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js +1 -1
- package/dist/components/data/sheet/DataSheet.styles.js.map +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheetConfigDialog.js +27 -9
- package/dist/components/data/sheet/DataSheetConfigDialog.js.map +2 -2
- package/dist/components/disclosure/Dialog.d.ts +1 -1
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +5 -5
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/dialogZIndex.d.ts +1 -1
- package/dist/components/features/crud-detail/CrudDetail.js +23 -23
- package/dist/components/features/crud-detail/CrudDetail.js.map +2 -2
- package/dist/components/features/crud-sheet/CrudSheet.js +49 -49
- package/dist/components/features/crud-sheet/CrudSheet.js.map +2 -2
- package/dist/components/features/crud-sheet/types.d.ts +4 -4
- package/dist/components/features/crud-sheet/types.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.d.ts +25 -7
- package/dist/components/features/data-select-button/DataSelectButton.d.ts.map +1 -1
- package/dist/components/features/data-select-button/DataSelectButton.js +27 -12
- package/dist/components/features/data-select-button/DataSelectButton.js.map +2 -2
- package/dist/components/features/permission-table/PermissionTable.js +4 -4
- package/dist/components/features/permission-table/PermissionTable.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelect.d.ts +22 -10
- package/dist/components/features/shared-data/SharedDataSelect.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelect.js +113 -29
- package/dist/components/features/shared-data/SharedDataSelect.js.map +2 -2
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts +3 -3
- package/dist/components/features/shared-data/SharedDataSelectButton.d.ts.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectButton.js.map +1 -1
- package/dist/components/features/shared-data/SharedDataSelectList.js +5 -4
- package/dist/components/features/shared-data/SharedDataSelectList.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBanner.js +3 -3
- package/dist/components/feedback/notification/NotificationBanner.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.js +12 -5
- package/dist/components/feedback/notification/NotificationBell.js.map +2 -2
- package/dist/components/feedback/notification/NotificationProvider.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationProvider.js +3 -1
- package/dist/components/feedback/notification/NotificationProvider.js.map +2 -2
- package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
- package/dist/components/form-control/ThemeToggle.js +9 -6
- package/dist/components/form-control/ThemeToggle.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.js +3 -1
- package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
- package/dist/components/form-control/checkbox/CheckboxGroup.js +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Radio.js +3 -1
- package/dist/components/form-control/checkbox/Radio.js.map +2 -2
- package/dist/components/form-control/checkbox/RadioGroup.js +1 -1
- package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +3 -1
- package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +9 -5
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/date-range-picker/DateRangePicker.js +9 -9
- package/dist/components/form-control/date-range-picker/DateRangePicker.js.map +2 -2
- package/dist/components/form-control/editor/EditorToolbar.js +3 -3
- package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +9 -3
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +9 -3
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +9 -3
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +10 -4
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +9 -3
- package/dist/components/form-control/field/Textarea.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +9 -3
- package/dist/components/form-control/field/TimePicker.js.map +2 -2
- package/dist/components/form-control/numpad/Numpad.d.ts.map +1 -1
- package/dist/components/form-control/numpad/Numpad.js +5 -1
- package/dist/components/form-control/numpad/Numpad.js.map +2 -2
- package/dist/components/form-control/select/Select.js +7 -7
- package/dist/components/form-control/select/Select.js.map +2 -2
- package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js +42 -20
- package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
- package/dist/components/layout/sidebar/SidebarContainer.js +3 -3
- package/dist/components/layout/sidebar/SidebarContainer.js.map +2 -2
- package/dist/components/layout/sidebar/SidebarMenu.d.ts.map +1 -1
- package/dist/components/layout/sidebar/SidebarMenu.js +5 -2
- package/dist/components/layout/sidebar/SidebarMenu.js.map +2 -2
- package/dist/components/layout/topbar/Topbar.js +3 -4
- package/dist/components/layout/topbar/Topbar.js.map +2 -2
- package/dist/components/layout/topbar/TopbarMenu.js +3 -3
- package/dist/components/layout/topbar/TopbarMenu.js.map +2 -2
- package/dist/hooks/createSelectionGroup.d.ts +2 -2
- package/dist/hooks/createSelectionGroup.d.ts.map +1 -1
- package/dist/hooks/createSelectionGroup.js +5 -2
- package/dist/hooks/createSelectionGroup.js.map +2 -2
- package/dist/providers/i18n/I18nContext.d.ts +0 -4
- package/dist/providers/i18n/I18nContext.d.ts.map +1 -1
- package/dist/providers/i18n/I18nContext.js +1 -5
- package/dist/providers/i18n/I18nContext.js.map +2 -2
- package/dist/providers/i18n/locales/en.d.ts +38 -0
- package/dist/providers/i18n/locales/en.d.ts.map +1 -1
- package/dist/providers/i18n/locales/en.js +39 -1
- package/dist/providers/i18n/locales/en.js.map +1 -1
- package/dist/providers/i18n/locales/ko.d.ts +38 -0
- package/dist/providers/i18n/locales/ko.d.ts.map +1 -1
- package/dist/providers/i18n/locales/ko.js +39 -1
- package/dist/providers/i18n/locales/ko.js.map +1 -1
- package/package.json +6 -6
- package/src/components/data/calendar/Calendar.tsx +3 -4
- package/src/components/data/sheet/DataSheet.styles.ts +1 -1
- package/src/components/data/sheet/DataSheet.tsx +14 -15
- package/src/components/data/sheet/DataSheetConfigDialog.tsx +12 -10
- package/src/components/data/sheet/types.ts +1 -1
- package/src/components/disclosure/Dialog.tsx +10 -10
- package/src/components/disclosure/dialogZIndex.ts +1 -1
- package/src/components/features/crud-detail/CrudDetail.tsx +25 -25
- package/src/components/features/crud-sheet/CrudSheet.tsx +53 -53
- package/src/components/features/crud-sheet/types.ts +4 -4
- package/src/components/features/data-select-button/DataSelectButton.tsx +51 -21
- package/src/components/features/permission-table/PermissionTable.tsx +3 -3
- package/src/components/features/shared-data/SharedDataSelect.tsx +172 -33
- package/src/components/features/shared-data/SharedDataSelectButton.tsx +3 -2
- package/src/components/features/shared-data/SharedDataSelectList.tsx +4 -4
- package/src/components/feedback/notification/NotificationBanner.tsx +3 -3
- package/src/components/feedback/notification/NotificationBell.tsx +6 -4
- package/src/components/feedback/notification/NotificationProvider.tsx +3 -1
- package/src/components/form-control/ThemeToggle.tsx +10 -6
- package/src/components/form-control/checkbox/Checkbox.tsx +4 -1
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +1 -1
- package/src/components/form-control/checkbox/Radio.tsx +4 -1
- package/src/components/form-control/checkbox/RadioGroup.tsx +1 -1
- package/src/components/form-control/color-picker/ColorPicker.tsx +4 -1
- package/src/components/form-control/combobox/Combobox.tsx +6 -3
- package/src/components/form-control/date-range-picker/DateRangePicker.tsx +8 -8
- package/src/components/form-control/editor/EditorToolbar.tsx +23 -23
- package/src/components/form-control/field/DatePicker.tsx +6 -3
- package/src/components/form-control/field/DateTimePicker.tsx +6 -3
- package/src/components/form-control/field/NumberInput.tsx +6 -3
- package/src/components/form-control/field/TextInput.tsx +7 -4
- package/src/components/form-control/field/Textarea.tsx +6 -3
- package/src/components/form-control/field/TimePicker.tsx +6 -3
- package/src/components/form-control/numpad/Numpad.tsx +3 -1
- package/src/components/form-control/select/Select.tsx +7 -7
- package/src/components/form-control/state-preset/StatePreset.tsx +14 -12
- package/src/components/layout/sidebar/SidebarContainer.tsx +3 -3
- package/src/components/layout/sidebar/SidebarMenu.tsx +3 -1
- package/src/components/layout/topbar/Topbar.tsx +3 -3
- package/src/components/layout/topbar/TopbarMenu.tsx +3 -3
- package/src/hooks/createSelectionGroup.tsx +8 -4
- package/src/providers/i18n/I18nContext.tsx +0 -7
- package/src/providers/i18n/locales/en.ts +38 -0
- package/src/providers/i18n/locales/ko.ts +38 -0
- package/tailwind.config.ts +2 -2
- package/tests/components/data/kanban/Kanban.selection.spec.tsx +34 -24
- package/tests/components/disclosure/Dialog.spec.tsx +28 -28
- package/tests/components/disclosure/DialogProvider.spec.tsx +51 -25
- package/tests/components/features/address/AddressSearch.spec.tsx +12 -4
- package/tests/components/features/crud-detail/CrudDetail.spec.tsx +1 -0
- package/tests/components/features/crud-sheet/CrudSheet.spec.tsx +30 -6
- package/tests/components/features/data-select-button/DataSelectButton.spec.tsx +77 -56
- package/tests/components/features/permission-table/PermissionTable.spec.tsx +12 -8
- package/tests/components/features/shared-data/SharedDataSelect.spec.tsx +172 -0
- package/tests/components/features/shared-data/SharedDataSelectList.spec.tsx +14 -2
- package/tests/components/feedback/notification/LiveRegion.spec.tsx +20 -9
- package/tests/components/feedback/notification/NotificationBanner.spec.tsx +64 -46
- package/tests/components/feedback/notification/NotificationBell.spec.tsx +70 -51
- package/tests/components/feedback/notification/NotificationContext.spec.tsx +105 -78
- package/tests/components/form-control/checkbox/Checkbox.spec.tsx +25 -20
- package/tests/components/form-control/checkbox/CheckboxGroup.spec.tsx +53 -30
- package/tests/components/form-control/checkbox/Radio.spec.tsx +25 -20
- package/tests/components/form-control/checkbox/RadioGroup.spec.tsx +53 -30
- package/tests/components/form-control/color-picker/ColorPicker.spec.tsx +24 -15
- package/tests/components/form-control/combobox/Combobox.spec.tsx +92 -59
- package/tests/components/form-control/date-range-picker/DateRangePicker.spec.tsx +2 -2
- package/tests/components/form-control/field/DatePicker.spec.tsx +50 -44
- package/tests/components/form-control/field/DateTimePicker.spec.tsx +51 -45
- package/tests/components/form-control/field/NumberInput.spec.tsx +53 -47
- package/tests/components/form-control/field/TextInput.spec.tsx +50 -44
- package/tests/components/form-control/field/Textarea.spec.tsx +35 -29
- package/tests/components/form-control/field/TimePicker.spec.tsx +43 -37
- package/tests/components/form-control/numpad/Numpad.spec.tsx +175 -25
- package/tests/components/form-control/select/Select.spec.tsx +5 -0
- package/tests/components/form-control/select/SelectItem.spec.tsx +1 -0
- package/tests/components/layout/sidebar/Sidebar.spec.tsx +79 -35
- package/tests/components/layout/sidebar/SidebarContainer.spec.tsx +1 -0
- package/tests/components/layout/sidebar/SidebarMenu.spec.tsx +28 -17
- package/tests/components/layout/topbar/TopbarActions.spec.tsx +41 -23
- package/tests/components/layout/topbar/createTopbarActions.spec.tsx +1 -0
- package/tests/hooks/usePrint.spec.tsx +1 -1
- package/tests/hooks/useRouterLink.spec.tsx +2 -0
- package/tests/hooks/useSyncConfig.spec.tsx +1 -0
- package/tests/providers/ErrorLoggerProvider.spec.tsx +1 -0
- package/tests/providers/PwaUpdateProvider.spec.tsx +16 -6
- package/tests/providers/ServiceClientContext.spec.tsx +40 -25
- package/tests/providers/i18n/I18nContext.spec.tsx +3 -4
- package/tests/providers/shared-data/SharedDataProvider.spec.tsx +2 -0
- package/dist/hooks/usePrint.d.ts +0 -3
- package/dist/hooks/usePrint.d.ts.map +0 -1
- package/dist/hooks/usePrint.js +0 -5
- package/dist/hooks/usePrint.js.map +0 -6
- package/src/hooks/usePrint.ts +0 -2
|
@@ -2,10 +2,11 @@ import { template as _$template } from "solid-js/web";
|
|
|
2
2
|
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
3
|
import { effect as _$effect } from "solid-js/web";
|
|
4
4
|
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
5
|
-
import { memo as _$memo } from "solid-js/web";
|
|
6
5
|
import { insert as _$insert } from "solid-js/web";
|
|
7
|
-
import { createComponent as _$createComponent } from "solid-js/web";
|
|
8
6
|
import { className as _$className } from "solid-js/web";
|
|
7
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
8
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
9
|
+
import { memo as _$memo } from "solid-js/web";
|
|
9
10
|
var _tmpl$ = /* @__PURE__ */ _$template(`<span>`), _tmpl$2 = /* @__PURE__ */ _$template(`<span class="flex items-center gap-1">`), _tmpl$3 = /* @__PURE__ */ _$template(`<span>,`), _tmpl$4 = /* @__PURE__ */ _$template(`<button type=button data-clear-button tabindex=-1>`), _tmpl$5 = /* @__PURE__ */ _$template(`<button type=button data-search-button tabindex=-1>`), _tmpl$6 = /* @__PURE__ */ _$template(`<div data-data-select-button><div role=combobox aria-haspopup=dialog><div></div><div class="flex items-center gap-0.5">`);
|
|
10
11
|
import { createEffect, createMemo, createResource, createSignal, For, on, Show, splitProps } from "solid-js";
|
|
11
12
|
import clsx from "clsx";
|
|
@@ -14,7 +15,8 @@ import { IconSearch, IconX } from "@tabler/icons-solidjs";
|
|
|
14
15
|
import { Icon } from "../../display/Icon.js";
|
|
15
16
|
import { Invalid } from "../../form-control/Invalid.js";
|
|
16
17
|
import { useDialog } from "../../disclosure/DialogContext.js";
|
|
17
|
-
import {
|
|
18
|
+
import { useDialogInstance } from "../../disclosure/DialogInstanceContext.js";
|
|
19
|
+
import { useI18n } from "../../../providers/i18n/I18nContext.js";
|
|
18
20
|
import { createControllableSignal } from "../../../hooks/createControllableSignal.js";
|
|
19
21
|
import { textMuted } from "../../../styles/tokens.styles.js";
|
|
20
22
|
import { triggerBaseClass, triggerDisabledClass, triggerInsetClass, triggerSizeClasses } from "../../form-control/DropdownTrigger.styles.js";
|
|
@@ -25,8 +27,8 @@ function getTriggerContainerClass(options) {
|
|
|
25
27
|
return twMerge(triggerBaseClass, "px-2 py-1", options.size && triggerSizeClasses[options.size], options.disabled && triggerDisabledClass, options.inset && triggerInsetClass, options.class);
|
|
26
28
|
}
|
|
27
29
|
function DataSelectButton(props) {
|
|
28
|
-
const [local] = splitProps(props, ["value", "onValueChange", "load", "
|
|
29
|
-
const i18n =
|
|
30
|
+
const [local] = splitProps(props, ["value", "onValueChange", "load", "dialog", "renderItem", "multiple", "required", "disabled", "size", "inset", "validate", "touchMode"]);
|
|
31
|
+
const i18n = useI18n();
|
|
30
32
|
const dialog = useDialog();
|
|
31
33
|
const normalizeKeys = (value) => {
|
|
32
34
|
if (value === void 0 || value === null) return [];
|
|
@@ -55,13 +57,26 @@ function DataSelectButton(props) {
|
|
|
55
57
|
const v = getValue();
|
|
56
58
|
if (local.required) {
|
|
57
59
|
const keys = normalizeKeys(v);
|
|
58
|
-
if (keys.length === 0) return "
|
|
60
|
+
if (keys.length === 0) return i18n.t("validation.requiredField");
|
|
59
61
|
}
|
|
60
62
|
return (_a = local.validate) == null ? void 0 : _a.call(local, v);
|
|
61
63
|
});
|
|
62
|
-
const
|
|
64
|
+
const handleOpenDialog = async () => {
|
|
63
65
|
if (local.disabled) return;
|
|
64
|
-
const result = await dialog.show(
|
|
66
|
+
const result = await dialog.show(() => {
|
|
67
|
+
const instance = useDialogInstance();
|
|
68
|
+
return _$createComponent(local.dialog.component, _$mergeProps(() => local.dialog.props ?? {}, {
|
|
69
|
+
get selectMode() {
|
|
70
|
+
return local.multiple ? "multiple" : "single";
|
|
71
|
+
},
|
|
72
|
+
get selectedKeys() {
|
|
73
|
+
return normalizeKeys(getValue());
|
|
74
|
+
},
|
|
75
|
+
onSelect: (r) => instance == null ? void 0 : instance.close({
|
|
76
|
+
selectedKeys: r.keys
|
|
77
|
+
})
|
|
78
|
+
}));
|
|
79
|
+
}, local.dialog.option ?? {});
|
|
65
80
|
if (result) {
|
|
66
81
|
const newKeys = result.selectedKeys;
|
|
67
82
|
if (local.multiple) {
|
|
@@ -126,7 +141,7 @@ function DataSelectButton(props) {
|
|
|
126
141
|
if (local.disabled) return;
|
|
127
142
|
if (e.key === "Enter" || e.key === " ") {
|
|
128
143
|
e.preventDefault();
|
|
129
|
-
void
|
|
144
|
+
void handleOpenDialog();
|
|
130
145
|
}
|
|
131
146
|
};
|
|
132
147
|
_$setAttribute(_el$5, "aria-expanded", false);
|
|
@@ -144,7 +159,7 @@ function DataSelectButton(props) {
|
|
|
144
159
|
size: "0.875em"
|
|
145
160
|
}));
|
|
146
161
|
_$effect((_p$) => {
|
|
147
|
-
var _v$ = twMerge(actionButtonClass, "text-base-400 hover:text-danger-500"), _v$2 =
|
|
162
|
+
var _v$ = twMerge(actionButtonClass, "text-base-400 hover:text-danger-500"), _v$2 = i18n.t("dataSelectButton.deselect");
|
|
148
163
|
_v$ !== _p$.e && _$className(_el$8, _p$.e = _v$);
|
|
149
164
|
_v$2 !== _p$.t && _$setAttribute(_el$8, "aria-label", _p$.t = _v$2);
|
|
150
165
|
return _p$;
|
|
@@ -161,13 +176,13 @@ function DataSelectButton(props) {
|
|
|
161
176
|
},
|
|
162
177
|
get children() {
|
|
163
178
|
var _el$9 = _tmpl$5();
|
|
164
|
-
_el$9.$$click = () => void
|
|
179
|
+
_el$9.$$click = () => void handleOpenDialog();
|
|
165
180
|
_$insert(_el$9, _$createComponent(Icon, {
|
|
166
181
|
icon: IconSearch,
|
|
167
182
|
size: "0.875em"
|
|
168
183
|
}));
|
|
169
184
|
_$effect((_p$) => {
|
|
170
|
-
var _v$3 = twMerge(actionButtonClass, "text-base-400 hover:text-primary-500"), _v$4 =
|
|
185
|
+
var _v$3 = twMerge(actionButtonClass, "text-base-400 hover:text-primary-500"), _v$4 = i18n.t("dataSelectButton.search");
|
|
171
186
|
_v$3 !== _p$.e && _$className(_el$9, _p$.e = _v$3);
|
|
172
187
|
_v$4 !== _p$.t && _$setAttribute(_el$9, "aria-label", _p$.t = _v$4);
|
|
173
188
|
return _p$;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/features/data-select-button/DataSelectButton.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["createEffect", "createMemo", "createResource", "createSignal", "For", "on", "Show", "splitProps", "clsx", "twMerge", "IconSearch", "IconX", "Icon", "Invalid", "useDialog", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["createEffect", "createMemo", "createResource", "createSignal", "For", "on", "Show", "splitProps", "clsx", "twMerge", "IconSearch", "IconX", "Icon", "Invalid", "useDialog", "useDialogInstance", "useI18n", "createControllableSignal", "textMuted", "triggerBaseClass", "triggerDisabledClass", "triggerInsetClass", "triggerSizeClasses", "containerClass", "selectedValueClass", "actionButtonClass", "getTriggerContainerClass", "options", "size", "disabled", "inset", "class", "DataSelectButton", "props", "local", "i18n", "dialog", "normalizeKeys", "value", "undefined", "Array", "isArray", "getValue", "setValue", "onChange", "onValueChange", "loadKeys", "setLoadKeys", "selectedItems", "keys", "length", "Promise", "resolve", "load", "hasValue", "clearable", "required", "errorMsg", "v", "t", "validate", "handleOpenDialog", "result", "show", "instance", "_$createComponent", "component", "_$mergeProps", "selectMode", "multiple", "selectedKeys", "onSelect", "r", "close", "option", "newKeys", "handleClear", "e", "stopPropagation", "renderSelectedDisplay", "items", "_el$", "_tmpl$", "_$className", "_el$2", "_tmpl$2", "_$insert", "each", "children", "item", "index", "when", "_el$3", "_tmpl$3", "_$memo", "renderItem", "triggerClassName", "message", "variant", "touchMode", "_el$4", "_tmpl$6", "_el$5", "firstChild", "_el$6", "_el$7", "nextSibling", "$$keydown", "key", "preventDefault", "_$setAttribute", "_el$8", "_tmpl$4", "$$click", "icon", "_$effect", "_p$", "_v$", "_v$2", "_el$9", "_tmpl$5", "_v$3", "_v$4", "_v$5", "_v$6", "_v$7", "_v$8", "a", "o", "_$delegateEvents"]
|
|
6
6
|
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { memo as _$memo } from "solid-js/web";
|
|
2
3
|
import { insert as _$insert } from "solid-js/web";
|
|
3
4
|
import { className as _$className } from "solid-js/web";
|
|
4
5
|
import { createComponent as _$createComponent } from "solid-js/web";
|
|
5
|
-
import { memo as _$memo } from "solid-js/web";
|
|
6
6
|
var _tmpl$ = /* @__PURE__ */ _$template(`<div><span class=py-1>`), _tmpl$2 = /* @__PURE__ */ _$template(`<div><div>`);
|
|
7
7
|
import { createEffect, createMemo, createSignal, For, on, Show, splitProps } from "solid-js";
|
|
8
8
|
import clsx from "clsx";
|
|
9
9
|
import { DataSheet } from "../../data/sheet/DataSheet.js";
|
|
10
10
|
import { Checkbox } from "../../form-control/checkbox/Checkbox.js";
|
|
11
11
|
import { borderDefault } from "../../../styles/tokens.styles.js";
|
|
12
|
-
import {
|
|
12
|
+
import { useI18n } from "../../../providers/i18n/I18nContext.js";
|
|
13
13
|
const titleCellClass = clsx("flex items-stretch", "px-2");
|
|
14
14
|
const indentGuideWrapperClass = clsx("mr-1 flex w-3", "justify-center");
|
|
15
15
|
const indentGuideLineClass = clsx("w-0 self-stretch", "border-r", borderDefault);
|
|
@@ -134,7 +134,7 @@ function collectExpandable(items, getChildren) {
|
|
|
134
134
|
}
|
|
135
135
|
const PermissionTable = (props) => {
|
|
136
136
|
const [local] = splitProps(props, ["items", "value", "onValueChange", "modules", "disabled", "class", "style"]);
|
|
137
|
-
const i18n =
|
|
137
|
+
const i18n = useI18n();
|
|
138
138
|
const visibleItems = createMemo(() => {
|
|
139
139
|
const items = local.items ?? [];
|
|
140
140
|
if (!local.modules || local.modules.length === 0) return items;
|
|
@@ -176,7 +176,7 @@ const PermissionTable = (props) => {
|
|
|
176
176
|
return [_$createComponent(DataSheet.Column, {
|
|
177
177
|
key: "title",
|
|
178
178
|
get header() {
|
|
179
|
-
return
|
|
179
|
+
return i18n.t("permissionTable.permissionItem");
|
|
180
180
|
},
|
|
181
181
|
sortable: false,
|
|
182
182
|
resizable: false,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/features/permission-table/PermissionTable.tsx"],
|
|
4
|
-
"mappings": ";;;;;;AACA,SAEEA,cACAC,YACAC,cACAC,KACAC,IACAC,MACAC,kBACK;AACP,OAAOC,UAAU;AACjB,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,qBAAqB;AAE9B,SAASC,
|
|
5
|
-
"names": ["createEffect", "createMemo", "createSignal", "For", "on", "Show", "splitProps", "clsx", "DataSheet", "Checkbox", "borderDefault", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["createEffect", "createMemo", "createSignal", "For", "on", "Show", "splitProps", "clsx", "DataSheet", "Checkbox", "borderDefault", "useI18n", "titleCellClass", "indentGuideWrapperClass", "indentGuideLineClass", "collectAllPerms", "items", "set", "Set", "walk", "list", "item", "perms", "p", "add", "children", "filterByModules", "modules", "length", "result", "some", "m", "includes", "undefined", "push", "changePermCheck", "value", "perm", "checked", "apply", "target", "href", "permIndex", "indexOf", "basePerm", "baseOff", "i", "child", "isItemVisible", "collectVisiblePerms", "isGroupPermChecked", "hasPermInTree", "isPermDisabled", "collectExpandable", "getChildren", "PermissionTable", "props", "local", "i18n", "visibleItems", "filter", "filtered", "allPerms", "currentValue", "getAllExpandable", "expandedItems", "setExpandedItems", "defer", "handlePermChange", "newValue", "onValueChange", "_$createComponent", "onExpandedItemsChange", "hideConfigBar", "Column", "key", "header", "t", "sortable", "resizable", "ctx", "_el$", "_tmpl$", "_el$2", "firstChild", "_$className", "_$insert", "each", "Array", "from", "depth", "_el$3", "_tmpl$2", "_el$4", "title", "when", "disabled", "inset"]
|
|
6
6
|
}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
import { type JSX } from "solid-js";
|
|
1
|
+
import { type Component, type JSX } from "solid-js";
|
|
2
2
|
import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
|
|
3
3
|
import { type ComponentSize } from "../../../styles/tokens.styles";
|
|
4
|
+
import { type DialogConfig } from "../data-select-button/DataSelectButton";
|
|
5
|
+
declare const ItemTemplate: Component<{
|
|
6
|
+
children: (item: any, index: number, depth: number) => JSX.Element;
|
|
7
|
+
}>;
|
|
8
|
+
declare const Action: Component<{
|
|
9
|
+
children?: JSX.Element;
|
|
10
|
+
onClick?: (e: MouseEvent) => void;
|
|
11
|
+
}>;
|
|
4
12
|
/** SharedDataSelect Props */
|
|
5
13
|
export interface SharedDataSelectProps<TItem> {
|
|
6
14
|
/** Shared data accessor */
|
|
7
15
|
data: SharedDataAccessor<TItem>;
|
|
8
|
-
/** Currently selected value */
|
|
16
|
+
/** Currently selected key value (translated to item internally) */
|
|
9
17
|
value?: unknown;
|
|
10
|
-
/** Value change callback */
|
|
18
|
+
/** Value change callback (receives key, not item) */
|
|
11
19
|
onValueChange?: (value: unknown) => void;
|
|
12
20
|
/** Multiple selection mode */
|
|
13
21
|
multiple?: boolean;
|
|
@@ -21,12 +29,16 @@ export interface SharedDataSelectProps<TItem> {
|
|
|
21
29
|
inset?: boolean;
|
|
22
30
|
/** Item filter function */
|
|
23
31
|
filterFn?: (item: TItem, index: number) => boolean;
|
|
24
|
-
/** Selection
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
|
|
28
|
-
/** Item rendering function */
|
|
29
|
-
children: (item: TItem, index: number, depth: number) => JSX.Element;
|
|
32
|
+
/** Selection dialog configuration */
|
|
33
|
+
dialog?: DialogConfig;
|
|
34
|
+
/** Compound children: ItemTemplate, Action */
|
|
35
|
+
children: JSX.Element;
|
|
30
36
|
}
|
|
31
|
-
|
|
37
|
+
interface SharedDataSelectComponent {
|
|
38
|
+
<TItem>(props: SharedDataSelectProps<TItem>): JSX.Element;
|
|
39
|
+
ItemTemplate: typeof ItemTemplate;
|
|
40
|
+
Action: typeof Action;
|
|
41
|
+
}
|
|
42
|
+
export declare const SharedDataSelect: SharedDataSelectComponent;
|
|
43
|
+
export {};
|
|
32
44
|
//# sourceMappingURL=SharedDataSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharedDataSelect.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\shared-data\\SharedDataSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"SharedDataSelect.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\shared-data\\SharedDataSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAGd,KAAK,GAAG,EAGT,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAM3F,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,wCAAwC,CAAC;AA0BhD,QAAA,MAAM,YAAY,EAAE,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC;CACpE,CAMA,CAAC;AAEF,QAAA,MAAM,MAAM,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACnC,CAOA,CAAC;AAEF,6BAA6B;AAC7B,MAAM,WAAW,qBAAqB,CAAC,KAAK;IAC1C,2BAA2B;IAC3B,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,uBAAuB;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,qCAAqC;IACrC,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,8CAA8C;IAC9C,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED,UAAU,yBAAyB;IACjC,CAAC,KAAK,EAAE,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IAC1D,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,MAAM,EAAE,OAAO,MAAM,CAAC;CACvB;AA0ID,eAAO,MAAM,gBAAgB,EAAE,yBAAuD,CAAC"}
|
|
@@ -1,30 +1,109 @@
|
|
|
1
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
1
2
|
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
2
3
|
import { memo as _$memo } from "solid-js/web";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { IconEdit, IconSearch } from "@tabler/icons-solidjs";
|
|
4
|
+
import { children as resolveChildren, createMemo, For, mergeProps, splitProps } from "solid-js";
|
|
5
|
+
import { IconSearch } from "@tabler/icons-solidjs";
|
|
6
6
|
import { Select } from "../../form-control/select/Select.js";
|
|
7
7
|
import { Icon } from "../../display/Icon.js";
|
|
8
8
|
import { useDialog } from "../../disclosure/DialogContext.js";
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
import { useDialogInstance } from "../../disclosure/DialogInstanceContext.js";
|
|
10
|
+
import { useI18n } from "../../../providers/i18n/I18nContext.js";
|
|
11
|
+
const ITEM_TEMPLATE_BRAND = /* @__PURE__ */ Symbol("SharedDataSelect.ItemTemplate");
|
|
12
|
+
const ACTION_BRAND = /* @__PURE__ */ Symbol("SharedDataSelect.Action");
|
|
13
|
+
function isItemTemplateDef(v) {
|
|
14
|
+
return v != null && typeof v === "object" && "__brand" in v && v.__brand === ITEM_TEMPLATE_BRAND;
|
|
15
|
+
}
|
|
16
|
+
function isActionDef(v) {
|
|
17
|
+
return v != null && typeof v === "object" && "__brand" in v && v.__brand === ACTION_BRAND;
|
|
18
|
+
}
|
|
19
|
+
const ItemTemplate = (props) => {
|
|
20
|
+
return () => ({
|
|
21
|
+
__brand: ITEM_TEMPLATE_BRAND,
|
|
22
|
+
children: props.children
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const Action = (props) => {
|
|
26
|
+
return () => ({
|
|
27
|
+
__brand: ACTION_BRAND,
|
|
28
|
+
children: props.children,
|
|
29
|
+
onClick: props.onClick
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
const SharedDataSelectBase = (props) => {
|
|
33
|
+
const [local, rest] = splitProps(props, ["data", "filterFn", "dialog", "children"]);
|
|
34
|
+
const i18n = useI18n();
|
|
13
35
|
const dialog = useDialog();
|
|
36
|
+
const resolved = resolveChildren(() => local.children);
|
|
37
|
+
const defs = createMemo(() => {
|
|
38
|
+
const arr = resolved.toArray();
|
|
39
|
+
return {
|
|
40
|
+
itemTemplate: arr.find(isItemTemplateDef),
|
|
41
|
+
actions: arr.filter(isActionDef)
|
|
42
|
+
};
|
|
43
|
+
});
|
|
14
44
|
const items = createMemo(() => {
|
|
15
45
|
const allItems = local.data.items();
|
|
16
46
|
if (!local.filterFn) return allItems;
|
|
17
47
|
return allItems.filter(local.filterFn);
|
|
18
48
|
});
|
|
19
|
-
const
|
|
20
|
-
if (
|
|
21
|
-
|
|
49
|
+
const normalizeKeys = (value) => {
|
|
50
|
+
if (value === void 0 || value === null) return [];
|
|
51
|
+
if (Array.isArray(value)) return value;
|
|
52
|
+
return [value];
|
|
22
53
|
};
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
54
|
+
const keyToItem = (key) => {
|
|
55
|
+
return local.data.get(key);
|
|
56
|
+
};
|
|
57
|
+
const valueAsItem = createMemo(() => {
|
|
58
|
+
const key = rest.value;
|
|
59
|
+
if (key === void 0 || key === null) return void 0;
|
|
60
|
+
if (Array.isArray(key)) {
|
|
61
|
+
return key.map((k) => keyToItem(k)).filter((v) => v !== void 0);
|
|
62
|
+
}
|
|
63
|
+
return keyToItem(key);
|
|
64
|
+
});
|
|
65
|
+
const itemToKey = (item) => {
|
|
66
|
+
if (item === void 0 || item === null) return void 0;
|
|
67
|
+
if (Array.isArray(item)) return item.map((i) => local.data.getKey(i));
|
|
68
|
+
return local.data.getKey(item);
|
|
69
|
+
};
|
|
70
|
+
const handleOpenDialog = async () => {
|
|
71
|
+
var _a, _b;
|
|
72
|
+
if (!local.dialog) return;
|
|
73
|
+
const dialogConfig = local.dialog;
|
|
74
|
+
const result = await dialog.show(() => {
|
|
75
|
+
const instance = useDialogInstance();
|
|
76
|
+
return _$createComponent(dialogConfig.component, _$mergeProps(() => dialogConfig.props ?? {}, {
|
|
77
|
+
get selectMode() {
|
|
78
|
+
return rest.multiple ? "multiple" : "single";
|
|
79
|
+
},
|
|
80
|
+
get selectedKeys() {
|
|
81
|
+
return normalizeKeys(rest.value);
|
|
82
|
+
},
|
|
83
|
+
onSelect: (r) => instance == null ? void 0 : instance.close({
|
|
84
|
+
selectedKeys: r.keys
|
|
85
|
+
})
|
|
86
|
+
}));
|
|
87
|
+
}, dialogConfig.option ?? {});
|
|
88
|
+
if (result) {
|
|
89
|
+
const newKeys = result.selectedKeys;
|
|
90
|
+
if (rest.multiple) {
|
|
91
|
+
(_a = rest.onValueChange) == null ? void 0 : _a.call(rest, newKeys);
|
|
92
|
+
} else {
|
|
93
|
+
(_b = rest.onValueChange) == null ? void 0 : _b.call(rest, newKeys.length > 0 ? newKeys[0] : void 0);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
26
96
|
};
|
|
27
97
|
const selectProps = mergeProps(rest, {
|
|
98
|
+
get value() {
|
|
99
|
+
return valueAsItem();
|
|
100
|
+
},
|
|
101
|
+
get onValueChange() {
|
|
102
|
+
if (!rest.onValueChange) return void 0;
|
|
103
|
+
return (item) => {
|
|
104
|
+
rest.onValueChange(itemToKey(item));
|
|
105
|
+
};
|
|
106
|
+
},
|
|
28
107
|
get items() {
|
|
29
108
|
return items();
|
|
30
109
|
},
|
|
@@ -44,34 +123,39 @@ function SharedDataSelect(props) {
|
|
|
44
123
|
});
|
|
45
124
|
return _$createComponent(Select, _$mergeProps(selectProps, {
|
|
46
125
|
get children() {
|
|
47
|
-
return [_$createComponent(Select.ItemTemplate, {
|
|
126
|
+
return [_$memo(() => _$memo(() => !!defs().itemTemplate)() && _$createComponent(Select.ItemTemplate, {
|
|
48
127
|
get children() {
|
|
49
|
-
return
|
|
128
|
+
return defs().itemTemplate.children;
|
|
50
129
|
}
|
|
51
|
-
}), _$memo(() => _$memo(() => !!local.
|
|
52
|
-
onClick: () => void
|
|
130
|
+
})), _$memo(() => _$memo(() => !!local.dialog)() && _$createComponent(Select.Action, {
|
|
131
|
+
onClick: () => void handleOpenDialog(),
|
|
53
132
|
get ["aria-label"]() {
|
|
54
|
-
return
|
|
133
|
+
return i18n.t("sharedDataSelect.search");
|
|
55
134
|
},
|
|
56
135
|
get children() {
|
|
57
136
|
return _$createComponent(Icon, {
|
|
58
137
|
icon: IconSearch
|
|
59
138
|
});
|
|
60
139
|
}
|
|
61
|
-
})), _$
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
return (i18n == null ? void 0 : i18n.t("sharedDataSelect.edit")) ?? "Edit";
|
|
140
|
+
})), _$createComponent(For, {
|
|
141
|
+
get each() {
|
|
142
|
+
return defs().actions;
|
|
65
143
|
},
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
144
|
+
children: (action) => _$createComponent(Select.Action, {
|
|
145
|
+
get onClick() {
|
|
146
|
+
return action.onClick;
|
|
147
|
+
},
|
|
148
|
+
get children() {
|
|
149
|
+
return action.children;
|
|
150
|
+
}
|
|
151
|
+
})
|
|
152
|
+
})];
|
|
72
153
|
}
|
|
73
154
|
}));
|
|
74
|
-
}
|
|
155
|
+
};
|
|
156
|
+
const SharedDataSelect = SharedDataSelectBase;
|
|
157
|
+
SharedDataSelect.ItemTemplate = ItemTemplate;
|
|
158
|
+
SharedDataSelect.Action = Action;
|
|
75
159
|
export {
|
|
76
160
|
SharedDataSelect
|
|
77
161
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/features/shared-data/SharedDataSelect.tsx"],
|
|
4
|
-
"mappings": ";;;AAAA,
|
|
5
|
-
"names": ["createMemo", "
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["children", "resolveChildren", "createMemo", "For", "mergeProps", "splitProps", "IconSearch", "Select", "Icon", "useDialog", "useDialogInstance", "useI18n", "ITEM_TEMPLATE_BRAND", "Symbol", "ACTION_BRAND", "isItemTemplateDef", "v", "__brand", "isActionDef", "ItemTemplate", "props", "Action", "onClick", "SharedDataSelectBase", "local", "rest", "i18n", "dialog", "resolved", "defs", "arr", "toArray", "itemTemplate", "find", "actions", "filter", "items", "allItems", "data", "filterFn", "normalizeKeys", "value", "undefined", "Array", "isArray", "keyToItem", "key", "get", "valueAsItem", "map", "k", "itemToKey", "item", "i", "getKey", "handleOpenDialog", "dialogConfig", "result", "show", "instance", "_$createComponent", "component", "_$mergeProps", "selectMode", "multiple", "selectedKeys", "onSelect", "r", "close", "keys", "option", "newKeys", "onValueChange", "length", "selectProps", "getChildren", "getParentKey", "child", "getSearchText", "getIsHidden", "_$memo", "t", "icon", "each", "action", "SharedDataSelect"]
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type JSX } from "solid-js";
|
|
2
2
|
import { type SharedDataAccessor } from "../../../providers/shared-data/SharedDataContext";
|
|
3
|
-
import { type DataSelectButtonProps } from "../data-select-button/DataSelectButton";
|
|
3
|
+
import { type DataSelectButtonProps, type DialogConfig } from "../data-select-button/DataSelectButton";
|
|
4
4
|
import { type ComponentSize } from "../../../styles/tokens.styles";
|
|
5
5
|
/** SharedDataSelectButton Props */
|
|
6
6
|
export interface SharedDataSelectButtonProps<TItem> {
|
|
@@ -20,8 +20,8 @@ export interface SharedDataSelectButtonProps<TItem> {
|
|
|
20
20
|
size?: ComponentSize;
|
|
21
21
|
/** Borderless style */
|
|
22
22
|
inset?: boolean;
|
|
23
|
-
/** Selection
|
|
24
|
-
|
|
23
|
+
/** Selection dialog configuration */
|
|
24
|
+
dialog: DialogConfig;
|
|
25
25
|
/** Item rendering function */
|
|
26
26
|
children: (item: TItem) => JSX.Element;
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SharedDataSelectButton.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\shared-data\\SharedDataSelectButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAEL,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"SharedDataSelectButton.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\features\\shared-data\\SharedDataSelectButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAc,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,mCAAmC;AACnC,MAAM,WAAW,2BAA2B,CAAC,KAAK;IAChD,2BAA2B;IAC3B,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,qDAAqD;IACrD,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;IAC9C,4BAA4B;IAC5B,aAAa,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC;IAC9D,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,uBAAuB;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,qCAAqC;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,8BAA8B;IAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,GAAG,CAAC,OAAO,CAAC;CACxC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAC1C,KAAK,EAAE,2BAA2B,CAAC,KAAK,CAAC,GACxC,GAAG,CAAC,OAAO,CAUb"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/features/shared-data/SharedDataSelectButton.tsx"],
|
|
4
|
-
"mappings": ";;AAAA,SAAmBA,kBAAkB;AAErC,SACEC,
|
|
4
|
+
"mappings": ";;AAAA,SAAmBA,kBAAkB;AAErC,SACEC,wBAGK;AA6BA,SAASC,uBACdC,OACa;AACb,QAAM,CAACC,OAAOC,IAAI,IAAIL,WAAWG,OAAO,CAAC,QAAQ,UAAU,CAAC;AAE5D,SAAAG,kBACGL,kBAAgBM,aAAA;IACfC,MAAOC,UAASL,MAAMM,KAAKC,MAAM,EAAEC,OAAQC,UAASJ,KAAKK,SAASV,MAAMM,KAAKK,OAAOF,IAAI,CAAC,CAAC;IAAC,IAC3FG,aAAU;AAAA,aAAEZ,MAAMa;IAAQ;EAAA,GACtBZ,IAAI,CAAA;AAGd;",
|
|
5
5
|
"names": ["splitProps", "DataSelectButton", "SharedDataSelectButton", "props", "local", "rest", "_$createComponent", "_$mergeProps", "load", "keys", "data", "items", "filter", "item", "includes", "getKey", "renderItem", "children"]
|
|
6
6
|
}
|
|
@@ -5,21 +5,21 @@ import { createComponent as _$createComponent } from "solid-js/web";
|
|
|
5
5
|
import { spread as _$spread } from "solid-js/web";
|
|
6
6
|
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
7
7
|
import { memo as _$memo } from "solid-js/web";
|
|
8
|
-
var _tmpl$ = /* @__PURE__ */ _$template(`<div class=p-1>`), _tmpl$2 = /* @__PURE__ */ _$template(`<span
|
|
8
|
+
var _tmpl$ = /* @__PURE__ */ _$template(`<div class=p-1>`), _tmpl$2 = /* @__PURE__ */ _$template(`<span>`), _tmpl$3 = /* @__PURE__ */ _$template(`<div>`);
|
|
9
9
|
import { createEffect, createMemo, createSignal, For, Show, splitProps } from "solid-js";
|
|
10
10
|
import clsx from "clsx";
|
|
11
11
|
import { twMerge } from "tailwind-merge";
|
|
12
12
|
import { List } from "../../data/list/List.js";
|
|
13
13
|
import { Pagination } from "../../data/Pagination.js";
|
|
14
14
|
import { TextInput } from "../../form-control/field/TextInput.js";
|
|
15
|
-
import {
|
|
15
|
+
import { useI18n } from "../../../providers/i18n/I18nContext.js";
|
|
16
16
|
import { textMuted } from "../../../styles/tokens.styles.js";
|
|
17
17
|
import { createSlotSignal } from "../../../hooks/createSlotSignal.js";
|
|
18
18
|
import { SharedDataSelectListContext, SharedDataSelectListItemTemplate, SharedDataSelectListFilter } from "./SharedDataSelectListContext.js";
|
|
19
19
|
const containerClass = clsx("flex-col gap-1");
|
|
20
20
|
const SharedDataSelectList = (props) => {
|
|
21
21
|
const [local, rest] = splitProps(props, ["data", "children", "class", "style", "value", "onValueChange", "required", "disabled", "filterFn", "canChange", "pageSize", "header"]);
|
|
22
|
-
const i18n =
|
|
22
|
+
const i18n = useI18n();
|
|
23
23
|
const [filter, setFilter] = createSlotSignal();
|
|
24
24
|
const [itemTemplate, _setItemTemplate] = createSignal();
|
|
25
25
|
const setItemTemplate = (fn) => _setItemTemplate(() => fn);
|
|
@@ -118,7 +118,7 @@ const SharedDataSelectList = (props) => {
|
|
|
118
118
|
},
|
|
119
119
|
onValueChange: setSearchText,
|
|
120
120
|
get placeholder() {
|
|
121
|
-
return
|
|
121
|
+
return i18n.t("sharedDataSelectList.searchPlaceholder");
|
|
122
122
|
},
|
|
123
123
|
"class": "w-full"
|
|
124
124
|
}));
|
|
@@ -169,6 +169,7 @@ const SharedDataSelectList = (props) => {
|
|
|
169
169
|
get children() {
|
|
170
170
|
var _el$3 = _tmpl$2();
|
|
171
171
|
_$className(_el$3, textMuted);
|
|
172
|
+
_$insert(_el$3, () => i18n.t("sharedDataSelectList.unspecified"));
|
|
172
173
|
return _el$3;
|
|
173
174
|
}
|
|
174
175
|
});
|