@simplysm/solid 13.0.29 → 13.0.31
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 +10 -5
- package/dist/components/data/Pagination.d.ts +4 -5
- package/dist/components/data/Pagination.d.ts.map +1 -1
- package/dist/components/data/Pagination.js +14 -14
- package/dist/components/data/Pagination.js.map +2 -2
- package/dist/components/data/Table.js +1 -1
- package/dist/components/data/calendar/Calendar.js +1 -1
- package/dist/components/data/kanban/Kanban.d.ts +9 -9
- package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
- package/dist/components/data/kanban/Kanban.js +4 -4
- package/dist/components/data/kanban/Kanban.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +102 -107
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/DataSheet.styles.js +1 -1
- package/dist/components/data/sheet/types.d.ts +2 -2
- package/dist/components/data/sheet/types.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.d.ts +8 -8
- package/dist/components/disclosure/Dialog.d.ts.map +1 -1
- package/dist/components/disclosure/Dialog.js +64 -69
- package/dist/components/disclosure/Dialog.js.map +2 -2
- package/dist/components/disclosure/DialogContext.d.ts +4 -4
- package/dist/components/disclosure/DialogContext.d.ts.map +1 -1
- package/dist/components/disclosure/DialogProvider.js +8 -8
- package/dist/components/disclosure/DialogProvider.js.map +2 -2
- package/dist/components/feedback/Progress.d.ts +3 -3
- package/dist/components/feedback/Progress.d.ts.map +1 -1
- package/dist/components/feedback/Progress.js +1 -1
- package/dist/components/feedback/Progress.js.map +2 -2
- package/dist/components/feedback/busy/BusyContainer.d.ts +1 -0
- package/dist/components/feedback/busy/BusyContainer.d.ts.map +1 -1
- package/dist/components/feedback/busy/BusyContainer.js +13 -6
- package/dist/components/feedback/busy/BusyContainer.js.map +2 -2
- package/dist/components/feedback/notification/NotificationBanner.js +1 -1
- package/dist/components/feedback/notification/NotificationBanner.js.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.d.ts.map +1 -1
- package/dist/components/feedback/notification/NotificationBell.js +4 -2
- 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 +1 -0
- package/dist/components/feedback/notification/NotificationProvider.js.map +1 -1
- package/dist/components/form-control/Invalid.d.ts +4 -2
- package/dist/components/form-control/Invalid.d.ts.map +1 -1
- package/dist/components/form-control/Invalid.js +81 -41
- package/dist/components/form-control/Invalid.js.map +2 -2
- package/dist/components/form-control/ThemeToggle.d.ts.map +1 -1
- package/dist/components/form-control/ThemeToggle.js +4 -5
- package/dist/components/form-control/ThemeToggle.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts +4 -2
- package/dist/components/form-control/checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.js +65 -52
- package/dist/components/form-control/checkbox/Checkbox.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +1 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Checkbox.styles.js +3 -9
- package/dist/components/form-control/checkbox/Checkbox.styles.js.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.d.ts +9 -9
- package/dist/components/form-control/checkbox/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/CheckboxGroup.js +10 -82
- package/dist/components/form-control/checkbox/CheckboxGroup.js.map +2 -2
- package/dist/components/form-control/checkbox/Radio.d.ts +4 -2
- package/dist/components/form-control/checkbox/Radio.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/Radio.js +64 -51
- package/dist/components/form-control/checkbox/Radio.js.map +2 -2
- package/dist/components/form-control/checkbox/RadioGroup.d.ts +9 -9
- package/dist/components/form-control/checkbox/RadioGroup.d.ts.map +1 -1
- package/dist/components/form-control/checkbox/RadioGroup.js +10 -77
- package/dist/components/form-control/checkbox/RadioGroup.js.map +2 -2
- package/dist/components/form-control/color-picker/ColorPicker.d.ts +8 -3
- package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/components/form-control/color-picker/ColorPicker.js +43 -26
- package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
- package/dist/components/form-control/combobox/Combobox.d.ts +8 -8
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +72 -59
- package/dist/components/form-control/combobox/Combobox.js.map +2 -2
- package/dist/components/form-control/editor/EditorToolbar.d.ts.map +1 -1
- package/dist/components/form-control/editor/EditorToolbar.js +3 -2
- package/dist/components/form-control/editor/EditorToolbar.js.map +2 -2
- package/dist/components/form-control/field/DatePicker.d.ts +6 -0
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +138 -117
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts +6 -0
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +138 -115
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/Field.styles.d.ts +14 -0
- package/dist/components/form-control/field/Field.styles.d.ts.map +1 -1
- package/dist/components/form-control/field/Field.styles.js +30 -0
- package/dist/components/form-control/field/Field.styles.js.map +1 -1
- package/dist/components/form-control/field/FieldPlaceholder.d.ts +7 -0
- package/dist/components/form-control/field/FieldPlaceholder.d.ts.map +1 -0
- package/dist/components/form-control/field/FieldPlaceholder.js +34 -0
- package/dist/components/form-control/field/FieldPlaceholder.js.map +6 -0
- package/dist/components/form-control/field/NumberInput.d.ts +10 -0
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +149 -115
- package/dist/components/form-control/field/NumberInput.js.map +2 -2
- package/dist/components/form-control/field/TextInput.d.ts +12 -0
- package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
- package/dist/components/form-control/field/TextInput.js +162 -116
- package/dist/components/form-control/field/TextInput.js.map +2 -2
- package/dist/components/form-control/field/Textarea.d.ts +10 -0
- package/dist/components/form-control/field/Textarea.d.ts.map +1 -1
- package/dist/components/form-control/field/Textarea.js +156 -121
- package/dist/components/form-control/field/Textarea.js.map +2 -2
- package/dist/components/form-control/field/TimePicker.d.ts +10 -0
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +126 -94
- package/dist/components/form-control/field/TimePicker.js.map +2 -2
- package/dist/components/form-control/select/Select.d.ts +7 -9
- package/dist/components/form-control/select/Select.d.ts.map +1 -1
- package/dist/components/form-control/select/Select.js +71 -60
- 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 +2 -1
- package/dist/components/form-control/state-preset/StatePreset.js.map +2 -2
- package/dist/components/layout/sidebar/SidebarMenu.js +1 -1
- package/dist/components/layout/sidebar/SidebarMenu.js.map +1 -1
- package/dist/components/layout/sidebar/SidebarUser.js +2 -2
- package/dist/components/layout/sidebar/SidebarUser.js.map +1 -1
- package/dist/hooks/createItemTemplate.d.ts +17 -0
- package/dist/hooks/createItemTemplate.d.ts.map +1 -0
- package/dist/hooks/createItemTemplate.js +40 -0
- package/dist/hooks/createItemTemplate.js.map +6 -0
- package/dist/hooks/createPointerDrag.d.ts +13 -0
- package/dist/hooks/createPointerDrag.d.ts.map +1 -0
- package/dist/hooks/createPointerDrag.js +15 -0
- package/dist/hooks/createPointerDrag.js.map +6 -0
- package/dist/hooks/createSelectionGroup.d.ts +70 -0
- package/dist/hooks/createSelectionGroup.d.ts.map +1 -0
- package/dist/hooks/createSelectionGroup.js +141 -0
- package/dist/hooks/createSelectionGroup.js.map +6 -0
- package/dist/hooks/useLocalStorage.d.ts +5 -3
- package/dist/hooks/useLocalStorage.d.ts.map +1 -1
- package/dist/hooks/useLocalStorage.js.map +1 -1
- package/dist/hooks/{createPwaUpdate.d.ts → usePwaUpdate.d.ts} +2 -2
- package/dist/hooks/usePwaUpdate.d.ts.map +1 -0
- package/dist/hooks/{createPwaUpdate.js → usePwaUpdate.js} +3 -3
- package/dist/hooks/usePwaUpdate.js.map +6 -0
- package/dist/hooks/useSyncConfig.d.ts +3 -3
- package/dist/hooks/useSyncConfig.d.ts.map +1 -1
- package/dist/hooks/useSyncConfig.js +6 -7
- package/dist/hooks/useSyncConfig.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -4
- package/dist/index.js.map +1 -1
- package/dist/providers/InitializeProvider.js +2 -2
- package/dist/providers/InitializeProvider.js.map +2 -2
- package/dist/providers/ThemeContext.d.ts.map +1 -1
- package/dist/providers/ThemeContext.js +2 -1
- package/dist/providers/ThemeContext.js.map +2 -2
- package/dist/styles/patterns.styles.d.ts +1 -0
- package/dist/styles/patterns.styles.d.ts.map +1 -1
- package/dist/styles/patterns.styles.js +11 -0
- package/dist/styles/patterns.styles.js.map +1 -1
- package/dist/styles/tokens.styles.d.ts +1 -0
- package/dist/styles/tokens.styles.d.ts.map +1 -1
- package/dist/styles/tokens.styles.js.map +1 -1
- package/docs/data-components.md +34 -5
- package/docs/disclosure.md +28 -8
- package/docs/feedback.md +25 -2
- package/docs/form-controls.md +289 -33
- package/docs/hooks.md +19 -7
- package/docs/layout.md +12 -0
- package/docs/providers.md +120 -8
- package/docs/styling.md +90 -0
- package/package.json +3 -3
- package/src/components/data/Pagination.tsx +20 -21
- package/src/components/data/Table.tsx +1 -1
- package/src/components/data/calendar/Calendar.tsx +1 -1
- package/src/components/data/kanban/Kanban.tsx +18 -25
- package/src/components/data/sheet/DataSheet.styles.ts +1 -1
- package/src/components/data/sheet/DataSheet.tsx +122 -131
- package/src/components/data/sheet/types.ts +2 -2
- package/src/components/disclosure/Dialog.tsx +87 -100
- package/src/components/disclosure/DialogContext.ts +4 -4
- package/src/components/disclosure/DialogProvider.tsx +4 -4
- package/src/components/feedback/Progress.tsx +9 -5
- package/src/components/feedback/busy/BusyContainer.tsx +9 -5
- package/src/components/feedback/notification/NotificationBanner.tsx +1 -1
- package/src/components/feedback/notification/NotificationBell.tsx +4 -12
- package/src/components/feedback/notification/NotificationProvider.tsx +1 -0
- package/src/components/form-control/Invalid.tsx +114 -52
- package/src/components/form-control/ThemeToggle.tsx +4 -17
- package/src/components/form-control/checkbox/Checkbox.styles.ts +2 -9
- package/src/components/form-control/checkbox/Checkbox.tsx +39 -28
- package/src/components/form-control/checkbox/CheckboxGroup.tsx +18 -97
- package/src/components/form-control/checkbox/Radio.tsx +39 -28
- package/src/components/form-control/checkbox/RadioGroup.tsx +18 -92
- package/src/components/form-control/color-picker/ColorPicker.tsx +36 -16
- package/src/components/form-control/combobox/Combobox.tsx +43 -33
- package/src/components/form-control/editor/EditorToolbar.tsx +3 -14
- package/src/components/form-control/field/DatePicker.tsx +99 -97
- package/src/components/form-control/field/DateTimePicker.tsx +107 -95
- package/src/components/form-control/field/Field.styles.ts +45 -0
- package/src/components/form-control/field/FieldPlaceholder.tsx +18 -0
- package/src/components/form-control/field/NumberInput.tsx +122 -94
- package/src/components/form-control/field/TextInput.tsx +119 -95
- package/src/components/form-control/field/Textarea.tsx +124 -98
- package/src/components/form-control/field/TimePicker.tsx +101 -75
- package/src/components/form-control/select/Select.tsx +52 -44
- package/src/components/form-control/state-preset/StatePreset.tsx +2 -8
- package/src/components/layout/sidebar/SidebarMenu.tsx +1 -1
- package/src/components/layout/sidebar/SidebarUser.tsx +3 -3
- package/src/hooks/createItemTemplate.tsx +42 -0
- package/src/hooks/createPointerDrag.ts +28 -0
- package/src/hooks/createSelectionGroup.tsx +235 -0
- package/src/hooks/useLocalStorage.ts +8 -4
- package/src/hooks/{createPwaUpdate.ts → usePwaUpdate.ts} +1 -1
- package/src/hooks/useSyncConfig.ts +9 -13
- package/src/index.ts +1 -3
- package/src/providers/InitializeProvider.tsx +2 -2
- package/src/providers/ThemeContext.tsx +2 -1
- package/src/styles/patterns.styles.ts +12 -0
- package/src/styles/tokens.styles.ts +1 -0
- package/dist/hooks/createPwaUpdate.d.ts.map +0 -1
- package/dist/hooks/createPwaUpdate.js.map +0 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePwaUpdate.d.ts","sourceRoot":"","sources":["../../src/hooks/usePwaUpdate.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAuDnC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { onCleanup } from "solid-js";
|
|
2
2
|
import { useNotification } from "../components/feedback/notification/NotificationContext.js";
|
|
3
3
|
const UPDATE_INTERVAL = 5 * 60 * 1e3;
|
|
4
|
-
function
|
|
4
|
+
function usePwaUpdate() {
|
|
5
5
|
if (typeof navigator === "undefined" || !("serviceWorker" in navigator)) return;
|
|
6
6
|
const notification = useNotification();
|
|
7
7
|
let intervalId;
|
|
@@ -45,6 +45,6 @@ function createPwaUpdate() {
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
export {
|
|
48
|
-
|
|
48
|
+
usePwaUpdate
|
|
49
49
|
};
|
|
50
|
-
//# sourceMappingURL=
|
|
50
|
+
//# sourceMappingURL=usePwaUpdate.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/usePwaUpdate.ts"],
|
|
4
|
+
"mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAEhC,MAAM,kBAAkB,IAAI,KAAK;AAc1B,SAAS,eAAqB;AACnC,MAAI,OAAO,cAAc,eAAe,EAAE,mBAAmB,WAAY;AAEzE,QAAM,eAAe,gBAAgB;AACrC,MAAI;AAEJ,OAAK,UAAU,cAAc,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;AACpE,QAAI,gBAAgB,KAAM;AAG1B,iBAAa,YAAY,MAAM;AAC7B,WAAK,aAAa,OAAO;AAAA,IAC3B,GAAG,eAAe;AAGlB,QAAI,aAAa,WAAW,MAAM;AAChC,mBAAa,aAAa,OAAO;AAAA,IACnC;AAGA,iBAAa,iBAAiB,eAAe,MAAM;AACjD,YAAM,QAAQ,aAAa;AAC3B,UAAI,SAAS,KAAM;AAEnB,YAAM,iBAAiB,eAAe,MAAM;AAC1C,YAAI,MAAM,UAAU,eAAe,UAAU,cAAc,cAAc,MAAM;AAC7E,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AAGD,QAAM,qBAAqB,MAAM;AAC/B,WAAO,SAAS,OAAO;AAAA,EACzB;AACA,YAAU,cAAc,iBAAiB,oBAAoB,kBAAkB;AAE/E,YAAU,MAAM;AACd,QAAI,cAAc,MAAM;AACtB,oBAAc,UAAU;AAAA,IAC1B;AACA,cAAU,cAAc,oBAAoB,oBAAoB,kBAAkB;AAAA,EACpF,CAAC;AAED,WAAS,aAAa,WAAgC;AACpD,iBAAa,KAAK,uEAAgB,2HAA4B;AAAA,MAC5D,QAAQ;AAAA,QACN,OAAO;AAAA,QACP,SAAS,MAAM;AACb,oBAAU,YAAY,EAAE,MAAM,eAAe,CAAC;AAAA,QAChD;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -7,13 +7,13 @@ import { type Accessor, type Setter } from "solid-js";
|
|
|
7
7
|
*
|
|
8
8
|
* @param key - Storage key for the config value
|
|
9
9
|
* @param defaultValue - Default value if no stored value exists
|
|
10
|
-
* @returns Tuple of [value accessor, value setter,
|
|
10
|
+
* @returns Tuple of [value accessor, value setter, ready state accessor]
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```tsx
|
|
14
|
-
* const [theme, setTheme,
|
|
14
|
+
* const [theme, setTheme, ready] = useSyncConfig("user-theme", "light");
|
|
15
15
|
*
|
|
16
|
-
* <Show when={
|
|
16
|
+
* <Show when={ready()}>
|
|
17
17
|
* <button onClick={() => setTheme(theme() === "light" ? "dark" : "light")}>
|
|
18
18
|
* Toggle theme
|
|
19
19
|
* </button>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"useSyncConfig.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAA8B,MAAM,UAAU,CAAC;AAGlF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,GACnB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAsEvD"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { createEffect, createSignal
|
|
1
|
+
import { createEffect, createSignal } from "solid-js";
|
|
2
2
|
import { useConfig } from "../providers/ConfigContext.js";
|
|
3
3
|
function useSyncConfig(key, defaultValue) {
|
|
4
4
|
const config = useConfig();
|
|
5
5
|
const prefixedKey = `${config.clientName}.${key}`;
|
|
6
6
|
const [value, setValue] = createSignal(defaultValue);
|
|
7
|
-
const [
|
|
7
|
+
const [ready, setReady] = createSignal(false);
|
|
8
8
|
const initializeFromStorage = async () => {
|
|
9
9
|
if (!config.syncStorage) {
|
|
10
10
|
try {
|
|
@@ -14,9 +14,9 @@ function useSyncConfig(key, defaultValue) {
|
|
|
14
14
|
}
|
|
15
15
|
} catch {
|
|
16
16
|
}
|
|
17
|
+
setReady(true);
|
|
17
18
|
return;
|
|
18
19
|
}
|
|
19
|
-
setBusy(true);
|
|
20
20
|
try {
|
|
21
21
|
const stored = await config.syncStorage.getItem(prefixedKey);
|
|
22
22
|
if (stored !== null) {
|
|
@@ -31,11 +31,12 @@ function useSyncConfig(key, defaultValue) {
|
|
|
31
31
|
} catch {
|
|
32
32
|
}
|
|
33
33
|
} finally {
|
|
34
|
-
|
|
34
|
+
setReady(true);
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
void initializeFromStorage();
|
|
38
38
|
createEffect(() => {
|
|
39
|
+
if (!ready()) return;
|
|
39
40
|
const currentValue = value();
|
|
40
41
|
const serialized = JSON.stringify(currentValue);
|
|
41
42
|
if (!config.syncStorage) {
|
|
@@ -50,9 +51,7 @@ function useSyncConfig(key, defaultValue) {
|
|
|
50
51
|
}
|
|
51
52
|
})();
|
|
52
53
|
});
|
|
53
|
-
|
|
54
|
-
});
|
|
55
|
-
return [value, setValue, busy];
|
|
54
|
+
return [value, setValue, ready];
|
|
56
55
|
}
|
|
57
56
|
export {
|
|
58
57
|
useSyncConfig
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/hooks/useSyncConfig.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAqC,cAAc,
|
|
4
|
+
"mappings": "AAAA,SAAqC,cAAc,oBAAoB;AACvE,SAAS,iBAAiB;AAuBnB,SAAS,cACd,KACA,cACuD;AACvD,QAAM,SAAS,UAAU;AACzB,QAAM,cAAc,GAAG,OAAO,UAAU,IAAI,GAAG;AAC/C,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAqB,YAAY;AAC3D,QAAM,CAAC,OAAO,QAAQ,IAAI,aAAa,KAAK;AAG5C,QAAM,wBAAwB,YAAY;AACxC,QAAI,CAAC,OAAO,aAAa;AAEvB,UAAI;AACF,cAAM,SAAS,aAAa,QAAQ,WAAW;AAC/C,YAAI,WAAW,MAAM;AACnB,mBAAS,MAAM,KAAK,MAAM,MAAM,CAAW;AAAA,QAC7C;AAAA,MACF,QAAQ;AAAA,MAER;AACA,eAAS,IAAI;AACb;AAAA,IACF;AAGA,QAAI;AACF,YAAM,SAAS,MAAM,OAAO,YAAY,QAAQ,WAAW;AAC3D,UAAI,WAAW,MAAM;AACnB,iBAAS,MAAM,KAAK,MAAM,MAAM,CAAW;AAAA,MAC7C;AAAA,IACF,QAAQ;AAEN,UAAI;AACF,cAAM,SAAS,aAAa,QAAQ,WAAW;AAC/C,YAAI,WAAW,MAAM;AACnB,mBAAS,MAAM,KAAK,MAAM,MAAM,CAAW;AAAA,QAC7C;AAAA,MACF,QAAQ;AAAA,MAER;AAAA,IACF,UAAE;AACA,eAAS,IAAI;AAAA,IACf;AAAA,EACF;AAGA,OAAK,sBAAsB;AAG3B,eAAa,MAAM;AACjB,QAAI,CAAC,MAAM,EAAG;AACd,UAAM,eAAe,MAAM;AAC3B,UAAM,aAAa,KAAK,UAAU,YAAY;AAE9C,QAAI,CAAC,OAAO,aAAa;AAEvB,mBAAa,QAAQ,aAAa,UAAU;AAC5C;AAAA,IACF;AAGA,UAAM,YAAY;AAChB,UAAI;AACF,cAAM,OAAO,YAAa,QAAQ,aAAa,UAAU;AAAA,MAC3D,QAAQ;AAEN,qBAAa,QAAQ,aAAa,UAAU;AAAA,MAC9C;AAAA,IACF,GAAG;AAAA,EACL,CAAC;AAED,SAAO,CAAC,OAAO,UAAU,KAAK;AAChC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from "./components/form-control/Button";
|
|
2
2
|
export * from "./components/form-control/select/Select";
|
|
3
|
-
export * from "./components/form-control/select/SelectContext";
|
|
4
3
|
export * from "./components/form-control/combobox/Combobox";
|
|
5
|
-
export * from "./components/form-control/combobox/ComboboxContext";
|
|
6
4
|
export * from "./components/form-control/field/TextInput";
|
|
7
5
|
export * from "./components/form-control/field/NumberInput";
|
|
8
6
|
export * from "./components/form-control/field/DatePicker";
|
|
@@ -79,7 +77,7 @@ export * from "./hooks/usePrint";
|
|
|
79
77
|
export { createControllableSignal } from "./hooks/createControllableSignal";
|
|
80
78
|
export { createIMEHandler } from "./hooks/createIMEHandler";
|
|
81
79
|
export { createMountTransition } from "./hooks/createMountTransition";
|
|
82
|
-
export {
|
|
80
|
+
export { usePwaUpdate } from "./hooks/usePwaUpdate";
|
|
83
81
|
export { useRouterLink } from "./hooks/useRouterLink";
|
|
84
82
|
export * from "./styles/tokens.styles";
|
|
85
83
|
export * from "./styles/patterns.styles";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,kCAAkC,CAAC;AAGjD,cAAc,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
export * from "./components/form-control/Button.js";
|
|
2
2
|
export * from "./components/form-control/select/Select.js";
|
|
3
|
-
export * from "./components/form-control/select/SelectContext.js";
|
|
4
3
|
export * from "./components/form-control/combobox/Combobox.js";
|
|
5
|
-
export * from "./components/form-control/combobox/ComboboxContext.js";
|
|
6
4
|
export * from "./components/form-control/field/TextInput.js";
|
|
7
5
|
export * from "./components/form-control/field/NumberInput.js";
|
|
8
6
|
export * from "./components/form-control/field/DatePicker.js";
|
|
@@ -78,7 +76,7 @@ export * from "./hooks/usePrint.js";
|
|
|
78
76
|
import { createControllableSignal } from "./hooks/createControllableSignal.js";
|
|
79
77
|
import { createIMEHandler } from "./hooks/createIMEHandler.js";
|
|
80
78
|
import { createMountTransition } from "./hooks/createMountTransition.js";
|
|
81
|
-
import {
|
|
79
|
+
import { usePwaUpdate } from "./hooks/usePwaUpdate.js";
|
|
82
80
|
import { useRouterLink } from "./hooks/useRouterLink.js";
|
|
83
81
|
export * from "./styles/tokens.styles.js";
|
|
84
82
|
export * from "./styles/patterns.styles.js";
|
|
@@ -91,10 +89,10 @@ export {
|
|
|
91
89
|
createControllableSignal,
|
|
92
90
|
createIMEHandler,
|
|
93
91
|
createMountTransition,
|
|
94
|
-
createPwaUpdate,
|
|
95
92
|
mergeStyles,
|
|
96
93
|
ripple,
|
|
97
94
|
splitSlots,
|
|
95
|
+
usePwaUpdate,
|
|
98
96
|
useRouterLink,
|
|
99
97
|
useTheme
|
|
100
98
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts"],
|
|
4
|
-
"mappings": "AAGA,cAAc;AAGd,cAAc;
|
|
4
|
+
"mappings": "AAGA,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,SAAS,gBAAgB;AAEzB,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,gCAAgC;AACzC,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAM9B,cAAc;AACd,cAAc;AAMd,SAAS,cAAc;AAMvB,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,0BAA0B;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -6,10 +6,10 @@ import { ThemeProvider } from "./ThemeContext.js";
|
|
|
6
6
|
import { NotificationProvider } from "../components/feedback/notification/NotificationProvider.js";
|
|
7
7
|
import { NotificationBanner } from "../components/feedback/notification/NotificationBanner.js";
|
|
8
8
|
import { BusyProvider } from "../components/feedback/busy/BusyProvider.js";
|
|
9
|
-
import {
|
|
9
|
+
import { usePwaUpdate } from "../hooks/usePwaUpdate.js";
|
|
10
10
|
import { useLogger } from "../hooks/useLogger.js";
|
|
11
11
|
function PwaUpdater() {
|
|
12
|
-
|
|
12
|
+
usePwaUpdate();
|
|
13
13
|
return null;
|
|
14
14
|
}
|
|
15
15
|
function GlobalErrorLogger() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/providers/InitializeProvider.tsx"],
|
|
4
|
-
"mappings": ";AACA,SAASA,iBAAiB;AAC1B,SAAyBC,qBAAqB;AAC9C,SAASC,6BAA6B;AACtC,SAASC,qBAAqB;AAC9B,SAASC,4BAA4B;AACrC,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAE7B,SAASC,
|
|
5
|
-
"names": ["onCleanup", "ConfigContext", "useClipboardValueCopy", "ThemeProvider", "NotificationProvider", "NotificationBanner", "BusyProvider", "
|
|
4
|
+
"mappings": ";AACA,SAASA,iBAAiB;AAC1B,SAAyBC,qBAAqB;AAC9C,SAASC,6BAA6B;AACtC,SAASC,qBAAqB;AAC9B,SAASC,4BAA4B;AACrC,SAASC,0BAA0B;AACnC,SAASC,oBAAoB;AAE7B,SAASC,oBAAoB;AAC7B,SAASC,iBAAiB;AAG1B,SAASC,aAAa;AACpBF,eAAa;AACb,SAAO;AACT;AAGA,SAASG,oBAAoB;AAC3B,QAAMC,SAASH,UAAU;AAEzB,QAAMI,UAAWC,WAAsB;AACrCF,WAAOG,MAAM,mBAAmBD,MAAMC,SAASD,MAAME,OAAO;EAC9D;AAEA,QAAMC,uBAAwBH,WAAiC;AAC7DF,WAAOG,MAAM,wBAAwBD,MAAMI,MAAM;EACnD;AAEAC,SAAOC,iBAAiB,SAASP,OAAO;AACxCM,SAAOC,iBAAiB,sBAAsBH,oBAAoB;AAElEhB,YAAU,MAAM;AACdkB,WAAOE,oBAAoB,SAASR,OAAO;AAC3CM,WAAOE,oBAAoB,sBAAsBJ,oBAAoB;EACvE,CAAC;AAED,SAAO;AACT;AAqBO,MAAMK,qBAA8DC,WAAU;AAEnFpB,wBAAsB;AAGtB,SAAAqB,kBACGtB,cAAcuB,UAAQ;IAAA,IAACC,QAAK;AAAA,aAAEH,MAAMI;IAAM;IAAA,IAAAC,WAAA;AAAA,aAAAJ,kBACxCpB,eAAa;QAAA,IAAAwB,WAAA;AAAA,iBAAAJ,kBACXnB,sBAAoB;YAAA,IAAAuB,WAAA;AAAA,qBAAA,CAAAJ,kBAClBlB,oBAAkB,CAAA,CAAA,GAAAkB,kBAClBb,mBAAiB,CAAA,CAAA,GAAAa,kBACjBd,YAAU,CAAA,CAAA,GAAAc,kBACVjB,cAAY;gBAAA,IAACsB,UAAO;AAAA,yBAAEN,MAAMI,OAAOG;gBAAW;gBAAA,IAAAF,WAAA;AAAA,yBAAGL,MAAMK;gBAAQ;cAAA,CAAA,CAAA;YAAA;UAAA,CAAA;QAAA;MAAA,CAAA;IAAA;EAAA,CAAA;AAM1E;",
|
|
5
|
+
"names": ["onCleanup", "ConfigContext", "useClipboardValueCopy", "ThemeProvider", "NotificationProvider", "NotificationBanner", "BusyProvider", "usePwaUpdate", "useLogger", "PwaUpdater", "GlobalErrorLogger", "logger", "onError", "event", "error", "message", "onUnhandledRejection", "reason", "window", "addEventListener", "removeEventListener", "InitializeProvider", "props", "_$createComponent", "Provider", "value", "config", "children", "variant", "busyVariant"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../src/providers/ThemeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAIrB,MAAM,UAAU,CAAC;AAIlB;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,UAAU,iBAAiB;IACzB,yBAAyB;IACzB,IAAI,EAAE,MAAM,SAAS,CAAC;IACtB,eAAe;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,sCAAsC;IACtC,aAAa,EAAE,MAAM,aAAa,CAAC;IACnC,gDAAgD;IAChD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAQ5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"ThemeContext.d.ts","sourceRoot":"","sources":["../../src/providers/ThemeContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EAIrB,MAAM,UAAU,CAAC;AAIlB;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,UAAU,iBAAiB;IACzB,yBAAyB;IACzB,IAAI,EAAE,MAAM,SAAS,CAAC;IACtB,eAAe;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,sCAAsC;IACtC,aAAa,EAAE,MAAM,aAAa,CAAC;IACnC,gDAAgD;IAChD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAQ5C;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,EAAE,eA2C3B,CAAC"}
|
|
@@ -11,7 +11,7 @@ function useTheme() {
|
|
|
11
11
|
return context;
|
|
12
12
|
}
|
|
13
13
|
const ThemeProvider = (props) => {
|
|
14
|
-
const [mode, setMode] = useSyncConfig("theme", "system");
|
|
14
|
+
const [mode, setMode, ready] = useSyncConfig("theme", "system");
|
|
15
15
|
const prefersDark = createMediaQuery("(prefers-color-scheme: dark)");
|
|
16
16
|
const resolvedTheme = createMemo(() => {
|
|
17
17
|
const currentMode = mode();
|
|
@@ -26,6 +26,7 @@ const ThemeProvider = (props) => {
|
|
|
26
26
|
setMode(next);
|
|
27
27
|
};
|
|
28
28
|
createEffect(() => {
|
|
29
|
+
if (!ready()) return;
|
|
29
30
|
const isDark = resolvedTheme() === "dark";
|
|
30
31
|
document.documentElement.classList.toggle("dark", isDark);
|
|
31
32
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/providers/ThemeContext.tsx"],
|
|
4
|
-
"mappings": ";AAAA,SACEA,eACAC,YAEAC,YACAC,cACAC,iBACK;AACP,SAASC,wBAAwB;AACjC,SAASC,qBAAqB;AA0B9B,MAAMC,eAAeP,cAAiC;AAwB/C,SAASQ,WAA8B;AAC5C,QAAMC,UAAUR,WAAWM,YAAY;AACvC,MAAI,CAACE,SAAS;AACZ,UAAM,IAAIC,MACR,uNACF;EACF;AACA,SAAOD;AACT;AAmBO,MAAME,gBAAkCC,WAAU;AACvD,QAAM,CAACC,MAAMC,
|
|
5
|
-
"names": ["createContext", "useContext", "createMemo", "createEffect", "onCleanup", "createMediaQuery", "useSyncConfig", "ThemeContext", "useTheme", "context", "Error", "ThemeProvider", "props", "mode", "setMode", "prefersDark", "resolvedTheme", "currentMode", "cycleMode", "current", "next", "isDark", "document", "documentElement", "classList", "toggle", "remove", "contextValue", "_$createComponent", "Provider", "value", "children"]
|
|
4
|
+
"mappings": ";AAAA,SACEA,eACAC,YAEAC,YACAC,cACAC,iBACK;AACP,SAASC,wBAAwB;AACjC,SAASC,qBAAqB;AA0B9B,MAAMC,eAAeP,cAAiC;AAwB/C,SAASQ,WAA8B;AAC5C,QAAMC,UAAUR,WAAWM,YAAY;AACvC,MAAI,CAACE,SAAS;AACZ,UAAM,IAAIC,MACR,uNACF;EACF;AACA,SAAOD;AACT;AAmBO,MAAME,gBAAkCC,WAAU;AACvD,QAAM,CAACC,MAAMC,SAASC,KAAK,IAAIT,cAAyB,SAAS,QAAQ;AAGzE,QAAMU,cAAcX,iBAAiB,8BAA8B;AAGnE,QAAMY,gBAAgBf,WAA0B,MAAM;AACpD,UAAMgB,cAAcL,KAAK;AACzB,QAAIK,gBAAgB,UAAU;AAC5B,aAAOF,YAAY,IAAI,SAAS;IAClC;AACA,WAAOE;EACT,CAAC;AAGD,QAAMC,YAAYA,MAAM;AACtB,UAAMC,UAAUP,KAAK;AACrB,UAAMQ,OACJD,YAAY,UAAU,WAAWA,YAAY,WAAW,SAAS;AACnEN,YAAQO,IAAI;EACd;AAGAlB,eAAa,MAAM;AACjB,QAAI,CAACY,MAAM,EAAG;AACd,UAAMO,SAASL,cAAc,MAAM;AACnCM,aAASC,gBAAgBC,UAAUC,OAAO,QAAQJ,MAAM;EAC1D,CAAC;AAGDlB,YAAU,MAAM;AACdmB,aAASC,gBAAgBC,UAAUE,OAAO,MAAM;EAClD,CAAC;AAED,QAAMC,eAAkC;IACtCf;IACAC;IACAG;IACAE;EACF;AAEA,SAAAU,kBAAQtB,aAAauB,UAAQ;IAACC,OAAOH;IAAY,IAAAI,WAAA;AAAA,aAAGpB,MAAMoB;IAAQ;EAAA,CAAA;AACpE;",
|
|
5
|
+
"names": ["createContext", "useContext", "createMemo", "createEffect", "onCleanup", "createMediaQuery", "useSyncConfig", "ThemeContext", "useTheme", "context", "Error", "ThemeProvider", "props", "mode", "setMode", "ready", "prefersDark", "resolvedTheme", "currentMode", "cycleMode", "current", "next", "isDark", "document", "documentElement", "classList", "toggle", "remove", "contextValue", "_$createComponent", "Provider", "value", "children"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.styles.d.ts","sourceRoot":"","sources":["../../src/styles/patterns.styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,iBAAiB,QAI7B,CAAC;AAGF,eAAO,MAAM,qBAAqB,QAIjC,CAAC;AAGF,eAAO,MAAM,SAAS,oCAAoC,CAAC;AAG3D,eAAO,MAAM,YAAY,QAOxB,CAAC;AAGF,eAAO,MAAM,SAAS,QAA4E,CAAC"}
|
|
1
|
+
{"version":3,"file":"patterns.styles.d.ts","sourceRoot":"","sources":["../../src/styles/patterns.styles.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,cAAc,QAS1B,CAAC;AAGF,eAAO,MAAM,iBAAiB,QAI7B,CAAC;AAGF,eAAO,MAAM,qBAAqB,QAIjC,CAAC;AAGF,eAAO,MAAM,SAAS,oCAAoC,CAAC;AAG3D,eAAO,MAAM,YAAY,QAOxB,CAAC;AAGF,eAAO,MAAM,SAAS,QAA4E,CAAC"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
import clsx from "clsx";
|
|
2
2
|
import { bgSurface, borderDefault, textDefault, textPlaceholder } from "./tokens.styles.js";
|
|
3
|
+
const iconButtonBase = clsx(
|
|
4
|
+
"inline-flex items-center justify-center",
|
|
5
|
+
"cursor-pointer",
|
|
6
|
+
"rounded",
|
|
7
|
+
"transition-colors",
|
|
8
|
+
"text-base-600 dark:text-base-300",
|
|
9
|
+
"hover:bg-base-200 dark:hover:bg-base-700",
|
|
10
|
+
"focus:outline-none",
|
|
11
|
+
"focus-visible:ring-2"
|
|
12
|
+
);
|
|
3
13
|
const insetFocusOutline = clsx(
|
|
4
14
|
"focus-within:[outline-style:solid]",
|
|
5
15
|
"focus-within:outline-1 focus-within:-outline-offset-1",
|
|
@@ -22,6 +32,7 @@ const fieldSurface = clsx(
|
|
|
22
32
|
const inputBase = clsx("min-w-0 flex-1", "bg-transparent", "outline-none", textPlaceholder);
|
|
23
33
|
export {
|
|
24
34
|
fieldSurface,
|
|
35
|
+
iconButtonBase,
|
|
25
36
|
inputBase,
|
|
26
37
|
insetBase,
|
|
27
38
|
insetFocusOutline,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/styles/patterns.styles.ts"],
|
|
4
|
-
"mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,WAAW,eAAe,aAAa,uBAAuB;AAGhE,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,YAAY;AAGlB,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,YAAY,KAAK,kBAAkB,kBAAkB,gBAAgB,eAAe;",
|
|
4
|
+
"mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,WAAW,eAAe,aAAa,uBAAuB;AAGhE,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,wBAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,YAAY;AAGlB,MAAM,eAAe;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAGO,MAAM,YAAY,KAAK,kBAAkB,kBAAkB,gBAAgB,eAAe;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -6,6 +6,7 @@ export declare const textMuted = "text-base-400 dark:text-base-500";
|
|
|
6
6
|
export declare const textPlaceholder = "placeholder:text-base-400 dark:placeholder:text-base-500";
|
|
7
7
|
export declare const disabledOpacity = "cursor-default opacity-50 pointer-events-none";
|
|
8
8
|
export type ComponentSize = "sm" | "lg" | "xl";
|
|
9
|
+
export type ComponentSizeCompact = "sm" | "lg";
|
|
9
10
|
export declare const paddingSm = "px-1.5 py-0.5";
|
|
10
11
|
export declare const paddingLg = "px-3 py-2";
|
|
11
12
|
export declare const paddingXl = "px-4 py-3";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.styles.d.ts","sourceRoot":"","sources":["../../src/styles/tokens.styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,yCAAyC,CAAC;AACpE,eAAO,MAAM,YAAY,yCAAyC,CAAC;AAGnE,eAAO,MAAM,SAAS,8BAA8B,CAAC;AAGrD,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAC9D,eAAO,MAAM,SAAS,qCAAqC,CAAC;AAC5D,eAAO,MAAM,eAAe,6DAA6D,CAAC;AAG1F,eAAO,MAAM,eAAe,kDAAkD,CAAC;AAG/E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,eAAO,MAAM,SAAS,kBAAkB,CAAC;AACzC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,cAAc,CAAC;AAGrC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3F,eAAO,MAAM,WAAW,EAAE,MAAM,CAC9B,aAAa,EACb;IACE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAkDF,CAAC"}
|
|
1
|
+
{"version":3,"file":"tokens.styles.d.ts","sourceRoot":"","sources":["../../src/styles/tokens.styles.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,yCAAyC,CAAC;AACpE,eAAO,MAAM,YAAY,yCAAyC,CAAC;AAGnE,eAAO,MAAM,SAAS,8BAA8B,CAAC;AAGrD,eAAO,MAAM,WAAW,qCAAqC,CAAC;AAC9D,eAAO,MAAM,SAAS,qCAAqC,CAAC;AAC5D,eAAO,MAAM,eAAe,6DAA6D,CAAC;AAG1F,eAAO,MAAM,eAAe,kDAAkD,CAAC;AAG/E,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,MAAM,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,eAAO,MAAM,SAAS,kBAAkB,CAAC;AACzC,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,SAAS,cAAc,CAAC;AAGrC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3F,eAAO,MAAM,WAAW,EAAE,MAAM,CAC9B,aAAa,EACb;IACE,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,CAkDF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/styles/tokens.styles.ts"],
|
|
4
|
-
"mappings": "AACO,MAAM,gBAAgB;AACtB,MAAM,eAAe;AAGrB,MAAM,YAAY;AAGlB,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,MAAM,kBAAkB;AAGxB,MAAM,kBAAkB;
|
|
4
|
+
"mappings": "AACO,MAAM,gBAAgB;AACtB,MAAM,eAAe;AAGrB,MAAM,YAAY;AAGlB,MAAM,cAAc;AACpB,MAAM,YAAY;AAClB,MAAM,kBAAkB;AAGxB,MAAM,kBAAkB;AAKxB,MAAM,YAAY;AAClB,MAAM,YAAY;AAClB,MAAM,YAAY;AAKlB,MAAM,cAUT;AAAA,EACF,SAAS;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,SAAS;AAAA,IACP,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,MAAM;AAAA,IACJ,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AACF;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/docs/data-components.md
CHANGED
|
@@ -51,8 +51,8 @@ import { DataSheet } from "@simplysm/solid";
|
|
|
51
51
|
<DataSheet
|
|
52
52
|
items={data()}
|
|
53
53
|
persistKey="data-table"
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
page={page()}
|
|
55
|
+
onPageChange={setPage}
|
|
56
56
|
itemsPerPage={20}
|
|
57
57
|
totalPageCount={totalPages()}
|
|
58
58
|
sorts={sorts()}
|
|
@@ -105,8 +105,8 @@ import { DataSheet } from "@simplysm/solid";
|
|
|
105
105
|
| `sorts` | `SortingDef[]` | - | Sort state (`{ key: string; desc: boolean }[]`) |
|
|
106
106
|
| `onSortsChange` | `(sorts: SortingDef[]) => void` | - | Sort change callback |
|
|
107
107
|
| `autoSort` | `boolean` | - | Client-side auto-sorting |
|
|
108
|
-
| `
|
|
109
|
-
| `
|
|
108
|
+
| `page` | `number` | - | Current page (1-based) |
|
|
109
|
+
| `onPageChange` | `(page: number) => void` | - | Page change callback |
|
|
110
110
|
| `totalPageCount` | `number` | - | Total page count |
|
|
111
111
|
| `itemsPerPage` | `number` | - | Items per page |
|
|
112
112
|
| `displayPageCount` | `number` | - | Number of page buttons to display |
|
|
@@ -177,10 +177,39 @@ import { List } from "@simplysm/solid";
|
|
|
177
177
|
- `ArrowLeft` -- Collapse if expanded, focus parent if collapsed
|
|
178
178
|
- `Home` / `End` -- Focus first/last item
|
|
179
179
|
|
|
180
|
+
**List Props:**
|
|
181
|
+
|
|
180
182
|
| Prop | Type | Default | Description |
|
|
181
183
|
|------|------|---------|-------------|
|
|
182
184
|
| `inset` | `boolean` | - | Transparent background style |
|
|
183
185
|
|
|
186
|
+
**List.Item Props:**
|
|
187
|
+
|
|
188
|
+
| Prop | Type | Default | Description |
|
|
189
|
+
|------|------|---------|-------------|
|
|
190
|
+
| `open` | `boolean` | - | Nested list open state (controlled mode) |
|
|
191
|
+
| `onOpenChange` | `(open: boolean) => void` | - | Open state change callback |
|
|
192
|
+
| `selected` | `boolean` | - | Selected state |
|
|
193
|
+
| `readonly` | `boolean` | - | Read-only (click disabled, normal color) |
|
|
194
|
+
| `disabled` | `boolean` | - | Disabled state (click disabled, dimmed) |
|
|
195
|
+
| `selectedIcon` | `Component<IconProps>` | - | Selected state icon (shown when no nested list) |
|
|
196
|
+
| `size` | `"sm" \| "lg" \| "xl"` | - | Size |
|
|
197
|
+
| `onClick` | `(e: MouseEvent) => void` | - | Click handler (called when no nested list) |
|
|
198
|
+
|
|
199
|
+
**Sub-components:**
|
|
200
|
+
- `List.Item` -- Individual list item
|
|
201
|
+
- `List.Item.Children` -- Nested child items container
|
|
202
|
+
|
|
203
|
+
**ListContext:**
|
|
204
|
+
|
|
205
|
+
`ListContext` and `useListContext` are exported for building custom List item sub-components. Provides the current nesting `level` (starts at 1 for the root List).
|
|
206
|
+
|
|
207
|
+
```typescript
|
|
208
|
+
import { useListContext } from "@simplysm/solid";
|
|
209
|
+
|
|
210
|
+
const { level } = useListContext();
|
|
211
|
+
```
|
|
212
|
+
|
|
184
213
|
---
|
|
185
214
|
|
|
186
215
|
## Pagination
|
|
@@ -200,7 +229,7 @@ import { Pagination } from "@simplysm/solid";
|
|
|
200
229
|
|
|
201
230
|
| Prop | Type | Default | Description |
|
|
202
231
|
|------|------|---------|-------------|
|
|
203
|
-
| `page` | `number` | **(required)** | Current page (
|
|
232
|
+
| `page` | `number` | **(required)** | Current page (1-based) |
|
|
204
233
|
| `onPageChange` | `(page: number) => void` | - | Page change callback |
|
|
205
234
|
| `totalPageCount` | `number` | **(required)** | Total page count |
|
|
206
235
|
| `displayPageCount` | `number` | `10` | Number of pages to display at once |
|
package/docs/disclosure.md
CHANGED
|
@@ -18,10 +18,12 @@ import { Tabs } from "@simplysm/solid";
|
|
|
18
18
|
|------|------|---------|-------------|
|
|
19
19
|
| `value` | `string` | - | Selected tab value |
|
|
20
20
|
| `onValueChange` | `(value: string) => void` | - | Tab change callback |
|
|
21
|
-
| `size` | `"sm" \| "lg"` | - | Size |
|
|
21
|
+
| `size` | `"sm" \| "lg" \| "xl"` | - | Size |
|
|
22
|
+
| `class` | `string` | - | Additional CSS class |
|
|
23
|
+
| `style` | `JSX.CSSProperties` | - | Inline style |
|
|
22
24
|
|
|
23
25
|
**Sub-components:**
|
|
24
|
-
- `Tabs.Tab` -- Individual tab (`value: string`, `disabled?: boolean`)
|
|
26
|
+
- `Tabs.Tab` -- Individual tab (`value: string`, `disabled?: boolean`, `class?: string`)
|
|
25
27
|
|
|
26
28
|
---
|
|
27
29
|
|
|
@@ -109,7 +111,7 @@ const [open, setOpen] = createSignal(false);
|
|
|
109
111
|
open={open()}
|
|
110
112
|
onOpenChange={setOpen}
|
|
111
113
|
closeOnBackdrop
|
|
112
|
-
|
|
114
|
+
width={600}
|
|
113
115
|
>
|
|
114
116
|
<div class="p-4">
|
|
115
117
|
Dialog content
|
|
@@ -156,7 +158,7 @@ function MyPage() {
|
|
|
156
158
|
const handleOpen = async () => {
|
|
157
159
|
const result = await dialog.show<string>(
|
|
158
160
|
() => <EditDialog />,
|
|
159
|
-
{ title: "Edit Name",
|
|
161
|
+
{ title: "Edit Name", width: 400, closeOnBackdrop: true },
|
|
160
162
|
);
|
|
161
163
|
if (result != null) {
|
|
162
164
|
// result is the value passed to dialogInstance.close()
|
|
@@ -183,15 +185,16 @@ function MyPage() {
|
|
|
183
185
|
| `movable` | `boolean` | `true` | Draggable |
|
|
184
186
|
| `float` | `boolean` | - | Floating mode (no backdrop) |
|
|
185
187
|
| `fill` | `boolean` | - | Fullscreen mode |
|
|
186
|
-
| `
|
|
187
|
-
| `
|
|
188
|
-
| `
|
|
189
|
-
| `
|
|
188
|
+
| `width` | `number` | - | Width (px) |
|
|
189
|
+
| `height` | `number` | - | Height (px) |
|
|
190
|
+
| `minWidth` | `number` | - | Minimum width (px) |
|
|
191
|
+
| `minHeight` | `number` | - | Minimum height (px) |
|
|
190
192
|
| `position` | `"bottom-right" \| "top-right"` | - | Fixed position |
|
|
191
193
|
| `headerAction` | `JSX.Element` | - | Header action area |
|
|
192
194
|
| `headerStyle` | `JSX.CSSProperties \| string` | - | Header style |
|
|
193
195
|
| `canDeactivate` | `() => boolean` | - | Pre-close confirmation function |
|
|
194
196
|
| `onCloseComplete` | `() => void` | - | Post-close animation callback |
|
|
197
|
+
| `class` | `string` | - | Additional CSS class applied to the dialog element |
|
|
195
198
|
|
|
196
199
|
**useDialog API:**
|
|
197
200
|
|
|
@@ -206,3 +209,20 @@ function MyPage() {
|
|
|
206
209
|
| Method | Signature | Description |
|
|
207
210
|
|--------|-----------|-------------|
|
|
208
211
|
| `close` | `(result?: T) => void` | Close dialog with optional return value |
|
|
212
|
+
|
|
213
|
+
**DialogProvider:**
|
|
214
|
+
|
|
215
|
+
`DialogProvider` is the provider component that enables `useDialog`. It is automatically included by `InitializeProvider`. Use `DialogProvider` directly only when building a custom provider tree.
|
|
216
|
+
|
|
217
|
+
```tsx
|
|
218
|
+
import { DialogProvider } from "@simplysm/solid";
|
|
219
|
+
|
|
220
|
+
<DialogProvider closeOnEscape closeOnBackdrop>
|
|
221
|
+
<App />
|
|
222
|
+
</DialogProvider>
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
| Prop | Type | Default | Description |
|
|
226
|
+
|------|------|---------|-------------|
|
|
227
|
+
| `closeOnEscape` | `boolean` | - | Default `closeOnEscape` for all dialogs opened via `useDialog` |
|
|
228
|
+
| `closeOnBackdrop` | `boolean` | - | Default `closeOnBackdrop` for all dialogs opened via `useDialog` |
|
package/docs/feedback.md
CHANGED
|
@@ -40,8 +40,11 @@ function MyComponent() {
|
|
|
40
40
|
|
|
41
41
|
**useNotification API:**
|
|
42
42
|
|
|
43
|
-
| Method | Signature | Description |
|
|
44
|
-
|
|
43
|
+
| Property/Method | Type/Signature | Description |
|
|
44
|
+
|-----------------|----------------|-------------|
|
|
45
|
+
| `items` | `Accessor<NotificationItem[]>` | Reactive notification list |
|
|
46
|
+
| `unreadCount` | `Accessor<number>` | Unread notification count |
|
|
47
|
+
| `latestUnread` | `Accessor<NotificationItem \| undefined>` | Most recent unread notification |
|
|
45
48
|
| `info` | `(title: string, message?: string, options?: NotificationOptions) => string` | Info notification |
|
|
46
49
|
| `success` | `(title: string, message?: string, options?: NotificationOptions) => string` | Success notification |
|
|
47
50
|
| `warning` | `(title: string, message?: string, options?: NotificationOptions) => string` | Warning notification |
|
|
@@ -92,6 +95,26 @@ function MyComponent() {
|
|
|
92
95
|
| `hide` | `() => void` | Hide busy overlay |
|
|
93
96
|
| `setProgress` | `(percent: number \| undefined) => void` | Set progress |
|
|
94
97
|
|
|
98
|
+
**BusyContainer Props:**
|
|
99
|
+
|
|
100
|
+
`BusyContainer` can also be used directly to wrap content with busy state control:
|
|
101
|
+
|
|
102
|
+
```tsx
|
|
103
|
+
import { BusyContainer } from "@simplysm/solid";
|
|
104
|
+
|
|
105
|
+
<BusyContainer busy={isLoading()} message="Loading...">
|
|
106
|
+
{/* wrapped content */}
|
|
107
|
+
</BusyContainer>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
| Prop | Type | Default | Description |
|
|
111
|
+
|------|------|---------|-------------|
|
|
112
|
+
| `busy` | `boolean` | - | Show busy overlay |
|
|
113
|
+
| `ready` | `boolean` | `true` | When `false`, shows busy and hides children; when `true`, shows children (controls rendering) |
|
|
114
|
+
| `variant` | `"spinner" \| "bar"` | - | Busy overlay variant |
|
|
115
|
+
| `message` | `string` | - | Message to display |
|
|
116
|
+
| `progressPercent` | `number` | - | Progress percentage (0-100) |
|
|
117
|
+
|
|
95
118
|
---
|
|
96
119
|
|
|
97
120
|
## Print / usePrint
|