@sprawlify/solid 0.0.15 → 0.0.17

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 (120) hide show
  1. package/dist/{collapsible-Cg7zPadX.js → collapsible-Dp3pmOz6.js} +8 -6
  2. package/dist/{collapsible-CjuC6xYl.jsx → collapsible-oWvTRylz.jsx} +8 -6
  3. package/dist/{collection-BiyRTWsX.js → collection-DOjgejiS.js} +2 -1
  4. package/dist/{collection-BlnS2UQy.jsx → collection-gIC58P6c.jsx} +2 -1
  5. package/dist/components/accordion/index.d.ts +11 -11
  6. package/dist/components/accordion/index.js +9 -7
  7. package/dist/components/accordion/index.jsx +9 -7
  8. package/dist/components/angle-slider/index.d.ts +13 -13
  9. package/dist/components/angle-slider/index.js +7 -5
  10. package/dist/components/angle-slider/index.jsx +7 -5
  11. package/dist/components/avatar/index.d.ts +8 -8
  12. package/dist/components/avatar/index.js +7 -5
  13. package/dist/components/avatar/index.jsx +7 -5
  14. package/dist/components/bottom-sheet/index.d.ts +13 -13
  15. package/dist/components/bottom-sheet/index.js +10 -8
  16. package/dist/components/bottom-sheet/index.jsx +10 -8
  17. package/dist/components/carousel/index.d.ts +17 -17
  18. package/dist/components/carousel/index.js +7 -5
  19. package/dist/components/carousel/index.jsx +7 -5
  20. package/dist/components/checkbox/index.d.ts +12 -12
  21. package/dist/components/checkbox/index.js +10 -8
  22. package/dist/components/checkbox/index.jsx +10 -8
  23. package/dist/components/clipboard/index.d.ts +11 -11
  24. package/dist/components/clipboard/index.js +7 -5
  25. package/dist/components/clipboard/index.jsx +7 -5
  26. package/dist/components/collapsible/index.d.ts +10 -10
  27. package/dist/components/collapsible/index.js +7 -6
  28. package/dist/components/collapsible/index.jsx +7 -6
  29. package/dist/components/collection/index.d.ts +2 -2
  30. package/dist/components/collection/index.js +2 -2
  31. package/dist/components/collection/index.jsx +2 -2
  32. package/dist/components/color-picker/index.d.ts +183 -0
  33. package/dist/components/color-picker/index.js +500 -0
  34. package/dist/components/color-picker/index.jsx +436 -0
  35. package/dist/components/combobox/index.d.ts +134 -0
  36. package/dist/components/combobox/index.js +357 -0
  37. package/dist/components/combobox/index.jsx +315 -0
  38. package/dist/components/date-picker/index.d.ts +165 -0
  39. package/dist/components/date-picker/index.js +476 -0
  40. package/dist/components/date-picker/index.jsx +415 -0
  41. package/dist/components/dialog/index.d.ts +80 -0
  42. package/dist/components/dialog/index.js +219 -0
  43. package/dist/components/dialog/index.jsx +173 -0
  44. package/dist/components/download-trigger/index.d.ts +25 -0
  45. package/dist/components/download-trigger/index.js +42 -0
  46. package/dist/components/download-trigger/index.jsx +38 -0
  47. package/dist/components/editable/index.d.ts +79 -0
  48. package/dist/components/editable/index.js +190 -0
  49. package/dist/components/editable/index.jsx +181 -0
  50. package/dist/components/field/index.d.ts +13 -13
  51. package/dist/components/field/index.js +8 -7
  52. package/dist/components/field/index.jsx +8 -7
  53. package/dist/components/fieldset/index.d.ts +12 -12
  54. package/dist/components/fieldset/index.js +7 -6
  55. package/dist/components/fieldset/index.jsx +7 -6
  56. package/dist/components/file-upload/index.d.ts +102 -0
  57. package/dist/components/file-upload/index.js +284 -0
  58. package/dist/components/file-upload/index.jsx +255 -0
  59. package/dist/components/floating-panel/index.d.ts +100 -0
  60. package/dist/components/floating-panel/index.js +246 -0
  61. package/dist/components/floating-panel/index.jsx +217 -0
  62. package/dist/components/focus-trap/index.d.ts +17 -0
  63. package/dist/components/focus-trap/index.js +34 -0
  64. package/dist/components/focus-trap/index.jsx +30 -0
  65. package/dist/components/format/index.d.ts +27 -0
  66. package/dist/components/format/index.js +46 -0
  67. package/dist/components/format/index.jsx +48 -0
  68. package/dist/components/frame/index.d.ts +13 -0
  69. package/dist/components/frame/index.js +121 -0
  70. package/dist/components/frame/index.jsx +86 -0
  71. package/dist/components/highlight/index.d.ts +15 -0
  72. package/dist/components/highlight/index.js +47 -0
  73. package/dist/components/highlight/index.jsx +31 -0
  74. package/dist/components/presence/index.d.ts +4 -4
  75. package/dist/components/presence/index.js +7 -6
  76. package/dist/components/presence/index.jsx +7 -6
  77. package/dist/components/select/index.d.ts +22 -22
  78. package/dist/components/select/index.js +13 -11
  79. package/dist/components/select/index.jsx +13 -11
  80. package/dist/{run-if-fn-eYlaegHy.js → core-CWSDVCoi.jsx} +1 -6
  81. package/dist/{run-if-fn-DRWB51JE.jsx → core-Cl2xcDm5.js} +1 -6
  82. package/dist/create-split-props-CHlLW_X_.js +7 -0
  83. package/dist/create-split-props-DrfYep1t.jsx +7 -0
  84. package/dist/{factory-B6RK6SH4.d.ts → factory-C7CCEqYp.d.ts} +1 -1
  85. package/dist/{factory-CEdj72aS.js → factory-Ci1LUSWg.js} +2 -6
  86. package/dist/{create-split-props-CQVsvhvg.jsx → factory-OCDy1fEv.jsx} +2 -6
  87. package/dist/{field-C_WuoXOj.js → field-D5bG5XXV.js} +8 -7
  88. package/dist/{field-CphvciGc.jsx → field-DQLYAOgJ.jsx} +8 -7
  89. package/dist/{fieldset-BG-0ZqWT.jsx → fieldset-DT2nCjE0.jsx} +8 -6
  90. package/dist/{fieldset-D1BO0LmU.js → fieldset-Def05D5r.js} +8 -6
  91. package/dist/{index-DXheKbqg.d.ts → index-4WaIBGi6.d.ts} +1 -1
  92. package/dist/{index-vSwYtc2L.d.ts → index-Bf3vaCUa.d.ts} +8 -8
  93. package/dist/{index-NWiNyxpL.d.ts → index-CsB3A61w.d.ts} +8 -8
  94. package/dist/index.d.ts +5 -5
  95. package/dist/index.js +4 -4
  96. package/dist/index.jsx +4 -4
  97. package/dist/{presence-Bfjusgm3.js → presence-CAkwk5S4.js} +7 -5
  98. package/dist/{presence-arWh1hVd.jsx → presence-vlL8hWT8.jsx} +7 -5
  99. package/dist/{providers-CHqGPEsc.jsx → providers-BRmk_hzA.jsx} +2 -2
  100. package/dist/{providers-CQkAUunr.js → providers-D1hKjv0s.js} +2 -2
  101. package/dist/{render-strategy-CZDG_yDi.jsx → render-strategy-BA_kLuwR.jsx} +2 -2
  102. package/dist/{render-strategy-COrlrUuR.js → render-strategy-CqWA1-xU.js} +2 -2
  103. package/dist/run-if-fn-Ct4sSuFV.js +6 -0
  104. package/dist/run-if-fn-iVu0r8rO.jsx +6 -0
  105. package/dist/utils/index.d.ts +1 -1
  106. package/dist/utils/index.js +2 -2
  107. package/dist/utils/index.jsx +2 -2
  108. package/package.json +72 -2
  109. /package/dist/{chunk-C4aQI7lE.jsx → chunk-Wl6TQfsu.js} +0 -0
  110. /package/dist/{chunk-CKcAJnC7.js → chunk-dNcSV51B.jsx} +0 -0
  111. /package/dist/{compose-refs-CzyOb8yH.jsx → compose-refs-CDTdkuP1.jsx} +0 -0
  112. /package/dist/{compose-refs-vsrTrt13.js → compose-refs-DbJoODKO.js} +0 -0
  113. /package/dist/{create-context-PS2j4mEo.js → create-context-BBDU3kF1.js} +0 -0
  114. /package/dist/{create-context-h3cXiEld.jsx → create-context-CpcL7CiV.jsx} +0 -0
  115. /package/dist/{index-B0YoIRC4.d.ts → index-5DzQGTeT.d.ts} +0 -0
  116. /package/dist/{index-C3ATynHc.d.ts → index-BLKwiHM7.d.ts} +0 -0
  117. /package/dist/{render-strategy-CtRkdWei.d.ts → render-strategy-DfQ78EfE.d.ts} +0 -0
  118. /package/dist/{types-bQRbEioA.d.ts → types-M3kll1K0.d.ts} +0 -0
  119. /package/dist/{utils-DYer-9SY.js → utils-DK-8VxTv.jsx} +0 -0
  120. /package/dist/{utils-DrvO4Hk3.jsx → utils-xOi5tXWN.js} +0 -0
