@sprawlify/solid 0.0.14 → 0.0.16

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 (108) hide show
  1. package/dist/chunk-B5so6B0y.jsx +18 -0
  2. package/dist/chunk-B93cd-Dz.js +18 -0
  3. package/dist/collapsible-CX2tnXKq.js +131 -0
  4. package/dist/collapsible-sG-Rzvf2.jsx +119 -0
  5. package/dist/collection-BRr4O2_i.jsx +220 -0
  6. package/dist/collection-zj3lxnwW.js +220 -0
  7. package/dist/components/accordion/index.d.ts +69 -0
  8. package/dist/components/accordion/index.js +185 -0
  9. package/dist/components/accordion/index.jsx +159 -0
  10. package/dist/components/angle-slider/index.d.ts +74 -0
  11. package/dist/components/angle-slider/index.js +157 -0
  12. package/dist/components/angle-slider/index.jsx +146 -0
  13. package/dist/components/avatar/index.d.ts +49 -0
  14. package/dist/components/avatar/index.js +97 -0
  15. package/dist/components/avatar/index.jsx +90 -0
  16. package/dist/components/bottom-sheet/index.d.ts +80 -0
  17. package/dist/components/bottom-sheet/index.js +220 -0
  18. package/dist/components/bottom-sheet/index.jsx +179 -0
  19. package/dist/components/carousel/index.d.ts +98 -0
  20. package/dist/components/carousel/index.js +209 -0
  21. package/dist/components/carousel/index.jsx +194 -0
  22. package/dist/components/checkbox/index.d.ts +138 -0
  23. package/dist/components/checkbox/index.js +267 -0
  24. package/dist/components/checkbox/index.jsx +249 -0
  25. package/dist/components/client-only/index.d.ts +10 -0
  26. package/dist/components/client-only/index.js +24 -0
  27. package/dist/components/client-only/index.jsx +15 -0
  28. package/dist/components/clipboard/index.d.ts +72 -0
  29. package/dist/components/clipboard/index.js +151 -0
  30. package/dist/components/clipboard/index.jsx +134 -0
  31. package/dist/components/collapsible/index.d.ts +60 -0
  32. package/dist/components/collapsible/index.js +9 -0
  33. package/dist/components/collapsible/index.jsx +9 -0
  34. package/dist/components/collection/index.d.ts +3 -0
  35. package/dist/components/collection/index.js +4 -0
  36. package/dist/components/collection/index.jsx +4 -0
  37. package/dist/components/color-picker/index.d.ts +183 -0
  38. package/dist/components/color-picker/index.js +500 -0
  39. package/dist/components/color-picker/index.jsx +436 -0
  40. package/dist/components/combobox/index.d.ts +134 -0
  41. package/dist/components/combobox/index.js +357 -0
  42. package/dist/components/combobox/index.jsx +315 -0
  43. package/dist/components/date-picker/index.d.ts +165 -0
  44. package/dist/components/date-picker/index.js +476 -0
  45. package/dist/components/date-picker/index.jsx +415 -0
  46. package/dist/components/dialog/index.d.ts +80 -0
  47. package/dist/components/dialog/index.js +219 -0
  48. package/dist/components/dialog/index.jsx +173 -0
  49. package/dist/components/download-trigger/index.d.ts +25 -0
  50. package/dist/components/download-trigger/index.js +42 -0
  51. package/dist/components/download-trigger/index.jsx +38 -0
  52. package/dist/components/editable/index.d.ts +79 -0
  53. package/dist/components/editable/index.js +190 -0
  54. package/dist/components/editable/index.jsx +181 -0
  55. package/dist/components/field/index.d.ts +201 -0
  56. package/dist/components/field/index.js +10 -0
  57. package/dist/components/field/index.jsx +10 -0
  58. package/dist/components/fieldset/index.d.ts +109 -0
  59. package/dist/components/fieldset/index.js +9 -0
  60. package/dist/components/fieldset/index.jsx +9 -0
  61. package/dist/components/highlight/index.d.ts +15 -0
  62. package/dist/components/highlight/index.js +47 -0
  63. package/dist/components/highlight/index.jsx +31 -0
  64. package/dist/components/presence/index.d.ts +5 -0
  65. package/dist/components/presence/index.js +9 -0
  66. package/dist/components/presence/index.jsx +9 -0
  67. package/dist/components/select/index.d.ts +134 -0
  68. package/dist/components/select/index.js +363 -0
  69. package/dist/components/select/index.jsx +312 -0
  70. package/dist/compose-refs-BVVIB7xn.js +20 -0
  71. package/dist/compose-refs-icUeuyHm.jsx +20 -0
  72. package/dist/core-DbInRfhI.jsx +416 -0
  73. package/dist/core-oNB2jGcl.js +416 -0
  74. package/dist/create-split-props-B8A7_AF7.jsx +7 -0
  75. package/dist/create-split-props-pQu7jijw.js +7 -0
  76. package/dist/factory-4A25bngy.d.ts +14 -0
  77. package/dist/factory-Ch5jgk20.jsx +37 -0
  78. package/dist/factory-PGDAvOKb.js +43 -0
  79. package/dist/field-BRr9Zdes.jsx +260 -0
  80. package/dist/field-CoYiA2ek.js +288 -0
  81. package/dist/fieldset-B_LyllEa.jsx +169 -0
  82. package/dist/fieldset-BrJqMLEd.js +184 -0
  83. package/dist/index-C7N791Fc.d.ts +23 -0
  84. package/dist/index-GEfvAmRc.d.ts +76 -0
  85. package/dist/index-j2avJy7D.d.ts +38 -0
  86. package/dist/index-oc8gLl07.d.ts +38 -0
  87. package/dist/index.d.ts +5 -29
  88. package/dist/index.js +4 -511
  89. package/dist/index.jsx +4 -497
  90. package/dist/presence-Bmn43U_q.jsx +68 -0
  91. package/dist/presence-BpwBRlZW.js +81 -0
  92. package/dist/providers-Bo0OFe08.js +96 -0
  93. package/dist/providers-DFaRRd80.jsx +82 -0
  94. package/dist/render-strategy-BNECKEQk.d.ts +9 -0
  95. package/dist/render-strategy-CdJhRv3I.jsx +12 -0
  96. package/dist/render-strategy-DFlz7Uc4.js +12 -0
  97. package/dist/run-if-fn-A3VwXy-o.jsx +6 -0
  98. package/dist/run-if-fn-D5794CxE.js +6 -0
  99. package/dist/types-Dbw4va3W.d.ts +9 -0
  100. package/dist/utils/index.d.ts +1 -1
  101. package/dist/utils/index.js +2 -1
  102. package/dist/utils/index.jsx +2 -1
  103. package/dist/utils-DQi-Cen5.js +0 -0
  104. package/dist/utils-vSjszv0W.jsx +0 -0
  105. package/package.json +102 -2
  106. /package/dist/{utils-DSKoW7eB.jsx → create-context-C3rvZvkc.jsx} +0 -0
  107. /package/dist/{utils-GEMuT7an.js → create-context-GfQ_MylE.js} +0 -0
  108. /package/dist/{index-C_ThrXdH.d.ts → index-B6dBCfnB.d.ts} +0 -0
