@sentropic/design-system-vue 0.36.44 → 0.36.46

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 (53) hide show
  1. package/dist/AppShell.d.ts +93 -0
  2. package/dist/AppShell.d.ts.map +1 -0
  3. package/dist/AppShell.js +34 -0
  4. package/dist/AppShell.js.map +1 -0
  5. package/dist/Badge.d.ts +34 -0
  6. package/dist/Badge.d.ts.map +1 -1
  7. package/dist/Badge.js +3 -1
  8. package/dist/Badge.js.map +1 -1
  9. package/dist/Collapsible.d.ts.map +1 -1
  10. package/dist/Collapsible.js +6 -0
  11. package/dist/Collapsible.js.map +1 -1
  12. package/dist/ContextPanel.d.ts +49 -0
  13. package/dist/ContextPanel.d.ts.map +1 -0
  14. package/dist/ContextPanel.js +19 -0
  15. package/dist/ContextPanel.js.map +1 -0
  16. package/dist/Drawer.d.ts +1 -1
  17. package/dist/Drawer.d.ts.map +1 -1
  18. package/dist/MenuTriggerButton.d.ts +1 -1
  19. package/dist/NavDrawer.d.ts +6 -0
  20. package/dist/NavDrawer.d.ts.map +1 -0
  21. package/dist/NavDrawer.js +10 -0
  22. package/dist/NavDrawer.js.map +1 -0
  23. package/dist/NavItem.d.ts +189 -0
  24. package/dist/NavItem.d.ts.map +1 -0
  25. package/dist/NavItem.js +121 -0
  26. package/dist/NavItem.js.map +1 -0
  27. package/dist/NavRail.d.ts +61 -0
  28. package/dist/NavRail.d.ts.map +1 -0
  29. package/dist/NavRail.js +27 -0
  30. package/dist/NavRail.js.map +1 -0
  31. package/dist/NavSection.d.ts +109 -0
  32. package/dist/NavSection.d.ts.map +1 -0
  33. package/dist/NavSection.js +104 -0
  34. package/dist/NavSection.js.map +1 -0
  35. package/dist/NavShell.d.ts +105 -0
  36. package/dist/NavShell.d.ts.map +1 -0
  37. package/dist/NavShell.js +34 -0
  38. package/dist/NavShell.js.map +1 -0
  39. package/dist/SelectableRow.d.ts +11 -0
  40. package/dist/SelectableRow.d.ts.map +1 -1
  41. package/dist/SelectableRow.js +25 -6
  42. package/dist/SelectableRow.js.map +1 -1
  43. package/dist/Typography.d.ts +1 -1
  44. package/dist/UtilityPanel.d.ts +72 -0
  45. package/dist/UtilityPanel.d.ts.map +1 -0
  46. package/dist/UtilityPanel.js +21 -0
  47. package/dist/UtilityPanel.js.map +1 -0
  48. package/dist/index.d.ts +17 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +8 -0
  51. package/dist/index.js.map +1 -1
  52. package/dist/styles.css +1079 -508
  53. package/package.json +1 -1