@@ -0,0 +1,27 @@
1
+ import * as solid_js64 from "solid-js";
2
+
3
+ //#region src/components/format/format-byte.d.ts
4
+ interface FormatByteProps {
5
+ unit?: 'bit' | 'byte';
6
+ unitDisplay?: 'long' | 'short' | 'narrow';
7
+ unitSystem?: 'decimal' | 'binary';
8
+ value: number;
9
+ }
10
+ declare const FormatByte: (props: FormatByteProps) => solid_js64.JSX.Element;
11
+ //#endregion
12
+ //#region src/components/format/format-number.d.ts
13
+ interface FormatNumberProps extends Intl.NumberFormatOptions {
14
+ value: number;
15
+ }
16
+ declare const FormatNumber: (props: FormatNumberProps) => solid_js64.JSX.Element;
17
+ //#endregion
18
+ //#region src/components/format/format-relative-time.d.ts
19
+ interface FormatRelativeTimeProps extends Intl.RelativeTimeFormatOptions {
20
+ value: Date;
21
+ }
22
+ declare const FormatRelativeTime: (props: FormatRelativeTimeProps) => solid_js64.JSX.Element;
23
+ declare namespace format_d_exports {
24
+ export { FormatByte as Byte, FormatByteProps as ByteProps, FormatNumber as Number, FormatNumberProps as NumberProps, FormatRelativeTime as RelativeTime, FormatRelativeTimeProps as RelativeTimeProps };
25
+ }
26
+ //#endregion
27
+ export { format_d_exports as Format, FormatByte, type FormatByteProps, FormatNumber, type FormatNumberProps, FormatRelativeTime, type FormatRelativeTimeProps };
@@ -0,0 +1,46 @@
1
+ import { t as __export } from "../../chunk-Wl6TQfsu.js";
2
+ import "../../create-context-BBDU3kF1.js";
3
+ import { i as useLocaleContext } from "../../providers-D1hKjv0s.js";
4
+ import { createMemo } from "solid-js";
5
+ import { memo } from "solid-js/web";
6
+ import { formatBytes, formatNumber, formatRelativeTime } from "@sprawlify/primitives/i18n-utils";
7
+
8
+ //#region src/components/format/format-byte.tsx
9
+ const FormatByte = (props) => {
10
+ const ctx = useLocaleContext();
11
+ return memo(createMemo(() => {
12
+ const { value, ...intlOptions } = props;
13
+ return formatBytes(value, ctx().locale, intlOptions);
14
+ }));
15
+ };
16
+
17
+ //#endregion
18
+ //#region src/components/format/format-number.tsx
19
+ const FormatNumber = (props) => {
20
+ const ctx = useLocaleContext();
21
+ return memo(createMemo(() => {
22
+ const { value, ...intlOptions } = props;
23
+ return formatNumber(value, ctx().locale, intlOptions);
24
+ }));
25
+ };
26
+
27
+ //#endregion
28
+ //#region src/components/format/format-relative-time.tsx
29
+ const FormatRelativeTime = (props) => {
30
+ const ctx = useLocaleContext();
31
+ return memo(createMemo(() => {
32
+ const { value, ...intlOptions } = props;
33
+ return formatRelativeTime(value, ctx().locale, intlOptions);
34
+ }));
35
+ };
36
+
37
+ //#endregion
38
+ //#region src/components/format/format.ts
39
+ var format_exports = /* @__PURE__ */ __export({
40
+ Byte: () => FormatByte,
41
+ Number: () => FormatNumber,
42
+ RelativeTime: () => FormatRelativeTime
43
+ });
44
+
45
+ //#endregion
46
+ export { format_exports as Format, FormatByte, FormatNumber, FormatRelativeTime };
@@ -0,0 +1,48 @@
1
+ import { t as __export } from "../../chunk-dNcSV51B.jsx";
2
+ import "../../create-context-CpcL7CiV.jsx";
3
+ import { i as useLocaleContext } from "../../providers-BRmk_hzA.jsx";
4
+ import { createMemo } from "solid-js";
5
+ import { formatBytes, formatNumber, formatRelativeTime } from "@sprawlify/primitives/i18n-utils";
6
+
7
+ //#region src/components/format/format-byte.tsx
8
+ const FormatByte = (props) => {
9
+ const ctx = useLocaleContext();
10
+ const text = createMemo(() => {
11
+ const { value, ...intlOptions } = props;
12
+ return formatBytes(value, ctx().locale, intlOptions);
13
+ });
14
+ return <>{text()}</>;
15
+ };
16
+
17
+ //#endregion
18
+ //#region src/components/format/format-number.tsx
19
+ const FormatNumber = (props) => {
20
+ const ctx = useLocaleContext();
21
+ const text = createMemo(() => {
22
+ const { value, ...intlOptions } = props;
23
+ return formatNumber(value, ctx().locale, intlOptions);
24
+ });
25
+ return <>{text()}</>;
26
+ };
27
+
28
+ //#endregion
29
+ //#region src/components/format/format-relative-time.tsx
30
+ const FormatRelativeTime = (props) => {
31
+ const ctx = useLocaleContext();
32
+ const text = createMemo(() => {
33
+ const { value, ...intlOptions } = props;
34
+ return formatRelativeTime(value, ctx().locale, intlOptions);
35
+ });
36
+ return <>{text()}</>;
37
+ };
38
+
39
+ //#endregion
40
+ //#region src/components/format/format.ts
41
+ var format_exports = /* @__PURE__ */ __export({
42
+ Byte: () => FormatByte,
43
+ Number: () => FormatNumber,
44
+ RelativeTime: () => FormatRelativeTime
45
+ });
46
+
47
+ //#endregion
48
+ export { format_exports as Format, FormatByte, FormatNumber, FormatRelativeTime };
@@ -0,0 +1,13 @@
1
+ import { t as Assign } from "../../types-M3kll1K0.js";
2
+ import { JSX } from "solid-js";
3
+
4
+ //#region src/components/frame/frame.d.ts
5
+ interface FrameBaseProps {
6
+ head?: JSX.Element;
7
+ onMount?: () => void;
8
+ onUnmount?: () => void;
9
+ }
10
+ interface FrameProps extends Assign<JSX.IframeHTMLAttributes<HTMLIFrameElement>, FrameBaseProps> {}
11
+ declare const Frame: (props: FrameProps) => JSX.Element;
12
+ //#endregion
13
+ export { Frame, type FrameBaseProps, type FrameProps };
@@ -0,0 +1,121 @@
1
+ import "../../create-context-BBDU3kF1.js";
2
+ import { a as EnvironmentProvider } from "../../providers-D1hKjv0s.js";
3
+ import { t as composeRefs } from "../../compose-refs-DbJoODKO.js";
4
+ import { Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from "solid-js";
5
+ import { Portal, createComponent, insert, spread, template, use } from "solid-js/web";
6
+
7
+ //#region src/components/frame/frame-content.tsx
8
+ const FrameContent = (props) => {
9
+ const { onMount: onMount$1, onUnmount, children: children$1 } = props;
10
+ createEffect(() => {
11
+ onMount$1?.();
12
+ onCleanup(() => {
13
+ onUnmount?.();
14
+ });
15
+ });
16
+ return children$1;
17
+ };
18
+
19
+ //#endregion
20
+ //#region src/components/frame/frame.tsx
21
+ var _tmpl$ = /* @__PURE__ */ template(`<iframe>`);
22
+ const initialSrcDoc = `<html><head><style>*,*::before,*::after { margin: 0; padding: 0; box-sizing: border-box; }</style></head><body><div class="frame-root"></div></body></html>`;
23
+ function getMountNode(frame) {
24
+ const doc = frame.contentWindow?.document;
25
+ if (!doc) return null;
26
+ return doc.body.querySelector(".frame-root") || doc.body;
27
+ }
28
+ const Frame = (props) => {
29
+ const [frameProps, localProps] = splitProps(props, [
30
+ "children",
31
+ "head",
32
+ "onMount",
33
+ "onUnmount",
34
+ "srcdoc"
35
+ ]);
36
+ const srcdoc = createMemo(() => frameProps.srcdoc ?? initialSrcDoc);
37
+ const [frameRef, setFrameRef] = createSignal(null);
38
+ const [mountNode, setMountNode] = createSignal(null);
39
+ createEffect(() => {
40
+ const frame = frameRef();
41
+ if (!frame) return;
42
+ const doc = frame.contentWindow?.document;
43
+ if (!doc) return;
44
+ doc.open();
45
+ doc.write(srcdoc());
46
+ doc.close();
47
+ setMountNode(getMountNode(frame));
48
+ });
49
+ createEffect(() => {
50
+ const frame = frameRef();
51
+ if (!frame || !frame.contentDocument) return;
52
+ const win = frame.contentWindow;
53
+ if (!win) return;
54
+ const node = getMountNode(frame);
55
+ if (!node) return;
56
+ const exec = () => {
57
+ win.requestAnimationFrame(() => {
58
+ if (!frame.contentDocument?.documentElement) return;
59
+ frame.style.setProperty("--width", `${node.scrollWidth}px`);
60
+ frame.style.setProperty("--height", `${node.scrollHeight}px`);
61
+ });
62
+ };
63
+ const resizeObserver = new win.ResizeObserver(exec);
64
+ exec();
65
+ if (frame.contentDocument) resizeObserver.observe(node);
66
+ onCleanup(() => {
67
+ resizeObserver.disconnect();
68
+ });
69
+ });
70
+ return createComponent(EnvironmentProvider, {
71
+ value: () => frameRef()?.contentDocument ?? document,
72
+ get children() {
73
+ var _el$ = _tmpl$();
74
+ var _ref$ = composeRefs(setFrameRef, localProps.ref);
75
+ typeof _ref$ === "function" && use(_ref$, _el$);
76
+ spread(_el$, localProps, false, true);
77
+ insert(_el$, createComponent(Show, {
78
+ get when() {
79
+ return mountNode();
80
+ },
81
+ children: (node) => createComponent(Portal, {
82
+ get mount() {
83
+ return node();
84
+ },
85
+ get children() {
86
+ return createComponent(FrameContent, {
87
+ get onMount() {
88
+ return frameProps.onMount;
89
+ },
90
+ get onUnmount() {
91
+ return frameProps.onUnmount;
92
+ },
93
+ get children() {
94
+ return frameProps.children;
95
+ }
96
+ });
97
+ }
98
+ })
99
+ }), null);
100
+ insert(_el$, createComponent(Show, {
101
+ get when() {
102
+ return mountNode();
103
+ },
104
+ get children() {
105
+ return createComponent(Portal, {
106
+ get mount() {
107
+ return frameRef().contentDocument.head;
108
+ },
109
+ get children() {
110
+ return frameProps.head;
111
+ }
112
+ });
113
+ }
114
+ }), null);
115
+ return _el$;
116
+ }
117
+ });
118
+ };
119
+
120
+ //#endregion
121
+ export { Frame };
@@ -0,0 +1,86 @@
1
+ import "../../create-context-CpcL7CiV.jsx";
2
+ import { a as EnvironmentProvider } from "../../providers-BRmk_hzA.jsx";
3
+ import { t as composeRefs } from "../../compose-refs-CDTdkuP1.jsx";
4
+ import { Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from "solid-js";
5
+ import { Portal } from "solid-js/web";
6
+
7
+ //#region src/components/frame/frame-content.tsx
8
+ const FrameContent = (props) => {
9
+ const { onMount: onMount$1, onUnmount, children: children$1 } = props;
10
+ createEffect(() => {
11
+ onMount$1?.();
12
+ onCleanup(() => {
13
+ onUnmount?.();
14
+ });
15
+ });
16
+ return children$1;
17
+ };
18
+
19
+ //#endregion
20
+ //#region src/components/frame/frame.tsx
21
+ const initialSrcDoc = `<html><head><style>*,*::before,*::after { margin: 0; padding: 0; box-sizing: border-box; }</style></head><body><div class="frame-root"></div></body></html>`;
22
+ function getMountNode(frame) {
23
+ const doc = frame.contentWindow?.document;
24
+ if (!doc) return null;
25
+ return doc.body.querySelector(".frame-root") || doc.body;
26
+ }
27
+ const Frame = (props) => {
28
+ const [frameProps, localProps] = splitProps(props, [
29
+ "children",
30
+ "head",
31
+ "onMount",
32
+ "onUnmount",
33
+ "srcdoc"
34
+ ]);
35
+ const srcdoc = createMemo(() => frameProps.srcdoc ?? initialSrcDoc);
36
+ const [frameRef, setFrameRef] = createSignal(null);
37
+ const [mountNode, setMountNode] = createSignal(null);
38
+ createEffect(() => {
39
+ const frame = frameRef();
40
+ if (!frame) return;
41
+ const doc = frame.contentWindow?.document;
42
+ if (!doc) return;
43
+ doc.open();
44
+ doc.write(srcdoc());
45
+ doc.close();
46
+ setMountNode(getMountNode(frame));
47
+ });
48
+ createEffect(() => {
49
+ const frame = frameRef();
50
+ if (!frame || !frame.contentDocument) return;
51
+ const win = frame.contentWindow;
52
+ if (!win) return;
53
+ const node = getMountNode(frame);
54
+ if (!node) return;
55
+ const exec = () => {
56
+ win.requestAnimationFrame(() => {
57
+ if (!frame.contentDocument?.documentElement) return;
58
+ frame.style.setProperty("--width", `${node.scrollWidth}px`);
59
+ frame.style.setProperty("--height", `${node.scrollHeight}px`);
60
+ });
61
+ };
62
+ const resizeObserver = new win.ResizeObserver(exec);
63
+ exec();
64
+ if (frame.contentDocument) resizeObserver.observe(node);
65
+ onCleanup(() => {
66
+ resizeObserver.disconnect();
67
+ });
68
+ });
69
+ return <EnvironmentProvider value={() => frameRef()?.contentDocument ?? document}>
70
+ <iframe {...localProps} ref={composeRefs(setFrameRef, localProps.ref)}>
71
+ <Show when={mountNode()}>
72
+ {(node) => <Portal mount={node()}>
73
+ <FrameContent onMount={frameProps.onMount} onUnmount={frameProps.onUnmount}>
74
+ {frameProps.children}
75
+ </FrameContent>
76
+ </Portal>}
77
+ </Show>
78
+ <Show when={mountNode()}>
79
+ <Portal mount={frameRef().contentDocument.head}>{frameProps.head}</Portal>
80
+ </Show>
81
+ </iframe>
82
+ </EnvironmentProvider>;
83
+ };
84
+
85
+ //#endregion
86
+ export { Frame };
@@ -0,0 +1,15 @@
1
+ import { n as MaybeAccessor, t as Assign } from "../../types-M3kll1K0.js";
2
+ import * as solid_js2 from "solid-js";
3
+ import { Accessor, ComponentProps } from "solid-js";
4
+ import { HighlightChunk, HighlightWordProps } from "@sprawlify/primitives/highlight-word";
5
+
6
+ //#region src/components/highlight/use-highlight.d.ts
7
+ interface UseHighlightProps extends HighlightWordProps {}
8
+ declare const useHighlight: (props: MaybeAccessor<UseHighlightProps>) => Accessor<HighlightChunk[]>;
9
+ //#endregion
10
+ //#region src/components/highlight/highlight.d.ts
11
+ interface HighlightBaseProps extends UseHighlightProps {}
12
+ interface HighlightProps extends Assign<ComponentProps<'mark'>, HighlightBaseProps> {}
13
+ declare const Highlight: (props: HighlightProps) => solid_js2.JSX.Element;
14
+ //#endregion
15
+ export { Highlight, type HighlightChunk, type HighlightProps, type UseHighlightProps, useHighlight };
@@ -0,0 +1,47 @@
1
+ import { t as runIfFn } from "../../run-if-fn-Ct4sSuFV.js";
2
+ import { t as createSplitProps } from "../../create-split-props-CHlLW_X_.js";
3
+ import { For, Show, createMemo } from "solid-js";
4
+ import { createComponent, insert, spread, template } from "solid-js/web";
5
+ import { highlightWord } from "@sprawlify/primitives/highlight-word";
6
+
7
+ //#region src/components/highlight/use-highlight.ts
8
+ const useHighlight = (props) => {
9
+ return createMemo(() => highlightWord(runIfFn(props)));
10
+ };
11
+
12
+ //#endregion
13
+ //#region src/components/highlight/highlight.tsx
14
+ var _tmpl$ = /* @__PURE__ */ template(`<mark>`);
15
+ const Highlight = (props) => {
16
+ if (typeof props.text !== "string") throw new Error("[sprawlify/highlight] text must be a string");
17
+ const [highlightProps, localProps] = createSplitProps()(props, [
18
+ "query",
19
+ "text",
20
+ "ignoreCase",
21
+ "matchAll",
22
+ "exactMatch"
23
+ ]);
24
+ const chunks = useHighlight(highlightProps);
25
+ return createComponent(For, {
26
+ get each() {
27
+ return chunks();
28
+ },
29
+ children: (chunk) => createComponent(Show, {
30
+ get when() {
31
+ return chunk.match;
32
+ },
33
+ get fallback() {
34
+ return chunk.text;
35
+ },
36
+ get children() {
37
+ var _el$ = _tmpl$();
38
+ spread(_el$, localProps, false, true);
39
+ insert(_el$, () => chunk.text);
40
+ return _el$;
41
+ }
42
+ })
43
+ });
44
+ };
45
+
46
+ //#endregion
47
+ export { Highlight, useHighlight };
@@ -0,0 +1,31 @@
1
+ import { t as runIfFn } from "../../run-if-fn-iVu0r8rO.jsx";
2
+ import { t as createSplitProps } from "../../create-split-props-DrfYep1t.jsx";
3
+ import { For, Show, createMemo } from "solid-js";
4
+ import { highlightWord } from "@sprawlify/primitives/highlight-word";
5
+
6
+ //#region src/components/highlight/use-highlight.ts
7
+ const useHighlight = (props) => {
8
+ return createMemo(() => highlightWord(runIfFn(props)));
9
+ };
10
+
11
+ //#endregion
12
+ //#region src/components/highlight/highlight.tsx
13
+ const Highlight = (props) => {
14
+ if (typeof props.text !== "string") throw new Error("[sprawlify/highlight] text must be a string");
15
+ const [highlightProps, localProps] = createSplitProps()(props, [
16
+ "query",
17
+ "text",
18
+ "ignoreCase",
19
+ "matchAll",
20
+ "exactMatch"
21
+ ]);
22
+ const chunks = useHighlight(highlightProps);
23
+ return <For each={chunks()}>
24
+ {(chunk) => <Show when={chunk.match} fallback={chunk.text}>
25
+ <mark {...localProps}>{chunk.text}</mark>
26
+ </Show>}
27
+ </For>;
28
+ };
29
+
30
+ //#endregion
31
+ export { Highlight, useHighlight };
@@ -1,5 +1,5 @@
1
- import "../../types-bQRbEioA.js";
2
- import "../../factory-B6RK6SH4.js";
3
- import "../../render-strategy-CtRkdWei.js";
4
- import { a as Presence, c as UsePresenceReturn, i as splitPresenceProps, l as usePresence, n as UsePresenceContext, o as PresenceProps, r as usePresenceContext, s as UsePresenceProps, t as PresenceProvider } from "../../index-vSwYtc2L.js";
1
+ import "../../types-M3kll1K0.js";
2
+ import "../../factory-C7CCEqYp.js";
3
+ import "../../render-strategy-DfQ78EfE.js";
4
+ import { a as Presence, c as UsePresenceReturn, i as splitPresenceProps, l as usePresence, n as UsePresenceContext, o as PresenceProps, r as usePresenceContext, s as UsePresenceProps, t as PresenceProvider } from "../../index-CsB3A61w.js";
5
5
  export { Presence, PresenceProps, PresenceProvider, UsePresenceContext, UsePresenceProps, UsePresenceReturn, splitPresenceProps, usePresence, usePresenceContext };
@@ -1,8 +1,9 @@
1
- import "../../run-if-fn-eYlaegHy.js";
2
- import "../../create-context-PS2j4mEo.js";
3
- import "../../factory-CEdj72aS.js";
4
- import "../../render-strategy-COrlrUuR.js";
5
- import "../../compose-refs-vsrTrt13.js";
6
- import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, r as Presence, t as PresenceProvider } from "../../presence-Bfjusgm3.js";
1
+ import "../../core-Cl2xcDm5.js";
2
+ import "../../create-context-BBDU3kF1.js";
3
+ import "../../create-split-props-CHlLW_X_.js";
4
+ import "../../render-strategy-CqWA1-xU.js";
5
+ import "../../factory-Ci1LUSWg.js";
6
+ import "../../compose-refs-DbJoODKO.js";
7
+ import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, r as Presence, t as PresenceProvider } from "../../presence-CAkwk5S4.js";
7
8
 
