@aleph-alpha/settings-kit 0.0.0-stage → 1.0.0

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 (174) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +489 -2
  3. package/dist/SkLayout.vue_vue_type_script_setup_true_lang-ZjV2AMdR.js +51 -0
  4. package/dist/SkLayoutPage-DGbCpQFm.js +2545 -0
  5. package/dist/UseFileConvertor-DN6cCXNi.js +50 -0
  6. package/dist/components/SkField/SkField.vue.d.ts +28 -0
  7. package/dist/components/SkField/SkField.vue.d.ts.map +1 -0
  8. package/dist/components/SkField/index.d.ts +2 -0
  9. package/dist/components/SkField/index.d.ts.map +1 -0
  10. package/dist/components/SkGroup/SkGroup.vue.d.ts +29 -0
  11. package/dist/components/SkGroup/SkGroup.vue.d.ts.map +1 -0
  12. package/dist/components/SkGroup/index.d.ts +2 -0
  13. package/dist/components/SkGroup/index.d.ts.map +1 -0
  14. package/dist/components/SkItem/SkItem.vue.d.ts +22 -0
  15. package/dist/components/SkItem/SkItem.vue.d.ts.map +1 -0
  16. package/dist/components/SkItem/index.d.ts +2 -0
  17. package/dist/components/SkItem/index.d.ts.map +1 -0
  18. package/dist/components/SkLayout/SkLayout.vue.d.ts +53 -0
  19. package/dist/components/SkLayout/SkLayout.vue.d.ts.map +1 -0
  20. package/dist/components/SkLayout/SkLayoutPage.d.ts +23 -0
  21. package/dist/components/SkLayout/SkLayoutPage.d.ts.map +1 -0
  22. package/dist/components/SkLayout/context.d.ts +61 -0
  23. package/dist/components/SkLayout/context.d.ts.map +1 -0
  24. package/dist/components/SkLayout/index.d.ts +5 -0
  25. package/dist/components/SkLayout/index.d.ts.map +1 -0
  26. package/dist/components/SkPage/SkPage.vue.d.ts +35 -0
  27. package/dist/components/SkPage/SkPage.vue.d.ts.map +1 -0
  28. package/dist/components/SkPage/index.d.ts +2 -0
  29. package/dist/components/SkPage/index.d.ts.map +1 -0
  30. package/dist/components/SkSection/SkSection.vue.d.ts +29 -0
  31. package/dist/components/SkSection/SkSection.vue.d.ts.map +1 -0
  32. package/dist/components/SkSection/index.d.ts +2 -0
  33. package/dist/components/SkSection/index.d.ts.map +1 -0
  34. package/dist/components/controls/SkActionsControl/SkActionsControl.vue.d.ts +37 -0
  35. package/dist/components/controls/SkActionsControl/SkActionsControl.vue.d.ts.map +1 -0
  36. package/dist/components/controls/SkActionsControl/index.d.ts +2 -0
  37. package/dist/components/controls/SkActionsControl/index.d.ts.map +1 -0
  38. package/dist/components/controls/SkCheckboxControl/SkCheckboxControl.vue.d.ts +35 -0
  39. package/dist/components/controls/SkCheckboxControl/SkCheckboxControl.vue.d.ts.map +1 -0
  40. package/dist/components/controls/SkCheckboxControl/index.d.ts +2 -0
  41. package/dist/components/controls/SkCheckboxControl/index.d.ts.map +1 -0
  42. package/dist/components/controls/SkColorControl/SkColorControl.vue.d.ts +35 -0
  43. package/dist/components/controls/SkColorControl/SkColorControl.vue.d.ts.map +1 -0
  44. package/dist/components/controls/SkColorControl/index.d.ts +2 -0
  45. package/dist/components/controls/SkColorControl/index.d.ts.map +1 -0
  46. package/dist/components/controls/SkFileUpload/SkFilePlaceholder.vue.d.ts +11 -0
  47. package/dist/components/controls/SkFileUpload/SkFilePlaceholder.vue.d.ts.map +1 -0
  48. package/dist/components/controls/SkFileUpload/SkFileUpload.vue.d.ts +46 -0
  49. package/dist/components/controls/SkFileUpload/SkFileUpload.vue.d.ts.map +1 -0
  50. package/dist/components/controls/SkFileUpload/index.d.ts +2 -0
  51. package/dist/components/controls/SkFileUpload/index.d.ts.map +1 -0
  52. package/dist/components/controls/SkPeriodControl/SkPeriodControl.vue.d.ts +35 -0
  53. package/dist/components/controls/SkPeriodControl/SkPeriodControl.vue.d.ts.map +1 -0
  54. package/dist/components/controls/SkPeriodControl/index.d.ts +2 -0
  55. package/dist/components/controls/SkPeriodControl/index.d.ts.map +1 -0
  56. package/dist/components/controls/SkSelectControl/SkSelectControl.vue.d.ts +40 -0
  57. package/dist/components/controls/SkSelectControl/SkSelectControl.vue.d.ts.map +1 -0
  58. package/dist/components/controls/SkSelectControl/index.d.ts +2 -0
  59. package/dist/components/controls/SkSelectControl/index.d.ts.map +1 -0
  60. package/dist/components/controls/SkTelControl/SKTelPrefixControl.vue.d.ts +16 -0
  61. package/dist/components/controls/SkTelControl/SKTelPrefixControl.vue.d.ts.map +1 -0
  62. package/dist/components/controls/SkTelControl/SkTelControl.vue.d.ts +35 -0
  63. package/dist/components/controls/SkTelControl/SkTelControl.vue.d.ts.map +1 -0
  64. package/dist/components/controls/SkTelControl/index.d.ts +4 -0
  65. package/dist/components/controls/SkTelControl/index.d.ts.map +1 -0
  66. package/dist/components/controls/SkTelControl/prefixes.d.ts +26 -0
  67. package/dist/components/controls/SkTelControl/prefixes.d.ts.map +1 -0
  68. package/dist/components/controls/SkTextControl/SkTextControl.vue.d.ts +45 -0
  69. package/dist/components/controls/SkTextControl/SkTextControl.vue.d.ts.map +1 -0
  70. package/dist/components/controls/SkTextControl/index.d.ts +2 -0
  71. package/dist/components/controls/SkTextControl/index.d.ts.map +1 -0
  72. package/dist/components/controls/SkUnsupportedControl/SkUnsupportedControl.vue.d.ts +8 -0
  73. package/dist/components/controls/SkUnsupportedControl/SkUnsupportedControl.vue.d.ts.map +1 -0
  74. package/dist/components/controls/storyEventLog.d.ts +33 -0
  75. package/dist/components/controls/storyEventLog.d.ts.map +1 -0
  76. package/dist/components/index.d.ts +8 -0
  77. package/dist/components/index.d.ts.map +1 -0
  78. package/dist/components/index.js +14 -0
  79. package/dist/composables/UseFileConvertor/UseFileConvertor.d.ts +7 -0
  80. package/dist/composables/UseFileConvertor/UseFileConvertor.d.ts.map +1 -0
  81. package/dist/composables/index.d.ts +14 -0
  82. package/dist/composables/index.d.ts.map +1 -0
  83. package/dist/composables/useFieldInheritance/useFieldInheritance.d.ts +24 -0
  84. package/dist/composables/useFieldInheritance/useFieldInheritance.d.ts.map +1 -0
  85. package/dist/composables/useFieldValidator/useFieldValidator.d.ts +50 -0
  86. package/dist/composables/useFieldValidator/useFieldValidator.d.ts.map +1 -0
  87. package/dist/composables/useSettingField/useSettingField.d.ts +24 -0
  88. package/dist/composables/useSettingField/useSettingField.d.ts.map +1 -0
  89. package/dist/composables/useSettingsForm/useSettingsForm.d.ts +12 -0
  90. package/dist/composables/useSettingsForm/useSettingsForm.d.ts.map +1 -0
  91. package/dist/composables/useSettingsLayout/useSettingsLayout.d.ts +71 -0
  92. package/dist/composables/useSettingsLayout/useSettingsLayout.d.ts.map +1 -0
  93. package/dist/composables/useSettingsLocale/useSettingsLocale.d.ts +38 -0
  94. package/dist/composables/useSettingsLocale/useSettingsLocale.d.ts.map +1 -0
  95. package/dist/composables/useStateManager/useStateManager.d.ts +10 -0
  96. package/dist/composables/useStateManager/useStateManager.d.ts.map +1 -0
  97. package/dist/core/controls/controlDefinitions.d.ts +33 -0
  98. package/dist/core/controls/controlDefinitions.d.ts.map +1 -0
  99. package/dist/core/controls/index.d.ts +26 -0
  100. package/dist/core/controls/index.d.ts.map +1 -0
  101. package/dist/core/index.d.ts +18 -0
  102. package/dist/core/index.d.ts.map +1 -0
  103. package/dist/core/layout/index.d.ts +8 -0
  104. package/dist/core/layout/index.d.ts.map +1 -0
  105. package/dist/core/layout/navigation.d.ts +33 -0
  106. package/dist/core/layout/navigation.d.ts.map +1 -0
  107. package/dist/core/layout/resolve.d.ts +41 -0
  108. package/dist/core/layout/resolve.d.ts.map +1 -0
  109. package/dist/core/layout/types.d.ts +160 -0
  110. package/dist/core/layout/types.d.ts.map +1 -0
  111. package/dist/core/layout/validate.d.ts +26 -0
  112. package/dist/core/layout/validate.d.ts.map +1 -0
  113. package/dist/core/types.d.ts +541 -0
  114. package/dist/core/types.d.ts.map +1 -0
  115. package/dist/core/useControlModel.d.ts +13 -0
  116. package/dist/core/useControlModel.d.ts.map +1 -0
  117. package/dist/core/utils/a11y.d.ts +25 -0
  118. package/dist/core/utils/a11y.d.ts.map +1 -0
  119. package/dist/core/utils/cast.d.ts +8 -0
  120. package/dist/core/utils/cast.d.ts.map +1 -0
  121. package/dist/core/utils/consts.d.ts +978 -0
  122. package/dist/core/utils/consts.d.ts.map +1 -0
  123. package/dist/core/utils/kitMessages.d.ts +165 -0
  124. package/dist/core/utils/kitMessages.d.ts.map +1 -0
  125. package/dist/core/utils/localizedText.d.ts +10 -0
  126. package/dist/core/utils/localizedText.d.ts.map +1 -0
  127. package/dist/core/utils/useName.d.ts +7 -0
  128. package/dist/core/utils/useName.d.ts.map +1 -0
  129. package/dist/core/validate/constraints.d.ts +20 -0
  130. package/dist/core/validate/constraints.d.ts.map +1 -0
  131. package/dist/core/validate/rules.d.ts +29 -0
  132. package/dist/core/validate/rules.d.ts.map +1 -0
  133. package/dist/favicon.ico +0 -0
  134. package/dist/generators/defineSettingUnit.d.ts +12 -0
  135. package/dist/generators/defineSettingUnit.d.ts.map +1 -0
  136. package/dist/generators/index.d.ts +2 -0
  137. package/dist/generators/index.d.ts.map +1 -0
  138. package/dist/generators/index.js +13 -0
  139. package/dist/index-BQ6z6MK4.js +214 -0
  140. package/dist/index-BXs-0JdT.js +168 -0
  141. package/dist/index-BynIH0EE.js +92 -0
  142. package/dist/index-C-WLhRod.js +100 -0
  143. package/dist/index-CFMv8jSO.js +4 -0
  144. package/dist/index-CGYERet5.js +373 -0
  145. package/dist/index-KAbhkO1J.js +81 -0
  146. package/dist/index.d.ts +11 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +52 -0
  149. package/dist/service/index.d.ts +2 -0
  150. package/dist/service/index.d.ts.map +1 -0
  151. package/dist/shell/SkShell.vue.d.ts +80 -0
  152. package/dist/shell/SkShell.vue.d.ts.map +1 -0
  153. package/dist/shell/SkShellFrame.vue.d.ts +46 -0
  154. package/dist/shell/SkShellFrame.vue.d.ts.map +1 -0
  155. package/dist/shell/SkShellNav.vue.d.ts +19 -0
  156. package/dist/shell/SkShellNav.vue.d.ts.map +1 -0
  157. package/dist/shell/history.d.ts +9 -0
  158. package/dist/shell/history.d.ts.map +1 -0
  159. package/dist/shell/index.d.ts +12 -0
  160. package/dist/shell/index.d.ts.map +1 -0
  161. package/dist/shell/index.js +848 -0
  162. package/dist/shell/labels.d.ts +25 -0
  163. package/dist/shell/labels.d.ts.map +1 -0
  164. package/dist/shell/location.d.ts +18 -0
  165. package/dist/shell/location.d.ts.map +1 -0
  166. package/dist/shell/routes.d.ts +19 -0
  167. package/dist/shell/routes.d.ts.map +1 -0
  168. package/dist/shell/useMediaQuery.d.ts +4 -0
  169. package/dist/shell/useMediaQuery.d.ts.map +1 -0
  170. package/dist/shell/useShellLocation.d.ts +37 -0
  171. package/dist/shell/useShellLocation.d.ts.map +1 -0
  172. package/dist/types.d.ts +17 -0
  173. package/dist/types.d.ts.map +1 -0
  174. package/package.json +110 -3
