@bysages/solid 0.4.1 → 0.4.2

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 (96) hide show
  1. package/dist/components/ai-prompt-input/index.mjs +37 -35
  2. package/dist/components/angle-slider/index.d.mts +15 -1
  3. package/dist/components/angle-slider/index.mjs +57 -2
  4. package/dist/components/calendar/index.d.mts +19 -7
  5. package/dist/components/calendar/index.mjs +212 -138
  6. package/dist/components/carousel/index.d.mts +15 -1
  7. package/dist/components/carousel/index.mjs +68 -4
  8. package/dist/components/checkbox/index.d.mts +16 -1
  9. package/dist/components/checkbox/index.mjs +53 -2
  10. package/dist/components/checkbox-group/index.d.mts +10 -3
  11. package/dist/components/checkbox-group/index.mjs +2 -2
  12. package/dist/components/chip/index.d.mts +1 -1
  13. package/dist/components/clipboard/index.d.mts +14 -1
  14. package/dist/components/clipboard/index.mjs +57 -2
  15. package/dist/components/date-input/index.d.mts +16 -2
  16. package/dist/components/date-input/index.mjs +51 -2
  17. package/dist/components/date-picker/index.d.mts +27 -2
  18. package/dist/components/date-picker/index.mjs +152 -3
  19. package/dist/components/editable/index.d.mts +17 -1
  20. package/dist/components/editable/index.mjs +80 -2
  21. package/dist/components/field/index.d.mts +16 -1
  22. package/dist/components/field/index.mjs +52 -4
  23. package/dist/components/fieldset/index.d.mts +15 -3
  24. package/dist/components/fieldset/index.mjs +46 -4
  25. package/dist/components/file-upload/index.d.mts +21 -1
  26. package/dist/components/file-upload/index.mjs +65 -2
  27. package/dist/components/floating-panel/index.d.mts +15 -3
  28. package/dist/components/floating-panel/index.mjs +112 -4
  29. package/dist/components/form/index.d.mts +44 -2
  30. package/dist/components/image-cropper/index.d.mts +8 -1
  31. package/dist/components/image-cropper/index.mjs +42 -4
  32. package/dist/components/json-tree-view/index.d.mts +11 -2
  33. package/dist/components/json-tree-view/index.mjs +16 -1
  34. package/dist/components/listbox/index.d.mts +21 -1
  35. package/dist/components/listbox/index.mjs +58 -3
  36. package/dist/components/marquee/index.d.mts +12 -1
  37. package/dist/components/marquee/index.mjs +45 -4
  38. package/dist/components/navigation-menu/index.d.mts +17 -1
  39. package/dist/components/navigation-menu/index.mjs +65 -5
  40. package/dist/components/number-input/index.d.mts +20 -1
  41. package/dist/components/number-input/index.mjs +71 -2
  42. package/dist/components/pagination/index.d.mts +22 -2
  43. package/dist/components/pagination/index.mjs +104 -5
  44. package/dist/components/password-input/index.d.mts +18 -1
  45. package/dist/components/password-input/index.mjs +56 -2
  46. package/dist/components/pin-input/index.d.mts +18 -1
  47. package/dist/components/pin-input/index.mjs +54 -2
  48. package/dist/components/progress/index.d.mts +19 -1
  49. package/dist/components/progress/index.mjs +105 -6
  50. package/dist/components/qr-code/index.d.mts +8 -1
  51. package/dist/components/qr-code/index.mjs +21 -4
  52. package/dist/components/radio-group/index.d.mts +23 -1
  53. package/dist/components/radio-group/index.mjs +65 -2
  54. package/dist/components/rating-group/index.d.mts +15 -1
  55. package/dist/components/rating-group/index.mjs +51 -2
  56. package/dist/components/scroll-area/index.d.mts +11 -3
  57. package/dist/components/scroll-area/index.mjs +36 -4
  58. package/dist/components/segment-group/index.d.mts +27 -4
  59. package/dist/components/segment-group/index.mjs +65 -6
  60. package/dist/components/signature-pad/index.d.mts +16 -1
  61. package/dist/components/signature-pad/index.mjs +63 -4
  62. package/dist/components/slider/index.d.mts +20 -1
  63. package/dist/components/slider/index.mjs +66 -2
  64. package/dist/components/splitter/index.d.mts +15 -1
  65. package/dist/components/splitter/index.mjs +57 -4
  66. package/dist/components/steps/index.d.mts +5 -1
  67. package/dist/components/steps/index.mjs +9 -2
  68. package/dist/components/swap/index.d.mts +11 -3
  69. package/dist/components/swap/index.mjs +34 -4
  70. package/dist/components/switch/index.d.mts +16 -1
  71. package/dist/components/switch/index.mjs +47 -2
  72. package/dist/components/table/index.d.mts +2 -0
  73. package/dist/components/table/index.mjs +13 -11
  74. package/dist/components/tag/index.d.mts +29 -0
  75. package/dist/components/tag/index.mjs +108 -0
  76. package/dist/components/tags-input/index.d.mts +18 -1
  77. package/dist/components/tags-input/index.mjs +82 -2
  78. package/dist/components/timer/index.d.mts +12 -1
  79. package/dist/components/timer/index.mjs +56 -4
  80. package/dist/components/toast/index.d.mts +10 -5
  81. package/dist/components/toast/index.mjs +37 -5
  82. package/dist/components/toc/index.d.mts +2 -11
  83. package/dist/components/toc/index.mjs +1 -1
  84. package/dist/components/toggle/index.d.mts +8 -1
  85. package/dist/components/toggle/index.mjs +26 -4
  86. package/dist/components/toggle-group/index.d.mts +23 -1
  87. package/dist/components/toggle-group/index.mjs +57 -3
  88. package/dist/components/tree-view/index.d.mts +32 -2
  89. package/dist/components/tree-view/index.mjs +93 -4
  90. package/dist/index-BU5U5w04.d.mts +35 -0
  91. package/dist/index.d.mts +43 -42
  92. package/dist/index.mjs +3 -2
  93. package/dist/toc-DRHr8_eD.mjs +88 -0
  94. package/package.json +2 -2
  95. package/dist/index-B1-quIrl.d.mts +0 -1815
  96. package/dist/toc-CqvGOp34.mjs +0 -31
