@cfasim-ui/components 0.7.7 → 0.8.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 (89) hide show
  1. package/dist/Box/Box.d.ts +7 -11
  2. package/dist/Button/Button.d.ts +7 -11
  3. package/dist/ButtonGroup/ButtonGroup.d.ts +8 -12
  4. package/dist/Container/Container.d.ts +7 -11
  5. package/dist/Expander/Expander.d.ts +12 -14
  6. package/dist/Grid/Grid.d.ts +6 -5
  7. package/dist/Hint/Hint.d.ts +2 -1
  8. package/dist/Icon/Icon.d.ts +3 -2
  9. package/dist/LightDarkToggle/LightDarkToggle.d.ts +2 -1
  10. package/dist/MultiSelect/MultiSelect.d.ts +6 -6
  11. package/dist/NumberInput/NumberInput.d.ts +13 -11
  12. package/dist/ParamEditor/ParamEditor.d.ts +3 -2
  13. package/dist/ParamEditor/ParamEditorImpl.d.ts +3 -5
  14. package/dist/{ParamEditorImpl-D0xZTyAN.js → ParamEditorImpl-CkElC6PI.js} +3075 -3041
  15. package/dist/SelectBox/SelectBox.d.ts +8 -6
  16. package/dist/{SelectBox-CByXZfaC.js → SelectBox-Df8dE2r-.js} +6 -6
  17. package/dist/SidebarLayout/SidebarLayout.d.ts +21 -20
  18. package/dist/Spinner/Spinner.d.ts +3 -2
  19. package/dist/TextInput/TextInput.d.ts +7 -5
  20. package/dist/Toggle/Toggle.d.ts +8 -6
  21. package/dist/ToggleGroup/ToggleGroup.d.ts +8 -6
  22. package/dist/_internal/FieldLabel.d.ts +2 -1
  23. package/dist/index.js +20 -20
  24. package/docs/Box.md +49 -0
  25. package/docs/Button.md +67 -0
  26. package/docs/ButtonGroup.md +64 -0
  27. package/docs/Container.md +103 -0
  28. package/docs/Expander.md +34 -0
  29. package/docs/Grid.md +170 -0
  30. package/docs/Hint.md +29 -0
  31. package/docs/Icon.md +188 -0
  32. package/docs/MultiSelect.md +143 -0
  33. package/docs/NumberInput.md +485 -0
  34. package/docs/ParamEditor.md +97 -0
  35. package/docs/SelectBox.md +182 -0
  36. package/docs/SidebarLayout.md +106 -0
  37. package/docs/Spinner.md +51 -0
  38. package/docs/TextInput.md +83 -0
  39. package/docs/Toggle.md +81 -0
  40. package/docs/ToggleGroup.md +163 -0
  41. package/docs/index.json +194 -0
  42. package/package.json +24 -20
  43. package/src/Box/Box.md +41 -0
  44. package/src/Box/Box.vue +52 -0
  45. package/src/Button/Button.md +59 -0
  46. package/src/Button/Button.vue +81 -0
  47. package/src/ButtonGroup/ButtonGroup.md +62 -0
  48. package/src/ButtonGroup/ButtonGroup.vue +91 -0
  49. package/src/Container/Container.md +99 -0
  50. package/src/Container/Container.vue +62 -0
  51. package/src/Expander/Expander.md +23 -0
  52. package/src/Expander/Expander.vue +95 -0
  53. package/src/Grid/Grid.md +175 -0
  54. package/src/Grid/Grid.vue +145 -0
  55. package/src/Hint/Hint.md +24 -0
  56. package/src/Hint/Hint.vue +83 -0
  57. package/src/Icon/Icon.md +176 -0
  58. package/src/Icon/Icon.vue +104 -0
  59. package/src/Icon/defaultIcons.ts +92 -0
  60. package/src/Icon/github.svg +1 -0
  61. package/src/Icon/registry.ts +68 -0
  62. package/src/LightDarkToggle/LightDarkToggle.vue +49 -0
  63. package/src/MultiSelect/MultiSelect.md +142 -0
  64. package/src/MultiSelect/MultiSelect.vue +279 -0
  65. package/src/NumberInput/NumberInput.md +455 -0
  66. package/src/NumberInput/NumberInput.vue +575 -0
  67. package/src/ParamEditor/ParamEditor.md +87 -0
  68. package/src/ParamEditor/ParamEditor.vue +43 -0
  69. package/src/ParamEditor/ParamEditorImpl.vue +358 -0
  70. package/src/SelectBox/SelectBox.md +169 -0
  71. package/src/SelectBox/SelectBox.vue +260 -0
  72. package/src/SidebarLayout/SidebarLayout.md +106 -0
  73. package/src/SidebarLayout/SidebarLayout.vue +468 -0
  74. package/src/Spinner/Spinner.md +45 -0
  75. package/src/Spinner/Spinner.vue +55 -0
  76. package/src/TextInput/TextInput.md +68 -0
  77. package/src/TextInput/TextInput.vue +54 -0
  78. package/src/Toggle/Toggle.md +68 -0
  79. package/src/Toggle/Toggle.vue +81 -0
  80. package/src/ToggleGroup/ToggleGroup.md +158 -0
  81. package/src/ToggleGroup/ToggleGroup.vue +138 -0
  82. package/src/_internal/FieldLabel.vue +27 -0
  83. package/src/_internal/field.ts +27 -0
  84. package/src/_internal/gap.ts +17 -0
  85. package/src/_internal/input.css +54 -0
  86. package/src/_internal/listbox.css +53 -0
  87. package/src/env.d.ts +4 -0
  88. package/src/index.ts +33 -0
  89. package/src/svg.d.ts +5 -0