@@ -0,0 +1,169 @@
1
+ import { t as __export } from "./chunk-B5so6B0y.jsx";
2
+ import { r as mergeProps$1 } from "./core-DbInRfhI.jsx";
3
+ import { t as runIfFn } from "./run-if-fn-A3VwXy-o.jsx";
4
+ import { t as createContext$1 } from "./create-context-C3rvZvkc.jsx";
5
+ import { o as useEnvironmentContext } from "./providers-DFaRRd80.jsx";
6
+ import { t as createSplitProps } from "./create-split-props-B8A7_AF7.jsx";
7
+ import { t as sprawlify } from "./factory-Ch5jgk20.jsx";
8
+ import { t as composeRefs } from "./compose-refs-icUeuyHm.jsx";
9
+ import { Show, createMemo, createSignal, createUniqueId, mergeProps, onCleanup, onMount } from "solid-js";
10
+ import { dataAttr } from "@sprawlify/primitives/dom-query";
11
+ import { createAnatomy } from "@sprawlify/primitives/anatomy";
12
+
13
+ //#region src/components/fieldset/use-fieldset-context.ts
14
+ const [FieldsetProvider, useFieldsetContext] = createContext$1({
15
+ hookName: "useFieldsetContext",
16
+ providerName: "<FieldsetProvider />",
17
+ strict: false
18
+ });
19
+
20
+ //#endregion
21
+ //#region src/components/fieldset/fieldset-context.tsx
22
+ const FieldsetContext = (props) => props.children(useFieldsetContext());
23
+
24
+ //#endregion
25
+ //#region src/components/fieldset/fieldset-error-text.tsx
26
+ const FieldsetErrorText = (props) => {
27
+ const fieldset = useFieldsetContext();
28
+ const mergedProps = mergeProps$1(() => fieldset().getErrorTextProps(), props);
29
+ return <Show when={fieldset().invalid}>
30
+ <sprawlify.span {...mergedProps} />
31
+ </Show>;
32
+ };
33
+
34
+ //#endregion
35
+ //#region src/components/fieldset/fieldset-helper-text.tsx
36
+ const FieldsetHelperText = (props) => {
37
+ const fieldset = useFieldsetContext();
38
+ const mergedProps = mergeProps$1(() => fieldset().getHelperTextProps(), props);
39
+ return <sprawlify.span {...mergedProps} />;
40
+ };
41
+
42
+ //#endregion
43
+ //#region src/components/fieldset/fieldset-legend.tsx
44
+ const FieldsetLegend = (props) => {
45
+ const fieldset = useFieldsetContext();
46
+ const mergedProps = mergeProps$1(() => fieldset().getLegendProps(), props);
47
+ return <sprawlify.legend {...mergedProps} />;
48
+ };
49
+
50
+ //#endregion
51
+ //#region src/components/fieldset/fieldset-anatomy.ts
52
+ const fieldsetAnatomy = createAnatomy("fieldset").parts("root", "errorText", "helperText", "legend");
53
+ const parts = fieldsetAnatomy.build();
54
+
55
+ //#endregion
56
+ //#region src/components/fieldset/use-fieldset.ts
57
+ const useFieldset = (props) => {
58
+ const env = useEnvironmentContext();
59
+ const mergedProps = mergeProps({
60
+ disabled: false,
61
+ invalid: false
62
+ }, runIfFn(props));
63
+ const [rootRef, setRootRef] = createSignal(void 0);
64
+ const id = mergedProps.id ?? createUniqueId();
65
+ const legendId = `fieldset::${id}::legend`;
66
+ const errorTextId = `fieldset::${id}::error-text`;
67
+ const helperTextId = `fieldset::${id}::helper-text`;
68
+ const [hasErrorText, setHasErrorText] = createSignal(false);
69
+ const [hasHelperText, setHasHelperText] = createSignal(false);
70
+ onMount(() => {
71
+ const rootNode = rootRef();
72
+ if (!rootNode) return;
73
+ const checkTextElements = () => {
74
+ const docOrShadowRoot = env().getRootNode();
75
+ setHasErrorText(!!docOrShadowRoot.getElementById(errorTextId));
76
+ setHasHelperText(!!docOrShadowRoot.getElementById(helperTextId));
77
+ };
78
+ checkTextElements();
79
+ const observer = new (env().getWindow()).MutationObserver(checkTextElements);
80
+ observer.observe(rootNode, {
81
+ childList: true,
82
+ subtree: true
83
+ });
84
+ onCleanup(() => observer.disconnect());
85
+ });
86
+ const labelIds = createMemo(() => {
87
+ const ids = [];
88
+ if (hasErrorText() && mergedProps.invalid) ids.push(errorTextId);
89
+ if (hasHelperText()) ids.push(helperTextId);
90
+ return ids;
91
+ });
92
+ const getRootProps = () => ({
93
+ ...parts.root.attrs,
94
+ disabled: mergedProps.disabled,
95
+ "data-disabled": dataAttr(mergedProps.disabled),
96
+ "data-invalid": dataAttr(mergedProps.invalid),
97
+ "aria-labelledby": legendId,
98
+ "aria-describedby": labelIds().join(" ") || void 0
99
+ });
100
+ const getLegendProps = () => ({
101
+ id: legendId,
102
+ ...parts.legend.attrs,
103
+ "data-disabled": dataAttr(mergedProps.disabled),
104
+ "data-invalid": dataAttr(mergedProps.invalid)
105
+ });
106
+ const getHelperTextProps = () => ({
107
+ id: helperTextId,
108
+ ...parts.helperText.attrs
109
+ });
110
+ const getErrorTextProps = () => ({
111
+ id: errorTextId,
112
+ ...parts.errorText.attrs,
113
+ "aria-live": "polite"
114
+ });
115
+ return createMemo(() => ({
116
+ refs: { rootRef: setRootRef },
117
+ ids: {
118
+ legend: legendId,
119
+ errorText: errorTextId,
120
+ helperText: helperTextId
121
+ },
122
+ disabled: mergedProps.disabled,
123
+ invalid: mergedProps.invalid,
124
+ getRootProps,
125
+ getLegendProps,
126
+ getHelperTextProps,
127
+ getErrorTextProps
128
+ }));
129
+ };
130
+
131
+ //#endregion
132
+ //#region src/components/fieldset/fieldset-root.tsx
133
+ const FieldsetRoot = (props) => {
134
+ const [useFieldsetProps, localProps] = createSplitProps()(props, [
135
+ "id",
136
+ "disabled",
137
+ "invalid"
138
+ ]);
139
+ const fieldset = useFieldset(useFieldsetProps);
140
+ const mergedProps = mergeProps$1(() => fieldset().getRootProps(), localProps);
141
+ return <FieldsetProvider value={fieldset}>
142
+ <sprawlify.fieldset {...mergedProps} ref={composeRefs(fieldset().refs.rootRef, props.ref)} />
143
+ </FieldsetProvider>;
144
+ };
145
+ FieldsetRoot.displayName = "FieldsetRoot";
146
+
147
+ //#endregion
148
+ //#region src/components/fieldset/fieldset-root-provider.tsx
149
+ const FieldsetRootProvider = (props) => {
150
+ const [{ value: fieldset }, localProps] = createSplitProps()(props, ["value"]);
151
+ const mergedProps = mergeProps$1(() => fieldset().getRootProps(), localProps);
152
+ return <FieldsetProvider value={fieldset}>
153
+ <sprawlify.fieldset {...mergedProps} />
154
+ </FieldsetProvider>;
155
+ };
156
+
157
+ //#endregion
158
+ //#region src/components/fieldset/fieldset.tsx
159
+ var fieldset_exports = /* @__PURE__ */ __export({
160
+ Context: () => FieldsetContext,
161
+ ErrorText: () => FieldsetErrorText,
162
+ HelperText: () => FieldsetHelperText,
163
+ Legend: () => FieldsetLegend,
164
+ Root: () => FieldsetRoot,
165
+ RootProvider: () => FieldsetRootProvider
166
+ });
167
+
168
+ //#endregion
169
+ export { fieldsetAnatomy as a, FieldsetErrorText as c, useFieldset as i, FieldsetContext as l, FieldsetRootProvider as n, FieldsetLegend as o, FieldsetRoot as r, FieldsetHelperText as s, fieldset_exports as t, useFieldsetContext as u };
@@ -0,0 +1,184 @@
1
+ import { t as __export } from "./chunk-B93cd-Dz.js";
2
+ import { r as mergeProps$2 } from "./core-oNB2jGcl.js";
3
+ import { t as runIfFn } from "./run-if-fn-D5794CxE.js";
4
+ import { t as createContext$1 } from "./create-context-GfQ_MylE.js";
5
+ import { o as useEnvironmentContext } from "./providers-Bo0OFe08.js";
6
+ import { t as createSplitProps } from "./create-split-props-pQu7jijw.js";
7
+ import { t as sprawlify } from "./factory-PGDAvOKb.js";
8
+ import { t as composeRefs } from "./compose-refs-BVVIB7xn.js";
9
+ import { Show, createMemo, createSignal, createUniqueId, mergeProps, onCleanup, onMount } from "solid-js";
10
+ import { createComponent, mergeProps as mergeProps$1 } from "solid-js/web";
11
+ import { dataAttr } from "@sprawlify/primitives/dom-query";
12
+ import { createAnatomy } from "@sprawlify/primitives/anatomy";
13
+
14
+ //#region src/components/fieldset/use-fieldset-context.ts
15
+ const [FieldsetProvider, useFieldsetContext] = createContext$1({
16
+ hookName: "useFieldsetContext",
17
+ providerName: "<FieldsetProvider />",
18
+ strict: false
19
+ });
20
+
21
+ //#endregion
22
+ //#region src/components/fieldset/fieldset-context.tsx
23
+ const FieldsetContext = (props) => props.children(useFieldsetContext());
24
+
25
+ //#endregion
26
+ //#region src/components/fieldset/fieldset-error-text.tsx
27
+ const FieldsetErrorText = (props) => {
28
+ const fieldset = useFieldsetContext();
29
+ const mergedProps = mergeProps$2(() => fieldset().getErrorTextProps(), props);
30
+ return createComponent(Show, {
31
+ get when() {
32
+ return fieldset().invalid;
33
+ },
34
+ get children() {
35
+ return createComponent(sprawlify.span, mergedProps);
36
+ }
37
+ });
38
+ };
39
+
40
+ //#endregion
41
+ //#region src/components/fieldset/fieldset-helper-text.tsx
42
+ const FieldsetHelperText = (props) => {
43
+ const fieldset = useFieldsetContext();
44
+ const mergedProps = mergeProps$2(() => fieldset().getHelperTextProps(), props);
45
+ return createComponent(sprawlify.span, mergedProps);
46
+ };
47
+
48
+ //#endregion
49
+ //#region src/components/fieldset/fieldset-legend.tsx
50
+ const FieldsetLegend = (props) => {
51
+ const fieldset = useFieldsetContext();
52
+ const mergedProps = mergeProps$2(() => fieldset().getLegendProps(), props);
53
+ return createComponent(sprawlify.legend, mergedProps);
54
+ };
55
+
56
+ //#endregion
57
+ //#region src/components/fieldset/fieldset-anatomy.ts
58
+ const fieldsetAnatomy = createAnatomy("fieldset").parts("root", "errorText", "helperText", "legend");
59
+ const parts = fieldsetAnatomy.build();
60
+
61
+ //#endregion
62
+ //#region src/components/fieldset/use-fieldset.ts
63
+ const useFieldset = (props) => {
64
+ const env = useEnvironmentContext();
65
+ const mergedProps = mergeProps({
66
+ disabled: false,
67
+ invalid: false
68
+ }, runIfFn(props));
69
+ const [rootRef, setRootRef] = createSignal(void 0);
70
+ const id = mergedProps.id ?? createUniqueId();
71
+ const legendId = `fieldset::${id}::legend`;
72
+ const errorTextId = `fieldset::${id}::error-text`;
73
+ const helperTextId = `fieldset::${id}::helper-text`;
74
+ const [hasErrorText, setHasErrorText] = createSignal(false);
75
+ const [hasHelperText, setHasHelperText] = createSignal(false);
76
+ onMount(() => {
77
+ const rootNode = rootRef();
78
+ if (!rootNode) return;
79
+ const checkTextElements = () => {
80
+ const docOrShadowRoot = env().getRootNode();
81
+ setHasErrorText(!!docOrShadowRoot.getElementById(errorTextId));
82
+ setHasHelperText(!!docOrShadowRoot.getElementById(helperTextId));
83
+ };
84
+ checkTextElements();
85
+ const observer = new (env().getWindow()).MutationObserver(checkTextElements);
86
+ observer.observe(rootNode, {
87
+ childList: true,
88
+ subtree: true
89
+ });
90
+ onCleanup(() => observer.disconnect());
91
+ });
92
+ const labelIds = createMemo(() => {
93
+ const ids = [];
94
+ if (hasErrorText() && mergedProps.invalid) ids.push(errorTextId);
95
+ if (hasHelperText()) ids.push(helperTextId);
96
+ return ids;
97
+ });
98
+ const getRootProps = () => ({
99
+ ...parts.root.attrs,
100
+ disabled: mergedProps.disabled,
101
+ "data-disabled": dataAttr(mergedProps.disabled),
102
+ "data-invalid": dataAttr(mergedProps.invalid),
103
+ "aria-labelledby": legendId,
104
+ "aria-describedby": labelIds().join(" ") || void 0
105
+ });
106
+ const getLegendProps = () => ({
107
+ id: legendId,
108
+ ...parts.legend.attrs,
109
+ "data-disabled": dataAttr(mergedProps.disabled),
110
+ "data-invalid": dataAttr(mergedProps.invalid)
111
+ });
112
+ const getHelperTextProps = () => ({
113
+ id: helperTextId,
114
+ ...parts.helperText.attrs
115
+ });
116
+ const getErrorTextProps = () => ({
117
+ id: errorTextId,
118
+ ...parts.errorText.attrs,
119
+ "aria-live": "polite"
120
+ });
121
+ return createMemo(() => ({
122
+ refs: { rootRef: setRootRef },
123
+ ids: {
124
+ legend: legendId,
125
+ errorText: errorTextId,
126
+ helperText: helperTextId
127
+ },
128
+ disabled: mergedProps.disabled,
129
+ invalid: mergedProps.invalid,
130
+ getRootProps,
131
+ getLegendProps,
132
+ getHelperTextProps,
133
+ getErrorTextProps
134
+ }));
135
+ };
136
+
137
+ //#endregion
138
+ //#region src/components/fieldset/fieldset-root.tsx
139
+ const FieldsetRoot = (props) => {
140
+ const [useFieldsetProps, localProps] = createSplitProps()(props, [
141
+ "id",
142
+ "disabled",
143
+ "invalid"
144
+ ]);
145
+ const fieldset = useFieldset(useFieldsetProps);
146
+ const mergedProps = mergeProps$2(() => fieldset().getRootProps(), localProps);
147
+ return createComponent(FieldsetProvider, {
148
+ value: fieldset,
149
+ get children() {
150
+ return createComponent(sprawlify.fieldset, mergeProps$1(mergedProps, { ref(r$) {
151
+ var _ref$ = composeRefs(fieldset().refs.rootRef, props.ref);
152
+ typeof _ref$ === "function" && _ref$(r$);
153
+ } }));
154
+ }
155
+ });
156
+ };
157
+ FieldsetRoot.displayName = "FieldsetRoot";
158
+
159
+ //#endregion
160
+ //#region src/components/fieldset/fieldset-root-provider.tsx
161
+ const FieldsetRootProvider = (props) => {
162
+ const [{ value: fieldset }, localProps] = createSplitProps()(props, ["value"]);
163
+ const mergedProps = mergeProps$2(() => fieldset().getRootProps(), localProps);
164
+ return createComponent(FieldsetProvider, {
165
+ value: fieldset,
166
+ get children() {
167
+ return createComponent(sprawlify.fieldset, mergedProps);
168
+ }
169
+ });
170
+ };
171
+
172
+ //#endregion
173
+ //#region src/components/fieldset/fieldset.tsx
174
+ var fieldset_exports = /* @__PURE__ */ __export({
175
+ Context: () => FieldsetContext,
176
+ ErrorText: () => FieldsetErrorText,
177
+ HelperText: () => FieldsetHelperText,
178
+ Legend: () => FieldsetLegend,
179
+ Root: () => FieldsetRoot,
180
+ RootProvider: () => FieldsetRootProvider
181
+ });
182
+
183
+ //#endregion
184
+ export { fieldsetAnatomy as a, FieldsetErrorText as c, useFieldset as i, FieldsetContext as l, FieldsetRootProvider as n, FieldsetLegend as o, FieldsetRoot as r, FieldsetHelperText as s, fieldset_exports as t, useFieldsetContext as u };
@@ -0,0 +1,23 @@
1
+ import { Key } from "@solid-primitives/keyed";
2
+ import { Machine, MachineSchema, Service } from "@sprawlify/primitives/core";
3
+ import { Accessor, JSX } from "solid-js";
4
+ import * as _sprawlify_primitives_types0 from "@sprawlify/primitives/types";
5
+
6
+ //#region src/core/machine.d.ts
7
+ declare function useMachine<T extends MachineSchema>(machine: Machine<T>, userProps?: Partial<T["props"]> | Accessor<Partial<T["props"]>>): Service<T>;
8
+ //#endregion
9
+ //#region src/core/merge-props.d.ts
10
+ type MaybeAccessor<T> = T | (() => T);
11
+ declare function mergeProps$2<T>(source: MaybeAccessor<T>): T;
12
+ declare function mergeProps$2<T, U>(source: MaybeAccessor<T>, source1: MaybeAccessor<U>): T & U;
13
+ declare function mergeProps$2<T, U, V>(source: MaybeAccessor<T>, source1: MaybeAccessor<U>, source2: MaybeAccessor<V>): T & U & V;
14
+ declare function mergeProps$2<T, U, V, W>(source: MaybeAccessor<T>, source1: MaybeAccessor<U>, source2: MaybeAccessor<V>, source3: MaybeAccessor<W>): T & U & V & W;
15
+ //#endregion
16
+ //#region src/core/normalize-props.d.ts
17
+ type PropTypes = JSX.IntrinsicElements & {
18
+ element: JSX.HTMLAttributes<any>;
19
+ style: JSX.CSSProperties;
20
+ };
21
+ declare const normalizeProps: _sprawlify_primitives_types0.NormalizeProps<PropTypes>;
22
+ //#endregion
23
+ export { useMachine as a, mergeProps$2 as i, PropTypes as n, normalizeProps as r, Key as t };
@@ -0,0 +1,76 @@
1
+ import { n as MaybeAccessor } from "./types-Dbw4va3W.js";
2
+ import { Accessor } from "solid-js";
3
+ import { CollectionItem, CollectionItem as CollectionItem$1, CollectionOptions, FilePathTreeNode, FilePathTreeNode as FilePathTreeNode$1, FlatTreeNode, GridCollection as GridCollection$1, GridCollectionOptions, ListCollection as ListCollection$1, SelectionMode, TreeCollection, TreeCollection as TreeCollection$1, TreeCollectionOptions, TreeCollectionOptions as TreeCollectionOptions$1, TreeNode, TreeNode as TreeNode$1 } from "@sprawlify/primitives/collection";
4
+ import * as asyncList from "@sprawlify/primitives/machines/async-list";
5
+
6
+ //#region src/components/collection/grid-collection.d.ts
7
+ declare const createGridCollection: <T extends CollectionItem$1>(options: GridCollectionOptions<T>) => GridCollection$1<T>;
8
+ //#endregion
9
+ //#region src/components/collection/list-collection.d.ts
10
+ declare const createListCollection: <T extends CollectionItem>(options: CollectionOptions<T>) => ListCollection$1<T>;
11
+ //#endregion
12
+ //#region src/components/collection/tree-collection.d.ts
13
+ declare const createTreeCollection: <T extends TreeNode>(options: TreeCollectionOptions<T>) => TreeCollection<T>;
14
+ declare const createFileTreeCollection: (paths: string[]) => TreeCollection<FilePathTreeNode>;
15
+ //#endregion
16
+ //#region src/components/collection/use-async-list.d.ts
17
+ interface UseAsyncListProps<T, C = string> extends asyncList.Props<T, C> {}
18
+ interface UseAsyncListReturn<T, C = string> extends Accessor<asyncList.Api<T, C>> {}
19
+ declare const useAsyncList: <T, C = string>(props?: MaybeAccessor<UseAsyncListProps<T, C>>) => UseAsyncListReturn<T, C>;
20
+ //#endregion
21
+ //#region src/components/collection/use-list-collection.d.ts
22
+ interface UseListCollectionProps<T> extends Omit<CollectionOptions<T>, 'items'> {
23
+ initialItems: T[] | readonly T[];
24
+ filter?: (itemText: string, filterText: string, item: T) => boolean;
25
+ limit?: number;
26
+ }
27
+ declare function useListCollection<T>(props: MaybeAccessor<UseListCollectionProps<T>>): UseListCollectionReturn<T>;
28
+ interface UseListCollectionReturn<T> {
29
+ collection: () => ListCollection$1<T>;
30
+ filter: (inputValue: string) => void;
31
+ set: (items: T[]) => void;
32
+ reset: () => void;
33
+ clear: () => void;
34
+ insert: (index: number, ...items: T[]) => void;
35
+ insertBefore: (value: string, ...items: T[]) => void;
36
+ insertAfter: (value: string, ...items: T[]) => void;
37
+ remove: (...itemOrValues: Array<T | string>) => void;
38
+ move: (value: string, to: number) => void;
39
+ moveBefore: (value: string, ...values: string[]) => void;
40
+ moveAfter: (value: string, ...values: string[]) => void;
41
+ reorder: (from: number, to: number) => void;
42
+ append: (...items: T[]) => void;
43
+ upsert: (value: string, item: T, mode?: 'append' | 'prepend') => void;
44
+ prepend: (...items: T[]) => void;
45
+ update: (value: string, item: T) => void;
46
+ }
47
+ //#endregion
48
+ //#region src/components/collection/use-list-selection.d.ts
49
+ interface UseListSelectionProps<T extends CollectionItem> {
50
+ selectionMode?: SelectionMode;
51
+ deselectable?: boolean;
52
+ initialSelectedValues?: string[];
53
+ resetOnCollectionChange?: boolean;
54
+ collection: ListCollection$1<T>;
55
+ }
56
+ declare function useListSelection<T extends CollectionItem>(props: MaybeAccessor<UseListSelectionProps<T>>): UseListSelectionReturn;
57
+ interface UseListSelectionReturn {
58
+ selectedValues: () => string[];
59
+ isEmpty: () => boolean;
60
+ firstSelectedValue: () => string | null;
61
+ lastSelectedValue: () => string | null;
62
+ isSelected: (value: string | null) => boolean;
63
+ canSelect: (value: string) => boolean;
64
+ select: (value: string, forceToggle?: boolean) => void;
65
+ deselect: (value: string) => void;
66
+ toggle: (value: string) => void;
67
+ replace: (value: string | null) => void;
68
+ extend: (anchorValue: string, targetValue: string) => void;
69
+ setSelectedValues: (values: string[]) => void;
70
+ clear: () => void;
71
+ resetSelection: () => void;
72
+ isAllSelected: () => boolean;
73
+ isSomeSelected: () => boolean;
74
+ }
75
+ //#endregion
76
+ export { createGridCollection as C, GridCollectionOptions as S, CollectionItem as _, UseListCollectionReturn as a, createListCollection as b, UseAsyncListReturn as c, FlatTreeNode as d, TreeCollection$1 as f, createTreeCollection as g, createFileTreeCollection as h, UseListCollectionProps as i, useAsyncList as l, TreeNode$1 as m, UseListSelectionReturn as n, useListCollection as o, TreeCollectionOptions$1 as p, useListSelection as r, UseAsyncListProps as s, UseListSelectionProps as t, FilePathTreeNode$1 as u, CollectionOptions as v, GridCollection$1 as x, ListCollection$1 as y };
@@ -0,0 +1,38 @@
1
+ import { i as Optional, n as MaybeAccessor } from "./types-Dbw4va3W.js";
2
+ import { n as PolymorphicProps, t as HTMLProps } from "./factory-4A25bngy.js";
3
+ import { t as RenderStrategyProps } from "./render-strategy-BNECKEQk.js";
4
+ import * as solid_js84 from "solid-js";
5
+ import * as presence from "@sprawlify/primitives/machines/presence";
6
+
7
+ //#region src/components/presence/use-presence.d.ts
8
+ interface UsePresenceProps extends Optional<presence.Props, 'present'>, RenderStrategyProps {
9
+ /**
10
+ * Whether to allow the initial presence animation.
11
+ * @default false
12
+ */
13
+ skipAnimationOnMount?: boolean;
14
+ }
15
+ interface UsePresenceReturn extends ReturnType<typeof usePresence> {}
16
+ declare const usePresence: (props: MaybeAccessor<UsePresenceProps>) => solid_js84.Accessor<{
17
+ unmounted: boolean | undefined;
18
+ present: boolean;
19
+ ref: (node: Element | null) => void;
20
+ presenceProps: {
21
+ hidden: boolean;
22
+ 'data-state': string | undefined;
23
+ };
24
+ }>;
25
+ //#endregion
26
+ //#region src/components/presence/presence.d.ts
27
+ interface PresenceBaseProps extends UsePresenceProps, PolymorphicProps<'div'> {}
28
+ interface PresenceProps extends HTMLProps<'div'>, PresenceBaseProps {}
29
+ declare const Presence: (props: PresenceProps) => solid_js84.JSX.Element;
30
+ //#endregion
31
+ //#region src/components/presence/split-presence-props.d.ts
32
+ declare const splitPresenceProps: <T extends UsePresenceProps>(props: T) => [Pick<T, Extract<("onExitComplete" | "lazyMount" | "unmountOnExit" | "present" | "immediate" | "skipAnimationOnMount")[], readonly (keyof T)[]>[number]>, { [P in keyof T as Exclude<P, "onExitComplete" | "lazyMount" | "unmountOnExit" | "present" | "immediate" | "skipAnimationOnMount">]: T[P] }];
33
+ //#endregion
34
+ //#region src/components/presence/use-presence-context.d.ts
35
+ interface UsePresenceContext extends UsePresenceReturn {}
36
+ declare const PresenceProvider: solid_js84.ContextProviderComponent<UsePresenceContext>, usePresenceContext: () => UsePresenceContext;
37
+ //#endregion
38
+ export { Presence as a, UsePresenceReturn as c, splitPresenceProps as i, usePresence as l, UsePresenceContext as n, PresenceProps as o, usePresenceContext as r, UsePresenceProps as s, PresenceProvider as t };
@@ -0,0 +1,38 @@
1
+ import { i as Optional, n as MaybeAccessor } from "./types-Dbw4va3W.js";
2
+ import { n as PolymorphicProps, t as HTMLProps } from "./factory-4A25bngy.js";
3
+ import { t as RenderStrategyProps } from "./render-strategy-BNECKEQk.js";
4
+ import * as solid_js12 from "solid-js";
5
+ import * as presence from "@sprawlify/primitives/machines/presence";
6
+
7
+ //#region src/components/presence/use-presence.d.ts
8
+ interface UsePresenceProps extends Optional<presence.Props, 'present'>, RenderStrategyProps {
9
+ /**
10
+ * Whether to allow the initial presence animation.
11
+ * @default false
12
+ */
13
+ skipAnimationOnMount?: boolean;
14
+ }
15
+ interface UsePresenceReturn extends ReturnType<typeof usePresence> {}
16
+ declare const usePresence: (props: MaybeAccessor<UsePresenceProps>) => solid_js12.Accessor<{
17
+ unmounted: boolean | undefined;
18
+ present: boolean;
19
+ ref: (node: Element | null) => void;
20
+ presenceProps: {
21
+ hidden: boolean;
22
+ 'data-state': string | undefined;
23
+ };
24
+ }>;
25
+ //#endregion
26
+ //#region src/components/presence/presence.d.ts
27
+ interface PresenceBaseProps extends UsePresenceProps, PolymorphicProps<'div'> {}
28
+ interface PresenceProps extends HTMLProps<'div'>, PresenceBaseProps {}
29
+ declare const Presence: (props: PresenceProps) => solid_js12.JSX.Element;
30
+ //#endregion
31
+ //#region src/components/presence/split-presence-props.d.ts
32
+ declare const splitPresenceProps: <T extends UsePresenceProps>(props: T) => [Pick<T, Extract<("onExitComplete" | "lazyMount" | "unmountOnExit" | "present" | "immediate" | "skipAnimationOnMount")[], readonly (keyof T)[]>[number]>, { [P in keyof T as Exclude<P, "onExitComplete" | "lazyMount" | "unmountOnExit" | "present" | "immediate" | "skipAnimationOnMount">]: T[P] }];
33
+ //#endregion
34
+ //#region src/components/presence/use-presence-context.d.ts
35
+ interface UsePresenceContext extends UsePresenceReturn {}
36
+ declare const PresenceProvider: solid_js12.ContextProviderComponent<UsePresenceContext>, usePresenceContext: () => UsePresenceContext;
37
+ //#endregion
38
+ export { Presence as a, UsePresenceReturn as c, splitPresenceProps as i, usePresence as l, UsePresenceContext as n, PresenceProps as o, usePresenceContext as r, UsePresenceProps as s, PresenceProvider as t };
package/dist/index.d.ts CHANGED
@@ -1,28 +1,10 @@
1
- import { t as createContext } from "./index-C_ThrXdH.js";
2
- import { Key } from "@solid-primitives/keyed";
3
- import { Machine, MachineSchema, Service } from "@sprawlify/primitives/core";
4
- import * as solid_js0 from "solid-js";
1
+ import { a as useMachine, i as mergeProps, n as PropTypes, r as normalizeProps, t as Key } from "./index-C7N791Fc.js";
2
+ import { i as Optional, n as MaybeAccessor, r as MaybePromise, t as Assign } from "./types-Dbw4va3W.js";
3
+ import { t as createContext } from "./index-B6dBCfnB.js";
4
+ import * as solid_js199 from "solid-js";
5
5
  import { Accessor, JSX, ParentProps } from "solid-js";
