@simplysm/solid 13.0.51 → 13.0.55

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 (97) hide show
  1. package/README.md +3 -1
  2. package/dist/components/data/sheet/DataSheet.css +28 -10
  3. package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
  4. package/dist/components/data/sheet/DataSheet.js +13 -4
  5. package/dist/components/data/sheet/DataSheet.js.map +2 -2
  6. package/dist/components/data/sheet/sheetUtils.d.ts +2 -2
  7. package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -1
  8. package/dist/components/data/sheet/sheetUtils.js +16 -13
  9. package/dist/components/data/sheet/sheetUtils.js.map +1 -1
  10. package/dist/components/data/sheet/types.d.ts +6 -0
  11. package/dist/components/data/sheet/types.d.ts.map +1 -1
  12. package/dist/components/display/Icon.d.ts.map +1 -1
  13. package/dist/components/display/Icon.js +7 -2
  14. package/dist/components/display/Icon.js.map +2 -2
  15. package/dist/components/display/Link.d.ts +4 -0
  16. package/dist/components/display/Link.d.ts.map +1 -1
  17. package/dist/components/display/Link.js +13 -3
  18. package/dist/components/display/Link.js.map +2 -2
  19. package/dist/components/form-control/Invalid.d.ts.map +1 -1
  20. package/dist/components/form-control/Invalid.js +4 -3
  21. package/dist/components/form-control/Invalid.js.map +2 -2
  22. package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +1 -1
  23. package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
  24. package/dist/components/form-control/combobox/Combobox.js +2 -2
  25. package/dist/components/form-control/combobox/Combobox.js.map +1 -1
  26. package/dist/components/form-control/editor/RichTextEditor.js +1 -1
  27. package/dist/components/form-control/editor/RichTextEditor.js.map +1 -1
  28. package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
  29. package/dist/components/form-control/field/DatePicker.js +3 -2
  30. package/dist/components/form-control/field/DatePicker.js.map +2 -2
  31. package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
  32. package/dist/components/form-control/field/DateTimePicker.js +3 -2
  33. package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
  34. package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
  35. package/dist/components/form-control/field/NumberInput.js +1 -1
  36. package/dist/components/form-control/field/NumberInput.js.map +1 -1
  37. package/dist/components/form-control/field/TextInput.js +2 -2
  38. package/dist/components/form-control/field/TextInput.js.map +1 -1
  39. package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
  40. package/dist/components/form-control/field/TimePicker.js +3 -2
  41. package/dist/components/form-control/field/TimePicker.js.map +2 -2
  42. package/dist/components/form-control/state-preset/StatePreset.d.ts.map +1 -1
  43. package/dist/components/form-control/state-preset/StatePreset.js +1 -1
  44. package/dist/components/form-control/state-preset/StatePreset.js.map +1 -1
  45. package/dist/components/layout/topbar/Topbar.d.ts +2 -0
  46. package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
  47. package/dist/components/layout/topbar/Topbar.js +2 -0
  48. package/dist/components/layout/topbar/Topbar.js.map +2 -2
  49. package/dist/components/layout/topbar/TopbarActions.d.ts +3 -0
  50. package/dist/components/layout/topbar/TopbarActions.d.ts.map +1 -0
  51. package/dist/components/layout/topbar/TopbarActions.js +17 -0
  52. package/dist/components/layout/topbar/TopbarActions.js.map +6 -0
  53. package/dist/components/layout/topbar/TopbarContainer.d.ts +1 -1
  54. package/dist/components/layout/topbar/TopbarContainer.d.ts.map +1 -1
  55. package/dist/components/layout/topbar/TopbarContainer.js +21 -12
  56. package/dist/components/layout/topbar/TopbarContainer.js.map +2 -2
  57. package/dist/components/layout/topbar/TopbarContext.d.ts +9 -0
  58. package/dist/components/layout/topbar/TopbarContext.d.ts.map +1 -0
  59. package/dist/components/layout/topbar/TopbarContext.js +29 -0
  60. package/dist/components/layout/topbar/TopbarContext.js.map +6 -0
  61. package/dist/helpers/createAppStructure.d.ts +2 -6
  62. package/dist/helpers/createAppStructure.d.ts.map +1 -1
  63. package/dist/helpers/createAppStructure.js +26 -58
  64. package/dist/helpers/createAppStructure.js.map +1 -1
  65. package/dist/index.d.ts +1 -0
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/styles/patterns.styles.js +2 -2
  70. package/dist/styles/patterns.styles.js.map +1 -1
  71. package/dist/styles/tokens.styles.d.ts +2 -2
  72. package/dist/styles/tokens.styles.js +2 -2
  73. package/docs/layout.md +70 -1
  74. package/package.json +3 -3
  75. package/src/components/data/sheet/DataSheet.css +28 -10
  76. package/src/components/data/sheet/DataSheet.tsx +27 -4
  77. package/src/components/data/sheet/sheetUtils.ts +16 -11
  78. package/src/components/data/sheet/types.ts +6 -0
  79. package/src/components/display/Icon.tsx +10 -1
  80. package/src/components/display/Link.tsx +19 -9
  81. package/src/components/form-control/Invalid.tsx +13 -6
  82. package/src/components/form-control/combobox/Combobox.tsx +2 -1
  83. package/src/components/form-control/editor/RichTextEditor.tsx +1 -1
  84. package/src/components/form-control/field/DatePicker.tsx +4 -1
  85. package/src/components/form-control/field/DateTimePicker.tsx +3 -0
  86. package/src/components/form-control/field/NumberInput.tsx +2 -0
  87. package/src/components/form-control/field/TextInput.tsx +2 -2
  88. package/src/components/form-control/field/TimePicker.tsx +3 -0
  89. package/src/components/form-control/state-preset/StatePreset.tsx +1 -0
  90. package/src/components/layout/topbar/Topbar.tsx +3 -0
  91. package/src/components/layout/topbar/TopbarActions.tsx +8 -0
  92. package/src/components/layout/topbar/TopbarContainer.tsx +9 -5
  93. package/src/components/layout/topbar/TopbarContext.ts +36 -0
  94. package/src/helpers/createAppStructure.ts +32 -74
  95. package/src/index.ts +1 -0
  96. package/src/styles/patterns.styles.ts +2 -2
  97. package/src/styles/tokens.styles.ts +2 -2