@@ -10,12 +10,14 @@ interface Props extends FieldProps {
10
10
  autocomplete?: boolean;
11
11
  }
12
12
  type __VLS_Props = Props;
13
- type __VLS_PublicProps = {
13
+ type __VLS_ModelProps = {
14
14
  modelValue?: string;
15
- } & __VLS_Props;
16
- declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
17
- "update:modelValue": (value: string) => any;
15
+ };
16
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
17
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
18
+ "update:modelValue": (value: string | undefined) => any;
18
19
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
20
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
21
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
22
+ declare const _default: typeof __VLS_export;
21
23
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, mergeModels as l, mergeProps as u, normalizeClass as d, normalizeStyle as f, openBlock as p, renderList as m, renderSlot as h, resolveDynamicComponent as g, toDisplayString as _, unref as v, useModel as y, withCtx as b, withModifiers as x } from "vue";
2
2
  import { ComboboxAnchor as ee, ComboboxContent as te, ComboboxEmpty as ne, ComboboxInput as re, ComboboxItem as ie, ComboboxItemIndicator as ae, ComboboxPortal as oe, ComboboxRoot as se, ComboboxTrigger as ce, ComboboxViewport as le, Primitive as S, SelectContent as C, SelectItem as w, SelectItemIndicator as T, SelectItemText as E, SelectPortal as D, SelectRoot as O, SelectTrigger as k, SelectValue as A, SelectViewport as j, TooltipArrow as M, TooltipContent as N, TooltipPortal as P, TooltipProvider as F, TooltipRoot as I, TooltipTrigger as L, useId as R } from "reka-ui";
3
3
  //#region src/Box/Box.vue?vue&type=script&setup=true&lang.ts