8
9
  export { Presence, PresenceProvider, splitPresenceProps, usePresence, usePresenceContext };
@@ -1,8 +1,9 @@
1
- import "../../run-if-fn-DRWB51JE.jsx";
2
- import "../../create-context-h3cXiEld.jsx";
3
- import "../../create-split-props-CQVsvhvg.jsx";
4
- import "../../render-strategy-CZDG_yDi.jsx";
5
- import "../../compose-refs-CzyOb8yH.jsx";
6
- import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, r as Presence, t as PresenceProvider } from "../../presence-arWh1hVd.jsx";
1
+ import "../../core-CWSDVCoi.jsx";
2
+ import "../../create-context-CpcL7CiV.jsx";
3
+ import "../../create-split-props-DrfYep1t.jsx";
4
+ import "../../render-strategy-BA_kLuwR.jsx";
5
+ import "../../factory-OCDy1fEv.jsx";
6
+ import "../../compose-refs-CDTdkuP1.jsx";
7
+ import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, r as Presence, t as PresenceProvider } from "../../presence-vlL8hWT8.jsx";
7
8
 
8
9
  export { Presence, PresenceProvider, splitPresenceProps, usePresence, usePresenceContext };
@@ -1,10 +1,10 @@
1
- import { n as PropTypes } from "../../index-C3ATynHc.js";
2
- import { i as Optional, n as MaybeAccessor, t as Assign } from "../../types-bQRbEioA.js";
3
- import { n as PolymorphicProps, t as HTMLProps } from "../../factory-B6RK6SH4.js";
4
- import "../../render-strategy-CtRkdWei.js";
5
- import { s as UsePresenceProps } from "../../index-vSwYtc2L.js";
6
- import { _ as CollectionItem, b as createListCollection, i as UseListCollectionProps, o as useListCollection, y as ListCollection } from "../../index-DXheKbqg.js";
7
- import * as solid_js13 from "solid-js";
1
+ import { n as PropTypes } from "../../index-BLKwiHM7.js";
2
+ import { i as Optional, n as MaybeAccessor, t as Assign } from "../../types-M3kll1K0.js";
3
+ import { n as PolymorphicProps, t as HTMLProps } from "../../factory-C7CCEqYp.js";
4
+ import "../../render-strategy-DfQ78EfE.js";
5
+ import { s as UsePresenceProps } from "../../index-CsB3A61w.js";
6
+ import { _ as CollectionItem, b as createListCollection, i as UseListCollectionProps, o as useListCollection, y as ListCollection } from "../../index-4WaIBGi6.js";
7
+ import * as solid_js185 from "solid-js";
8
8
  import { Accessor, JSX } from "solid-js";
