@simplysm/solid 13.0.58 → 13.0.60

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.
Files changed (79) hide show
  1. package/README.md +1 -1
  2. package/dist/components/data/crud-sheet/CrudSheet.d.ts.map +1 -1
  3. package/dist/components/data/crud-sheet/CrudSheet.js +8 -11
  4. package/dist/components/data/crud-sheet/CrudSheet.js.map +2 -2
  5. package/dist/components/data/crud-sheet/types.d.ts +1 -1
  6. package/dist/components/data/crud-sheet/types.d.ts.map +1 -1
  7. package/dist/components/data/kanban/Kanban.d.ts.map +1 -1
  8. package/dist/components/data/kanban/Kanban.js +3 -4
  9. package/dist/components/data/kanban/Kanban.js.map +2 -2
  10. package/dist/components/data/kanban/KanbanContext.d.ts +2 -3
  11. package/dist/components/data/kanban/KanbanContext.d.ts.map +1 -1
  12. package/dist/components/data/kanban/KanbanContext.js.map +1 -1
  13. package/dist/components/data/list/ListItem.d.ts.map +1 -1
  14. package/dist/components/data/list/ListItem.js +3 -3
  15. package/dist/components/data/list/ListItem.js.map +2 -2
  16. package/dist/components/disclosure/Dialog.d.ts.map +1 -1
  17. package/dist/components/disclosure/Dialog.js +3 -4
  18. package/dist/components/disclosure/Dialog.js.map +2 -2
  19. package/dist/components/disclosure/Dropdown.d.ts.map +1 -1
  20. package/dist/components/disclosure/Dropdown.js +7 -15
  21. package/dist/components/disclosure/Dropdown.js.map +2 -2
  22. package/dist/components/form-control/color-picker/ColorPicker.d.ts +5 -3
  23. package/dist/components/form-control/color-picker/ColorPicker.d.ts.map +1 -1
  24. package/dist/components/form-control/color-picker/ColorPicker.js +11 -6
  25. package/dist/components/form-control/color-picker/ColorPicker.js.map +2 -2
  26. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  27. package/dist/components/form-control/field/NumberInput.js +2 -2
  28. package/dist/components/form-control/field/NumberInput.js.map +2 -2
  29. package/dist/components/form-control/field/TextInput.d.ts.map +1 -1
  30. package/dist/components/form-control/field/TextInput.js +3 -3
  31. package/dist/components/form-control/field/TextInput.js.map +2 -2
  32. package/dist/components/form-control/select/Select.d.ts.map +1 -1
  33. package/dist/components/form-control/select/Select.js +3 -4
  34. package/dist/components/form-control/select/Select.js.map +2 -2
  35. package/dist/components/form-control/select/SelectContext.d.ts +1 -2
  36. package/dist/components/form-control/select/SelectContext.d.ts.map +1 -1
  37. package/dist/components/form-control/select/SelectContext.js.map +1 -1
  38. package/dist/components/form-control/select/SelectItem.d.ts.map +1 -1
  39. package/dist/components/form-control/select/SelectItem.js +3 -3
  40. package/dist/components/form-control/select/SelectItem.js.map +2 -2
  41. package/dist/helpers/createAppStructure.d.ts +7 -4
  42. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  43. package/dist/helpers/createAppStructure.js +20 -2
  44. package/dist/helpers/createAppStructure.js.map +1 -1
  45. package/dist/hooks/createPointerDrag.d.ts +1 -1
  46. package/dist/hooks/createPointerDrag.d.ts.map +1 -1
  47. package/dist/hooks/createPointerDrag.js +6 -4
  48. package/dist/hooks/createPointerDrag.js.map +1 -1
  49. package/dist/hooks/createSlotSignal.d.ts +9 -0
  50. package/dist/hooks/createSlotSignal.d.ts.map +1 -0
  51. package/dist/hooks/createSlotSignal.js +10 -0
  52. package/dist/hooks/createSlotSignal.js.map +6 -0
  53. package/dist/index.d.ts +15 -17
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +15 -39
  56. package/dist/index.js.map +1 -1
  57. package/docs/data-components.md +18 -8
  58. package/docs/feedback.md +8 -2
  59. package/docs/helpers.md +24 -0
  60. package/docs/hooks.md +166 -83
  61. package/docs/styling.md +1 -0
  62. package/package.json +3 -3
  63. package/src/components/data/crud-sheet/CrudSheet.tsx +8 -11
  64. package/src/components/data/crud-sheet/types.ts +1 -1
  65. package/src/components/data/kanban/Kanban.tsx +3 -5
  66. package/src/components/data/kanban/KanbanContext.ts +2 -3
  67. package/src/components/data/list/ListItem.tsx +2 -5
  68. package/src/components/disclosure/Dialog.tsx +3 -6
  69. package/src/components/disclosure/Dropdown.tsx +7 -20
  70. package/src/components/form-control/color-picker/ColorPicker.tsx +19 -9
  71. package/src/components/form-control/field/NumberInput.tsx +2 -4
  72. package/src/components/form-control/field/TextInput.tsx +2 -5
  73. package/src/components/form-control/select/Select.tsx +3 -6
  74. package/src/components/form-control/select/SelectContext.ts +1 -2
  75. package/src/components/form-control/select/SelectItem.tsx +2 -5
  76. package/src/helpers/createAppStructure.ts +36 -6
  77. package/src/hooks/createPointerDrag.ts +8 -5
  78. package/src/hooks/createSlotSignal.ts +14 -0
  79. package/src/index.ts +15 -41
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/form-control/select/SelectItem.tsx"],
4
- "mappings": "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",
5
- "names": ["createContext", "createSignal", "onCleanup", "Show", "splitProps", "useContext", "twMerge", "IconCheck", "Icon", "useSelectContext", "ripple", "List", "Collapse", "listItemBaseClass", "listItemSelectedClass", "listItemDisabledClass", "listItemIndentGuideClass", "listItemContentClass", "getListItemSelectedIconClass", "SelectItemSlotsContext", "SelectItemChildren", "props", "ctx", "setChildren", "children", "undefined", "SelectItem", "local", "rest", "context", "childrenSlot", "_setChildrenSlot", "setChildrenSlot", "content", "hasChildren", "isSelected", "value", "useRipple", "disabled", "handleClick", "toggleValue", "multiple", "closeDropdown", "getClassName", "class", "getCheckIconClass", "_$createComponent", "Provider", "_el$", "_tmpl$", "_el$2", "firstChild", "_$use", "_$spread", "_$mergeProps", "tabIndex", "_$insert", "when", "_$memo", "icon", "_$className", "open", "_el$3", "_tmpl$2", "_el$4", "inset", "Children"]
4
+ "mappings": "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",
5
+ "names": ["createContext", "onCleanup", "Show", "splitProps", "useContext", "twMerge", "IconCheck", "Icon", "useSelectContext", "ripple", "createSlotSignal", "List", "Collapse", "listItemBaseClass", "listItemSelectedClass", "listItemDisabledClass", "listItemIndentGuideClass", "listItemContentClass", "getListItemSelectedIconClass", "SelectItemSlotsContext", "SelectItemChildren", "props", "ctx", "setChildren", "children", "undefined", "SelectItem", "local", "rest", "context", "childrenSlot", "setChildrenSlot", "hasChildren", "isSelected", "value", "useRipple", "disabled", "handleClick", "toggleValue", "multiple", "closeDropdown", "getClassName", "class", "getCheckIconClass", "_$createComponent", "Provider", "_el$", "_tmpl$", "_el$2", "firstChild", "_$use", "_$spread", "_$mergeProps", "tabIndex", "_$insert", "when", "_$memo", "icon", "_$className", "open", "_el$3", "_tmpl$2", "_el$4", "inset", "Children"]
6
6
  }