6
- import * as _sprawlify_primitives_types0 from "@sprawlify/primitives/types";
7
6
  import { FilterOptions, FilterReturn, Locale } from "@sprawlify/primitives/i18n-utils";
8
7
 
9
- //#region src/core/machine.d.ts
10
- declare function useMachine<T extends MachineSchema>(machine: Machine<T>, userProps?: Partial<T["props"]> | Accessor<Partial<T["props"]>>): Service<T>;
11
- //#endregion
12
- //#region src/core/merge-props.d.ts
13
- type MaybeAccessor$1<T> = T | (() => T);
14
- declare function mergeProps<T>(source: MaybeAccessor$1<T>): T;
15
- declare function mergeProps<T, U>(source: MaybeAccessor$1<T>, source1: MaybeAccessor$1<U>): T & U;
16
- declare function mergeProps<T, U, V>(source: MaybeAccessor$1<T>, source1: MaybeAccessor$1<U>, source2: MaybeAccessor$1<V>): T & U & V;
17
- declare function mergeProps<T, U, V, W>(source: MaybeAccessor$1<T>, source1: MaybeAccessor$1<U>, source2: MaybeAccessor$1<V>, source3: MaybeAccessor$1<W>): T & U & V & W;
18
- //#endregion
19
- //#region src/core/normalize-props.d.ts
20
- type PropTypes = JSX.IntrinsicElements & {
21
- element: JSX.HTMLAttributes<any>;
22
- style: JSX.CSSProperties;
23
- };
24
- declare const normalizeProps: _sprawlify_primitives_types0.NormalizeProps<PropTypes>;
25
- //#endregion
26
8
  //#region src/providers/environment/use-environment-context.d.ts