9
9
  import * as select from "@sprawlify/primitives/machines/select";
10
10
  import { FocusOutsideEvent, FocusOutsideEvent as SelectFocusOutsideEvent, HighlightChangeDetails, HighlightChangeDetails as SelectHighlightChangeDetails, InteractOutsideEvent, InteractOutsideEvent as SelectInteractOutsideEvent, ItemProps, ItemState, OpenChangeDetails, OpenChangeDetails as SelectOpenChangeDetails, PointerDownOutsideEvent, PointerDownOutsideEvent as SelectPointerDownOutsideEvent, ValueChangeDetails, ValueChangeDetails as SelectValueChangeDetails, anatomy as selectAnatomy } from "@sprawlify/primitives/machines/select";
@@ -13,12 +13,12 @@ import { JSX as JSX$1 } from "solid-js/jsx-runtime";
13
13
  //#region src/components/select/select-clear-trigger.d.ts
14
14
  interface SelectClearTriggerBaseProps extends PolymorphicProps<'button'> {}
15
15
  interface SelectClearTriggerProps extends HTMLProps<'button'>, SelectClearTriggerBaseProps {}
16
- declare const SelectClearTrigger: (props: SelectClearTriggerProps) => solid_js13.JSX.Element;
16
+ declare const SelectClearTrigger: (props: SelectClearTriggerProps) => solid_js185.JSX.Element;
17
17
  //#endregion