@@ -1,4 +1,5 @@
1
1
  import { type JSX, type ParentComponent } from "solid-js";
2
+ import { TopbarActions } from "./TopbarActions";
2
3
  import { TopbarContainer } from "./TopbarContainer";
3
4
  import { TopbarMenu } from "./TopbarMenu";
4
5
  import { TopbarUser } from "./TopbarUser";
@@ -27,6 +28,7 @@ export interface TopbarProps extends JSX.HTMLAttributes<HTMLElement> {
27
28
  * ```
28
29
  */
29
30
  interface TopbarComponent extends ParentComponent<TopbarProps> {
31
+ Actions: typeof TopbarActions;
30
32
  Container: typeof TopbarContainer;
31
33
  Menu: typeof TopbarMenu;
32
34
  User: typeof TopbarUser;
@@ -1 +1 @@
1
- {"version":3,"file":"Topbar.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\layout\\topbar\\Topbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAoB,MAAM,UAAU,CAAC;AAO5E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwBpE,MAAM,WAAW,WAAY,SAAQ,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC;IAClE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,UAAU,eAAgB,SAAQ,eAAe,CAAC,WAAW,CAAC;IAC5D,SAAS,EAAE,OAAO,eAAe,CAAC;IAClC,IAAI,EAAE,OAAO,UAAU,CAAC;IACxB,IAAI,EAAE,OAAO,UAAU,CAAC;CACzB;AA0BD,eAAO,MAAM,MAAM,EAAiB,eAAe,CAAC"}
1
+ {"version":3,"file":"Topbar.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\layout\\topbar\\Topbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAoB,MAAM,UAAU,CAAC;AAO5E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAwBpE,MAAM,WAAW,WAAY,SAAQ,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC;IAClE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,UAAU,eAAgB,SAAQ,eAAe,CAAC,WAAW,CAAC;IAC5D,OAAO,EAAE,OAAO,aAAa,CAAC;IAC9B,SAAS,EAAE,OAAO,eAAe,CAAC;IAClC,IAAI,EAAE,OAAO,UAAU,CAAC;IACxB,IAAI,EAAE,OAAO,UAAU,CAAC;CACzB;AA0BD,eAAO,MAAM,MAAM,EAAiB,eAAe,CAAC"}
@@ -11,6 +11,7 @@ import { Icon } from "../../display/Icon.js";
11
11
  import { twMerge } from "tailwind-merge";
12
12
  import { Button } from "../../form-control/Button.js";
13
13
  import { useSidebarContextOptional } from "../sidebar/SidebarContext.js";
14
+ import { TopbarActions } from "./TopbarActions.js";
14
15
  import { TopbarContainer } from "./TopbarContainer.js";
15
16
  import { TopbarMenu } from "./TopbarMenu.js";
16
17
  import { TopbarUser } from "./TopbarUser.js";
@@ -72,6 +73,7 @@ const TopbarBase = (props) => {
72
73
  })();
73
74
  };
74
75
  const Topbar = TopbarBase;
76
+ Topbar.Actions = TopbarActions;
75
77
  Topbar.Container = TopbarContainer;
76
78
  Topbar.Menu = TopbarMenu;
77
79
  Topbar.User = TopbarUser;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/topbar/Topbar.tsx"],
4
- "mappings": ";;;;;;AAAA,SAAyCA,YAAYC,YAAY;AACjE,SAASC,iBAAiB;AAC1B,OAAOC,UAAU;AACjB,SAASC,YAAY;AACrB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,iCAAiC;AAC1C,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAM3B,MAAMC,YAAYR;;EAEhB;EACA;EACA;EACA;;EAEA;EACA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;EACA;;EAEA;AACF;AA8BA,MAAMS,aAA4CC,WAAU;AAC1D,QAAM,CAACC,OAAOC,IAAI,IAAIf,WAAWa,OAAO,CAAC,YAAY,OAAO,CAAC;AAG7D,QAAMG,iBAAiBT,0BAA0B;AAEjD,QAAMU,eAAeA,MAAM;AACzBD,qDAAgBE,UAAWC,OAAM,CAACA;EACpC;AAEA,QAAMC,eAAeA,MAAMf,QAAQM,WAAWG,MAAMO,KAAK;AAEzD,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,aAAAF,MAAAG,aACcV,MAAI;MAAA,eAAA;MAAA,KAAA,OAAA,IAAA;AAAA,eAAqBK,aAAa;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAM,aAAAJ,MAAAK,kBAChD1B,MAAI;MAAC2B,MAAMZ;MAAc,IAAAa,WAAA;AAAA,eAAAF,kBACvBrB,QAAM;UAACwB,SAAO;UAASC,SAASd;UAAY,SAAA;UAAA,cAAA;UAAA,IAAAY,WAAA;AAAA,mBAAAF,kBAC1CvB,MAAI;cAAC4B,MAAM9B;cAAW+B,MAAI;YAAA,CAAA;UAAA;QAAA,CAAA;MAAA;IAAA,CAAA,GAAA,IAAA;AAAAP,aAAAJ,MAAA,MAG9BR,MAAMe,UAAQ,IAAA;AAAA,WAAAP;EAAA,GAAA;AAGrB;AAEO,MAAMY,SAAStB;AACtBsB,OAAOC,YAAY3B;AACnB0B,OAAOE,OAAO3B;AACdyB,OAAOG,OAAO3B;",
5
- "names": ["splitProps", "Show", "IconMenu2", "clsx", "Icon", "twMerge", "Button", "useSidebarContextOptional", "TopbarContainer", "TopbarMenu", "TopbarUser", "baseClass", "TopbarBase", "props", "local", "rest", "sidebarContext", "handleToggle", "setToggle", "v", "getClassName", "class", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert", "_$createComponent", "when", "children", "variant", "onClick", "icon", "size", "Topbar", "Container", "Menu", "User"]
4
+ "mappings": ";;;;;;AAAA,SAAyCA,YAAYC,YAAY;AACjE,SAASC,iBAAiB;AAC1B,OAAOC,UAAU;AACjB,SAASC,YAAY;AACrB,SAASC,eAAe;AACxB,SAASC,cAAc;AACvB,SAASC,iCAAiC;AAC1C,SAASC,qBAAqB;AAC9B,SAASC,uBAAuB;AAChC,SAASC,kBAAkB;AAC3B,SAASC,kBAAkB;AAM3B,MAAMC,YAAYT;;EAEhB;EACA;EACA;EACA;;EAEA;EACA;;EAEA;EACA;EACA;EACA;EACA;;EAEA;EACA;;EAEA;AACF;AA+BA,MAAMU,aAA4CC,WAAU;AAC1D,QAAM,CAACC,OAAOC,IAAI,IAAIhB,WAAWc,OAAO,CAAC,YAAY,OAAO,CAAC;AAG7D,QAAMG,iBAAiBV,0BAA0B;AAEjD,QAAMW,eAAeA,MAAM;AACzBD,qDAAgBE,UAAWC,OAAM,CAACA;EACpC;AAEA,QAAMC,eAAeA,MAAMhB,QAAQO,WAAWG,MAAMO,KAAK;AAEzD,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,aAAAF,MAAAG,aACcV,MAAI;MAAA,eAAA;MAAA,KAAA,OAAA,IAAA;AAAA,eAAqBK,aAAa;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAM,aAAAJ,MAAAK,kBAChD3B,MAAI;MAAC4B,MAAMZ;MAAc,IAAAa,WAAA;AAAA,eAAAF,kBACvBtB,QAAM;UAACyB,SAAO;UAASC,SAASd;UAAY,SAAA;UAAA,cAAA;UAAA,IAAAY,WAAA;AAAA,mBAAAF,kBAC1CxB,MAAI;cAAC6B,MAAM/B;cAAWgC,MAAI;YAAA,CAAA;UAAA;QAAA,CAAA;MAAA;IAAA,CAAA,GAAA,IAAA;AAAAP,aAAAJ,MAAA,MAG9BR,MAAMe,UAAQ,IAAA;AAAA,WAAAP;EAAA,GAAA;AAGrB;AAEO,MAAMY,SAAStB;AACtBsB,OAAOC,UAAU5B;AACjB2B,OAAOE,YAAY5B;AACnB0B,OAAOG,OAAO5B;AACdyB,OAAOI,OAAO5B;",
5
+ "names": ["splitProps", "Show", "IconMenu2", "clsx", "Icon", "twMerge", "Button", "useSidebarContextOptional", "TopbarActions", "TopbarContainer", "TopbarMenu", "TopbarUser", "baseClass", "TopbarBase", "props", "local", "rest", "sidebarContext", "handleToggle", "setToggle", "v", "getClassName", "class", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert", "_$createComponent", "when", "children", "variant", "onClick", "icon", "size", "Topbar", "Actions", "Container", "Menu", "User"]
6
6
  }
@@ -0,0 +1,3 @@
1
+ import { type Component } from "solid-js";
2
+ export declare const TopbarActions: Component;
3
+ //# sourceMappingURL=TopbarActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopbarActions.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\layout\\topbar\\TopbarActions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,UAAU,CAAC;AAGtD,eAAO,MAAM,aAAa,EAAE,SAI3B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { template as _$template } from "solid-js/web";
2
+ import { insert as _$insert } from "solid-js/web";
3
+ var _tmpl$ = /* @__PURE__ */ _$template(`<span data-topbar-actions>`);
4
+ import { useContext } from "solid-js";
5
+ import { TopbarContext } from "./TopbarContext.js";
6
+ const TopbarActions = () => {
7
+ const context = useContext(TopbarContext);
8
+ return (() => {
9
+ var _el$ = _tmpl$();
10
+ _$insert(_el$, () => context == null ? void 0 : context.actions());
11
+ return _el$;
12
+ })();
13
+ };
14
+ export {
15
+ TopbarActions
16
+ };
17
+ //# sourceMappingURL=TopbarActions.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/layout/topbar/TopbarActions.tsx"],
4
+ "mappings": ";;;AAAA,SAAyBA,kBAAkB;AAC3C,SAASC,qBAAqB;AAEvB,MAAMC,gBAA2BA,MAAM;AAC5C,QAAMC,UAAUH,WAAWC,aAAa;AAExC,UAAA,MAAA;AAAA,QAAAG,OAAAC,OAAA;AAAAC,aAAAF,MAAA,MAAkCD,mCAASI,SAAS;AAAA,WAAAH;EAAA,GAAA;AACtD;",
5
+ "names": ["useContext", "TopbarContext", "TopbarActions", "context", "_el$", "_tmpl$", "_$insert", "actions"]
6
+ }
@@ -7,7 +7,7 @@ export interface TopbarContainerProps extends JSX.HTMLAttributes<HTMLDivElement>
7
7
  *
8
8
  * @remarks
9
9
  * - `flex flex-col h-full` 구조로 Topbar와 콘텐츠를 수직 배치
10
- * - Context 없이 순수 레이아웃 역할만 수행
10
+ * - TopbarContext.Provider로 actions 상태 공유
11
11
  * - 부모 요소에 높이가 지정되어야 함
12
12
  *
13
13
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"TopbarContainer.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\layout\\topbar\\TopbarContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAAc,MAAM,UAAU,CAAC;AAMtE,MAAM,WAAW,oBAAqB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,oBAAoB,CAUjE,CAAC"}
1
+ {"version":3,"file":"TopbarContainer.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\layout\\topbar\\TopbarContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,eAAe,EAA4B,MAAM,UAAU,CAAC;AAOpF,MAAM,WAAW,oBAAqB,SAAQ,GAAG,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,oBAAoB,CAajE,CAAC"}
@@ -1,26 +1,35 @@
1
1
  import { template as _$template } from "solid-js/web";
2
+ import { createComponent as _$createComponent } from "solid-js/web";
2
3
  import { insert as _$insert } from "solid-js/web";
3
4
  import { spread as _$spread } from "solid-js/web";
4
5
  import { mergeProps as _$mergeProps } from "solid-js/web";
5
6
  var _tmpl$ = /* @__PURE__ */ _$template(`<div>`);
6
- import { splitProps } from "solid-js";
7
+ import { splitProps, createSignal } from "solid-js";
7
8
  import clsx from "clsx";
8
9
  import { twMerge } from "tailwind-merge";
10
+ import { TopbarContext } from "./TopbarContext.js";
9
11
  const containerClass = clsx("flex h-full flex-col");
10
12
  const TopbarContainer = (props) => {
11
13
  const [local, rest] = splitProps(props, ["children", "class"]);
14
+ const [actions, setActions] = createSignal(void 0);
12
15
  const getClassName = () => twMerge(containerClass, local.class);
13
- return (() => {
14
- var _el$ = _tmpl$();
15
- _$spread(_el$, _$mergeProps(rest, {
16
- "data-topbar-container": "",
17
- get ["class"]() {
18
- return getClassName();
19
- }
20
- }), false, true);
21
- _$insert(_el$, () => local.children);
22
- return _el$;
23
- })();
16
+ return _$createComponent(TopbarContext.Provider, {
17
+ value: {
18
+ actions,
19
+ setActions
20
+ },
21
+ get children() {
22
+ var _el$ = _tmpl$();
23
+ _$spread(_el$, _$mergeProps(rest, {
24
+ "data-topbar-container": "",
25
+ get ["class"]() {
26
+ return getClassName();
27
+ }
28
+ }), false, true);
29
+ _$insert(_el$, () => local.children);
30
+ return _el$;
31
+ }
32
+ });
24
33
  };
25
34
  export {
26
35
  TopbarContainer
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/layout/topbar/TopbarContainer.tsx"],
4
- "mappings": ";;;;;AAAA,SAAyCA,kBAAkB;AAC3D,OAAOC,UAAU;AACjB,SAASC,eAAe;AAExB,MAAMC,iBAAiBF,KAAK,sBAAsB;AAyB3C,MAAMG,kBAA0DC,WAAU;AAC/E,QAAM,CAACC,OAAOC,IAAI,IAAIP,WAAWK,OAAO,CAAC,YAAY,OAAO,CAAC;AAE7D,QAAMG,eAAeA,MAAMN,QAAQC,gBAAgBG,MAAMG,KAAK;AAE9D,UAAA,MAAA;AAAA,QAAAC,OAAAC,OAAA;AAAAC,aAAAF,MAAAG,aACWN,MAAI;MAAA,yBAAA;MAAA,KAAA,OAAA,IAAA;AAAA,eAA+BC,aAAa;MAAC;IAAA,CAAA,GAAA,OAAA,IAAA;AAAAM,aAAAJ,MAAA,MACvDJ,MAAMS,QAAQ;AAAA,WAAAL;EAAA,GAAA;AAGrB;",
5
- "names": ["splitProps", "clsx", "twMerge", "containerClass", "TopbarContainer", "props", "local", "rest", "getClassName", "class", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert", "children"]
4
+ "mappings": ";;;;;;AAAA,SAAyCA,YAAYC,oBAAoB;AACzE,OAAOC,UAAU;AACjB,SAASC,eAAe;AACxB,SAASC,qBAAqB;AAE9B,MAAMC,iBAAiBH,KAAK,sBAAsB;AAyB3C,MAAMI,kBAA0DC,WAAU;AAC/E,QAAM,CAACC,OAAOC,IAAI,IAAIT,WAAWO,OAAO,CAAC,YAAY,OAAO,CAAC;AAC7D,QAAM,CAACG,SAASC,UAAU,IAAIV,aAAsCW,MAAS;AAE7E,QAAMC,eAAeA,MAAMV,QAAQE,gBAAgBG,MAAMM,KAAK;AAE9D,SAAAC,kBACGX,cAAcY,UAAQ;IAACC,OAAO;MAAEP;MAASC;IAAW;IAAC,IAAAO,WAAA;AAAA,UAAAC,OAAAC,OAAA;AAAAC,eAAAF,MAAAG,aAC3Cb,MAAI;QAAA,yBAAA;QAAA,KAAA,OAAA,IAAA;AAAA,iBAA+BI,aAAa;QAAC;MAAA,CAAA,GAAA,OAAA,IAAA;AAAAU,eAAAJ,MAAA,MACvDX,MAAMU,QAAQ;AAAA,aAAAC;IAAA;EAAA,CAAA;AAIvB;",
5
+ "names": ["splitProps", "createSignal", "clsx", "twMerge", "TopbarContext", "containerClass", "TopbarContainer", "props", "local", "rest", "actions", "setActions", "undefined", "getClassName", "class", "_$createComponent", "Provider", "value", "children", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert"]
6
6
  }
@@ -0,0 +1,9 @@
1
+ import { type Accessor, type JSX, type Setter } from "solid-js";
2
+ export interface TopbarContextValue {
3
+ actions: Accessor<JSX.Element | undefined>;
4
+ setActions: Setter<JSX.Element | undefined>;
5
+ }
6
+ export declare const TopbarContext: import("solid-js").Context<TopbarContextValue | undefined>;
7
+ export declare function useTopbarActionsAccessor(): Accessor<JSX.Element | undefined>;
8
+ export declare function createTopbarActions(accessor: () => JSX.Element): void;
9
+ //# sourceMappingURL=TopbarContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TopbarContext.d.ts","sourceRoot":"","sources":["..\\..\\..\\..\\src\\components\\layout\\topbar\\TopbarContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,GAAG,EACR,KAAK,MAAM,EACZ,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IAC3C,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CAC7C;AAED,eAAO,MAAM,aAAa,4DAAsC,CAAC;AAEjE,wBAAgB,wBAAwB,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC,CAM5E;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,GAAG,IAAI,CAWrE"}
@@ -0,0 +1,29 @@
1
+ import {
2
+ createContext,
3
+ useContext,
4
+ onCleanup
5
+ } from "solid-js";
6
+ const TopbarContext = createContext();
7
+ function useTopbarActionsAccessor() {
8
+ const context = useContext(TopbarContext);
9
+ if (!context) {
10
+ throw new Error("useTopbarActionsAccessor\uB294 Topbar.Container \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4");
11
+ }
12
+ return context.actions;
13
+ }
14
+ function createTopbarActions(accessor) {
15
+ const context = useContext(TopbarContext);
16
+ if (!context) {
17
+ throw new Error("createTopbarActions\uB294 Topbar.Container \uB0B4\uBD80\uC5D0\uC11C\uB9CC \uC0AC\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4");
18
+ }
19
+ context.setActions(() => accessor());
20
+ onCleanup(() => {
21
+ context.setActions(void 0);
22
+ });
23
+ }
24
+ export {
25
+ TopbarContext,
26
+ createTopbarActions,
27
+ useTopbarActionsAccessor
28
+ };
29
+ //# sourceMappingURL=TopbarContext.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/layout/topbar/TopbarContext.ts"],
4
+ "mappings": "AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAIK;AAOA,MAAM,gBAAgB,cAAkC;AAExD,SAAS,2BAA8D;AAC5E,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,mIAA6D;AAAA,EAC/E;AACA,SAAO,QAAQ;AACjB;AAEO,SAAS,oBAAoB,UAAmC;AACrE,QAAM,UAAU,WAAW,aAAa;AACxC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,8HAAwD;AAAA,EAC1E;AAEA,UAAQ,WAAW,MAAM,SAAS,CAAC;AAEnC,YAAU,MAAM;AACd,YAAQ,WAAW,MAAS;AAAA,EAC9B,CAAC;AACH;",
5
+ "names": []
6
+ }
@@ -47,12 +47,9 @@ export interface AppFlatPerm<TModule = string> {
47
47
  modulesChain: TModule[][];
48
48
  requiredModulesChain: TModule[][];
49
49
  }
50
- export interface AppRoute<TModule = string> {
50
+ export interface AppRoute {
51
51
  path: string;
52
52
  component: Component;
53
- permCode?: string;
54
- modulesChain: TModule[][];
55
- requiredModulesChain: TModule[][];
56
53
  }
57
54
  export interface AppFlatMenu {
58
55
  titleChain: string[];
@@ -60,12 +57,11 @@ export interface AppFlatMenu {
60
57
  }
61
58
  export interface AppStructure<TModule> {
62
59
  items: AppStructureItem<TModule>[];
63
- allRoutes: AppRoute<TModule>[];
60
+ usableRoutes: Accessor<AppRoute[]>;
64
61
  usableMenus: Accessor<AppMenu[]>;
65
62
  usableFlatMenus: Accessor<AppFlatMenu[]>;
66
63
  usablePerms: Accessor<AppPerm<TModule>[]>;
67
64
  allFlatPerms: AppFlatPerm<TModule>[];
68
- checkRouteAccess(route: AppRoute<TModule>): boolean;
69
65
  getTitleChainByHref(href: string): string[];
70
66
  }
71
67
  type PermKey<TItem> = TItem extends {
@@ -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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"}
@@ -12,32 +12,21 @@ function checkModules(modules, requiredModules, usableModules) {
12
12
  }
13
13
  return true;
14
14
  }
15
- function buildAllRoutes(items, routeBasePath, permBasePath, modulesChain, requiredModulesChain) {
15
+ function buildUsableRoutes(items, routeBasePath, permBasePath, usableModules, permRecord) {
16
16
  var _a;
17
17
  const result = [];
18
18
  for (const item of items) {
19
- const currModulesChain = item.modules ? [...modulesChain, item.modules] : modulesChain;
20
- const currRequiredModulesChain = item.requiredModules ? [...requiredModulesChain, item.requiredModules] : requiredModulesChain;
19
+ if (!checkModules(item.modules, item.requiredModules, usableModules)) continue;
21
20
  const routePath = routeBasePath + "/" + item.code;
22
21
  const permPath = permBasePath + "/" + item.code;
23
22
  if (isGroupItem(item)) {
24
23
  result.push(
25
- ...buildAllRoutes(
26
- item.children,
27
- routePath,
28
- permPath,
29
- currModulesChain,
30
- currRequiredModulesChain
31
- )
24
+ ...buildUsableRoutes(item.children, routePath, permPath, usableModules, permRecord)
32
25
  );
33
26
  } else if (item.component !== void 0) {
34
- result.push({
35
- path: routePath,
36
- component: item.component,
37
- permCode: ((_a = item.perms) == null ? void 0 : _a.includes("use")) ? permPath + "/use" : void 0,
38
- modulesChain: currModulesChain,
39
- requiredModulesChain: currRequiredModulesChain
40
- });
27
+ if (permRecord !== void 0 && ((_a = item.perms) == null ? void 0 : _a.includes("use")) && !permRecord[permPath + "/use"])
28
+ continue;
29
+ result.push({ path: routePath, component: item.component });
41
30
  }
42
31
  }
43
32
  return result;
@@ -214,23 +203,25 @@ function findItemChainByCodes(items, codes) {
214
203
  }
215
204
  function createAppStructure(opts) {
216
205
  const allFlatPerms = collectFlatPerms(opts.items);
217
- const allRoutes = [];
218
- for (const top of opts.items) {
219
- if (isGroupItem(top)) {
220
- const topModulesChain = top.modules ? [top.modules] : [];
221
- const topRequiredModulesChain = top.requiredModules ? [top.requiredModules] : [];
222
- allRoutes.push(
223
- ...buildAllRoutes(
224
- top.children,
225
- "",
226
- "/" + top.code,
227
- topModulesChain,
228
- topRequiredModulesChain
229
- )
230
- );
231
- }
232
- }
233
206
  const memos = createRoot(() => {
207
+ const usableRoutes = createMemo(() => {
208
+ var _a, _b;
209
+ const routes = [];
210
+ for (const top of opts.items) {
211
+ if (isGroupItem(top)) {
212
+ routes.push(
213
+ ...buildUsableRoutes(
214
+ top.children,
215
+ "",
216
+ "/" + top.code,
217
+ (_a = opts.usableModules) == null ? void 0 : _a.call(opts),
218
+ (_b = opts.permRecord) == null ? void 0 : _b.call(opts)
219
+ )
220
+ );
221
+ }
222
+ }
223
+ return routes;
224
+ });
234
225
  const usableMenus = createMemo(() => {
235
226
  var _a, _b;
236
227
  const menus = [];
@@ -253,39 +244,16 @@ function createAppStructure(opts) {
253
244
  var _a;
254
245
  return buildPerms(opts.items, "", (_a = opts.usableModules) == null ? void 0 : _a.call(opts));
255
246
  });
256
- return { usableMenus, usableFlatMenus, usablePerms };
247
+ return { usableRoutes, usableMenus, usableFlatMenus, usablePerms };
257
248
  });
258
249
  const permsObj = buildPermsObject(opts.items, "", opts.permRecord);
259
250
  return {
260
251
  items: opts.items,
261
- allRoutes,
252
+ usableRoutes: memos.usableRoutes,
262
253
  usableMenus: memos.usableMenus,
263
254
  usableFlatMenus: memos.usableFlatMenus,
264
255
  usablePerms: memos.usablePerms,
265
256
  allFlatPerms,
266
- checkRouteAccess(route) {
267
- var _a, _b;
268
- const usableModules = (_a = opts.usableModules) == null ? void 0 : _a.call(opts);
269
- if (usableModules !== void 0) {
270
- for (const modules of route.modulesChain) {
271
- if (modules.length > 0 && !modules.some((m) => usableModules.includes(m))) {
272
- return false;
273
- }
274
- }
275
- for (const modules of route.requiredModulesChain) {
276
- if (modules.length > 0 && !modules.every((m) => usableModules.includes(m))) {
277
- return false;
278
- }
279
- }
280
- }
281
- if (route.permCode !== void 0) {
282
- const permRecord = (_b = opts.permRecord) == null ? void 0 : _b.call(opts);
283
- if (permRecord !== void 0) {
284
- return permRecord[route.permCode] ?? false;
285
- }
286
- }
287
- return true;
288
- },
289
257
  perms: permsObj,
290
258
  getTitleChainByHref(href) {
291
259
  const codes = href.split("/").filter(Boolean);
@@ -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
  }
package/dist/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export * from "./components/layout/FormTable";
25
25
  export * from "./components/layout/sidebar/Sidebar";
26
26
  export * from "./components/layout/sidebar/SidebarContext";
27
27
  export * from "./components/layout/topbar/Topbar";
28
+ export * from "./components/layout/topbar/TopbarContext";
28
29
  export * from "./components/data/Table";
29
30
  export * from "./components/data/list/List";
30
31
  export * from "./components/data/list/ListContext";
@@ -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
@@ -25,6 +25,7 @@ export * from "./components/layout/FormTable.js";
25
25
  export * from "./components/layout/sidebar/Sidebar.js";
26
26
  export * from "./components/layout/sidebar/SidebarContext.js";
27
27
  export * from "./components/layout/topbar/Topbar.js";
28
+ export * from "./components/layout/topbar/TopbarContext.js";
28
29
  export * from "./components/data/Table.js";
29
30
  export * from "./components/data/list/List.js";
30
31
  export * from "./components/data/list/ListContext.js";
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;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;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,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAM9B,cAAc;AACd,cAAc;AAMd,SAAS,cAAc;AAMvB,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,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;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,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,qBAAqB;AAM9B,cAAc;AACd,cAAc;AAMd,SAAS,cAAc;AAMvB,SAAS,mBAAmB;AAC5B,SAAS,kBAAkB;AAC3B,SAAS,0BAA0B;",
5
5
  "names": []
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import clsx from "clsx";
2
- import { bgSurface, borderDefault, textDefault, textPlaceholder } from "./tokens.styles.js";
2
+ import { borderDefault, textDefault, textPlaceholder } from "./tokens.styles.js";
3
3
  const iconButtonBase = clsx(
4
4
  "inline-flex items-center justify-center",
5
5
  "cursor-pointer",
@@ -22,7 +22,7 @@ const insetFocusOutlineSelf = clsx(
22
22
  );
23
23
  const insetBase = "w-full rounded-none border-none";
24
24
  const fieldSurface = clsx(
25
- bgSurface,
25
+ "bg-primary-50 dark:bg-primary-950/30",
26
26
  textDefault,
27
27
  "border",
28
28
  borderDefault,
@@ -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,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;",
4
+ "mappings": "AAAA,OAAO,UAAU;AACjB,SAAS,eAAe,aAAa,uBAAuB;AAGrD,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
  }
@@ -1,10 +1,10 @@
1
- export declare const borderDefault = "border-base-300 dark:border-base-700";
1
+ export declare const borderDefault = "border-base-200 dark:border-base-700";
2
2
  export declare const borderSubtle = "border-base-200 dark:border-base-700";
3
3
  export declare const bgSurface = "bg-white dark:bg-base-900";
4
4
  export declare const textDefault = "text-base-900 dark:text-base-100";
5
5
  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
- export declare const disabledOpacity = "cursor-default opacity-50 pointer-events-none";
7
+ export declare const disabledOpacity = "cursor-default opacity-30 pointer-events-none";
8
8
  export type ComponentSize = "xs" | "sm" | "lg" | "xl";
9
9
  export type ComponentSizeCompact = "sm" | "lg";
10
10
  export declare const paddingXs = "px-1 py-0";
@@ -1,10 +1,10 @@
1
- const borderDefault = "border-base-300 dark:border-base-700";
1
+ const borderDefault = "border-base-200 dark:border-base-700";
2
2
  const borderSubtle = "border-base-200 dark:border-base-700";
3
3
  const bgSurface = "bg-white dark:bg-base-900";
4
4
  const textDefault = "text-base-900 dark:text-base-100";
5
5
  const textMuted = "text-base-400 dark:text-base-500";
6
6
  const textPlaceholder = "placeholder:text-base-400 dark:placeholder:text-base-500";
7
- const disabledOpacity = "cursor-default opacity-50 pointer-events-none";
7
+ const disabledOpacity = "cursor-default opacity-30 pointer-events-none";
8
8
  const paddingXs = "px-1 py-0";
9
9
  const paddingSm = "px-1.5 py-0.5";
10
10
  const paddingLg = "px-3 py-2";
package/docs/layout.md CHANGED
@@ -127,10 +127,79 @@ const userMenus: TopbarUserMenu[] = [
127
127
  ```
128
128
 
129
129
  **Sub-components:**
130
- - `Topbar.Container` -- Container wrapping main content below topbar
130
+ - `Topbar.Container` -- Container wrapping topbar and main content, provides `TopbarContext`
131
+ - `Topbar.Actions` -- Slot outlet that renders actions registered via `createTopbarActions`
131
132
  - `Topbar.Menu` -- Menu items list
132
133
  - `Topbar.User` -- User menu (dropdown)
133
134
 
135
+ ### Topbar Actions Slot
136
+
137
+ A slot pattern that lets child pages inject action buttons (save, delete, etc.) into the topbar. The parent layout defines **where** actions appear, child pages define **what** to show.
138
+
139
+ **Layout (define the slot):**
140
+
141
+ ```tsx
142
+ import { Topbar } from "@simplysm/solid";
143
+
144
+ <Topbar.Container>
145
+ <Topbar>
146
+ <span>Title</span>
147
+ <Topbar.Actions />
148
+ <div class="flex-1" />
149
+ </Topbar>
150
+ <main class="flex-1 overflow-auto p-4">
151
+ {props.children}
152
+ </main>
153
+ </Topbar.Container>
154
+ ```
155
+
156
+ **Child page (fill the slot):**
157
+
158
+ ```tsx
159
+ import { createTopbarActions, Button } from "@simplysm/solid";
160
+
161
+ function UserPage() {
162
+ createTopbarActions(() => (
163
+ <>
164
+ <Button theme="primary">Save</Button>
165
+ <Button>Cancel</Button>
166
+ </>
167
+ ));
168
+
169
+ return <div>...</div>;
170
+ }
171
+ ```
172
+
173
+ When `UserPage` mounts, the buttons appear in the topbar. When it unmounts, the actions are automatically cleaned up via `onCleanup`.
174
+
175
+ **createTopbarActions(accessor: () => JSX.Element): void**
176
+
177
+ Registers actions in the nearest `Topbar.Container` scope. Automatically removes actions on component unmount. Must be called inside `Topbar.Container`.
178
+
179
+ **useTopbarActionsAccessor(): Accessor&lt;JSX.Element | undefined&gt;**
180
+
181
+ Returns the actions accessor directly. For advanced use cases such as building custom topbar components. Must be called inside `Topbar.Container`.
182
+
183
+ ```tsx
184
+ import { useTopbarActionsAccessor } from "@simplysm/solid";
185
+
186
+ const actions = useTopbarActionsAccessor();
187
+ // actions() returns the currently registered JSX.Element or undefined
188
+ ```
189
+
190
+ **TopbarContext:**
191
+
192
+ `TopbarContext` is exported for building custom topbar layouts. `Topbar.Container` wraps children with `TopbarContext.Provider`, sharing `actions` accessor and `setActions` setter.
193
+
194
+ ```typescript
195
+ import { TopbarContext } from "@simplysm/solid";
196
+
197
+ interface TopbarContextValue {
198
+ actions: Accessor<JSX.Element | undefined>;
199
+ setActions: Setter<JSX.Element | undefined>;
200
+ }
201
+ ```
202
+
134
203
  **TopbarMenuItem type:**
135
204
 
136
205
  ```typescript