@@ -1,4 +1,4 @@
1
- import type { Component } from "solid-js";
1
+ import type { Component, ParentComponent } from "solid-js";
2
2
  import { type Accessor } from "solid-js";
3
3
  import type { IconProps } from "@tabler/icons-solidjs";
4
4
  export interface AppStructureGroupItem<TModule> {
@@ -93,12 +93,15 @@ type InferPerms<TItems extends any[]> = {
93
93
  children: infer C extends any[];
94
94
  } ? InferPerms<C> : InferLeafPerms<Item>;
95
95
  };
96
- export declare function createAppStructure<TModule, const TItems extends AppStructureItem<TModule>[]>(opts: {
96
+ export declare function createAppStructure<TModule, const TItems extends AppStructureItem<TModule>[]>(getOpts: () => {
97
97
  items: TItems;
98
98
  usableModules?: Accessor<TModule[] | undefined>;
99
99
  permRecord?: Accessor<Record<string, boolean> | undefined>;
100
- }): AppStructure<TModule> & {
101
- perms: InferPerms<TItems>;
100
+ }): {
101
+ AppStructureProvider: ParentComponent;
102
+ useAppStructure: () => AppStructure<TModule> & {
103
+ perms: InferPerms<TItems>;
104
+ };
102
105
  };
103
106
  export {};
104
107
  //# sourceMappingURL=createAppStructure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createAppStructure.d.ts","sourceRoot":"","sources":["..\\..\\src\\helpers\\createAppStructure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAppStructure.d.ts","sourceRoot":"","sources":["..\\..\\src\\helpers\\createAppStructure.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createMemo, createRoot } from "solid-js";
1
+ import { createContext, createMemo, createRoot, useContext } from "solid-js";
2
2
  function isGroupItem(item) {
3
3
  return "children" in item;
4
4
  }
@@ -201,7 +201,7 @@ function findItemChainByCodes(items, codes) {
201
201
  }
202
202
  return result;
203
203
  }