@@ -0,0 +1,93 @@
1
+ import { type PropType } from "vue";
2
+ export type AppShellVariant = "site" | "workspace";
3
+ export type AppShellUtilityMode = "reserve" | "overlay" | "floating";
4
+ export type AppShellUtilitySide = "left" | "right" | "bottom";
5
+ export type AppShellProps = {
6
+ variant?: AppShellVariant;
7
+ mainId?: string;
8
+ navigationLabel?: string;
9
+ contextLabel?: string;
10
+ utilityLabel?: string;
11
+ utilityMode?: AppShellUtilityMode;
12
+ utilitySide?: AppShellUtilitySide;
13
+ class?: string;
14
+ };
15
+ export declare const AppShell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
+ variant: {
17
+ type: PropType<AppShellVariant>;
18
+ default: string;
19
+ };
20
+ mainId: {
21
+ type: StringConstructor;
22
+ default: string;
23
+ };
24
+ navigationLabel: {
25
+ type: StringConstructor;
26
+ default: string;
27
+ };
28
+ contextLabel: {
29
+ type: StringConstructor;
30
+ default: string;
31
+ };
32
+ utilityLabel: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ };
36
+ utilityMode: {
37
+ type: PropType<AppShellUtilityMode>;
38
+ default: string;
39
+ };
40
+ utilitySide: {
41
+ type: PropType<AppShellUtilitySide>;
42
+ default: string;
43
+ };
44
+ class: {
45
+ type: StringConstructor;
46
+ default: undefined;
47
+ };
48
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
49
+ [key: string]: any;
50
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
51
+ variant: {
52
+ type: PropType<AppShellVariant>;
53
+ default: string;
54
+ };
55
+ mainId: {
56
+ type: StringConstructor;
57
+ default: string;
58
+ };
59
+ navigationLabel: {
60
+ type: StringConstructor;
61
+ default: string;
62
+ };
63
+ contextLabel: {
64
+ type: StringConstructor;
65
+ default: string;
66
+ };
67
+ utilityLabel: {
68
+ type: StringConstructor;
69
+ default: string;
70
+ };
71
+ utilityMode: {
72
+ type: PropType<AppShellUtilityMode>;
73
+ default: string;
74
+ };
75
+ utilitySide: {
76
+ type: PropType<AppShellUtilitySide>;
77
+ default: string;
78
+ };
79
+ class: {
80
+ type: StringConstructor;
81
+ default: undefined;
82
+ };
83
+ }>> & Readonly<{}>, {
84
+ class: string;
85
+ variant: AppShellVariant;
86
+ mainId: string;
87
+ navigationLabel: string;
88
+ contextLabel: string;
89
+ utilityLabel: string;
90
+ utilityMode: AppShellUtilityMode;
91
+ utilitySide: AppShellUtilitySide;
92
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
93
+ //# sourceMappingURL=AppShell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAGxD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,CAAC;AACnD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AACrE,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,QAAQ;;cAGU,QAAQ,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;cAKrB,QAAQ,CAAC,mBAAmB,CAAC;;;;cAC7B,QAAQ,CAAC,mBAAmB,CAAC;;;;;;;;;;;cANjC,QAAQ,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;cAKrB,QAAQ,CAAC,mBAAmB,CAAC;;;;cAC7B,QAAQ,CAAC,mBAAmB,CAAC;;;;;;;;;;;;;;;;4EAqB9D,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { defineComponent, h } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ export const AppShell = defineComponent({
4
+ name: "AppShell",
5
+ props: {
6
+ variant: { type: String, default: "workspace" },
7
+ mainId: { type: String, default: "main" },
8
+ navigationLabel: { type: String, default: "Workspace navigation" },
9
+ contextLabel: { type: String, default: "Context panel" },
10
+ utilityLabel: { type: String, default: "Utility panel" },
11
+ utilityMode: { type: String, default: "reserve" },
12
+ utilitySide: { type: String, default: "right" },
13
+ class: { type: String, default: undefined },
14
+ },
15
+ setup(props, { slots, attrs }) {
16
+ return () => {
17
+ if (props.variant === "site") {
18
+ return h("div", { ...attrs, class: classNames("st-appShell st-appShell--site", props.class), "data-st-app-shell-variant": "site" }, slots.default?.());
19
+ }
20
+ return h("div", { ...attrs, class: classNames("st-appShell st-appShell--workspace", props.class), "data-st-app-shell-variant": "workspace", "data-utility-mode": props.utilityMode, "data-utility-side": props.utilitySide }, [
21
+ slots.topChrome ? h("div", { class: "st-appShell__topChrome" }, slots.topChrome()) : null,
22
+ h("div", { class: "st-appShell__body" }, [
23
+ slots.primaryRail ? h("aside", { class: "st-appShell__primaryRail", "aria-label": "Primary rail" }, slots.primaryRail()) : null,
24
+ slots.navigationPanel ? h("aside", { class: "st-appShell__navigationPanel", "aria-label": props.navigationLabel }, slots.navigationPanel()) : null,
25
+ h("main", { class: "st-appShell__main", id: props.mainId }, slots.main?.() ?? slots.default?.()),
26
+ slots.contextPanel ? h("aside", { class: "st-appShell__contextPanel", "aria-label": props.contextLabel }, slots.contextPanel()) : null,
27
+ slots.utilityPanel ? h("aside", { class: "st-appShell__utilityPanel", "aria-label": props.utilityLabel }, slots.utilityPanel()) : null,
28
+ ]),
29
+ slots.bottomPanel ? h("section", { class: "st-appShell__bottomPanel", "aria-label": "Workspace tools" }, slots.bottomPanel()) : null,
30
+ ]);
31
+ };
32
+ },
33
+ });
34
+ //# sourceMappingURL=AppShell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppShell.js","sourceRoot":"","sources":["../src/AppShell.ts"],"names":[],"mappings":"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"}
package/dist/Badge.d.ts CHANGED
@@ -1,6 +1,22 @@
1
1
  export type BadgeTone = "neutral" | "success" | "warning" | "error" | "info";