4
- var z = ["role"], B = /* @__PURE__ */ c({
4
+ var z = ["role"], B = /*@__PURE__*/ c({
5
5
  __name: "Box",
6
6
  props: {
7
7
  variant: {},
@@ -23,7 +23,7 @@ var z = ["role"], B = /* @__PURE__ */ c({
23
23
  let n = e.__vccOpts || e;
24
24
  for (let [e, r] of t) n[e] = r;
25
25
  return n;
26
- }, H = /* @__PURE__ */ V(B, [["__scopeId", "data-v-d7342c02"]]), U = /* @__PURE__ */ V(/* @__PURE__ */ c({
26
+ }, H = /*#__PURE__*/ V(B, [["__scopeId", "data-v-d7342c02"]]), U = /*#__PURE__*/ V(/* @__PURE__ */ c({
27
27
  __name: "Button",
28
28
  props: {
29
29
  label: {},
@@ -71,7 +71,7 @@ function pe(e) {
71
71
  q.has(e) || (q.add(e), console.warn(`[cfasim-ui] Icon "${e}" is not registered — nothing will render.\nRegister it once at startup:\n\n${fe(e)}\n\nRequires dev deps "@material-symbols/svg-400" + "vite-svg-loader".\nDocs: https://cdcgov.github.io/cfa-simulator/docs/cfasim-ui/components/icon#registering-icons`));
72
72
  }
73
73
  //#endregion
74
- //#region ../../node_modules/.pnpm/@material-symbols+svg-400@0.44.10/node_modules/@material-symbols/svg-400/outlined/help.svg?component
74
+ //#region ../../node_modules/.pnpm/@material-symbols+svg-400@0.45.8/node_modules/@material-symbols/svg-400/outlined/help.svg?component
75
75
  var me = {
76
76
  xmlns: "http://www.w3.org/2000/svg",
77
77
  viewBox: "0 -960 960 960"
@@ -348,7 +348,7 @@ var Vt = [
348
348
  role: e.decorative ? void 0 : "img"
349
349
  }, [c.value ? (p(), n(g(c.value), { key: 0 })) : r("", !0)], 12, Vt));
350
350
  }
351
- }), Z = /* @__PURE__ */ V(/* @__PURE__ */ c({
351
+ }), Z = /*#__PURE__*/ V(/* @__PURE__ */ c({
352
352
  __name: "Hint",
353
353
  props: { text: {} },
354
354
  setup(e) {
@@ -430,9 +430,9 @@ var Ut = { class: "select-box" }, Wt = {
430
430
  }, Gt = {
431
431
  class: "select-icon",
432
432
  "aria-hidden": "true"
433
- }, Kt = /* @__PURE__ */ V(/* @__PURE__ */ c({
433
+ }, Kt = /*#__PURE__*/ V(/* @__PURE__ */ c({
434
434
  __name: "SelectBox",
435
- props: /* @__PURE__ */ l({
435
+ props: /*@__PURE__*/ l({
436
436
  options: {},
437
437
  placeholder: {},
438
438
  autocomplete: { type: Boolean },
@@ -7,30 +7,31 @@ type __VLS_Props = {
7
7
  hideTopbar?: boolean;
8
8
  tabs?: Tab[];
9
9
  };
10
- type __VLS_PublicProps = {
10
+ type __VLS_ModelProps = {
11
11
  "tab"?: string;
12
- } & __VLS_Props;
13
- declare function __VLS_template(): {
14
- attrs: Partial<{}>;
15
- slots: {
16
- sidebar?(_: {}): any;
17
- topbar?(_: {}): any;
18
- topbar?(_: {}): any;
19
- default?(_: {}): any;
20
- default?(_: {}): any;
21
- };
22
- refs: {};
23
- rootEl: HTMLDivElement;
24
12
  };
25
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
26
- declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
27
- "update:tab": (value: string) => any;
13
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
14
+ declare var __VLS_6: {}, __VLS_43: {}, __VLS_50: {}, __VLS_57: {}, __VLS_64: {};
15
+ type __VLS_Slots = {} & {
16
+ sidebar?: (props: typeof __VLS_6) => any;
17
+ } & {
18
+ topbar?: (props: typeof __VLS_43) => any;
19
+ } & {
20
+ default?: (props: typeof __VLS_50) => any;
21
+ } & {
22
+ topbar?: (props: typeof __VLS_57) => any;
23
+ } & {
24
+ default?: (props: typeof __VLS_64) => any;
25
+ };
26
+ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
27
+ "update:tab": (value: string | undefined) => any;
28
28
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
29
- "onUpdate:tab"?: ((value: string) => any) | undefined;
30
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
31
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
+ "onUpdate:tab"?: ((value: string | undefined) => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
32
+ declare const _default: typeof __VLS_export;
32
33
  export default _default;
33
- type __VLS_WithTemplateSlots<T, S> = T & {
34
+ type __VLS_WithSlots<T, S> = T & {
34
35
  new (): {
35
36
  $slots: S;
36
37
  };
@@ -3,7 +3,8 @@ type __VLS_Props = {
3
3
  size?: SpinnerSize;
4
4
  label?: string;
5
5
  };
6
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
7
7
  size: SpinnerSize;
8
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
8
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ declare const _default: typeof __VLS_export;
9
10
  export default _default;
@@ -3,12 +3,14 @@ interface Props extends FieldProps {
3
3
  placeholder?: string;
4
4
  }
5
5
  type __VLS_Props = Props;
6
- type __VLS_PublicProps = {
6
+ type __VLS_ModelProps = {
7
7
  modelValue?: string;
8
- } & __VLS_Props;
9
- declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
- "update:modelValue": (value: string) => any;
8
+ };
9
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "update:modelValue": (value: string | undefined) => any;
11
12
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
12
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
13
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
13
14
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: typeof __VLS_export;
14
16
  export default _default;
@@ -3,12 +3,14 @@ type __VLS_Props = {
3
3
  hint?: string;
4
4
  disabled?: boolean;
5
5
  };
6
- type __VLS_PublicProps = {
6
+ type __VLS_ModelProps = {
7
7
  modelValue?: boolean;
8
- } & __VLS_Props;
9
- declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
10
- "update:modelValue": (value: boolean) => any;
8
+ };
9
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
10
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
11
+ "update:modelValue": (value: boolean | undefined) => any;
11
12
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
12
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
13
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
13
+ "onUpdate:modelValue"?: ((value: boolean | undefined) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: typeof __VLS_export;
14
16
  export default _default;
@@ -11,14 +11,16 @@ interface Props extends FieldProps {
11
11
  orientation?: "horizontal" | "vertical";
12
12
  }
13
13
  type __VLS_Props = Props;
14
- type __VLS_PublicProps = {
14
+ type __VLS_ModelProps = {
15
15
  modelValue?: string | string[];
16
- } & __VLS_Props;
17
- declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
18
- "update:modelValue": (value: string | string[]) => any;
16
+ };
17
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
18
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
+ "update:modelValue": (value: string | string[] | undefined) => any;
19
20
  }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
- "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
21
+ "onUpdate:modelValue"?: ((value: string | string[] | undefined) => any) | undefined;
21
22
  }>, {
22
23
  orientation: "horizontal" | "vertical";
23
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
24
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
25
+ declare const _default: typeof __VLS_export;
24
26
  export default _default;
@@ -6,5 +6,6 @@ type __VLS_Props = {
6
6
  /** `for` attribute, for fields whose control is a real labelable element. */
7
7
  htmlFor?: string;
8
8
  };
9
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
10
11
  export default _default;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./SelectBox-CByXZfaC.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c, u as l } from "./SelectBox-Df8dE2r-.js";
2
2
  import { Fragment as u, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createTextVNode as g, createVNode as _, defineAsyncComponent as v, defineComponent as y, getCurrentInstance as ee, mergeModels as b, mergeProps as x, nextTick as te, normalizeClass as S, normalizeStyle as C, onMounted as ne, onUnmounted as w, openBlock as T, ref as E, renderList as D, renderSlot as O, resolveDynamicComponent as re, toDisplayString as k, unref as A, useModel as j, vModelText as M, watch as N, withCtx as P, withDirectives as F, withKeys as I } from "vue";
3
3
  import { CollapsibleContent as L, CollapsibleRoot as ie, CollapsibleTrigger as R, ComboboxAnchor as z, ComboboxContent as B, ComboboxEmpty as ae, ComboboxInput as oe, ComboboxItem as V, ComboboxItemIndicator as H, ComboboxPortal as se, ComboboxRoot as U, ComboboxTrigger as W, ComboboxViewport as G, SliderRange as ce, SliderRoot as le, SliderThumb as ue, SliderTrack as de, SwitchRoot as K, SwitchThumb as q, TabsIndicator as fe, TabsList as pe, TabsRoot as me, TabsTrigger as J, ToggleGroupItem as he, ToggleGroupRoot as ge, useId as Y } from "reka-ui";
4
4
  //#region \0rolldown/runtime.js
5
- var X = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), Z = ["data-orientation", "aria-label"], _e = /* @__PURE__ */ l(/* @__PURE__ */ y({
5
+ var X = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), Z = ["data-orientation", "aria-label"], _e = /*#__PURE__*/ l(/* @__PURE__ */ y({
6
6
  __name: "ButtonGroup",
7
7
  props: {
8
8
  ariaLabel: {},
@@ -27,7 +27,7 @@ function ve(e, t = "medium") {
27
27
  }
28
28
  //#endregion
29
29
  //#region src/Container/Container.vue
30
- var ye = /* @__PURE__ */ l(/* @__PURE__ */ y({
30
+ var ye = /*#__PURE__*/ l(/* @__PURE__ */ y({
31
31
  __name: "Container",
32
32
  props: {
33
33
  border: { type: Boolean },
@@ -52,9 +52,9 @@ var ye = /* @__PURE__ */ l(/* @__PURE__ */ y({
52
52
  })
53
53
  }, [O(t.$slots, "default", {}, void 0, !0)], 6));
54
54
  }
55
- }), [["__scopeId", "data-v-bff01edb"]]), be = /* @__PURE__ */ l(/* @__PURE__ */ y({
55
+ }), [["__scopeId", "data-v-bff01edb"]]), be = /*#__PURE__*/ l(/* @__PURE__ */ y({
56
56
  __name: "Expander",
57
- props: /* @__PURE__ */ b({ label: {} }, {
57
+ props: /*@__PURE__*/ b({ label: {} }, {
58
58
  open: {
59
59
  type: Boolean,
60
60
  default: !1
@@ -107,7 +107,7 @@ function Ee(e) {
107
107
  }
108
108
  //#endregion
109
109
  //#region src/Grid/Grid.vue
110
- var De = /* @__PURE__ */ l(/* @__PURE__ */ y({
110
+ var De = /*#__PURE__*/ l(/* @__PURE__ */ y({
111
111
  __name: "Grid",
112
112
  props: {
113
113
  cols: {},
@@ -134,7 +134,7 @@ var De = /* @__PURE__ */ l(/* @__PURE__ */ y({
134
134
  })
135
135
  }, [O(e.$slots, "default", {}, void 0, !0)], 4)], 8, xe));
136
136
  }
137
- }), [["__scopeId", "data-v-7ae87f0f"]]), Oe = ["aria-label"], ke = /* @__PURE__ */ l(/* @__PURE__ */ y({
137
+ }), [["__scopeId", "data-v-7ae87f0f"]]), Oe = ["aria-label"], ke = /*#__PURE__*/ l(/* @__PURE__ */ y({
138
138
  __name: "LightDarkToggle",
139
139
  setup(t) {
140
140
  let n = E(window.matchMedia("(prefers-color-scheme: dark)").matches);
@@ -157,9 +157,9 @@ var De = /* @__PURE__ */ l(/* @__PURE__ */ y({
157
157
  }, Me = { class: "multi-select-chip-label" }, Ne = ["aria-label", "onClick"], Pe = {
158
158
  class: "multi-select-icon",
159
159
  "aria-hidden": "true"
160
- }, Fe = /* @__PURE__ */ l(/* @__PURE__ */ y({
160
+ }, Fe = /*#__PURE__*/ l(/* @__PURE__ */ y({
161
161
  __name: "MultiSelect",
162
- props: /* @__PURE__ */ b({
162
+ props: /*@__PURE__*/ b({
163
163
  options: {},
164
164
  placeholder: {},
165
165
  label: {},
@@ -400,7 +400,7 @@ var Ie = (/* @__PURE__ */ X(((e) => {
400
400
  };
401
401
  }));
402
402
  })();
403
- })))(), Le = new Set([
403
+ })))(), Le = /* @__PURE__ */ new Set([
404
404
  "plain",
405
405
  "localized",
406
406
  "percent",
@@ -485,9 +485,9 @@ var Ue = {
485
485
  }, qe = {
486
486
  key: 3,
487
487
  class: "slider-container"
488
- }, Je = { class: "slider-current" }, Ye = { class: "slider-labels" }, Xe = /* @__PURE__ */ l(/* @__PURE__ */ y({
488
+ }, Je = { class: "slider-current" }, Ye = { class: "slider-labels" }, Xe = /*#__PURE__*/ l(/* @__PURE__ */ y({
489
489
  __name: "NumberInput",
490
- props: /* @__PURE__ */ b({
490
+ props: /*@__PURE__*/ b({
491
491
  placeholder: {},
492
492
  step: {},
493
493
  min: {},
@@ -772,7 +772,7 @@ var Ue = {
772
772
  emits: ["apply"],
773
773
  setup(e) {
774
774
  let t = v({
775
- loader: () => import("./ParamEditorImpl-D0xZTyAN.js"),
775
+ loader: () => import("./ParamEditorImpl-CkElC6PI.js"),
776
776
  loadingComponent: Qe,
777
777
  delay: 100
778
778
  });
@@ -791,9 +791,9 @@ var Ue = {
791
791
  "filename"
792
792
  ]));
793
793
  }
794
- }), et = ["data-collapsed"], tt = { class: "SidebarRail" }, nt = ["inert"], rt = { class: "SidebarScroll" }, it = { class: "SidebarHeader" }, at = ["inert"], ot = { class: "Main" }, st = { class: "TabsBar" }, ct = { class: "TabsBarEnd" }, lt = { class: "MainScroll" }, ut = { class: "MainContent" }, dt = { class: "Topbar" }, ft = { class: "TopbarEnd" }, pt = { class: "MainScroll" }, mt = { class: "MainContent" }, ht = /* @__PURE__ */ l(/* @__PURE__ */ y({
794
+ }), et = ["data-collapsed"], tt = { class: "SidebarRail" }, nt = ["inert"], rt = { class: "SidebarScroll" }, it = { class: "SidebarHeader" }, at = ["inert"], ot = { class: "Main" }, st = { class: "TabsBar" }, ct = { class: "TabsBarEnd" }, lt = { class: "MainScroll" }, ut = { class: "MainContent" }, dt = { class: "Topbar" }, ft = { class: "TopbarEnd" }, pt = { class: "MainScroll" }, mt = { class: "MainContent" }, ht = /*#__PURE__*/ l(/* @__PURE__ */ y({
795
795
  __name: "SidebarLayout",
796
- props: /* @__PURE__ */ b({
796
+ props: /*@__PURE__*/ b({
797
797
  hideTopbar: { type: Boolean },
798
798
  tabs: {}
799
799
  }, {
@@ -912,7 +912,7 @@ var Ue = {
912
912
  class: "cfasim-input-label"
913
913
  }, _t = ["placeholder"], vt = { key: 1 }, yt = ["placeholder", "aria-label"], bt = /* @__PURE__ */ y({
914
914
  __name: "TextInput",
915
- props: /* @__PURE__ */ b({
915
+ props: /*@__PURE__*/ b({
916
916
  placeholder: {},
917
917
  label: {},
918
918
  hideLabel: { type: Boolean },
@@ -952,9 +952,9 @@ var Ue = {
952
952
  onKeydown: I(i, ["enter"])
953
953
  }, null, 40, yt), [[M, r.value]])]));
954
954
  }
955
- }), xt = { class: "toggle" }, St = ["for"], Ct = /* @__PURE__ */ l(/* @__PURE__ */ y({
955
+ }), xt = { class: "toggle" }, St = ["for"], Ct = /*#__PURE__*/ l(/* @__PURE__ */ y({
956
956
  __name: "Toggle",
957
- props: /* @__PURE__ */ b({
957
+ props: /*@__PURE__*/ b({
958
958
  label: {},
959
959
  hint: {},
960
960
  disabled: { type: Boolean }
@@ -987,9 +987,9 @@ var Ue = {
987
987
  ])
988
988
  ]));
989
989
  }
990
- }), [["__scopeId", "data-v-9916c71e"]]), wt = { class: "toggle-group-field" }, Tt = /* @__PURE__ */ l(/* @__PURE__ */ y({
990
+ }), [["__scopeId", "data-v-9916c71e"]]), wt = { class: "toggle-group-field" }, Tt = /*#__PURE__*/ l(/* @__PURE__ */ y({
991
991
  __name: "ToggleGroup",
992
- props: /* @__PURE__ */ b({
992
+ props: /*@__PURE__*/ b({
993
993
  options: {},
994
994
  multiple: { type: Boolean },
995
995
  disabled: { type: Boolean },
package/docs/Box.md ADDED
@@ -0,0 +1,49 @@
1
+ # Box
2
+
3
+ A colored container for callouts, alerts, and grouped content.
4
+
5
+ ## Examples
6
+
7
+ ### Variants
8
+
9
+ <ComponentDemo>
10
+ <Box variant="info">This is an info box.</Box>
11
+ <Box variant="success">This is a success box.</Box>
12
+ <Box variant="warning">This is a warning box.</Box>
13
+ <Box variant="error">This is an error box.</Box>
14
+
15
+ <template #code>
16
+
17
+ ```vue
18
+ <Box variant="info">This is an info box.</Box>
19
+ <Box variant="success">This is a success box.</Box>
20
+ <Box variant="warning">This is a warning box.</Box>
21
+ <Box variant="error">This is an error box.</Box>
22
+ ```
23
+
24
+ </template>
25
+ </ComponentDemo>
26
+
27
+ ### Custom colors
28
+
29
+ <ComponentDemo>
30
+ <Box bg-color="#f0e6ff" text-color="#4a1d96">Custom purple box</Box>
31
+
32
+ <template #code>
33
+
34
+ ```vue
35
+ <Box bg-color="#f0e6ff" text-color="#4a1d96">Custom purple box</Box>
36
+ ```
37
+
38
+ </template>
39
+ </ComponentDemo>
40
+
41
+ ## Props
42
+
43
+ | Prop | Type | Required | Default |
44
+ |------|------|----------|---------|
45
+ | `variant` | `BoxVariant` | No | — |
46
+ | `bgColor` | `string` | No | — |
47
+ | `textColor` | `string` | No | — |
48
+ | `role` | `string` | No | — |
49
+
package/docs/Button.md ADDED
@@ -0,0 +1,67 @@
1
+ # Button
2
+
3
+ A button for triggering actions. Supports primary and secondary variants.
4
+
5
+ Built on [reka-ui Primitive](https://reka-ui.com/docs/utilities/primitive), so it supports `as` and `asChild` for rendering as different elements.
6
+
7
+ ## Examples
8
+
9
+ ### Variants
10
+
11
+ <ComponentDemo>
12
+ <Button>Primary</Button>
13
+ <Button variant="secondary">Secondary</Button>
14
+
15
+ <template #code>
16
+
17
+ ```vue
18
+ <Button>Primary</Button>
19
+ <Button variant="secondary">Secondary</Button>
20
+ ```
21
+
22
+ </template>
23
+ </ComponentDemo>
24
+
25
+ ### Disabled
26
+
27
+ <ComponentDemo>
28
+ <Button disabled>Disabled</Button>
29
+ <Button variant="secondary" disabled>Disabled</Button>
30
+
31
+ <template #code>
32
+
33
+ ```vue
34
+ <Button disabled>Disabled</Button>
35
+ <Button variant="secondary" disabled>Disabled</Button>
36
+ ```
37
+
38
+ </template>
39
+ </ComponentDemo>
40
+
41
+ ### With label prop
42
+
43
+ <ComponentDemo>
44
+ <Button label="Click me" />
45
+
46
+ <template #code>
47
+
48
+ ```vue
49
+ <Button label="Click me" />
50
+ ```
51
+
52
+ </template>
53
+ </ComponentDemo>
54
+
55
+ ## Props
56
+
57
+ | Prop | Type | Required | Default |
58
+ |------|------|----------|---------|
59
+ | `label` | `string` | No | — |
60
+ | `variant` | `"primary" \| "secondary"` | No | `"primary"` |
61
+
62
+ ## Events
63
+
64
+ | Event | Payload |
65
+ |-------|---------|
66
+ | `click` | `event: MouseEvent` |
67
+
@@ -0,0 +1,64 @@
1
+ # ButtonGroup
2
+
3
+ A container that visually joins a set of [`Button`](./button)s (or any
4
+ elements) into a single connected unit. It only handles layout and styling —
5
+ each button keeps its own click handler and state. For a stateful "pick one (or
6
+ more)" control that looks like a button group, use
7
+ [`ToggleGroup`](./toggle-group) instead.
8
+
9
+ ## Examples
10
+
11
+ ### Joined buttons
12
+
13
+ <ComponentDemo>
14
+ <ButtonGroup aria-label="Document actions">
15
+ <Button variant="secondary">Cut</Button>
16
+ <Button variant="secondary">Copy</Button>
17
+ <Button variant="secondary">Paste</Button>
18
+ </ButtonGroup>
19
+
20
+ <template #code>
21
+
22
+ ```vue
23
+ <ButtonGroup aria-label="Document actions">
24
+ <Button variant="secondary">Cut</Button>
25
+ <Button variant="secondary">Copy</Button>
26
+ <Button variant="secondary">Paste</Button>
27
+ </ButtonGroup>
28
+ ```
29
+
30
+ </template>
31
+ </ComponentDemo>
32
+
33
+ ### Vertical
34
+
35
+ Set `orientation="vertical"` to stack the buttons. They stretch to a common
36
+ width so the dividers line up.
37
+
38
+ <ComponentDemo>
39
+ <ButtonGroup orientation="vertical" aria-label="Zoom">
40
+ <Button>Zoom in</Button>
41
+ <Button>Reset</Button>
42
+ <Button>Zoom out</Button>
43
+ </ButtonGroup>
44
+
45
+ <template #code>
46
+
47
+ ```vue
48
+ <ButtonGroup orientation="vertical" aria-label="Zoom">
49
+ <Button>Zoom in</Button>
50
+ <Button>Reset</Button>
51
+ <Button>Zoom out</Button>
52
+ </ButtonGroup>
53
+ ```
54
+
55
+ </template>
56
+ </ComponentDemo>
57
+
58
+ ## Props
59
+
60
+ | Prop | Type | Required | Default |
61
+ |------|------|----------|---------|
62
+ | `ariaLabel` | `string` | No | — |
63
+ | `orientation` | `"horizontal" \| "vertical"` | No | `"horizontal"` |
64
+
@@ -0,0 +1,103 @@
1
+ # Container
2
+
3
+ A flexible wrapper for grouping elements vertically (default) or horizontally. Optionally adds a border, fixed height with scrolling, and configurable gap between children.
4
+
5
+ For multi-column layouts use [Grid](./grid).
6
+
7
+ ## Examples
8
+
9
+ ### Vertical stack (default)
10
+
11
+ <ComponentDemo>
12
+ <Container gap="small">
13
+ <Box variant="info">First</Box>
14
+ <Box variant="info">Second</Box>
15
+ <Box variant="info">Third</Box>
16
+ </Container>
17
+
18
+ <template #code>
19
+
20
+ ```vue
21
+ <Container gap="small">
22
+ <Box variant="info">First</Box>
23
+ <Box variant="info">Second</Box>
24
+ <Box variant="info">Third</Box>
25
+ </Container>
26
+ ```
27
+
28
+ </template>
29
+ </ComponentDemo>
30
+
31
+ ### Horizontal row
32
+
33
+ A row of buttons or chips. Wraps onto multiple lines when space runs out.
34
+
35
+ <ComponentDemo>
36
+ <Container horizontal gap="small">
37
+ <Button>Save</Button>
38
+ <Button variant="secondary">Cancel</Button>
39
+ <Button variant="secondary">Reset</Button>
40
+ </Container>
41
+
42
+ <template #code>
43
+
44
+ ```vue
45
+ <Container horizontal gap="small">
46
+ <Button>Save</Button>
47
+ <Button variant="secondary">Cancel</Button>
48
+ <Button variant="secondary">Reset</Button>
49
+ </Container>
50
+ ```
51
+
52
+ </template>
53
+ </ComponentDemo>
54
+
55
+ ### Card with border
56
+
57
+ <ComponentDemo>
58
+ <Container border gap="small">
59
+ <strong>Run summary</strong>
60
+ <span>Generated 1,000 samples in 2.4s</span>
61
+ </Container>
62
+
63
+ <template #code>
64
+
65
+ ```vue
66
+ <Container border gap="small">
67
+ <strong>Run summary</strong>
68
+ <span>Generated 1,000 samples in 2.4s</span>
69
+ </Container>
70
+ ```
71
+
72
+ </template>
73
+ </ComponentDemo>
74
+
75
+ ### Scrollable region
76
+
77
+ Setting `height` automatically enables scrolling when content overflows.
78
+
79
+ <ComponentDemo>
80
+ <Container border :height="180" gap="small">
81
+ <div v-for="i in 30" :key="i">Line {{ i }}</div>
82
+ </Container>
83
+
84
+ <template #code>
85
+
86
+ ```vue
87
+ <Container border :height="180" gap="small">
88
+ <div v-for="i in 30" :key="i">Line {{ i }}</div>
89
+ </Container>
90
+ ```
91
+
92
+ </template>
93
+ </ComponentDemo>
94
+
95
+ ## Props
96
+
97
+ | Prop | Type | Required | Default |
98
+ |------|------|----------|---------|
99
+ | `border` | `boolean` | No | — |
100
+ | `height` | `number \| string` | No | — |
101
+ | `horizontal` | `boolean` | No | — |
102
+ | `gap` | `ContainerGap \| string` | No | — |
103
+