@@ -1,19 +1,60 @@
1
1
  import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
2
  import { t as useElementId } from "../../id-2ygNzPHF.mjs";
3
+ import { createComponent, insert, template } from "@solidjs/web";
3
4
  import { injectComponentStyle } from "@bysages/core/styling";
4
- import { createComponent, mergeProps } from "solid-js";
5
+ import { Index, createComponent as createComponent$1, createMemo, mergeProps as mergeProps$1 } from "solid-js";
5
6
  import { Marquee as Marquee$1 } from "@ark-ui/solid/marquee";
6
- //#region src/components/marquee/index.ts
7
+ //#region src/components/marquee/index.tsx
8
+ var _tmpl$ = /* @__PURE__ */ template(`<svg width=16 height=16 viewBox="0 0 24 24"fill=currentColor aria-hidden=true>`);
9
+ var _tmpl$2 = /* @__PURE__ */ template(`<span>`);
7
10
  /** Ark's Marquee, dressed in the paper-and-ink system: a linear ribbon of
8
11
  * seal-cut chips that dissolves into the paper at its edges rather than
9
12
  * cutting off. The API is Ark's own — Root, Viewport, Content, Edge, Item. */
10
13
  function MarqueeRoot(props) {
11
14
  const id = useElementId("marquee", () => props.id);
12
- return createComponent(Marquee$1.Root, mergeProps(props, { get id() {
15
+ return createComponent$1(Marquee$1.Root, mergeProps$1(props, { get id() {
13
16
  return id();
14
17
  } }));
15
18
  }
16
- const Marquee = defineFamily(MarqueeRoot, {
19
+ /** The complete ribbon behind a list of short marks. */
20
+ function MarqueeFacade(props) {
21
+ injectComponentStyle("marquee");
22
+ const items = createMemo(() => props.items.map((item) => typeof item === "string" ? item : item.label));
23
+ return createComponent(MarqueeRoot, {
24
+ get "aria-label"() {
25
+ return props.label;
26
+ },
27
+ get spacing() {
28
+ return props.spacing;
29
+ },
30
+ get speed() {
31
+ return props.speed;
32
+ },
33
+ get children() {
34
+ return createComponent(Marquee$1.Viewport, { get children() {
35
+ return createComponent(Marquee$1.Content, { get children() {
36
+ return createComponent(Index, {
37
+ get each() {
38
+ return items();
39
+ },
40
+ children: (item) => createComponent(Marquee$1.Item, { get children() {
41
+ return [(() => {
42
+ var _el$ = _tmpl$();
43
+ _el$.innerHTML = "<path d=\"M12 3 3 9l9 12 9-12-9-6Z\" />";
44
+ return _el$;
45
+ })(), (() => {
46
+ var _el$2 = _tmpl$2();
47
+ insert(_el$2, item);
48
+ return _el$2;
49
+ })()];
50
+ } })
51
+ });
52
+ } });
53
+ } });
54
+ }
55
+ });
56
+ }
57
+ const Marquee = defineFamily(MarqueeFacade, {
17
58
  ...Marquee$1,
18
59
  Root: MarqueeRoot
19
60
  });
@@ -6,7 +6,23 @@ import { NavigationMenu as NavigationMenu$1 } from "@ark-ui/solid/navigation-men
6
6
  * popup vessel. The API is Ark's own — Root, List, Item, Trigger, Link,
7
7
  * Content, ViewportPositioner, Viewport, Indicator, ItemIndicator, Arrow. */
8
8
  declare function NavigationMenuRoot(props: ComponentProps<typeof NavigationMenu$1.Root>): import("solid-js").JSX.Element;
9
- export declare const NavigationMenu: typeof NavigationMenuRoot & Omit<typeof NavigationMenu$1, "Root"> & {
9
+ declare function NavigationMenuLink(props: ComponentProps<typeof NavigationMenu$1.Link>): import("solid-js").JSX.Element;
10
+ /** One flat destination in the callable bar; grouped panels and mega
11
+ * menus stay on the anatomy. */
12
+ export interface NavigationMenuLinkOption {
13
+ label: string;
14
+ href: string;
15
+ current?: boolean;
16
+ description?: string;
17
+ }
18
+ export interface NavigationMenuFacadeProps {
19
+ items: NavigationMenuLinkOption[];
20
+ orientation?: "horizontal" | "vertical";
21
+ }
22
+ /** The common path: a quiet rung of destinations, horizontal or vertical. */
23
+ declare function NavigationMenuFacade(props: NavigationMenuFacadeProps): import("solid-js").JSX.Element;
24
+ export declare const NavigationMenu: typeof NavigationMenuFacade & Omit<typeof NavigationMenu$1, "Root"> & {
10
25
  Root: typeof NavigationMenuRoot;
26
+ Link: typeof NavigationMenuLink;
11
27
  };
12
28
  //#endregion
@@ -1,22 +1,82 @@
1
1
  import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
2
  import { t as useElementId } from "../../id-2ygNzPHF.mjs";
3
+ import { createComponent, insert, mergeProps, template } from "@solidjs/web";
3
4
  import { injectComponentStyle } from "@bysages/core/styling";
4
- import { createComponent, mergeProps } from "solid-js";
5
+ import { For, Show, createComponent as createComponent$1, mergeProps as mergeProps$1 } from "solid-js";
5
6
  import { NavigationMenu as NavigationMenu$1 } from "@ark-ui/solid/navigation-menu";
6
- //#region src/components/navigation-menu/index.ts
7
+ //#region src/components/navigation-menu/index.tsx
8
+ var _tmpl$ = /* @__PURE__ */ template(`<span>`);
7
9
  /** Ark's NavigationMenu, dressed in the paper-and-ink system: a menubar of
8
10
  * ghost triggers with one sliding stroke of primary ink, opening the shared
9
11
  * popup vessel. The API is Ark's own — Root, List, Item, Trigger, Link,
10
12
  * Content, ViewportPositioner, Viewport, Indicator, ItemIndicator, Arrow. */
11
13
  function NavigationMenuRoot(props) {
12
14
  const id = useElementId("navigation-menu", () => props.id);
13
- return createComponent(NavigationMenu$1.Root, mergeProps(props, { get id() {
15
+ return createComponent$1(NavigationMenu$1.Root, mergeProps$1(props, { get id() {
14
16
  return id();
15
17
  } }));
16
18
  }
17
- const NavigationMenu = defineFamily(NavigationMenuRoot, {
19
+ function NavigationMenuLink(props) {
20
+ injectComponentStyle("navigation-menu");
21
+ return createComponent(NavigationMenu$1.Link, mergeProps(props, { "data-motion": "ink-ripple" }));
22
+ }
23
+ /** The common path: a quiet rung of destinations, horizontal or vertical. */
24
+ function NavigationMenuFacade(props) {
25
+ injectComponentStyle("navigation-menu");
26
+ return createComponent(NavigationMenuRoot, {
27
+ get orientation() {
28
+ return props.orientation ?? "horizontal";
29
+ },
30
+ get children() {
31
+ return createComponent(NavigationMenu$1.List, { get children() {
32
+ return createComponent(For, {
33
+ get each() {
34
+ return props.items;
35
+ },
36
+ children: (item) => createComponent(NavigationMenu$1.Item, {
37
+ get value() {
38
+ return item.href;
39
+ },
40
+ get children() {
41
+ return createComponent(NavigationMenuLink, {
42
+ get href() {
43
+ return item.href;
44
+ },
45
+ get current() {
46
+ return item.current;
47
+ },
48
+ get children() {
49
+ return [(() => {
50
+ var _el$ = _tmpl$();
51
+ insert(_el$, () => {
52
+ return item.label;
53
+ });
54
+ return _el$;
55
+ })(), createComponent(Show, {
56
+ get when() {
57
+ return item.description;
58
+ },
59
+ get children() {
60
+ var _el$2 = _tmpl$();
61
+ insert(_el$2, () => {
62
+ return item.description;
63
+ });
64
+ return _el$2;
65
+ }
66
+ })];
67
+ }
68
+ });
69
+ }
70
+ })
71
+ });
72
+ } });
73
+ }
74
+ });
75
+ }
76
+ const NavigationMenu = defineFamily(NavigationMenuFacade, {
18
77
  ...NavigationMenu$1,
19
- Root: NavigationMenuRoot
78
+ Root: NavigationMenuRoot,
79
+ Link: NavigationMenuLink
20
80
  });
21
81
  injectComponentStyle("navigation-menu");
22
82
  //#endregion
@@ -9,7 +9,26 @@ type NumberInputOwnProps = {
9
9
  size?: "sm" | "md" | "lg";
10
10
  };
11
11
  declare function NumberInputRoot(props: NumberInputRootProps & NumberInputOwnProps): import("solid-js").JSX.Element;
12
- export declare const NumberInput: typeof NumberInputRoot & Omit<typeof NumberInput$1, "Root"> & {
12
+ export interface NumberInputFacadeProps {
13
+ value?: string;
14
+ defaultValue?: string;
15
+ label?: string;
16
+ placeholder?: string;
17
+ min?: number;
18
+ max?: number;
19
+ step?: number;
20
+ disabled?: boolean;
21
+ invalid?: boolean;
22
+ required?: boolean;
23
+ /** One rung of the control-height ladder for the field and its stepper. */
24
+ size?: "sm" | "md" | "lg";
25
+ onValueChange?: (value: string) => void;
26
+ }
27
+ /** The one-tag path for a stepped number field; formatting, scrubbing,
28
+ * and locale rules stay on the anatomy. */
29
+ declare function NumberInputFacade(props: NumberInputFacadeProps): import("solid-js").JSX.Element;
30
+ type NumberInputParts = Omit<typeof NumberInput$1, "Root"> & {
13
31
  Root: typeof NumberInputRoot;
14
32
  };
33
+ export declare const NumberInput: typeof NumberInputFacade & NumberInputParts;
15
34
  //#endregion
@@ -1,8 +1,9 @@
1
1
  import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
2
3
  import { t as useElementId } from "../../id-2ygNzPHF.mjs";
3
4
  import { createComponent, mergeProps } from "@solidjs/web";
4
5
  import { injectComponentStyle } from "@bysages/core/styling";
5
- import { splitProps } from "solid-js";
6
+ import { Show, splitProps } from "solid-js";
6
7
  import { NumberInput as NumberInput$1 } from "@ark-ui/solid/number-input";
7
8
  //#region src/components/number-input/index.tsx
8
9
  function NumberInputRoot(props) {
@@ -17,7 +18,75 @@ function NumberInputRoot(props) {
17
18
  }
18
19
  }));
19
20
  }
20
- const NumberInput = defineFamily(NumberInputRoot, {
21
+ /** The one-tag path for a stepped number field; formatting, scrubbing,
22
+ * and locale rules stay on the anatomy. */
23
+ function NumberInputFacade(props) {
24
+ injectComponentStyle("number-input");
25
+ return createComponent(NumberInputRoot, mergeProps({
26
+ get size() {
27
+ return props.size ?? "md";
28
+ },
29
+ get min() {
30
+ return props.min;
31
+ },
32
+ get max() {
33
+ return props.max;
34
+ },
35
+ get step() {
36
+ return props.step;
37
+ },
38
+ get disabled() {
39
+ return props.disabled;
40
+ },
41
+ get invalid() {
42
+ return props.invalid;
43
+ },
44
+ get required() {
45
+ return props.required;
46
+ },
47
+ get defaultValue() {
48
+ return props.defaultValue;
49
+ }
50
+ }, () => {
51
+ return props.value === void 0 ? {} : { value: props.value };
52
+ }, {
53
+ onValueChange: (details) => props.onValueChange?.(details.value),
54
+ get children() {
55
+ return [createComponent(Show, {
56
+ get when() {
57
+ return props.label;
58
+ },
59
+ get children() {
60
+ return createComponent(NumberInput$1.Label, { get children() {
61
+ return props.label;
62
+ } });
63
+ }
64
+ }), createComponent(NumberInput$1.Control, { get children() {
65
+ return [
66
+ createComponent(NumberInput$1.Input, { get placeholder() {
67
+ return props.placeholder;
68
+ } }),
69
+ createComponent(NumberInput$1.Scrubber, { get children() {
70
+ return iconNode("pause");
71
+ } }),
72
+ createComponent(NumberInput$1.IncrementTrigger, {
73
+ "aria-label": "Increment",
74
+ get children() {
75
+ return iconNode("chevron-up");
76
+ }
77
+ }),
78
+ createComponent(NumberInput$1.DecrementTrigger, {
79
+ "aria-label": "Decrement",
80
+ get children() {
81
+ return iconNode("chevron-down");
82
+ }
83
+ })
84
+ ];
85
+ } })];
86
+ }
87
+ }));
88
+ }
89
+ const NumberInput = defineFamily(NumberInputFacade, {
21
90
  ...NumberInput$1,
22
91
  Root: NumberInputRoot
23
92
  });
@@ -9,9 +9,29 @@ import { Pagination as Pagination$1, PaginationRootProps } from "@ark-ui/solid/p
9
9
  type PaginationOwnProps = {
10
10
  /** One rung of the control-height ladder every page seal shares. */
11
11
  size?: "sm" | "md" | "lg";
12
+ /** full is the page-seal ladder; simple keeps prev, the count, next. */
13
+ variant?: "default" | "simple";
12
14
  };
13
- declare function PaginationRoot(props: PaginationRootProps & PaginationOwnProps): import("solid-js").JSX.Element;
14
- export declare const Pagination: typeof PaginationRoot & Omit<typeof Pagination$1, "Root"> & {
15
+ type PaginationRootProps$1 = PaginationRootProps & PaginationOwnProps;
16
+ declare function PaginationRoot(props: PaginationRootProps$1): import("solid-js").JSX.Element;
17
+ export interface PaginationFacadeProps {
18
+ value?: number;
19
+ defaultValue?: number;
20
+ count?: number;
21
+ pageSize?: number;
22
+ defaultPageSize?: number;
23
+ siblingCount?: number;
24
+ label?: string;
25
+ size?: "sm" | "md" | "lg";
26
+ /** full is the page-seal ladder; simple keeps prev, the count, next. */
27
+ variant?: "default" | "simple";
28
+ class?: string;
29
+ onValueChange?: (value: number) => void;
30
+ }
31
+ /** The complete pagination bar behind one page: count and page size become
32
+ * the visible ladder, with edge semantics left to anatomy. */
33
+ declare function PaginationFacade(props: PaginationFacadeProps): import("solid-js").JSX.Element;
34
+ export declare const Pagination: typeof PaginationFacade & Omit<typeof Pagination$1, "Root"> & {
15
35
  Root: typeof PaginationRoot;
16
36
  };
17
37
  //#endregion
@@ -1,23 +1,122 @@
1
1
  import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
2
3
  import { t as useElementId } from "../../id-2ygNzPHF.mjs";
3
- import { createComponent, mergeProps } from "@solidjs/web";
4
+ import { createComponent, insert, memo, mergeProps, template } from "@solidjs/web";
4
5
  import { injectComponentStyle } from "@bysages/core/styling";
5
- import { splitProps } from "solid-js";
6
+ import { For, splitProps } from "solid-js";
6
7
  import { Pagination as Pagination$1 } from "@ark-ui/solid/pagination";
7
8
  //#region src/components/pagination/index.tsx
9
+ var _tmpl$ = /* @__PURE__ */ template(`<span data-scope=pagination data-part=status> / <!>`);
8
10
  function PaginationRoot(props) {
9
- const [own, rest] = splitProps(props, ["size"]);
10
- const id = useElementId("pagination", () => rest.id);
11
+ injectComponentStyle("pagination");
12
+ const [own, rest] = splitProps(props, [
13
+ "id",
14
+ "size",
15
+ "variant"
16
+ ]);
17
+ const id = useElementId("pagination", () => props.id);
11
18
  return createComponent(Pagination$1.Root, mergeProps(rest, {
12
19
  get id() {
13
20
  return id();
14
21
  },
15
22
  get "data-size"() {
16
23
  return own.size ?? "md";
24
+ },
25
+ get "data-variant"() {
26
+ return memo(() => {
27
+ return own.variant === "simple";
28
+ })() ? own.variant : void 0;
17
29
  }
18
30
  }));
19
31
  }
20
- const Pagination = defineFamily(PaginationRoot, {
32
+ /** The complete pagination bar behind one page: count and page size become
33
+ * the visible ladder, with edge semantics left to anatomy. */
34
+ function PaginationFacade(props) {
35
+ const variant = props.variant ?? "default";
36
+ return createComponent(PaginationRoot, {
37
+ get "class"() {
38
+ return props.class;
39
+ },
40
+ get size() {
41
+ return props.size ?? "md";
42
+ },
43
+ variant,
44
+ get "aria-label"() {
45
+ return props.label;
46
+ },
47
+ get count() {
48
+ return props.count ?? 0;
49
+ },
50
+ get defaultPage() {
51
+ return props.defaultValue;
52
+ },
53
+ get page() {
54
+ return props.value;
55
+ },
56
+ get pageSize() {
57
+ return props.pageSize;
58
+ },
59
+ get defaultPageSize() {
60
+ return props.defaultPageSize;
61
+ },
62
+ get siblingCount() {
63
+ return props.siblingCount ?? 1;
64
+ },
65
+ onPageChange: (details) => props.onValueChange?.(details.page),
66
+ get children() {
67
+ return [
68
+ createComponent(Pagination$1.PrevTrigger, {
69
+ "aria-label": "Previous page",
70
+ get children() {
71
+ return iconNode("chevron-left", {
72
+ width: "14",
73
+ height: "14"
74
+ });
75
+ }
76
+ }),
77
+ memo(() => {
78
+ return variant === "simple" ? createComponent(Pagination$1.Context, { children: (pagination) => (() => {
79
+ var _el$ = _tmpl$();
80
+ var _el$2 = _el$.firstChild;
81
+ var _el$3 = _el$2.nextSibling;
82
+ insert(_el$, () => {
83
+ return pagination().page;
84
+ }, _el$2);
85
+ insert(_el$, () => {
86
+ return pagination().totalPages;
87
+ }, _el$3);
88
+ return _el$;
89
+ })() }) : createComponent(Pagination$1.Context, { children: (pagination) => createComponent(For, {
90
+ get each() {
91
+ return pagination().pages;
92
+ },
93
+ children: (page, index) => page.type === "ellipsis" ? createComponent(Pagination$1.Ellipsis, { get index() {
94
+ return index();
95
+ } }) : createComponent(Pagination$1.Item, {
96
+ type: "page",
97
+ get value() {
98
+ return page.value;
99
+ },
100
+ get children() {
101
+ return page.value;
102
+ }
103
+ })
104
+ }) });
105
+ }),
106
+ createComponent(Pagination$1.NextTrigger, {
107
+ "aria-label": "Next page",
108
+ get children() {
109
+ return iconNode("chevron-right", {
110
+ width: "14",
111
+ height: "14"
112
+ });
113
+ }
114
+ })
115
+ ];
116
+ }
117
+ });
118
+ }
119
+ const Pagination = defineFamily(PaginationFacade, {
21
120
  ...Pagination$1,
22
121
  Root: PaginationRoot
23
122
  });
@@ -9,7 +9,24 @@ type PasswordInputOwnProps = {
9
9
  size?: "sm" | "md" | "lg";
10
10
  };
11
11
  declare function PasswordInputRoot(props: PasswordInputRootProps & PasswordInputOwnProps): import("solid-js").JSX.Element;
12
- export declare const PasswordInput: typeof PasswordInputRoot & Omit<typeof PasswordInput$1, "Root"> & {
12
+ export interface PasswordInputFacadeProps {
13
+ value?: string;
14
+ defaultValue?: string;
15
+ label?: string;
16
+ placeholder?: string;
17
+ autoComplete?: "current-password" | "new-password";
18
+ disabled?: boolean;
19
+ invalid?: boolean;
20
+ required?: boolean;
21
+ /** One rung of the control-height ladder for the field and its eye. */
22
+ size?: "sm" | "md" | "lg";
23
+ onValueChange?: (value: string) => void;
24
+ }
25
+ /** The one-tag path: the masked field and reveal control. Visibility
26
+ * state, password-manager rules, and validation stay on the anatomy. */
27
+ declare function PasswordInputFacade(props: PasswordInputFacadeProps): import("solid-js").JSX.Element;
28
+ type PasswordInputParts = Omit<typeof PasswordInput$1, "Root"> & {
13
29
  Root: typeof PasswordInputRoot;
14
30
  };
31
+ export declare const PasswordInput: typeof PasswordInputFacade & PasswordInputParts;
15
32
  //#endregion
@@ -1,8 +1,9 @@
1
1
  import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
2
3
  import { t as useElementId } from "../../id-2ygNzPHF.mjs";
3
4
  import { createComponent, mergeProps } from "@solidjs/web";
4
5
  import { injectComponentStyle } from "@bysages/core/styling";
5
- import { splitProps } from "solid-js";
6
+ import { Show, splitProps } from "solid-js";
6
7
  import { PasswordInput as PasswordInput$1 } from "@ark-ui/solid/password-input";
7
8
  //#region src/components/password-input/index.tsx
8
9
  function PasswordInputRoot(props) {
@@ -17,7 +18,60 @@ function PasswordInputRoot(props) {
17
18
  }
18
19
  }));
19
20
  }
20
- const PasswordInput = defineFamily(PasswordInputRoot, {
21
+ /** The one-tag path: the masked field and reveal control. Visibility
22
+ * state, password-manager rules, and validation stay on the anatomy. */
23
+ function PasswordInputFacade(props) {
24
+ injectComponentStyle("password-input");
25
+ return createComponent(PasswordInputRoot, {
26
+ get size() {
27
+ return props.size ?? "md";
28
+ },
29
+ get autoComplete() {
30
+ return props.autoComplete;
31
+ },
32
+ get disabled() {
33
+ return props.disabled;
34
+ },
35
+ get invalid() {
36
+ return props.invalid;
37
+ },
38
+ get required() {
39
+ return props.required;
40
+ },
41
+ get children() {
42
+ return [createComponent(Show, {
43
+ get when() {
44
+ return props.label;
45
+ },
46
+ get children() {
47
+ return createComponent(PasswordInput$1.Label, { get children() {
48
+ return props.label;
49
+ } });
50
+ }
51
+ }), createComponent(PasswordInput$1.Control, { get children() {
52
+ return [createComponent(PasswordInput$1.Input, {
53
+ get placeholder() {
54
+ return props.placeholder;
55
+ },
56
+ get value() {
57
+ return props.value ?? props.defaultValue;
58
+ },
59
+ onInput: (event) => props.onValueChange?.(event.currentTarget.value)
60
+ }), createComponent(PasswordInput$1.VisibilityTrigger, { get children() {
61
+ return createComponent(PasswordInput$1.Indicator, {
62
+ get fallback() {
63
+ return iconNode("eye-off");
64
+ },
65
+ get children() {
66
+ return iconNode("eye");
67
+ }
68
+ });
69
+ } })];
70
+ } })];
71
+ }
72
+ });
73
+ }
74
+ const PasswordInput = defineFamily(PasswordInputFacade, {
21
75
  ...PasswordInput$1,
22
76
  Root: PasswordInputRoot
23
77
  });
@@ -8,7 +8,24 @@ type PinInputOwnProps = {
8
8
  size?: "sm" | "md" | "lg";
9
9
  };
10
10
  declare function PinInputRoot(props: PinInputRootProps & PinInputOwnProps): import("solid-js").JSX.Element;
11
- export declare const PinInput: typeof PinInputRoot & Omit<typeof PinInput$1, "Root"> & {
11
+ export interface PinInputFacadeProps {
12
+ value?: string[];
13
+ defaultValue?: string[];
14
+ label?: string;
15
+ placeholder?: string;
16
+ disabled?: boolean;
17
+ invalid?: boolean;
18
+ required?: boolean;
19
+ length?: number;
20
+ /** One rung of the control-height ladder each seal stands on. */
21
+ size?: "sm" | "md" | "lg";
22
+ onValueChange?: (value: string[]) => void;
23
+ }
24
+ /** The one-tag path for an even run of seals; OTP, masks, and custom
25
+ * validation stay on the anatomy. */
26
+ declare function PinInputFacade(props: PinInputFacadeProps): import("solid-js").JSX.Element;
27
+ type PinInputParts = Omit<typeof PinInput$1, "Root"> & {
12
28
  Root: typeof PinInputRoot;
13
29
  };
30
+ export declare const PinInput: typeof PinInputFacade & PinInputParts;
14
31
  //#endregion
@@ -2,7 +2,7 @@ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
2
  import { t as useElementId } from "../../id-2ygNzPHF.mjs";
3
3
  import { createComponent, mergeProps } from "@solidjs/web";
4
4
  import { injectComponentStyle } from "@bysages/core/styling";
5
- import { splitProps } from "solid-js";
5
+ import { For, Show, splitProps } from "solid-js";
6
6
  import { PinInput as PinInput$1 } from "@ark-ui/solid/pin-input";
7
7
  //#region src/components/pin-input/index.tsx
8
8
  function PinInputRoot(props) {
@@ -17,7 +17,59 @@ function PinInputRoot(props) {
17
17
  }
18
18
  }));
19
19
  }
20
- const PinInput = defineFamily(PinInputRoot, {
20
+ /** The one-tag path for an even run of seals; OTP, masks, and custom
21
+ * validation stay on the anatomy. */
22
+ function PinInputFacade(props) {
23
+ injectComponentStyle("pin-input");
24
+ return createComponent(PinInputRoot, mergeProps({
25
+ get size() {
26
+ return props.size ?? "md";
27
+ },
28
+ get disabled() {
29
+ return props.disabled;
30
+ },
31
+ get invalid() {
32
+ return props.invalid;
33
+ },
34
+ get required() {
35
+ return props.required;
36
+ },
37
+ get placeholder() {
38
+ return props.placeholder ?? "·";
39
+ },
40
+ get defaultValue() {
41
+ return props.defaultValue;
42
+ }
43
+ }, () => {
44
+ return props.value === void 0 ? {} : { value: props.value };
45
+ }, {
46
+ onValueChange: (details) => props.onValueChange?.(details.value),
47
+ get children() {
48
+ return [
49
+ createComponent(Show, {
50
+ get when() {
51
+ return props.label;
52
+ },
53
+ get children() {
54
+ return createComponent(PinInput$1.Label, { get children() {
55
+ return props.label;
56
+ } });
57
+ }
58
+ }),
59
+ createComponent(PinInput$1.Control, { get children() {
60
+ return createComponent(For, {
61
+ get each() {
62
+ return Array.from({ length: props.length ?? 4 }, (_, index) => index);
63
+ },
64
+ children: (index) => createComponent(PinInput$1.Input, { index })
65
+ });
66
+ } }),
67
+ createComponent(PinInput$1.HiddenInput, {})
68
+ ];
69
+ }
70
+ }));
71
+ }
72
+ const PinInput = defineFamily(PinInputFacade, {
21
73
  ...PinInput$1,
22
74
  Root: PinInputRoot
23
75
  });
@@ -7,9 +7,27 @@ import { Progress as Progress$1, ProgressRootProps } from "@ark-ui/solid/progres
7
7
  type ProgressOwnProps = {
8
8
  /** One rung of the groove ladder — the track's thickness. */
9
9
  size?: "sm" | "md" | "lg";
10
+ /** Linear is the groove; circle and dashboard are compact dials. */
11
+ variant?: "linear" | "circle" | "dashboard";
12
+ /** The accessible name shown beside the dashboard dial. */
13
+ label?: string;
10
14
  };
11
15
  declare function ProgressRoot(props: ProgressRootProps & ProgressOwnProps): import("solid-js").JSX.Element;
12
- export declare const Progress: typeof ProgressRoot & Omit<typeof Progress$1, "Root"> & {
16
+ export interface ProgressFacadeProps {
17
+ value?: number;
18
+ defaultValue?: number;
19
+ min?: number;
20
+ max?: number;
21
+ label?: string;
22
+ variant?: "linear" | "circle" | "dashboard";
23
+ /** One rung of the groove ladder — the track's thickness. */
24
+ size?: "sm" | "md" | "lg";
25
+ onValueChange?: (value: number | null) => void;
26
+ }
27
+ /** The complete progress behind one value: a labelled linear groove by
28
+ * default, with circular and dashboard dials for compact status. */
29
+ declare function ProgressFacade(props: ProgressFacadeProps): import("solid-js").JSX.Element;
30
+ export declare const Progress: typeof ProgressFacade & Omit<typeof Progress$1, "Root"> & {
13
31
  Root: typeof ProgressRoot;
14
32
  };
15
33
  //#endregion