2
+ /**
3
+ * Badge shape — `"pill"` (default) is the base render (radius pill, width grows
4
+ * with content). `"circle"` renders an equal-sided round bubble (tabular-nums) —
5
+ * best for ≤2-digit counts; 3+ digit content degrades gracefully to a
6
+ * rounded-rect (never clipped). Additive: with `shape` unset the badge renders
7
+ * byte-identically to before.
8
+ */
9
+ export type BadgeShape = "pill" | "circle";
10
+ /**
11
+ * Density — `"md"` (default) is the base render. `"sm"` shrinks the font-size
12
+ * (the rail-bubble scale). Additive: with `size` unset the badge renders
13
+ * byte-identically to before.
14
+ */
15
+ export type BadgeSize = "sm" | "md";
2
16
  export type BadgeProps = {
3
17
  tone?: BadgeTone;
18
+ shape?: BadgeShape;
19
+ size?: BadgeSize;
4
20
  class?: string;
5
21
  };
6
22
  export declare const Badge: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -8,6 +24,14 @@ export declare const Badge: import("vue").DefineComponent<import("vue").ExtractP
8
24
  type: () => BadgeTone;
9
25
  default: string;
10
26
  };
27
+ shape: {
28
+ type: () => BadgeShape;
29
+ default: string;
30
+ };
31
+ size: {
32
+ type: () => BadgeSize;
33
+ default: string;
34
+ };
11
35
  class: {
12
36
  type: StringConstructor;
13
37
  default: undefined;
@@ -19,12 +43,22 @@ export declare const Badge: import("vue").DefineComponent<import("vue").ExtractP
19
43
  type: () => BadgeTone;
20
44
  default: string;
21
45
  };
46
+ shape: {
47
+ type: () => BadgeShape;
48
+ default: string;
49
+ };
50
+ size: {
51
+ type: () => BadgeSize;
52
+ default: string;
53
+ };
22
54
  class: {
23
55
  type: StringConstructor;
24
56
  default: undefined;
25
57
  };