204
- function createAppStructure(opts) {
204
+ function buildAppStructure(opts) {
205
205
  const allFlatPerms = collectFlatPerms(opts.items);
206
206
  const memos = createRoot(() => {
207
207
  const usableRoutes = createMemo(() => {
@@ -261,6 +261,24 @@ function createAppStructure(opts) {
261
261
  }
262
262
  };
263
263
  }
264
+ function createAppStructure(getOpts) {
265
+ const Ctx = createContext();
266
+ const AppStructureProvider = (props) => {
267
+ const structure = buildAppStructure(getOpts());
268
+ return Ctx.Provider({
269
+ value: structure,
270
+ get children() {
271
+ return props.children;
272
+ }
273
+ });
274
+ };
275
+ const useAppStructure = () => {
276
+ const ctx = useContext(Ctx);
277
+ if (!ctx) throw new Error("AppStructureProvider\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4.");
278
+ return ctx;
279
+ };
280
+ return { AppStructureProvider, useAppStructure };
281
+ }
264
282
  export {
265
283
  createAppStructure
266
284
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/helpers/createAppStructure.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -4,7 +4,7 @@
4
4
  * @param target - Element to capture pointer on
5
5
  * @param pointerId - Pointer ID from the initiating PointerEvent
6
6
  * @param options.onMove - Called on each pointermove
7
- * @param options.onEnd - Called on pointerup (after listener cleanup)
7
+ * @param options.onEnd - Called on pointerup or pointercancel (after listener cleanup)
8
8
  */
9
9
  export declare function createPointerDrag(target: HTMLElement, pointerId: number, options: {
10
10
  onMove: (e: PointerEvent) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"createPointerDrag.d.ts","sourceRoot":"","sources":["..\\..\\src\\hooks\\createPointerDrag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IACP,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAClC,GACA,IAAI,CAYN"}
1
+ {"version":3,"file":"createPointerDrag.d.ts","sourceRoot":"","sources":["..\\..\\src\\hooks\\createPointerDrag.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IACP,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CAClC,GACA,IAAI,CAeN"}
@@ -1,13 +1,15 @@
1
1
  function createPointerDrag(target, pointerId, options) {
2
2
  target.setPointerCapture(pointerId);
3
- const onPointerMove = (e) => options.onMove(e);
4
- const onPointerUp = (e) => {
3
+ const cleanup = (e) => {
5
4
  target.removeEventListener("pointermove", onPointerMove);
6
- target.removeEventListener("pointerup", onPointerUp);
5
+ target.removeEventListener("pointerup", cleanup);
6
+ target.removeEventListener("pointercancel", cleanup);
7
7
  options.onEnd(e);
8
8
  };
9
+ const onPointerMove = (e) => options.onMove(e);
9
10
  target.addEventListener("pointermove", onPointerMove);
10
- target.addEventListener("pointerup", onPointerUp);
11
+ target.addEventListener("pointerup", cleanup);
12
+ target.addEventListener("pointercancel", cleanup);
11
13
  }
12
14
  export {
13
15
  createPointerDrag
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/hooks/createPointerDrag.ts"],
4
- "mappings": "AAQO,SAAS,kBACd,QACA,WACA,SAIM;AACN,SAAO,kBAAkB,SAAS;AAElC,QAAM,gBAAgB,CAAC,MAAoB,QAAQ,OAAO,CAAC;AAC3D,QAAM,cAAc,CAAC,MAAoB;AACvC,WAAO,oBAAoB,eAAe,aAAa;AACvD,WAAO,oBAAoB,aAAa,WAAW;AACnD,YAAQ,MAAM,CAAC;AAAA,EACjB;AAEA,SAAO,iBAAiB,eAAe,aAAa;AACpD,SAAO,iBAAiB,aAAa,WAAW;AAClD;",
4
+ "mappings": "AAQO,SAAS,kBACd,QACA,WACA,SAIM;AACN,SAAO,kBAAkB,SAAS;AAElC,QAAM,UAAU,CAAC,MAAoB;AACnC,WAAO,oBAAoB,eAAe,aAAa;AACvD,WAAO,oBAAoB,aAAa,OAAO;AAC/C,WAAO,oBAAoB,iBAAiB,OAAO;AACnD,YAAQ,MAAM,CAAC;AAAA,EACjB;AAEA,QAAM,gBAAgB,CAAC,MAAoB,QAAQ,OAAO,CAAC;AAE3D,SAAO,iBAAiB,eAAe,aAAa;AACpD,SAAO,iBAAiB,aAAa,OAAO;AAC5C,SAAO,iBAAiB,iBAAiB,OAAO;AAClD;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,9 @@
1
+ import { type Accessor, type JSX } from "solid-js";
2
+ export type SlotAccessor = (() => JSX.Element) | undefined;
3
+ /**
4
+ * 슬롯 등록용 signal 생성
5
+ *
6
+ * @returns [accessor, setter] — setter는 함수를 값으로 저장하기 위해 래핑 처리
7
+ */
8
+ export declare function createSlotSignal(): [Accessor<SlotAccessor>, (content: SlotAccessor) => void];
9
+ //# sourceMappingURL=createSlotSignal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createSlotSignal.d.ts","sourceRoot":"","sources":["..\\..\\src\\hooks\\createSlotSignal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAEjE,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC,CAI5F"}
@@ -0,0 +1,10 @@
1
+ import { createSignal } from "solid-js";
2
+ function createSlotSignal() {
3
+ const [slot, _setSlot] = createSignal();
4
+ const setSlot = (content) => _setSlot(() => content);
5
+ return [slot, setSlot];
6
+ }
7
+ export {
8
+ createSlotSignal
9
+ };
10
+ //# sourceMappingURL=createSlotSignal.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/hooks/createSlotSignal.ts"],
4
+ "mappings": "AAAA,SAAS,oBAA6C;AAS/C,SAAS,mBAA8E;AAC5F,QAAM,CAAC,MAAM,QAAQ,IAAI,aAA2B;AACpD,QAAM,UAAU,CAAC,YAA0B,SAAS,MAAM,OAAO;AACjE,SAAO,CAAC,MAAM,OAAO;AACvB;",
5
+ "names": []
6
+ }
package/dist/index.d.ts CHANGED
@@ -66,28 +66,26 @@ export * from "./components/feedback/print/PrintProvider";
66
66
  export * from "./components/feedback/print/Print";
67
67
  export * from "./components/feedback/print/PrintInstanceContext";
68
68
  export * from "./components/feedback/Progress";
69
- export { type AppConfig, ConfigContext, useConfig } from "./providers/ConfigContext";
70
- export { type StorageAdapter, type SyncStorageContextValue, SyncStorageContext, useSyncStorage, } from "./providers/SyncStorageContext";
71
- export { type LogAdapter, type LoggerContextValue } from "./providers/LoggerContext";
72
- export { useTheme } from "./providers/ThemeContext";
73
- export type { ThemeMode, ResolvedTheme } from "./providers/ThemeContext";
74
- export { type ServiceClientContextValue, ServiceClientContext, useServiceClient, } from "./providers/ServiceClientContext";
75
- export type { SharedDataDefinition, SharedDataAccessor, SharedDataValue, } from "./providers/shared-data/SharedDataContext";
76
- export { SharedDataContext, useSharedData } from "./providers/shared-data/SharedDataContext";
69
+ export * from "./providers/ConfigContext";
70
+ export * from "./providers/SyncStorageContext";
71
+ export * from "./providers/LoggerContext";
72
+ export * from "./providers/ThemeContext";
73
+ export * from "./providers/ServiceClientContext";
74
+ export * from "./providers/shared-data/SharedDataContext";
77
75
  export * from "./providers/shared-data/SharedDataChangeEvent";
78
76
  export * from "./providers/SystemProvider";
79
77
  export * from "./hooks/useLocalStorage";
80
78
  export * from "./hooks/useSyncConfig";
81
79
  export * from "./hooks/useLogger";
82
- export { createControllableSignal } from "./hooks/createControllableSignal";
83
- export { createControllableStore } from "./hooks/createControllableStore";
84
- export { createIMEHandler } from "./hooks/createIMEHandler";
85
- export { createMountTransition } from "./hooks/createMountTransition";
86
- export { useRouterLink } from "./hooks/useRouterLink";
80
+ export * from "./hooks/createControllableSignal";
81
+ export * from "./hooks/createControllableStore";
82
+ export * from "./hooks/createIMEHandler";
83
+ export * from "./hooks/createMountTransition";
84
+ export * from "./hooks/createSlotSignal";
85
+ export * from "./hooks/useRouterLink";
87
86
  export * from "./styles/tokens.styles";
88
87
  export * from "./styles/patterns.styles";
89
- export { ripple } from "./directives/ripple";
90
- export { mergeStyles } from "./helpers/mergeStyles";
91
- export { createAppStructure } from "./helpers/createAppStructure";
92
- export type { AppStructureItem, AppStructureGroupItem, AppStructureLeafItem, AppStructureSubPerm, AppRoute, AppFlatMenu, AppMenu, AppPerm, AppFlatPerm, AppStructure, } from "./helpers/createAppStructure";
88
+ export * from "./directives/ripple";
89
+ export * from "./helpers/mergeStyles";
90
+ export * from "./helpers/createAppStructure";
93
91
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["..\\src\\index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -66,50 +66,26 @@ export * from "./components/feedback/print/PrintProvider.js";
66
66
  export * from "./components/feedback/print/Print.js";
67
67
  export * from "./components/feedback/print/PrintInstanceContext.js";
68
68
  export * from "./components/feedback/Progress.js";
69
- import { ConfigContext, useConfig } from "./providers/ConfigContext.js";
70
- import {
71
- SyncStorageContext,
72
- useSyncStorage
73
- } from "./providers/SyncStorageContext.js";
74
- import {} from "./providers/LoggerContext.js";
75
- import { useTheme } from "./providers/ThemeContext.js";
76
- import {
77
- ServiceClientContext,
78
- useServiceClient
79
- } from "./providers/ServiceClientContext.js";
80
- import { SharedDataContext, useSharedData } from "./providers/shared-data/SharedDataContext.js";
69
+ export * from "./providers/ConfigContext.js";
70
+ export * from "./providers/SyncStorageContext.js";
71
+ export * from "./providers/LoggerContext.js";
72
+ export * from "./providers/ThemeContext.js";
73
+ export * from "./providers/ServiceClientContext.js";
74
+ export * from "./providers/shared-data/SharedDataContext.js";
81
75
  export * from "./providers/shared-data/SharedDataChangeEvent.js";
82
76
  export * from "./providers/SystemProvider.js";
83
77
  export * from "./hooks/useLocalStorage.js";
84
78
  export * from "./hooks/useSyncConfig.js";
85
79
  export * from "./hooks/useLogger.js";
86
- import { createControllableSignal } from "./hooks/createControllableSignal.js";
87
- import { createControllableStore } from "./hooks/createControllableStore.js";
88
- import { createIMEHandler } from "./hooks/createIMEHandler.js";
89
- import { createMountTransition } from "./hooks/createMountTransition.js";
90
- import { useRouterLink } from "./hooks/useRouterLink.js";
80
+ export * from "./hooks/createControllableSignal.js";
81
+ export * from "./hooks/createControllableStore.js";
82
+ export * from "./hooks/createIMEHandler.js";
83
+ export * from "./hooks/createMountTransition.js";
84
+ export * from "./hooks/createSlotSignal.js";
85
+ export * from "./hooks/useRouterLink.js";
91
86
  export * from "./styles/tokens.styles.js";
92
87
  export * from "./styles/patterns.styles.js";
93
- import { ripple } from "./directives/ripple.js";
94
- import { mergeStyles } from "./helpers/mergeStyles.js";
95
- import { createAppStructure } from "./helpers/createAppStructure.js";
96
- export {
97
- ConfigContext,
98
- ServiceClientContext,
99
- SharedDataContext,
100
- SyncStorageContext,
101
- createAppStructure,
102
- createControllableSignal,
103
- createControllableStore,
104
- createIMEHandler,
105
- createMountTransition,
106
- mergeStyles,
107
- ripple,
108
- useConfig,
109
- useRouterLink,
110
- useServiceClient,
111
- useSharedData,
112
- useSyncStorage,
113
- useTheme
114
- };
88
+ export * from "./directives/ripple.js";
89
+ export * from "./helpers/mergeStyles.js";
90
+ export * from "./helpers/createAppStructure.js";
115
91
  //# sourceMappingURL=index.js.map
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;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;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;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;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,SAAyB,eAAe,iBAAiB;AAGzD;AAAA,EAGE;AAAA,EACA;AAAA,OACK;AAGP,eAAyD;AAGzD,SAAS,gBAAgB;AAIzB;AAAA,EAEE;AAAA,EACA;AAAA,OACK;AAQP,SAAS,mBAAmB,qBAAqB;AACjD,cAAc;AAGd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,SAAS,gCAAgC;AACzC,SAAS,+BAA+B;AACxC,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAM9B,cAAc;AACd,cAAc;AAMd,SAAS,cAAc;AAMvB,SAAS,mBAAmB;AAC5B,SAAS,0BAA0B;",
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;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;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;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAOd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AAGd,cAAc;AACd,cAAc;AAGd,cAAc;AAMd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAMd,cAAc;AACd,cAAc;AAMd,cAAc;AAMd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
@@ -270,9 +270,9 @@ Hierarchical permission management table. Displays a tree of permission items wi
270
270
 
271
271
  ```tsx
272
272
  import { createSignal } from "solid-js";
273
- import { type PermissionItem, PermissionTable } from "@simplysm/solid";
273
+ import { type AppPerm, PermissionTable } from "@simplysm/solid";
274
274
 
275
- const items: PermissionItem[] = [
275
+ const items: AppPerm[] = [
276
276
  {
277
277
  title: "User Management",
278
278
  href: "/user",
@@ -312,26 +312,36 @@ The `value` record uses keys in `"{href}/{perm}"` format (e.g., `{ "/user/use":
312
312
 
313
313
  | Prop | Type | Default | Description |
314
314
  |------|------|---------|-------------|
315
- | `items` | `PermissionItem<TModule>[]` | - | Permission tree structure |
315
+ | `items` | `AppPerm<TModule>[]` | - | Permission tree structure (same type as `useAppStructure().usablePerms()`) |
316
316
  | `value` | `Record<string, boolean>` | - | Permission state record |
317
317
  | `onValueChange` | `(value: Record<string, boolean>) => void` | - | State change callback |
318
318
  | `modules` | `TModule[]` | - | Module filter (show only matching items) |
319
319
  | `disabled` | `boolean` | - | Disable all checkboxes |
320
320
 
321
- **PermissionItem type:**
321
+ **AppPerm type** (used as items):
322
322
 
323
323
  ```typescript
324
- interface PermissionItem<TModule = string> {
324
+ interface AppPerm<TModule = string> {
325
325
  title: string; // Display text
326
326
  href?: string; // Permission path (used as value key prefix)
327
327
  modules?: TModule[]; // Modules this item belongs to
328
328
  perms?: string[]; // Permission types (e.g., ["use", "edit", "approve"])
329
- children?: PermissionItem<TModule>[]; // Child items
329
+ children?: AppPerm<TModule>[]; // Child items
330
330
  }
331
331
  ```
332
332
 
333
+ `AppPerm` is the same type returned by `useAppStructure().usablePerms()`, so you can pass the output directly to `PermissionTable`.
334
+
333
335
  **Cascading behavior:** Checking a parent checks all children. Unchecking `perms[0]` (base permission) automatically unchecks all other permissions for that item.
334
336
 
337
+ **Utility functions (exported):**
338
+
339
+ | Function | Signature | Description |
340
+ |----------|-----------|-------------|
341
+ | `collectAllPerms` | `(items: AppPerm[]) => string[]` | Collect all unique perm type strings from a tree |
342
+ | `filterByModules` | `(items: AppPerm<TModule>[], modules: TModule[] \| undefined) => AppPerm<TModule>[]` | Filter items by active modules |
343
+ | `changePermCheck` | `(value: Record<string,boolean>, item: AppPerm, perm: string, checked: boolean) => Record<string,boolean>` | Apply cascading check logic to a value record |
344
+
335
345
  ---
336
346
 
337
347
  ## CrudSheet
@@ -423,7 +433,7 @@ interface UserFilter {
423
433
  getItemKey={(item) => item.id}
424
434
  persistKey="user-select"
425
435
  itemsPerPage={20}
426
- selectMode="multi"
436
+ selectMode="multiple"
427
437
  onSelect={(result) => {
428
438
  // result.items: selected User[]
429
439
  // result.keys: selected (string | number)[]
@@ -453,7 +463,7 @@ interface UserFilter {
453
463
  | `inlineEdit` | `InlineEditConfig<TItem>` | - | Inline editing configuration (mutually exclusive with `modalEdit`) |
454
464
  | `modalEdit` | `ModalEditConfig<TItem>` | - | Modal editing configuration (mutually exclusive with `inlineEdit`) |
455
465
  | `excel` | `ExcelConfig<TItem>` | - | Excel download/upload configuration |
456
- | `selectMode` | `"single" \| "multi"` | - | Select mode (disables editing, shows selection UI) |
466
+ | `selectMode` | `"single" \| "multiple"` | - | Select mode (disables editing, shows selection UI) |
457
467
  | `onSelect` | `(result: SelectResult<TItem>) => void` | - | Select confirmation callback |
458
468
  | `hideAutoTools` | `boolean` | - | Hide auto-generated toolbar buttons |
459
469
  | `class` | `string` | - | CSS class |
package/docs/feedback.md CHANGED
@@ -59,8 +59,14 @@ function MyComponent() {
59
59
  | `clear` | `() => void` | Clear all |
60
60
 
61
61
  **Components:**
62
- - `NotificationBanner` -- Top-of-screen notification banner (add inside `NotificationProvider`)
63
- - `NotificationBell` -- Notification bell icon (shows unread count, add to your layout as needed)
62
+ - `NotificationBanner` -- Top-of-screen notification banner. Automatically included by `SystemProvider`.
63
+ - `NotificationBell` -- Notification bell icon (shows unread count badge; click to view history). Add to your layout as needed. By default includes its own `NotificationBanner` instance via `showBanner` prop — set `showBanner={false}` when using with `SystemProvider` to avoid a duplicate banner.
64
+
65
+ **NotificationBell Props:**
66
+
67
+ | Prop | Type | Default | Description |
68
+ |------|------|---------|-------------|
69
+ | `showBanner` | `boolean` | `true` | Render a `NotificationBanner` alongside the bell. Set to `false` when `SystemProvider` already provides one. |
64
70
 
65
71
  ---
66
72
 
package/docs/helpers.md CHANGED
@@ -28,3 +28,27 @@ void ripple;
28
28
  - Creates internal ripple container, operates without affecting parent element
29
29
  - Automatically disabled when `prefers-reduced-motion: reduce` is set
30
30
  - Single ripple mode: removes previous ripple on new click
31
+
32
+ ---
33
+
34
+ ## createAppStructure
35
+
36
+ See [createAppStructure](hooks.md#createappstructure) in the Hooks documentation for full API details.
37
+
38
+ Exports the following types:
39
+
40
+ ```typescript
41
+ import {
42
+ createAppStructure,
43
+ type AppStructure,
44
+ type AppStructureItem,
45
+ type AppStructureGroupItem,
46
+ type AppStructureLeafItem,
47
+ type AppStructureSubPerm,
48
+ type AppRoute,
49
+ type AppMenu,
50
+ type AppFlatMenu,
51
+ type AppPerm,
52
+ type AppFlatPerm,
53
+ } from "@simplysm/solid";
54
+ ```