27
9
  type RootNode = ShadowRoot | Document | Node;
28
10
  interface UseEnvironmentContext {
@@ -42,7 +24,7 @@ declare const EnvironmentProvider: (props: EnvironmentProviderProps) => JSX.Elem
42
24
  interface LocaleProviderProps extends ParentProps {
43
25
  locale: string;
44
26
  }
45
- declare const LocaleProvider: (props: LocaleProviderProps) => solid_js0.JSX.Element;
27
+ declare const LocaleProvider: (props: LocaleProviderProps) => solid_js199.JSX.Element;
46
28
  //#endregion
47
29
  //#region src/providers/locale/use-collator.d.ts
48
30
  interface UseCollatorProps extends Intl.CollatorOptions {
@@ -59,10 +41,4 @@ interface UseFilterReturn extends Accessor<FilterReturn> {}
59
41
  //#region src/providers/locale/use-locale-context.d.ts
60
42
  interface UseLocaleContext extends Accessor<Locale> {}
61
43
  //#endregion
62
- //#region src/types.d.ts
63
- type Assign<T, U> = Omit<T, keyof U> & U;
64
- type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
65
- type MaybeAccessor<T> = Accessor<T> | T;
66
- type MaybePromise<T> = T | Promise<T>;
67
- //#endregion
68
44
  export { Assign, EnvironmentProvider, type EnvironmentProviderProps, Key, LocaleProvider, type LocaleProviderProps, MaybeAccessor, MaybePromise, Optional, PropTypes, type RootNode, type UseCollatorProps, type UseEnvironmentContext, type UseFilterProps, type UseFilterReturn, type UseLocaleContext, createContext, mergeProps, normalizeProps, useCollator, useEnvironmentContext, useFilter, useLocaleContext, useMachine };