26
58
  }>> & Readonly<{}>, {
59
+ size: BadgeSize;
27
60
  class: string;
28
61
  tone: BadgeTone;
62
+ shape: BadgeShape;
29
63
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
30
64
  //# sourceMappingURL=Badge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../src/Badge.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7E,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,KAAK;;cAGU,MAAM,SAAS;;;;;;;;;;;cAAf,MAAM,SAAS;;;;;;;;;;4EAczC,CAAC"}
1
+ {"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../src/Badge.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7E;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE3C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpC,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,KAAK;;cAGU,MAAM,SAAS;;;;cACd,MAAM,UAAU;;;;cACjB,MAAM,SAAS;;;;;;;;;;;cAFf,MAAM,SAAS;;;;cACd,MAAM,UAAU;;;;cACjB,MAAM,SAAS;;;;;;;;;;;;4EAoBzC,CAAC"}
package/dist/Badge.js CHANGED
@@ -4,12 +4,14 @@ export const Badge = defineComponent({
4
4
  name: "Badge",
5
5
  props: {
6
6
  tone: { type: String, default: "neutral" },
7
+ shape: { type: String, default: "pill" },
8
+ size: { type: String, default: "md" },
7
9
  class: { type: String, default: undefined },
8
10
  },
9
11
  setup(props, { slots, attrs }) {
10
12
  return () => h("span", {
11
13
  ...attrs,
12
- class: classNames("st-badge", `st-badge--${props.tone}`, props.class),
14
+ class: classNames("st-badge", `st-badge--${props.tone}`, `st-badge--${props.shape}`, `st-badge--${props.size}`, props.class),
13
15
  }, slots.default?.());
14
16
  },
15
17
  });
package/dist/Badge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAAyB,EAAE,OAAO,EAAE,SAAS,EAAE;QAC7D,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,OAAO,GAAG,EAAE,CACV,CAAC,CACC,MAAM,EACN;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CAAC,UAAU,EAAE,aAAa,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC;SACtE,EACD,KAAK,CAAC,OAAO,EAAE,EAAE,CAClB,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AA2B7C,MAAM,CAAC,MAAM,KAAK,GAAG,eAAe,CAAC;IACnC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAAyB,EAAE,OAAO,EAAE,SAAS,EAAE;QAC7D,KAAK,EAAE,EAAE,IAAI,EAAE,MAA0B,EAAE,OAAO,EAAE,MAAM,EAAE;QAC5D,IAAI,EAAE,EAAE,IAAI,EAAE,MAAyB,EAAE,OAAO,EAAE,IAAI,EAAE;QACxD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,OAAO,GAAG,EAAE,CACV,CAAC,CACC,MAAM,EACN;YACE,GAAG,KAAK;YACR,KAAK,EAAE,UAAU,CACf,UAAU,EACV,aAAa,KAAK,CAAC,IAAI,EAAE,EACzB,aAAa,KAAK,CAAC,KAAK,EAAE,EAC1B,aAAa,KAAK,CAAC,IAAI,EAAE,EACzB,KAAK,CAAC,KAAK,CACZ;SACF,EACD,KAAK,CAAC,OAAO,EAAE,EAAE,CAClB,CAAC;IACN,CAAC;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../src/Collapsible.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;cAOW,MAAM,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;cAA7B,MAAM,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;;;;;;;;;;;;qBAAhB,OAAO,KAAK,IAAI;;4EAgE9D,CAAC"}
1
+ {"version":3,"file":"Collapsible.d.ts","sourceRoot":"","sources":["../src/Collapsible.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;cAOW,MAAM,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;;;;;;;;;;;;;;;;;;;;;;;cAA7B,MAAM,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI;;;;;;;;;;;;qBAAhB,OAAO,KAAK,IAAI;;4EAsE9D,CAAC"}
@@ -42,6 +42,12 @@ export const Collapsible = defineComponent({
42
42
  onClick: toggle,
43
43
  }, [
44
44
  h("span", { class: "st-collapsible__title" }, props.title),
45
+ // Trailing content rendered BETWEEN the title and the chevron (e.g. a
46
+ // count Badge). The chevron stays the rightmost affordance. If it
47
+ // carries SR-relevant info, set `aria-label` on the Collapsible.
48
+ slots.trailing
49
+ ? h("span", { class: "st-collapsible__trailing" }, slots.trailing())
50
+ : null,
45
51
  h("span", { class: "st-collapsible__icon", "aria-hidden": "true" }, [h(ChevronDown, { size: 18, strokeWidth: 2.25, "aria-hidden": "true" })]),
46
52
  ]),
47
53
  open
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.js","sourceRoot":"","sources":["../src/Collapsible.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Collapsible.js","sourceRoot":"","sources":["../src/Collapsible.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ export type ContextPanelProps = {
2
+ title?: string;
3
+ subtitle?: string;
4
+ label?: string;
5
+ class?: string;
6
+ };
7
+ export declare const ContextPanel: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
+ title: {
9
+ type: StringConstructor;
10
+ default: undefined;
11
+ };
12
+ subtitle: {
13
+ type: StringConstructor;
14
+ default: undefined;
15
+ };
16
+ label: {
17
+ type: StringConstructor;
18
+ default: undefined;
19
+ };
20
+ class: {
21
+ type: StringConstructor;
22
+ default: undefined;
23
+ };
24
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
25
+ [key: string]: any;
26
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
27
+ title: {
28
+ type: StringConstructor;
29
+ default: undefined;
30
+ };
31
+ subtitle: {
32
+ type: StringConstructor;
33
+ default: undefined;
34
+ };
35
+ label: {
36
+ type: StringConstructor;
37
+ default: undefined;
38
+ };
39
+ class: {
40
+ type: StringConstructor;
41
+ default: undefined;
42
+ };
43
+ }>> & Readonly<{}>, {
44
+ class: string;
45
+ label: string;
46
+ title: string;
47
+ subtitle: string;
48
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
49
+ //# sourceMappingURL=ContextPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextPanel.d.ts","sourceRoot":"","sources":["../src/ContextPanel.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAevB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { defineComponent, h } from "vue";
2
+ import { classNames } from "./classNames.js";
3
+ export const ContextPanel = defineComponent({
4
+ name: "ContextPanel",
5
+ props: {
6
+ title: { type: String, default: undefined },
7
+ subtitle: { type: String, default: undefined },
8
+ label: { type: String, default: undefined },
9
+ class: { type: String, default: undefined },
10
+ },
11
+ setup(props, { slots, attrs }) {
12
+ return () => h("aside", { ...attrs, class: classNames("st-contextPanel", props.class), "aria-label": props.label ?? props.title ?? "Context panel" }, [
13
+ props.title || props.subtitle || slots.actions ? h("header", { class: "st-contextPanel__header" }, [h("div", { class: "st-contextPanel__heading" }, [props.title ? h("h2", { class: "st-contextPanel__title" }, props.title) : null, props.subtitle ? h("p", { class: "st-contextPanel__subtitle" }, props.subtitle) : null]), slots.actions ? h("div", { class: "st-contextPanel__actions" }, slots.actions()) : null]) : null,
14
+ h("div", { class: "st-contextPanel__body" }, slots.default?.()),
15
+ slots.footer ? h("footer", { class: "st-contextPanel__footer" }, slots.footer()) : null,
16
+ ]);
17
+ },
18
+ });
19
+ //# sourceMappingURL=ContextPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextPanel.js","sourceRoot":"","sources":["../src/ContextPanel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC;IAC1C,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC9C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;QAC3C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;KAC5C;IACD,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC3B,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE;YACpJ,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,2BAA2B,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,0BAA0B,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/Z,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;SACxF,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
package/dist/Drawer.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type DrawerPlacement = "left" | "right";
1
+ export type DrawerPlacement = "left" | "right" | "bottom";
2
2
  export type DrawerProps = {
3
3
  open?: boolean;
4
4
  title?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../src/Drawer.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;cAMc,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;cAArB,MAAM,eAAe;;;;;;;;;;;;;;;4EAwFpD,CAAC"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../src/Drawer.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;cAMc,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;cAArB,MAAM,eAAe;;;;;;;;;;;;;;;4EAwFpD,CAAC"}
@@ -65,7 +65,7 @@ export declare const MenuTriggerButton: import("vue").DefineComponent<import("vu
65
65
  size: MenuTriggerButtonSize;
66
66
  class: string;
67
67
  disabled: boolean;
68
- expanded: boolean;
69
68
  variant: MenuTriggerButtonVariant;
69
+ expanded: boolean;
70
70
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
71
71
  //# sourceMappingURL=MenuTriggerButton.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { type NavShellProps } from "./NavShell.js";
2
+ export type NavDrawerProps = Omit<NavShellProps, "variant">;
3
+ export declare const NavDrawer: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
4
+ [key: string]: any;
5
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
+ //# sourceMappingURL=NavDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavDrawer.d.ts","sourceRoot":"","sources":["../src/NavDrawer.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7D,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAE5D,eAAO,MAAM,SAAS;;2OAMpB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { defineComponent, h } from "vue";
2
+ import { NavShell } from "./NavShell.js";
3
+ export const NavDrawer = defineComponent({
4
+ name: "NavDrawer",
5
+ inheritAttrs: false,
6
+ setup(_props, { attrs, slots }) {
7
+ return () => h(NavShell, { ...attrs, variant: "drawer" }, slots);
8
+ },
9
+ });
10
+ //# sourceMappingURL=NavDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavDrawer.js","sourceRoot":"","sources":["../src/NavDrawer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAsB,MAAM,eAAe,CAAC;AAI7D,MAAM,CAAC,MAAM,SAAS,GAAG,eAAe,CAAC;IACvC,IAAI,EAAE,WAAW;IACjB,YAAY,EAAE,KAAK;IACnB,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QAC5B,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,QAAe,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,189 @@
1
+ import { type VNode } from "vue";
2
+ import type { StatusDotTone } from "./StatusDot.js";
3
+ import type { ColorSwatchShape } from "./ColorSwatch.js";
4
+ /** Profondeur dans l'arbre de nav → échelle typographique DÉCROISSANTE.
5
+ * L0 = racine (base/600), chaque palier descend en taille ET en graisse pour
6
+ * que la hiérarchie se LISE sans indentation seule. */
7
+ export type NavItemDepth = 0 | 1 | 2 | 3;
8
+ /** Ton sémantique de la rangée. `error` est un VRAI état (un « HTTP 403 »
9
+ * devient rouge sémantique), pas une teinte décorative. */
10
+ export type NavItemStatus = "neutral" | "info" | "success" | "warning" | "error";
11
+ export type NavItemSwatch = {
12
+ /** Couleur arbitraire (hex/rgb/var) → rendue par ColorSwatch. */
13
+ color?: string;
14
+ /** Ton sémantique → rendu par StatusDot (un point). Ignoré si `color`. */
15
+ tone?: StatusDotTone;
16
+ /** Forme de la pastille couleur (ColorSwatch). Défaut « square ». */
17
+ shape?: ColorSwatchShape;
18
+ };
19
+ export type NavItemProps = {
20
+ /** Clé de sélection, passée telle quelle à SelectableRow (data-value). */
21
+ value?: string;
22
+ /** Libellé principal (1ʳᵉ ligne). */
23
+ title: string;
24
+ /** 2ᵉ ligne MUETTE, ellipsée indépendamment du titre. */
25
+ caption?: string;
26
+ /** Profondeur (défaut 0) → échelle typo + indentation de la tête. */
27
+ depth?: NavItemDepth;
28
+ /** Pastille de tête : couleur arbitraire (ColorSwatch) ou ton (StatusDot). */
29
+ swatch?: NavItemSwatch;
30
+ /** Bulle de compte en queue (Badge circle/sm, tabular-nums). */
31
+ count?: number;
32
+ /** Ton sémantique de la rangée. */
33
+ status?: NavItemStatus;
34
+ /** Sélection (honorée en standalone ; la liste prime si encadrée). */
35
+ selected?: boolean;
36
+ /** Non-interactif. */
37
+ disabled?: boolean;
38
+ /** Rend la rangée comme un lien (ancre) — anatomie identique. */
39
+ href?: string;
40
+ /** Séparateur token-only rendu APRÈS la rangée. */
41
+ divider?: boolean;
42
+ /** Notifié à chaque bascule de sélection (rangée standalone). */
43
+ onSelect?: (selected: boolean) => void;
44
+ class?: string;
45
+ };
46
+ /**
47
+ * NavItem — l'ANATOMIE DE RANGÉE CANONIQUE du système de navigation (vague 2).
48
+ * La brique que tout rail/drawer instancie : tête (pastille/icône) + titre +
49
+ * caption muette + queue (bulle de compte) + sélection + profondeur
50
+ * typographique + séparateur optionnel.
51
+ *
52
+ * Zéro-entropie : NavItem NE RÉIMPLÉMENTE RIEN. Il COMPOSE SelectableRow (qui
53
+ * possède déjà leading/trailing/caption, la sélection, le rôle ARIA dérivé du
54
+ * conteneur et la propagation du roving-tabindex) et réutilise les primitives
55
+ * vague 1 :
56
+ * • ColorSwatch → tête quand `swatch.color` (couleur arbitraire inline)
57
+ * • StatusDot → tête quand `swatch.tone` (point sémantique)
58
+ * • Badge → queue (shape="circle" size="sm", tabular-nums) pour `count`
59
+ * Style PROPRE token-only scopé ; AUCUN hex en dur.
60
+ *
61
+ * Slots : `leading` (prime sur `swatch`), `trailing` (prime sur `count`).
62
+ */
63
+ export declare const NavItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
64
+ value: {
65
+ type: StringConstructor;
66
+ default: undefined;
67
+ };
68
+ title: {
69
+ type: StringConstructor;
70
+ required: true;
71
+ };
72
+ caption: {
73
+ type: StringConstructor;
74
+ default: undefined;
75
+ };
76
+ depth: {
77
+ type: () => NavItemDepth;
78
+ default: number;
79
+ };
80
+ swatch: {
81
+ type: () => NavItemSwatch;
82
+ default: undefined;
83
+ };
84
+ count: {
85
+ type: NumberConstructor;
86
+ default: undefined;
87
+ };
88
+ status: {
89
+ type: () => NavItemStatus;
90
+ default: string;
91
+ };
92
+ selected: {
93
+ type: BooleanConstructor;
94
+ default: boolean;
95
+ };
96
+ disabled: {
97
+ type: BooleanConstructor;
98
+ default: boolean;
99
+ };
100
+ href: {
101
+ type: StringConstructor;
102
+ default: undefined;
103
+ };
104
+ divider: {
105
+ type: BooleanConstructor;
106
+ default: boolean;
107
+ };
108
+ onSelect: {
109
+ type: () => (selected: boolean) => void;
110
+ default: undefined;
111
+ };
112
+ class: {
113
+ type: StringConstructor;
114
+ default: undefined;
115
+ };
116
+ }>, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
117
+ [key: string]: any;
118
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
119
+ select: (_selected: boolean) => true;
120
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
121
+ value: {
122
+ type: StringConstructor;
123
+ default: undefined;
124
+ };
125
+ title: {
126
+ type: StringConstructor;
127
+ required: true;
128
+ };
129
+ caption: {
130
+ type: StringConstructor;
131
+ default: undefined;
132
+ };
133
+ depth: {
134
+ type: () => NavItemDepth;
135
+ default: number;
136
+ };
137
+ swatch: {
138
+ type: () => NavItemSwatch;
139
+ default: undefined;
140
+ };
141
+ count: {
142
+ type: NumberConstructor;
143
+ default: undefined;
144
+ };
145
+ status: {
146
+ type: () => NavItemStatus;
147
+ default: string;
148
+ };
149
+ selected: {
150
+ type: BooleanConstructor;
151
+ default: boolean;
152
+ };
153
+ disabled: {
154
+ type: BooleanConstructor;
155
+ default: boolean;
156
+ };
157
+ href: {
158
+ type: StringConstructor;
159
+ default: undefined;
160
+ };
161
+ divider: {
162
+ type: BooleanConstructor;
163
+ default: boolean;
164
+ };
165
+ onSelect: {
166
+ type: () => (selected: boolean) => void;
167
+ default: undefined;
168
+ };
169
+ class: {
170
+ type: StringConstructor;
171
+ default: undefined;
172
+ };
173
+ }>> & Readonly<{
174
+ onSelect?: ((_selected: boolean) => any) | undefined;
175
+ }>, {
176
+ class: string;
177
+ caption: string;
178
+ onSelect: (selected: boolean) => void;
179
+ disabled: boolean;
180
+ href: string;
181
+ status: NavItemStatus;
182
+ value: string;
183
+ count: number;
184
+ divider: boolean;
185
+ selected: boolean;
186
+ depth: NavItemDepth;
187
+ swatch: NavItemSwatch;
188
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
189
+ //# sourceMappingURL=NavItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../src/NavItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAMjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;uDAEuD;AACvD,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzC;2DAC2D;AAC3D,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjF,MAAM,MAAM,aAAa,GAAG;IAC1B,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qEAAqE;IACrE,KAAK,CAAC,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAIF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;cAMS,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;cAEnB,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;cAMd,MAAM,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;;;;;;;;;;wBAM5C,OAAO;;;;;;;;;;;;;;;cAfF,MAAM,YAAY;;;;cACjB,MAAM,aAAa;;;;;;;;cAEnB,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;cAMd,MAAM,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI;;;;;;;;;;;;yBAAhB,OAAO,KAAK,IAAI;;;;;;;;;;4EAqHlE,CAAC"}