@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.
- package/README.md +3 -1
- package/dist/components/data/sheet/DataSheet.css +28 -10
- package/dist/components/data/sheet/DataSheet.d.ts.map +1 -1
- package/dist/components/data/sheet/DataSheet.js +13 -4
- package/dist/components/data/sheet/DataSheet.js.map +2 -2
- package/dist/components/data/sheet/sheetUtils.d.ts +2 -2
- package/dist/components/data/sheet/sheetUtils.d.ts.map +1 -1
- package/dist/components/data/sheet/sheetUtils.js +16 -13
- package/dist/components/data/sheet/sheetUtils.js.map +1 -1
- package/dist/components/data/sheet/types.d.ts +6 -0
- package/dist/components/data/sheet/types.d.ts.map +1 -1
- package/dist/components/display/Icon.d.ts.map +1 -1
- package/dist/components/display/Icon.js +7 -2
- package/dist/components/display/Icon.js.map +2 -2
- package/dist/components/display/Link.d.ts +4 -0
- package/dist/components/display/Link.d.ts.map +1 -1
- package/dist/components/display/Link.js +13 -3
- package/dist/components/display/Link.js.map +2 -2
- package/dist/components/form-control/Invalid.d.ts.map +1 -1
- package/dist/components/form-control/Invalid.js +4 -3
- package/dist/components/form-control/Invalid.js.map +2 -2
- package/dist/components/form-control/checkbox/Checkbox.styles.d.ts +1 -1
- package/dist/components/form-control/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/form-control/combobox/Combobox.js +2 -2
- package/dist/components/form-control/combobox/Combobox.js.map +1 -1
- package/dist/components/form-control/editor/RichTextEditor.js +1 -1
- package/dist/components/form-control/editor/RichTextEditor.js.map +1 -1
- package/dist/components/form-control/field/DatePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DatePicker.js +3 -2
- package/dist/components/form-control/field/DatePicker.js.map +2 -2
- package/dist/components/form-control/field/DateTimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/DateTimePicker.js +3 -2
- package/dist/components/form-control/field/DateTimePicker.js.map +2 -2
- package/dist/components/form-control/field/NumberInput.d.ts.map +1 -1
- package/dist/components/form-control/field/NumberInput.js +1 -1
- package/dist/components/form-control/field/NumberInput.js.map +1 -1
- package/dist/components/form-control/field/TextInput.js +2 -2
- package/dist/components/form-control/field/TextInput.js.map +1 -1
- package/dist/components/form-control/field/TimePicker.d.ts.map +1 -1
- package/dist/components/form-control/field/TimePicker.js +3 -2
- package/dist/components/form-control/field/TimePicker.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 +1 -1
- package/dist/components/form-control/state-preset/StatePreset.js.map +1 -1
- package/dist/components/layout/topbar/Topbar.d.ts +2 -0
- package/dist/components/layout/topbar/Topbar.d.ts.map +1 -1
- package/dist/components/layout/topbar/Topbar.js +2 -0
- package/dist/components/layout/topbar/Topbar.js.map +2 -2
- package/dist/components/layout/topbar/TopbarActions.d.ts +3 -0
- package/dist/components/layout/topbar/TopbarActions.d.ts.map +1 -0
- package/dist/components/layout/topbar/TopbarActions.js +17 -0
- package/dist/components/layout/topbar/TopbarActions.js.map +6 -0
- package/dist/components/layout/topbar/TopbarContainer.d.ts +1 -1
- package/dist/components/layout/topbar/TopbarContainer.d.ts.map +1 -1
- package/dist/components/layout/topbar/TopbarContainer.js +21 -12
- package/dist/components/layout/topbar/TopbarContainer.js.map +2 -2
- package/dist/components/layout/topbar/TopbarContext.d.ts +9 -0
- package/dist/components/layout/topbar/TopbarContext.d.ts.map +1 -0
- package/dist/components/layout/topbar/TopbarContext.js +29 -0
- package/dist/components/layout/topbar/TopbarContext.js.map +6 -0
- package/dist/helpers/createAppStructure.d.ts +2 -6
- package/dist/helpers/createAppStructure.d.ts.map +1 -1
- package/dist/helpers/createAppStructure.js +26 -58
- package/dist/helpers/createAppStructure.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/patterns.styles.js +2 -2
- package/dist/styles/patterns.styles.js.map +1 -1
- package/dist/styles/tokens.styles.d.ts +2 -2
- package/dist/styles/tokens.styles.js +2 -2
- package/docs/layout.md +70 -1
- package/package.json +3 -3
- package/src/components/data/sheet/DataSheet.css +28 -10
- package/src/components/data/sheet/DataSheet.tsx +27 -4
- package/src/components/data/sheet/sheetUtils.ts +16 -11
- package/src/components/data/sheet/types.ts +6 -0
- package/src/components/display/Icon.tsx +10 -1
- package/src/components/display/Link.tsx +19 -9
- package/src/components/form-control/Invalid.tsx +13 -6
- package/src/components/form-control/combobox/Combobox.tsx +2 -1
- package/src/components/form-control/editor/RichTextEditor.tsx +1 -1
- package/src/components/form-control/field/DatePicker.tsx +4 -1
- package/src/components/form-control/field/DateTimePicker.tsx +3 -0
- package/src/components/form-control/field/NumberInput.tsx +2 -0
- package/src/components/form-control/field/TextInput.tsx +2 -2
- package/src/components/form-control/field/TimePicker.tsx +3 -0
- package/src/components/form-control/state-preset/StatePreset.tsx +1 -0
- package/src/components/layout/topbar/Topbar.tsx +3 -0
- package/src/components/layout/topbar/TopbarActions.tsx +8 -0
- package/src/components/layout/topbar/TopbarContainer.tsx +9 -5
- package/src/components/layout/topbar/TopbarContext.ts +36 -0
- package/src/helpers/createAppStructure.ts +32 -74
- package/src/index.ts +1 -0
- package/src/styles/patterns.styles.ts +2 -2
- 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,
|
|
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 @@
|
|
|
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
|
-
* -
|
|
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,
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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": "
|
|
5
|
-
"names": ["splitProps", "clsx", "twMerge", "containerClass", "TopbarContainer", "props", "local", "rest", "getClassName", "class", "_el$", "_tmpl$", "_$spread", "_$mergeProps", "_$insert"
|
|
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
|
|
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
|
-
|
|
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":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAA0B,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIvD,MAAM,WAAW,qBAAqB,CAAC,OAAO;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,oBAAoB,CAAC,OAAO;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,gBAAgB,CAAC,OAAO,IAChC,qBAAqB,CAAC,OAAO,CAAC,GAC9B,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAElC,MAAM,WAAW,mBAAmB,CAAC,OAAO;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,KAAK,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC;CAC3B;AAID,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,OAAO,CAAC,OAAO,GAAG,MAAM;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW,CAAC,OAAO,GAAG,MAAM;IAC3C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,EAAE,EAAE,CAAC;IAC1B,oBAAoB,EAAE,OAAO,EAAE,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,QAAQ
|
|
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
|
|
15
|
+
function buildUsableRoutes(items, routeBasePath, permBasePath, usableModules, permRecord) {
|
|
16
16
|
var _a;
|
|
17
17
|
const result = [];
|
|
18
18
|
for (const item of items) {
|
|
19
|
-
|
|
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
|
-
...
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
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": "AACA,SAAwB,YAAY,kBAAkB;
|
|
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";
|
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;AAGxD,cAAc,6CAA6C,CAAC;AAG5D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,4CAA4C,CAAC;AAC3D,cAAc,0CAA0C,CAAC;AACzD,cAAc,8CAA8C,CAAC;AAG7D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,oDAAoD,CAAC;AACnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AACjE,cAAc,+CAA+C,CAAC;AAG9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,iDAAiD,CAAC;AAChE,cAAc,yCAAyC,CAAC;AACxD,cAAc,oDAAoD,CAAC;AACnE,cAAc,uCAAuC,CAAC;AACtD,cAAc,mCAAmC,CAAC;AAMlD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,mCAAmC,CAAC;
|
|
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 {
|
|
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
|
-
|
|
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,
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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<JSX.Element | undefined>**
|
|
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
|