18
18
  //#region src/components/select/select-content.d.ts
19
19
  interface SelectContentBaseProps extends PolymorphicProps<'div'> {}
20
20
  interface SelectContentProps extends HTMLProps<'div'>, SelectContentBaseProps {}
21
- declare const SelectContent: (props: SelectContentProps) => solid_js13.JSX.Element;
21
+ declare const SelectContent: (props: SelectContentProps) => solid_js185.JSX.Element;
22
22
  //#endregion
23
23
  //#region src/components/select/use-select.d.ts
24
24
  interface UseSelectProps<T extends CollectionItem> extends Optional<Omit<select.Props<T>, 'collection' | 'dir' | 'getRootNode'>, 'id'> {
@@ -39,22 +39,22 @@ declare const SelectContext: <T extends CollectionItem>(props: SelectContextProp
39
39
  //#region src/components/select/select-control.d.ts
40
40
  interface SelectControlBaseProps extends PolymorphicProps<'div'> {}
41
41
  interface SelectControlProps extends HTMLProps<'div'>, SelectControlBaseProps {}
42
- declare const SelectControl: (props: SelectControlProps) => solid_js13.JSX.Element;
42
+ declare const SelectControl: (props: SelectControlProps) => solid_js185.JSX.Element;
43
43
  //#endregion
44
44
  //#region src/components/select/select-hidden-select.d.ts
45
45
  interface SelectHiddenSelectBaseProps extends PolymorphicProps<'select'> {}
46
46
  interface SelectHiddenSelectProps extends HTMLProps<'select'>, SelectHiddenSelectBaseProps {}
47
- declare const SelectHiddenSelect: (props: SelectHiddenSelectProps) => solid_js13.JSX.Element;
47
+ declare const SelectHiddenSelect: (props: SelectHiddenSelectProps) => solid_js185.JSX.Element;
48
48
  //#endregion
49
49
  //#region src/components/select/select-indicator.d.ts
50
50
  interface SelectIndicatorBaseProps extends PolymorphicProps<'div'> {}
51
51
  interface SelectIndicatorProps extends HTMLProps<'div'>, SelectIndicatorBaseProps {}
52
- declare const SelectIndicator: (props: SelectIndicatorProps) => solid_js13.JSX.Element;
52
+ declare const SelectIndicator: (props: SelectIndicatorProps) => solid_js185.JSX.Element;
53
53
  //#endregion
54
54
  //#region src/components/select/select-item.d.ts
55
55
  interface SelectItemBaseProps extends ItemProps, PolymorphicProps<'div'> {}
56
56
  interface SelectItemProps extends HTMLProps<'div'>, SelectItemBaseProps {}
57
- declare const SelectItem: (props: SelectItemProps) => solid_js13.JSX.Element;
57
+ declare const SelectItem: (props: SelectItemProps) => solid_js185.JSX.Element;
58
58
  //#endregion
59
59
  //#region src/components/select/use-select-item-context.d.ts
60
60
  interface UseSelectItemContext extends Accessor<ItemState> {}
@@ -68,37 +68,37 @@ declare const SelectItemContext: (props: SelectItemContextProps) => JSX.Element;
68
68
  //#region src/components/select/select-item-group.d.ts
69
69
  interface SelectItemGroupBaseProps extends PolymorphicProps<'div'> {}
70
70
  interface SelectItemGroupProps extends HTMLProps<'div'>, SelectItemGroupBaseProps {}
71
- declare const SelectItemGroup: (props: SelectItemGroupProps) => solid_js13.JSX.Element;
71
+ declare const SelectItemGroup: (props: SelectItemGroupProps) => solid_js185.JSX.Element;
72
72
  //#endregion
73
73
  //#region src/components/select/select-item-group-label.d.ts
74
74
  interface SelectItemGroupLabelBaseProps extends PolymorphicProps<'div'> {}
75
75
  interface SelectItemGroupLabelProps extends HTMLProps<'div'>, SelectItemGroupLabelBaseProps {}
76
- declare const SelectItemGroupLabel: (props: SelectItemGroupLabelProps) => solid_js13.JSX.Element;
76
+ declare const SelectItemGroupLabel: (props: SelectItemGroupLabelProps) => solid_js185.JSX.Element;
77
77
  //#endregion
78
78
  //#region src/components/select/select-item-indicator.d.ts
79
79
  interface SelectItemIndicatorBaseProps extends PolymorphicProps<'div'> {}
80
80
  interface SelectItemIndicatorProps extends HTMLProps<'div'>, SelectItemIndicatorBaseProps {}
81
- declare const SelectItemIndicator: (props: SelectItemIndicatorProps) => solid_js13.JSX.Element;
81
+ declare const SelectItemIndicator: (props: SelectItemIndicatorProps) => solid_js185.JSX.Element;
82
82
  //#endregion
83
83
  //#region src/components/select/select-item-text.d.ts
84
84
  interface SelectItemTextBaseProps extends PolymorphicProps<'span'> {}
85
85
  interface SelectItemTextProps extends HTMLProps<'span'>, SelectItemTextBaseProps {}
86
- declare const SelectItemText: (props: SelectItemTextProps) => solid_js13.JSX.Element;
86
+ declare const SelectItemText: (props: SelectItemTextProps) => solid_js185.JSX.Element;
87
87
  //#endregion
88
88
  //#region src/components/select/select-label.d.ts
89
89
  interface SelectLabelBaseProps extends PolymorphicProps<'label'> {}
90
90
  interface SelectLabelProps extends HTMLProps<'label'>, SelectLabelBaseProps {}
91
- declare const SelectLabel: (props: SelectLabelProps) => solid_js13.JSX.Element;
91
+ declare const SelectLabel: (props: SelectLabelProps) => solid_js185.JSX.Element;
92
92
  //#endregion
93
93
  //#region src/components/select/select-list.d.ts
94
94
  interface SelectListBaseProps extends PolymorphicProps<'div'> {}
95
95
  interface SelectListProps extends HTMLProps<'div'>, SelectListBaseProps {}
96
- declare const SelectList: (props: SelectListProps) => solid_js13.JSX.Element;
96
+ declare const SelectList: (props: SelectListProps) => solid_js185.JSX.Element;
97
97
  //#endregion
98
98
  //#region src/components/select/select-positioner.d.ts
99
99
  interface SelectPositionerBaseProps extends PolymorphicProps<'div'> {}
100
100
  interface SelectPositionerProps extends HTMLProps<'div'>, SelectPositionerBaseProps {}
101
- declare const SelectPositioner: (props: SelectPositionerProps) => solid_js13.JSX.Element;
101
+ declare const SelectPositioner: (props: SelectPositionerProps) => solid_js185.JSX.Element;
102
102
  //#endregion
103
103
  //#region src/components/select/select-root.d.ts
104
104
  interface SelectRootBaseProps<T extends CollectionItem> extends UseSelectProps<T>, UsePresenceProps, PolymorphicProps<'div'> {}
@@ -119,14 +119,14 @@ type SelectRootProviderComponent<P = {}> = <T extends CollectionItem>(props: Ass
119
119
  //#region src/components/select/select-trigger.d.ts
120
120
  interface SelectTriggerBaseProps extends PolymorphicProps<'button'> {}
121
121
  interface SelectTriggerProps extends HTMLProps<'button'>, SelectTriggerBaseProps {}
122
- declare const SelectTrigger: (props: SelectTriggerProps) => solid_js13.JSX.Element;
122
+ declare const SelectTrigger: (props: SelectTriggerProps) => solid_js185.JSX.Element;
123
123
  //#endregion
124
124
  //#region src/components/select/select-value-text.d.ts
125
125
  interface SelectValueTextBaseProps extends PolymorphicProps<'span'> {
126
126
  placeholder?: string;
127
127
  }
128
128
  interface SelectValueTextProps extends HTMLProps<'span'>, SelectValueTextBaseProps {}
129
- declare const SelectValueText: (props: SelectValueTextProps) => solid_js13.JSX.Element;
129
+ declare const SelectValueText: (props: SelectValueTextProps) => solid_js185.JSX.Element;
130
130
  declare namespace select_d_exports {
131
131
  export { SelectClearTrigger as ClearTrigger, SelectClearTriggerBaseProps as ClearTriggerBaseProps, SelectClearTriggerProps as ClearTriggerProps, CollectionItem, SelectContent as Content, SelectContentBaseProps as ContentBaseProps, SelectContentProps as ContentProps, SelectContext as Context, SelectContextProps as ContextProps, SelectControl as Control, SelectControlBaseProps as ControlBaseProps, SelectControlProps as ControlProps, FocusOutsideEvent, SelectHiddenSelect as HiddenSelect, SelectHiddenSelectBaseProps as HiddenSelectBaseProps, SelectHiddenSelectProps as HiddenSelectProps, HighlightChangeDetails, SelectIndicator as Indicator, SelectIndicatorBaseProps as IndicatorBaseProps, SelectIndicatorProps as IndicatorProps, InteractOutsideEvent, SelectItem as Item, SelectItemBaseProps as ItemBaseProps, SelectItemContext as ItemContext, SelectItemContextProps as ItemContextProps, SelectItemGroup as ItemGroup, SelectItemGroupBaseProps as ItemGroupBaseProps, SelectItemGroupLabel as ItemGroupLabel, SelectItemGroupLabelBaseProps as ItemGroupLabelBaseProps, SelectItemGroupLabelProps as ItemGroupLabelProps, SelectItemGroupProps as ItemGroupProps, SelectItemIndicator as ItemIndicator, SelectItemIndicatorBaseProps as ItemIndicatorBaseProps, SelectItemIndicatorProps as ItemIndicatorProps, SelectItemProps as ItemProps, SelectItemText as ItemText, SelectItemTextBaseProps as ItemTextBaseProps, SelectItemTextProps as ItemTextProps, SelectLabel as Label, SelectLabelBaseProps as LabelBaseProps, SelectLabelProps as LabelProps, SelectList as List, SelectListBaseProps as ListBaseProps, ListCollection, SelectListProps as ListProps, OpenChangeDetails, PointerDownOutsideEvent, SelectPositioner as Positioner, SelectPositionerBaseProps as PositionerBaseProps, SelectPositionerProps as PositionerProps, SelectRoot as Root, SelectRootBaseProps as RootBaseProps, SelectRootComponent as RootComponent, SelectRootComponentProps as RootComponentProps, SelectRootProps as RootProps, SelectRootProvider as RootProvider, SelectRootProviderBaseProps as RootProviderBaseProps, SelectRootProviderComponent as RootProviderComponent, SelectRootProviderProps as RootProviderProps, SelectTrigger as Trigger, SelectTriggerBaseProps as TriggerBaseProps, SelectTriggerProps as TriggerProps, ValueChangeDetails, SelectValueText as ValueText, SelectValueTextBaseProps as ValueTextBaseProps, SelectValueTextProps as ValueTextProps };
132
132
  }
@@ -1,14 +1,16 @@
1
- import { t as __export } from "../../chunk-CKcAJnC7.js";
2
- import { a as useMachine, i as mergeProps$2, r as normalizeProps, t as runIfFn } from "../../run-if-fn-eYlaegHy.js";
3
- import { t as createContext$1 } from "../../create-context-PS2j4mEo.js";
4
- import { i as useLocaleContext, o as useEnvironmentContext } from "../../providers-CQkAUunr.js";
5
- import { n as createSplitProps, t as sprawlify } from "../../factory-CEdj72aS.js";
6
- import "../../render-strategy-COrlrUuR.js";
7
- import { t as composeRefs } from "../../compose-refs-vsrTrt13.js";
8
- import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, t as PresenceProvider } from "../../presence-Bfjusgm3.js";
9
- import "../../fieldset-D1BO0LmU.js";
10
- import { m as useFieldContext } from "../../field-C_WuoXOj.js";
11
- import { n as useListCollection, o as createListCollection } from "../../collection-BiyRTWsX.js";
1
+ import { t as __export } from "../../chunk-Wl6TQfsu.js";
2
+ import { i as useMachine, n as normalizeProps, r as mergeProps$2 } from "../../core-Cl2xcDm5.js";
3
+ import { t as runIfFn } from "../../run-if-fn-Ct4sSuFV.js";
4
+ import { t as createContext$1 } from "../../create-context-BBDU3kF1.js";
5
+ import { i as useLocaleContext, o as useEnvironmentContext } from "../../providers-D1hKjv0s.js";
6
+ import { t as createSplitProps } from "../../create-split-props-CHlLW_X_.js";
7
+ import "../../render-strategy-CqWA1-xU.js";
8
+ import { t as sprawlify } from "../../factory-Ci1LUSWg.js";
9
+ import { t as composeRefs } from "../../compose-refs-DbJoODKO.js";
10
+ import { a as splitPresenceProps, i as usePresence, n as usePresenceContext, t as PresenceProvider } from "../../presence-CAkwk5S4.js";
11
+ import "../../fieldset-Def05D5r.js";
12
+ import { m as useFieldContext } from "../../field-D5bG5XXV.js";
13
+ import { n as useListCollection, o as createListCollection } from "../../collection-DOjgejiS.js";
12
14
  import { Index, Show, createMemo, createUniqueId } from "solid-js";
13
15
  import { createComponent, effect, insert, mergeProps as mergeProps$1, template } from "solid-js/web";
14
16
  import * as select from "@sprawlify/primitives/machines/select";