@@ -0,0 +1,25 @@
1
+ /** Every piece of text the shell chrome renders itself. */
2
+ export interface SkShellLabels {
3
+ /** Title beside the back control; also names the top bar. */
4
+ title: string;
5
+ /** Accessible name and tooltip of the back control. */
6
+ back: string;
7
+ /** Tooltip of the sidebar toggles. */
8
+ toggleSidebar: string;
9
+ /** Accessible name of the page navigation landmark. */
10
+ navigation: string;
11
+ /** Accessible name of the layout switch. */
12
+ layout: string;
13
+ /** The layout option without the content sidebar. */
14
+ focusLayout: string;
15
+ /** The layout option with the content sidebar. */
16
+ sidebarLayout: string;
17
+ /** Appended to a page link whose page has errors. */
18
+ pageHasErrors: string;
19
+ }
20
+ /**
21
+ * English text of the shell chrome, from the kit wording (`shell.*`).
22
+ * `SkShell` uses the wording of the current locale. Pass `labels` to replace any of it.
23
+ */
24
+ export declare const defaultShellLabels: SkShellLabels;
25
+ //# sourceMappingURL=labels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../src/shell/labels.ts"],"names":[],"mappings":"AAKA,2DAA2D;AAC3D,MAAM,WAAW,aAAa;IAC5B,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,aAAa,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,aAShC,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** Prefix the shell owns. Empty means the site root. */
2
+ export declare function normalizeShellBase(base: string | undefined): string;
3
+ /** Page path (`/appearance/branding`) joined onto `base`. */
4
+ export declare function shellPath(base: string | undefined, pagePath: string): string;
5
+ /**
6
+ * Page path under `base`, or `undefined` when `fullPath` is outside it.
7
+ * The base matches regardless of letter case, like vue-router's own base;
8
+ * the base itself (`/admin/settings` and `/admin/settings/`) is `/`.
9
+ */
10
+ export declare function pagePath(base: string | undefined, fullPath: string): string | undefined;
11
+ /** History locations are already relative to their own base. */
12
+ export declare function historyPath(location: string): string;
13
+ /** A location split into its pathname and the `?query#hash` after it. */
14
+ export declare function splitLocation(location: string): {
15
+ path: string;
16
+ suffix: string;
17
+ };
18
+ //# sourceMappingURL=location.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/shell/location.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMnE;AAED,6DAA6D;AAC7D,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CASpB;AAED,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAQA"}
@@ -0,0 +1,19 @@
1
+ import type { ResolvedLayout } from '../core/layout';
2
+ /** One settings page as the shell routes it. */
3
+ export interface ShellRoute {
4
+ /** Page id across the layout: `<category>/<page>`, segments encoded. */
5
+ id: string;
6
+ /** Path relative to the shell base: always `/<category>/<page>`. */
7
+ path: string;
8
+ }
9
+ /** One route per resolved page, in display order. */
10
+ export declare function createShellRoutes(layout: ResolvedLayout): ShellRoute[];
11
+ /**
12
+ * Route for a page path. Segments are compared decoded, without trailing
13
+ * slashes; an exact match wins over one that differs only in letter case,
14
+ * so `/Appearance/Branding/` opens `/appearance/branding`.
15
+ */
16
+ export declare function findShellRoute(routes: readonly ShellRoute[], path: string): ShellRoute | undefined;
17
+ /** Canonical form: no trailing slash, every segment decoded then re-encoded. */
18
+ export declare function normalizeRoutePath(path: string): string;
19
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/shell/routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,EAAE,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,IAAI,EAAE,MAAM,GACX,UAAU,GAAG,SAAS,CAUxB;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMvD"}
@@ -0,0 +1,4 @@
1
+ import { type Ref } from 'vue';
2
+ /** Whether `query` matches; `false` where `matchMedia` is unavailable (SSR, JSDOM). */
3
+ export declare function useMediaQuery(query: string): Ref<boolean>;
4
+ //# sourceMappingURL=useMediaQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/shell/useMediaQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAErD,uFAAuF;AACvF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,CAWzD"}
@@ -0,0 +1,37 @@
1
+ import { type ComputedRef, type MaybeRefOrGetter } from 'vue';
2
+ import { type ShellRoute } from './routes';
3
+ /** Options for `useShellLocation`. */
4
+ export interface UseShellLocationOptions {
5
+ /** Pages the shell can show, in display order. */
6
+ routes: MaybeRefOrGetter<readonly ShellRoute[]>;
7
+ /** URL prefix of the settings pages, e.g. `/admin/settings`. */
8
+ base?: MaybeRefOrGetter<string | undefined>;
9
+ }
10
+ /** What `useShellLocation` returns. */
11
+ export interface ShellLocation {
12
+ /** Id of the page on screen; the first page when the URL names none. */
13
+ activeId: ComputedRef<string | undefined>;
14
+ /** Opens a page by id and pushes its URL where the shell may. */
15
+ openPage: (id: string | undefined) => void;
16
+ /** `href` for a page link, ready for `<a>`. */
17
+ hrefOf: (id: string) => string;
18
+ }
19
+ /**
20
+ * Active settings page for one shell, synced with the URL through exactly
21
+ * one source. Nothing is registered on the app:
22
+ *
23
+ * 1. An injected history (`skShellHistoryKey`), e.g. a memory history.
24
+ * 2. The host router, when one is installed. The shell navigates only to
25
+ * targets that still match the route record that rendered it, and leaves
26
+ * the URL alone once the host has navigated elsewhere (or a `KeepAlive`
27
+ * has deactivated it). An unknown page path is redirected only under an
28
+ * explicit `base`.
29
+ * 3. Otherwise a private `createWebHistory(base)`, destroyed on unmount and
30
+ * recreated when `base` changes. It never writes a URL outside `base`.
31
+ *
32
+ * A failed or blocked navigation re-reads the real location, so the shell
33
+ * always shows the page the URL names. Query and hash survive a canonical
34
+ * rewrite. Without `window` (SSR) the first page renders and no URL is read.
35
+ */
36
+ export declare function useShellLocation(options: UseShellLocationOptions): ShellLocation;
37
+ //# sourceMappingURL=useShellLocation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShellLocation.d.ts","sourceRoot":"","sources":["../../src/shell/useShellLocation.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACtB,MAAM,KAAK,CAAC;AAiBb,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE/E,sCAAsC;AACtC,MAAM,WAAW,uBAAuB;IACtC,kDAAkD;IAClD,MAAM,EAAE,gBAAgB,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IAChD,gEAAgE;IAChE,IAAI,CAAC,EAAE,gBAAgB,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C;AAED,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,EAAE,WAAW,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC1C,iEAAiE;IACjE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3C,+CAA+C;IAC/C,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,uBAAuB,GAC/B,aAAa,CAyOf"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * A setting unit is the smallest self-contained description of a single
3
+ * user-facing setting: its identity, copy, and default value.
4
+ */
5
+ export interface SettingUnit<TValue = unknown> {
6
+ /** Unique identifier of the setting, used as storage key and DOM id. */
7
+ id: string;
8
+ /** Human-readable label shown next to the setting control. */
9
+ label: string;
10
+ /** Optional supporting copy explaining what the setting does. */
11
+ description?: string;
12
+ /** Value used when the setting has not been changed by the user. */
13
+ defaultValue: TValue;
14
+ }
15
+ /** A boolean on/off setting rendered as a toggle switch. */
16
+ export type ToggleSettingUnit = SettingUnit<boolean>;
17
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,WAAW,CAAC,MAAM,GAAG,OAAO;IAC3C,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,4DAA4D;AAC5D,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,113 @@
1
1
  {
2
2
  "name": "@aleph-alpha/settings-kit",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "1.0.0",
4
+ "description": "Turns a settings schema and layout into accessible admin screens for Vue applications",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./components": {
15
+ "types": "./dist/components/index.d.ts",
16
+ "import": "./dist/components/index.js"
17
+ },
18
+ "./generators": {
19
+ "types": "./dist/generators/index.d.ts",
20
+ "import": "./dist/generators/index.js"
21
+ },
22
+ "./units": {
23
+ "types": "./dist/generators/index.d.ts",
24
+ "import": "./dist/generators/index.js"
25
+ },
26
+ "./shell": {
27
+ "types": "./dist/shell/index.d.ts",
28
+ "import": "./dist/shell/index.js"
29
+ },
30
+ "./package.json": "./package.json"
31
+ },
32
+ "files": [
33
+ "dist"
34
+ ],
35
+ "keywords": [
36
+ "settings",
37
+ "vue",
38
+ "typescript",
39
+ "kit"
40
+ ],
41
+ "author": "Pharia AI",
42
+ "license": "MIT",
43
+ "engines": {
44
+ "node": ">=22.13.0"
45
+ },
46
+ "publishConfig": {
47
+ "access": "public"
48
+ },
49
+ "repository": {
50
+ "type": "git",
51
+ "url": "git+https://github.com/Aleph-Alpha/frontend-hub.git",
52
+ "directory": "packages/settings-kit"
53
+ },
54
+ "peerDependencies": {
55
+ "@aleph-alpha/ui-library": "^7.0.1",
56
+ "vue": "^3.5.27",
57
+ "vue-router": "^4.1.0"
58
+ },
59
+ "peerDependenciesMeta": {
60
+ "vue-router": {
61
+ "optional": true
62
+ }
63
+ },
64
+ "devDependencies": {
65
+ "@aleph-alpha/ui-library": "^7.0.1",
66
+ "concurrently": "9.2.1",
67
+ "http-server": "14.1.1",
68
+ "jsdom": "^25.0.1",
69
+ "storybook": "10.2.17",
70
+ "@storybook/addon-a11y": "10.2.17",
71
+ "@storybook/addon-docs": "10.2.17",
72
+ "@storybook/addon-themes": "10.2.17",
73
+ "@storybook/vue3-vite": "10.2.17",
74
+ "@testing-library/jest-dom": "6.9.1",
75
+ "@testing-library/user-event": "^14.6.1",
76
+ "@testing-library/vue": "8.1.0",
77
+ "@types/node": "^25.1.0",
78
+ "typescript": "^5.9.3",
79
+ "unocss": "^66.6.2",
80
+ "unocss-preset-animations": "^1.3.0",
81
+ "unocss-preset-shadcn": "^1.0.1",
82
+ "@unocss/preset-wind4": "^66.6.2",
83
+ "@unocss/reset": "^66.6.2",
84
+ "vite": "^7.3.2",
85
+ "@vitejs/plugin-vue": "^6.0.3",
86
+ "vitest": "3.2.6",
87
+ "vue": "^3.5.27",
88
+ "vue-router": "4.6.4",
89
+ "vue-tsc": "^3.2.4",
90
+ "wait-on": "9.0.3",
91
+ "@aleph-alpha/eslint-config-frontend": "0.7.1",
92
+ "@aleph-alpha/prettier-config-frontend": "2.1.1",
93
+ "@aleph-alpha/storybook-addon-filters": "0.0.1",
94
+ "@aleph-alpha/storybook-addon-sidebar": "0.0.1",
95
+ "@aleph-alpha/storybook-addon-theming": "0.0.1",
96
+ "@aleph-alpha/tsconfig-frontend": "0.7.3"
97
+ },
98
+ "scripts": {
99
+ "build": "vite build && vue-tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir dist",
100
+ "dev": "vite build --watch",
101
+ "playground": "vite playground",
102
+ "showcase": "vite showcase",
103
+ "build:showcase": "vite build showcase",
104
+ "typecheck": "vue-tsc --noEmit",
105
+ "test": "vitest run",
106
+ "format": "prettier --write .",
107
+ "lint": "prettier --check . && eslint --fix src",
108
+ "storybook": "storybook dev -p 6009",
109
+ "build-storybook": "storybook build",
110
+ "test:storybook": "pnpm concurrently -k --ks SIGKILL -s command-test -n \"storybook,test\" \"pnpm http-server ../../dist/storybook/settings-kit --port 4404 --silent\" \"wait-on tcp:4404 && test-storybook --url http://127.0.0.1:4404\"",
111
+ "test:storybook:local": "pnpm build-storybook && pnpm concurrently -k --ks SIGKILL -s command-test -n \"storybook,test\" \"pnpm http-server storybook-static --port 4404 --silent\" \"wait-on tcp:4404 && test-storybook --url http://127.0.0.1:4404\""
112
+ }
6
113
  }