solid-uix 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +22 -2
  2. package/dist/main.css +1 -1
  3. package/dist/main.js +233 -538
  4. package/dist/main.js.map +1 -0
  5. package/dist/ssr/main.js +395 -0
  6. package/dist/ssr/main.js.map +1 -0
  7. package/dist/{button → types/button}/button.d.ts +2 -0
  8. package/dist/{field → types/field}/field.types.d.ts +1 -1
  9. package/dist/types/link/link.d.ts +2 -0
  10. package/dist/types/link/link.stories.d.ts +48 -0
  11. package/dist/types/link/link.types.d.ts +6 -0
  12. package/dist/{main.d.ts → types/main.d.ts} +3 -1
  13. package/dist/types/text_area/text_area.d.ts +2 -0
  14. package/dist/types/text_area/text_area.stories.d.ts +38 -0
  15. package/dist/types/text_area/text_area.types.d.ts +4 -0
  16. package/dist/types/text_input/text_input.stories.d.ts +30 -0
  17. package/package.json +10 -9
  18. package/dist/main.umd.cjs +0 -1
  19. /package/dist/{button → types/button}/button.types.d.ts +0 -0
  20. /package/dist/{checkbox → types/checkbox}/checkbox.d.ts +0 -0
  21. /package/dist/{checkbox → types/checkbox}/checkbox.stories.d.ts +0 -0
  22. /package/dist/{checkbox → types/checkbox}/checkbox.types.d.ts +0 -0
  23. /package/dist/{dialog → types/dialog}/dialog.d.ts +0 -0
  24. /package/dist/{dialog → types/dialog}/dialog.types.d.ts +0 -0
  25. /package/dist/{dialog → types/dialog}/provider/context.d.ts +0 -0
  26. /package/dist/{dialog → types/dialog}/provider/context.types.d.ts +0 -0
  27. /package/dist/{dialog → types/dialog}/provider/provider.d.ts +0 -0
  28. /package/dist/{dialog → types/dialog}/provider/provider.types.d.ts +0 -0
  29. /package/dist/{field → types/field}/field.context.d.ts +0 -0
  30. /package/dist/{field → types/field}/field.d.ts +0 -0
  31. /package/dist/{list → types/list}/list.d.ts +0 -0
  32. /package/dist/{list → types/list}/list.types.d.ts +0 -0
  33. /package/dist/{select → types/select}/select.d.ts +0 -0
  34. /package/dist/{select → types/select}/select.types.d.ts +0 -0
  35. /package/dist/{text_input → types/text_input}/text_input.d.ts +0 -0
  36. /package/dist/{text_input → types/text_input}/text_input.types.d.ts +0 -0
  37. /package/dist/{utils → types/utils}/cls.d.ts +0 -0
  38. /package/dist/{utils → types/utils}/message.d.ts +0 -0
  39. /package/dist/{utils → types/utils}/noop.d.ts +0 -0
  40. /package/dist/{utils → types/utils}/string.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sources":["../src/utils/cls.ts","../src/button/button.tsx","../src/link/link.tsx","../src/utils/message.ts","../src/utils/noop.ts","../src/field/field.context.tsx","../src/checkbox/checkbox.tsx","../src/text_input/text_input.tsx","../src/dialog/provider/context.ts","../src/dialog/provider/provider.tsx","../src/dialog/dialog.tsx","../src/field/field.tsx"],"sourcesContent":["type ClassName = string | undefined | boolean;\n\nexport const cls = (...classes: ClassName[]): string => {\n return classes.filter(Boolean).join(\" \");\n};\n","import { ButtonProps } from \"./button.types\";\nimport { mergeProps, splitProps } from \"solid-js\";\nimport { cls } from \"../utils/cls\";\nimport sx from \"./button.module.css\";\n\nconst defaultProps = {\n variant: \"solid\",\n};\n\nexport const Button = (props: ButtonProps) => {\n const merged = mergeProps(defaultProps, props);\n const [local, rest] = splitProps(merged, [\"class\", \"variant\"]);\n\n return (\n <button\n type=\"button\"\n {...rest}\n class={cls(\n sx.button,\n local.class,\n local.variant === \"solid\" && sx.solid,\n local.variant === \"outlined\" && sx.outlined\n )}\n >\n {rest.children}\n </button>\n );\n};\n\nexport { sx as buttonSx };\n","import { cls } from \"../utils/cls\";\nimport { LinkProps } from \"./link.types\";\nimport sx from \"./link.module.css\";\nimport { splitProps } from \"solid-js\";\n\nexport const Link = (props: LinkProps) => {\n const [local, rest] = splitProps(props, [\"class\", \"disabled\", \"color\", \"underline\"]);\n\n return (\n <a\n {...rest}\n class={cls(\n sx.link,\n local.class,\n local.disabled && sx.disabled,\n local.color === \"secondary\" && sx.secondary,\n local.underline === \"always\" && sx.underline\n )}\n aria-disabled={local.disabled}\n >\n {rest.children}\n </a>\n );\n};\n","export type MessageLevel = \"info\" | \"warning\" | \"error\";\n\nexport type Message = {\n level: MessageLevel;\n id: string;\n};\n\nexport const isError = (message: Message) => {\n return message.level === \"error\";\n};\n\nexport const getMessageIds = (messages: Message[]) => {\n if (!messages.length) {\n return undefined;\n }\n\n return messages.map((message) => message.id).join(\" \");\n};\n","import { Accessor, Setter } from \"solid-js\";\n\nexport const noop = () => {};\n\nexport const noopAccessor = <T>(value: T): Accessor<T> => {\n return () => value;\n};\n\nexport const noopSetter = <T>(): Setter<T> => {\n return (() => {}) as any;\n};\n","import { createContext, createMemo, createSignal, createUniqueId, useContext } from \"solid-js\";\nimport { FieldContextValue, FieldProviderProps } from \"./field.types\";\nimport { getMessageIds, isError, Message } from \"../utils/message\";\nimport { noop, noopAccessor } from \"../utils/noop\";\n\nconst defaultValue: FieldContextValue = {\n fieldId: undefined,\n error: noopAccessor(false),\n ariaDescribedBy: noopAccessor(undefined),\n ariaErrorMessage: noopAccessor(undefined),\n setMessage: noop,\n};\n\nconst FieldContext = createContext(defaultValue, {});\n\nexport const useFieldContext = () => {\n return useContext(FieldContext);\n};\n\nexport const FieldProvider = (props: FieldProviderProps) => {\n const fieldId = createUniqueId();\n\n const [messages, setMessages] = createSignal<Message[]>([]);\n\n const error = createMemo(() => {\n return props.error;\n });\n\n const ariaDescribedBy = createMemo(() => {\n return getMessageIds(messages());\n });\n\n const ariaErrorMessage = createMemo(() => {\n return getMessageIds(messages().filter(isError));\n });\n\n const setMessage = (message: Message) => {\n setMessages((prev) => [...prev, message]);\n };\n\n return (\n <FieldContext.Provider\n value={{\n fieldId,\n error,\n setMessage,\n ariaDescribedBy,\n ariaErrorMessage,\n }}\n >\n {props.children}\n </FieldContext.Provider>\n );\n};\n","import { createUniqueId, splitProps } from \"solid-js\";\nimport { CheckboxProps } from \"./checkbox.types\";\nimport sx from \"./checkbox.module.css\";\nimport { cls } from \"../utils/cls\";\nimport { useFieldContext } from \"../field/field.context\";\n\nexport const Checkbox = (props: CheckboxProps) => {\n const [local, rest] = splitProps(props, [\"label\", \"error\", \"class\"]);\n const context = useFieldContext();\n const id = createUniqueId();\n\n return (\n <span class={cls(sx.checkbox, local.class, rest.disabled && sx.disabled)}>\n <input\n {...rest}\n id={id}\n type=\"checkbox\"\n class={sx.input}\n aria-describedby={context.ariaDescribedBy()}\n aria-invalid={context.error() || !!local.error}\n aria-errormessage={context.ariaErrorMessage()}\n />\n <span class={sx.indicator} />\n\n {local.label && (\n <label for={id} class={sx.label}>\n {local.label}\n </label>\n )}\n </span>\n );\n};\n","import { splitProps } from \"solid-js\";\nimport { TextInputProps } from \"./text_input.types\";\nimport { cls } from \"../utils/cls\";\nimport { useFieldContext } from \"../field/field.context\";\nimport sx from \"./text_input.module.css\";\n\nexport const TextInput = (props: TextInputProps) => {\n const [local, rest] = splitProps(props, [\"error\", \"class\"]);\n const context = useFieldContext();\n\n return (\n <input\n {...rest}\n class={cls(sx.input, local.class)}\n id={context.fieldId}\n aria-describedby={context.ariaDescribedBy()}\n aria-invalid={context.error() || !!local.error}\n aria-errormessage={context.ariaErrorMessage()}\n />\n );\n};\n","import { createContext, useContext } from \"solid-js\";\nimport { noop, noopAccessor, noopSetter } from \"../../utils/noop\";\nimport { DialogContextValue } from \"./context.types\";\n\nconst defaultValue: DialogContextValue = {\n setDialogRef() {},\n ariaLabelledBy: noopAccessor(undefined),\n ariaDescribedBy: noopAccessor(undefined),\n setTitleId: noopSetter(),\n setDescriptionId: noopSetter(),\n openDialog: noop,\n closeDialog: noop,\n onOpenChange: noop,\n onBeforeClose: noop,\n};\n\nexport const DialogContext = createContext(defaultValue);\n\nexport const useDialogContext = () => {\n return useContext(DialogContext);\n};\n","import { createEffect, createMemo, createSignal } from \"solid-js\";\nimport { DialogProviderProps } from \"./provider.types\";\nimport { DialogContext } from \"./context\";\nimport { SetDialogRef } from \"./context.types\";\n\nexport const DialogProvider = (props: DialogProviderProps) => {\n let dialogRef: HTMLDialogElement;\n\n const setDialogRef: SetDialogRef = (element) => {\n dialogRef = element;\n };\n\n const [ariaLabelledBy, setTitleId] = createSignal<string | undefined>();\n const [ariaDescribedBy, setDescriptionId] = createSignal<string | undefined>();\n\n const isOpen = createMemo(() => {\n return props.isOpen;\n });\n\n const openDialog = () => {\n dialogRef?.showModal();\n props.onOpenChange?.(true);\n };\n\n const closeDialog = () => {\n dialogRef?.requestClose();\n };\n\n createEffect(() => {\n if (isOpen()) {\n openDialog();\n } else {\n closeDialog();\n }\n });\n\n return (\n <DialogContext.Provider\n value={{\n ariaLabelledBy,\n ariaDescribedBy,\n setDialogRef,\n setTitleId,\n setDescriptionId,\n openDialog,\n closeDialog,\n onOpenChange: props.onOpenChange,\n onBeforeClose: props.onBeforeClose,\n }}\n >\n {props.children}\n </DialogContext.Provider>\n );\n};\n","import { children, createEffect, createUniqueId, ParentProps } from \"solid-js\";\nimport {\n DialogActionsProps,\n DialogCloseProps,\n DialogContentProps,\n DialogDescriptionProps,\n DialogProps,\n DialogTitleProps,\n} from \"./dialog.types\";\nimport { cls } from \"../utils/cls\";\nimport { DialogProvider } from \"./provider/provider\";\nimport { useDialogContext } from \"./provider/context\";\nimport sx from \"./dialog.module.css\";\n\nexport const Dialog = (props: DialogProps) => {\n return <DialogProvider {...props}>{props.children}</DialogProvider>;\n};\n\nconst Trigger = (props: ParentProps) => {\n const context = useDialogContext();\n const child = children(() => props.children);\n\n createEffect(() => {\n const element = child();\n\n if (element instanceof HTMLElement) {\n element.onclick = context.openDialog;\n }\n });\n\n return <>{child()}</>;\n};\n\nconst Content = (props: DialogContentProps) => {\n const context = useDialogContext();\n\n return (\n <dialog\n {...props}\n ref={(element) => {\n props.ref = element;\n context.setDialogRef(element);\n }}\n class={cls(sx.dialog, props.class)}\n aria-labelledby={context.ariaLabelledBy()}\n aria-describedby={context.ariaDescribedBy()}\n onClose={() => context.onOpenChange?.(false)}\n onCancel={context.onBeforeClose}\n >\n {props.children}\n </dialog>\n );\n};\n\nconst Title = (props: DialogTitleProps) => {\n const context = useDialogContext();\n const titleId = createUniqueId();\n\n context.setTitleId(titleId);\n\n return (\n <h2 {...props} id={titleId} class={cls(sx.title, props.class)}>\n {props.children}\n </h2>\n );\n};\n\nconst Description = (props: DialogDescriptionProps) => {\n const context = useDialogContext();\n const descriptionId = createUniqueId();\n\n context.setDescriptionId(descriptionId);\n\n return (\n <p {...props} id={descriptionId} class={cls(sx.description, props.class)}>\n {props.children}\n </p>\n );\n};\n\nconst Close = (props: DialogCloseProps) => {\n const context = useDialogContext();\n const child = children(() => props.children);\n\n createEffect(() => {\n const element = child();\n\n if (element instanceof HTMLElement) {\n element.onclick = context.closeDialog;\n }\n });\n\n return <>{child()}</>;\n};\n\nconst Actions = (props: DialogActionsProps) => {\n return (\n <div {...props} class={cls(sx.actions, props.class)}>\n {props.children}\n </div>\n );\n};\n\nDialog.Trigger = Trigger;\nDialog.Content = Content;\nDialog.Title = Title;\nDialog.Description = Description;\nDialog.Close = Close;\nDialog.Actions = Actions;\n","import { createUniqueId, Show, splitProps } from \"solid-js\";\nimport { FieldLabelProps, FieldMessageProps, FieldProps } from \"./field.types\";\nimport { FieldProvider, useFieldContext } from \"./field.context\";\nimport { cls } from \"../utils/cls\";\nimport sx from \"./field.module.css\";\n\nexport const Field = (props: FieldProps) => {\n const [local, rest] = splitProps(props, [\"class\", \"error\"]);\n\n return (\n <FieldProvider error={!!local.error}>\n <div {...rest} class={cls(sx.field, local.class)}>\n {props.children}\n </div>\n </FieldProvider>\n );\n};\n\nconst FieldLabel = (props: FieldLabelProps) => {\n const [local, rest] = splitProps(props, [\"class\"]);\n const context = useFieldContext();\n\n return (\n <label {...rest} for={context.fieldId} class={cls(sx.label, local.class)}>\n {rest.children}\n </label>\n );\n};\n\nconst FieldMessage = (props: FieldMessageProps) => {\n const [local, rest] = splitProps(props, [\"class\", \"level\"]);\n const context = useFieldContext();\n const messageId = createUniqueId();\n\n context.setMessage({ level: local.level || \"info\", id: messageId });\n\n return (\n <Show when={rest.children}>\n <p\n {...rest}\n id={messageId}\n class={cls(sx.message, local.class, local.level === \"error\" && sx.error)}\n >\n {rest.children}\n </p>\n </Show>\n );\n};\n\nField.Label = FieldLabel;\n\nField.Message = FieldMessage;\n"],"names":["cls","classes","defaultProps","variant","Button","props","merged","mergeProps","local","rest","splitProps","_el$","_tmpl$","_$mergeProps","sx","button","class","solid","outlined","children","Link","link","disabled","color","secondary","underline","isError","message","getMessageIds","messages","noop","noopAccessor","value","noopSetter","defaultValue","fieldId","undefined","error","ariaDescribedBy","ariaErrorMessage","setMessage","FieldContext","createContext","useFieldContext","useContext","FieldProvider","createUniqueId","setMessages","createSignal","createMemo","filter","prev","_$createComponent","Provider","Checkbox","context","id","_el$2","firstChild","_el$3","nextSibling","input","_$insert","_c$","_$memo","label","_el$4","_tmpl$2","_$effect","_$className","_p$","_v$","checkbox","_v$2","indicator","e","t","TextInput","DialogContext","useDialogContext","DialogProvider","dialogRef","setDialogRef","element","ariaLabelledBy","setTitleId","setDescriptionId","isOpen","openDialog","showModal","onOpenChange","closeDialog","requestClose","createEffect","onBeforeClose","Dialog","Trigger","child","HTMLElement","onclick","Content","_$use","ref","dialog","onClose","onCancel","Title","titleId","title","Description","descriptionId","_tmpl$3","description","Close","Actions","_tmpl$4","actions","Field","field","FieldLabel","FieldMessage","messageId","level","Show","when","Label","Message"],"mappings":"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"}
@@ -0,0 +1,395 @@
1
+ import { ssrElement, mergeProps as mergeProps$1, escape, createComponent, ssr, ssrHydrationKey, ssrAttribute } from 'solid-js/web';
2
+ import { mergeProps, splitProps, createContext, useContext, createUniqueId, createSignal, createMemo, createEffect, children, Show } from 'solid-js';
3
+
4
+ const cls = (...classes) => {
5
+ return classes.filter(Boolean).join(" ");
6
+ };
7
+
8
+ const button = "_button_1x3l8_1";
9
+ const solid = "_solid_1x3l8_29";
10
+ const outlined = "_outlined_1x3l8_44";
11
+ const link$1 = "_link_1x3l8_60";
12
+ const sx$5 = {
13
+ button: button,
14
+ solid: solid,
15
+ outlined: outlined,
16
+ link: link$1
17
+ };
18
+
19
+ const defaultProps = {
20
+ variant: "solid"
21
+ };
22
+ const Button = (props) => {
23
+ const merged = mergeProps(defaultProps, props);
24
+ const [local, rest] = splitProps(merged, ["class", "variant"]);
25
+ return ssrElement("button", mergeProps$1({
26
+ type: "button"
27
+ }, rest, {
28
+ get ["class"]() {
29
+ return cls(sx$5.button, local.class, local.variant === "solid" && sx$5.solid, local.variant === "outlined" && sx$5.outlined);
30
+ }
31
+ }), () => escape(rest.children), true);
32
+ };
33
+
34
+ const link = "_link_yqbjv_1";
35
+ const underline = "_underline_yqbjv_14";
36
+ const secondary = "_secondary_yqbjv_18";
37
+ const disabled$1 = "_disabled_yqbjv_22";
38
+ const sx$4 = {
39
+ link: link,
40
+ underline: underline,
41
+ secondary: secondary,
42
+ disabled: disabled$1
43
+ };
44
+
45
+ const Link = (props) => {
46
+ const [local, rest] = splitProps(props, ["class", "disabled", "color", "underline"]);
47
+ return ssrElement("a", mergeProps$1(rest, {
48
+ get ["class"]() {
49
+ return cls(sx$4.link, local.class, local.disabled && sx$4.disabled, local.color === "secondary" && sx$4.secondary, local.underline === "always" && sx$4.underline);
50
+ },
51
+ get ["aria-disabled"]() {
52
+ return local.disabled;
53
+ }
54
+ }), () => escape(rest.children), true);
55
+ };
56
+
57
+ const checkbox = "_checkbox_1npj4_1";
58
+ const input$1 = "_input_1npj4_8";
59
+ const indicator = "_indicator_1npj4_18";
60
+ const label$1 = "_label_1npj4_37";
61
+ const disabled = "_disabled_1npj4_46";
62
+ const sx$3 = {
63
+ checkbox: checkbox,
64
+ input: input$1,
65
+ indicator: indicator,
66
+ label: label$1,
67
+ disabled: disabled
68
+ };
69
+
70
+ const isError = (message) => {
71
+ return message.level === "error";
72
+ };
73
+ const getMessageIds = (messages) => {
74
+ if (!messages.length) {
75
+ return void 0;
76
+ }
77
+ return messages.map((message) => message.id).join(" ");
78
+ };
79
+
80
+ const noop = () => {
81
+ };
82
+ const noopAccessor = (value) => {
83
+ return () => value;
84
+ };
85
+ const noopSetter = () => {
86
+ return () => {
87
+ };
88
+ };
89
+
90
+ const defaultValue$1 = {
91
+ fieldId: void 0,
92
+ error: noopAccessor(false),
93
+ ariaDescribedBy: noopAccessor(void 0),
94
+ ariaErrorMessage: noopAccessor(void 0),
95
+ setMessage: noop
96
+ };
97
+ const FieldContext = createContext(defaultValue$1, {});
98
+ const useFieldContext = () => {
99
+ return useContext(FieldContext);
100
+ };
101
+ const FieldProvider = (props) => {
102
+ const fieldId = createUniqueId();
103
+ const [messages, setMessages] = createSignal([]);
104
+ const error = createMemo(() => {
105
+ return props.error;
106
+ });
107
+ const ariaDescribedBy = createMemo(() => {
108
+ return getMessageIds(messages());
109
+ });
110
+ const ariaErrorMessage = createMemo(() => {
111
+ return getMessageIds(messages().filter(isError));
112
+ });
113
+ const setMessage = (message) => {
114
+ setMessages((prev) => [...prev, message]);
115
+ };
116
+ return createComponent(FieldContext.Provider, {
117
+ value: {
118
+ fieldId,
119
+ error,
120
+ setMessage,
121
+ ariaDescribedBy,
122
+ ariaErrorMessage
123
+ },
124
+ get children() {
125
+ return props.children;
126
+ }
127
+ });
128
+ };
129
+
130
+ var _tmpl$ = ["<span", ">", "<span", "></span><!--$-->", "<!--/--></span>"], _tmpl$2 = ["<label", ">", "</label>"];
131
+ const Checkbox = (props) => {
132
+ const [local, rest] = splitProps(props, ["label", "error", "class"]);
133
+ const context = useFieldContext();
134
+ const id = createUniqueId();
135
+ return ssr(_tmpl$, ssrHydrationKey() + ssrAttribute("class", escape(cls(sx$3.checkbox, local.class, rest.disabled && sx$3.disabled), true), false), ssrElement("input", mergeProps$1(rest, {
136
+ id,
137
+ type: "checkbox",
138
+ get ["class"]() {
139
+ return sx$3.input;
140
+ },
141
+ get ["aria-describedby"]() {
142
+ return context.ariaDescribedBy();
143
+ },
144
+ get ["aria-invalid"]() {
145
+ return context.error() || !!local.error;
146
+ },
147
+ get ["aria-errormessage"]() {
148
+ return context.ariaErrorMessage();
149
+ }
150
+ }), void 0, false), ssrAttribute("class", escape(sx$3.indicator, true), false), local.label && ssr(_tmpl$2, ssrHydrationKey() + ssrAttribute("for", escape(id, true), false) + ssrAttribute("class", escape(sx$3.label, true), false), escape(local.label)));
151
+ };
152
+
153
+ const input = "_input_vvaje_1";
154
+ const sx$2 = {
155
+ input: input
156
+ };
157
+
158
+ const TextInput = (props) => {
159
+ const [local, rest] = splitProps(props, ["error", "class"]);
160
+ const context = useFieldContext();
161
+ return ssrElement("input", mergeProps$1(rest, {
162
+ get ["class"]() {
163
+ return cls(sx$2.input, local.class);
164
+ },
165
+ get id() {
166
+ return context.fieldId;
167
+ },
168
+ get ["aria-describedby"]() {
169
+ return context.ariaDescribedBy();
170
+ },
171
+ get ["aria-invalid"]() {
172
+ return context.error() || !!local.error;
173
+ },
174
+ get ["aria-errormessage"]() {
175
+ return context.ariaErrorMessage();
176
+ }
177
+ }), void 0, true);
178
+ };
179
+
180
+ const defaultValue = {
181
+ setDialogRef() {
182
+ },
183
+ ariaLabelledBy: noopAccessor(void 0),
184
+ ariaDescribedBy: noopAccessor(void 0),
185
+ setTitleId: noopSetter(),
186
+ setDescriptionId: noopSetter(),
187
+ openDialog: noop,
188
+ closeDialog: noop,
189
+ onOpenChange: noop,
190
+ onBeforeClose: noop
191
+ };
192
+ const DialogContext = createContext(defaultValue);
193
+ const useDialogContext = () => {
194
+ return useContext(DialogContext);
195
+ };
196
+
197
+ const DialogProvider = (props) => {
198
+ let dialogRef;
199
+ const setDialogRef = (element) => {
200
+ dialogRef = element;
201
+ };
202
+ const [ariaLabelledBy, setTitleId] = createSignal();
203
+ const [ariaDescribedBy, setDescriptionId] = createSignal();
204
+ const isOpen = createMemo(() => {
205
+ return props.isOpen;
206
+ });
207
+ const openDialog = () => {
208
+ dialogRef?.showModal();
209
+ props.onOpenChange?.(true);
210
+ };
211
+ const closeDialog = () => {
212
+ dialogRef?.requestClose();
213
+ };
214
+ createEffect(() => {
215
+ if (isOpen()) {
216
+ openDialog();
217
+ } else {
218
+ closeDialog();
219
+ }
220
+ });
221
+ return createComponent(DialogContext.Provider, {
222
+ get value() {
223
+ return {
224
+ ariaLabelledBy,
225
+ ariaDescribedBy,
226
+ setDialogRef,
227
+ setTitleId,
228
+ setDescriptionId,
229
+ openDialog,
230
+ closeDialog,
231
+ onOpenChange: props.onOpenChange,
232
+ onBeforeClose: props.onBeforeClose
233
+ };
234
+ },
235
+ get children() {
236
+ return props.children;
237
+ }
238
+ });
239
+ };
240
+
241
+ const dialog = "_dialog_1klsa_1";
242
+ const title = "_title_1klsa_16";
243
+ const description = "_description_1klsa_26";
244
+ const actions = "_actions_1klsa_37";
245
+ const sx$1 = {
246
+ dialog: dialog,
247
+ title: title,
248
+ description: description,
249
+ actions: actions
250
+ };
251
+
252
+ const Dialog = (props) => {
253
+ return createComponent(DialogProvider, mergeProps$1(props, {
254
+ get children() {
255
+ return props.children;
256
+ }
257
+ }));
258
+ };
259
+ const Trigger = (props) => {
260
+ const context = useDialogContext();
261
+ const child = children(() => props.children);
262
+ createEffect(() => {
263
+ const element = child();
264
+ if (element instanceof HTMLElement) {
265
+ element.onclick = context.openDialog;
266
+ }
267
+ });
268
+ return child();
269
+ };
270
+ const Content = (props) => {
271
+ const context = useDialogContext();
272
+ return ssrElement("dialog", mergeProps$1(props, {
273
+ get ["class"]() {
274
+ return cls(sx$1.dialog, props.class);
275
+ },
276
+ get ["aria-labelledby"]() {
277
+ return context.ariaLabelledBy();
278
+ },
279
+ get ["aria-describedby"]() {
280
+ return context.ariaDescribedBy();
281
+ }
282
+ }), () => escape(props.children), true);
283
+ };
284
+ const Title = (props) => {
285
+ const context = useDialogContext();
286
+ const titleId = createUniqueId();
287
+ context.setTitleId(titleId);
288
+ return ssrElement("h2", mergeProps$1(props, {
289
+ id: titleId,
290
+ get ["class"]() {
291
+ return cls(sx$1.title, props.class);
292
+ }
293
+ }), () => escape(props.children), true);
294
+ };
295
+ const Description = (props) => {
296
+ const context = useDialogContext();
297
+ const descriptionId = createUniqueId();
298
+ context.setDescriptionId(descriptionId);
299
+ return ssrElement("p", mergeProps$1(props, {
300
+ id: descriptionId,
301
+ get ["class"]() {
302
+ return cls(sx$1.description, props.class);
303
+ }
304
+ }), () => escape(props.children), true);
305
+ };
306
+ const Close = (props) => {
307
+ const context = useDialogContext();
308
+ const child = children(() => props.children);
309
+ createEffect(() => {
310
+ const element = child();
311
+ if (element instanceof HTMLElement) {
312
+ element.onclick = context.closeDialog;
313
+ }
314
+ });
315
+ return child();
316
+ };
317
+ const Actions = (props) => {
318
+ return ssrElement("div", mergeProps$1(props, {
319
+ get ["class"]() {
320
+ return cls(sx$1.actions, props.class);
321
+ }
322
+ }), () => escape(props.children), true);
323
+ };
324
+ Dialog.Trigger = Trigger;
325
+ Dialog.Content = Content;
326
+ Dialog.Title = Title;
327
+ Dialog.Description = Description;
328
+ Dialog.Close = Close;
329
+ Dialog.Actions = Actions;
330
+
331
+ const field = "_field_1ijme_1";
332
+ const label = "_label_1ijme_7";
333
+ const message = "_message_1ijme_19";
334
+ const error = "_error_1ijme_31";
335
+ const sx = {
336
+ field: field,
337
+ label: label,
338
+ message: message,
339
+ error: error
340
+ };
341
+
342
+ const Field = (props) => {
343
+ const [local, rest] = splitProps(props, ["class", "error"]);
344
+ return createComponent(FieldProvider, {
345
+ get error() {
346
+ return !!local.error;
347
+ },
348
+ get children() {
349
+ return ssrElement("div", mergeProps$1(rest, {
350
+ get ["class"]() {
351
+ return cls(sx.field, local.class);
352
+ }
353
+ }), () => escape(props.children), true);
354
+ }
355
+ });
356
+ };
357
+ const FieldLabel = (props) => {
358
+ const [local, rest] = splitProps(props, ["class"]);
359
+ const context = useFieldContext();
360
+ return ssrElement("label", mergeProps$1(rest, {
361
+ get ["for"]() {
362
+ return context.fieldId;
363
+ },
364
+ get ["class"]() {
365
+ return cls(sx.label, local.class);
366
+ }
367
+ }), () => escape(rest.children), true);
368
+ };
369
+ const FieldMessage = (props) => {
370
+ const [local, rest] = splitProps(props, ["class", "level"]);
371
+ const context = useFieldContext();
372
+ const messageId = createUniqueId();
373
+ context.setMessage({
374
+ level: local.level || "info",
375
+ id: messageId
376
+ });
377
+ return createComponent(Show, {
378
+ get when() {
379
+ return rest.children;
380
+ },
381
+ get children() {
382
+ return ssrElement("p", mergeProps$1(rest, {
383
+ id: messageId,
384
+ get ["class"]() {
385
+ return cls(sx.message, local.class, local.level === "error" && sx.error);
386
+ }
387
+ }), () => escape(rest.children), true);
388
+ }
389
+ });
390
+ };
391
+ Field.Label = FieldLabel;
392
+ Field.Message = FieldMessage;
393
+
394
+ export { Button, Checkbox, Dialog, Field, Link, TextInput, sx$5 as buttonSx, cls };
395
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sources":["../../src/utils/cls.ts","../../src/button/button.tsx","../../src/link/link.tsx","../../src/utils/message.ts","../../src/utils/noop.ts","../../src/field/field.context.tsx","../../src/checkbox/checkbox.tsx","../../src/text_input/text_input.tsx","../../src/dialog/provider/context.ts","../../src/dialog/provider/provider.tsx","../../src/dialog/dialog.tsx","../../src/field/field.tsx"],"sourcesContent":["type ClassName = string | undefined | boolean;\n\nexport const cls = (...classes: ClassName[]): string => {\n return classes.filter(Boolean).join(\" \");\n};\n","import { ButtonProps } from \"./button.types\";\nimport { mergeProps, splitProps } from \"solid-js\";\nimport { cls } from \"../utils/cls\";\nimport sx from \"./button.module.css\";\n\nconst defaultProps = {\n variant: \"solid\",\n};\n\nexport const Button = (props: ButtonProps) => {\n const merged = mergeProps(defaultProps, props);\n const [local, rest] = splitProps(merged, [\"class\", \"variant\"]);\n\n return (\n <button\n type=\"button\"\n {...rest}\n class={cls(\n sx.button,\n local.class,\n local.variant === \"solid\" && sx.solid,\n local.variant === \"outlined\" && sx.outlined\n )}\n >\n {rest.children}\n </button>\n );\n};\n\nexport { sx as buttonSx };\n","import { cls } from \"../utils/cls\";\nimport { LinkProps } from \"./link.types\";\nimport sx from \"./link.module.css\";\nimport { splitProps } from \"solid-js\";\n\nexport const Link = (props: LinkProps) => {\n const [local, rest] = splitProps(props, [\"class\", \"disabled\", \"color\", \"underline\"]);\n\n return (\n <a\n {...rest}\n class={cls(\n sx.link,\n local.class,\n local.disabled && sx.disabled,\n local.color === \"secondary\" && sx.secondary,\n local.underline === \"always\" && sx.underline\n )}\n aria-disabled={local.disabled}\n >\n {rest.children}\n </a>\n );\n};\n","export type MessageLevel = \"info\" | \"warning\" | \"error\";\n\nexport type Message = {\n level: MessageLevel;\n id: string;\n};\n\nexport const isError = (message: Message) => {\n return message.level === \"error\";\n};\n\nexport const getMessageIds = (messages: Message[]) => {\n if (!messages.length) {\n return undefined;\n }\n\n return messages.map((message) => message.id).join(\" \");\n};\n","import { Accessor, Setter } from \"solid-js\";\n\nexport const noop = () => {};\n\nexport const noopAccessor = <T>(value: T): Accessor<T> => {\n return () => value;\n};\n\nexport const noopSetter = <T>(): Setter<T> => {\n return (() => {}) as any;\n};\n","import { createContext, createMemo, createSignal, createUniqueId, useContext } from \"solid-js\";\nimport { FieldContextValue, FieldProviderProps } from \"./field.types\";\nimport { getMessageIds, isError, Message } from \"../utils/message\";\nimport { noop, noopAccessor } from \"../utils/noop\";\n\nconst defaultValue: FieldContextValue = {\n fieldId: undefined,\n error: noopAccessor(false),\n ariaDescribedBy: noopAccessor(undefined),\n ariaErrorMessage: noopAccessor(undefined),\n setMessage: noop,\n};\n\nconst FieldContext = createContext(defaultValue, {});\n\nexport const useFieldContext = () => {\n return useContext(FieldContext);\n};\n\nexport const FieldProvider = (props: FieldProviderProps) => {\n const fieldId = createUniqueId();\n\n const [messages, setMessages] = createSignal<Message[]>([]);\n\n const error = createMemo(() => {\n return props.error;\n });\n\n const ariaDescribedBy = createMemo(() => {\n return getMessageIds(messages());\n });\n\n const ariaErrorMessage = createMemo(() => {\n return getMessageIds(messages().filter(isError));\n });\n\n const setMessage = (message: Message) => {\n setMessages((prev) => [...prev, message]);\n };\n\n return (\n <FieldContext.Provider\n value={{\n fieldId,\n error,\n setMessage,\n ariaDescribedBy,\n ariaErrorMessage,\n }}\n >\n {props.children}\n </FieldContext.Provider>\n );\n};\n","import { createUniqueId, splitProps } from \"solid-js\";\nimport { CheckboxProps } from \"./checkbox.types\";\nimport sx from \"./checkbox.module.css\";\nimport { cls } from \"../utils/cls\";\nimport { useFieldContext } from \"../field/field.context\";\n\nexport const Checkbox = (props: CheckboxProps) => {\n const [local, rest] = splitProps(props, [\"label\", \"error\", \"class\"]);\n const context = useFieldContext();\n const id = createUniqueId();\n\n return (\n <span class={cls(sx.checkbox, local.class, rest.disabled && sx.disabled)}>\n <input\n {...rest}\n id={id}\n type=\"checkbox\"\n class={sx.input}\n aria-describedby={context.ariaDescribedBy()}\n aria-invalid={context.error() || !!local.error}\n aria-errormessage={context.ariaErrorMessage()}\n />\n <span class={sx.indicator} />\n\n {local.label && (\n <label for={id} class={sx.label}>\n {local.label}\n </label>\n )}\n </span>\n );\n};\n","import { splitProps } from \"solid-js\";\nimport { TextInputProps } from \"./text_input.types\";\nimport { cls } from \"../utils/cls\";\nimport { useFieldContext } from \"../field/field.context\";\nimport sx from \"./text_input.module.css\";\n\nexport const TextInput = (props: TextInputProps) => {\n const [local, rest] = splitProps(props, [\"error\", \"class\"]);\n const context = useFieldContext();\n\n return (\n <input\n {...rest}\n class={cls(sx.input, local.class)}\n id={context.fieldId}\n aria-describedby={context.ariaDescribedBy()}\n aria-invalid={context.error() || !!local.error}\n aria-errormessage={context.ariaErrorMessage()}\n />\n );\n};\n","import { createContext, useContext } from \"solid-js\";\nimport { noop, noopAccessor, noopSetter } from \"../../utils/noop\";\nimport { DialogContextValue } from \"./context.types\";\n\nconst defaultValue: DialogContextValue = {\n setDialogRef() {},\n ariaLabelledBy: noopAccessor(undefined),\n ariaDescribedBy: noopAccessor(undefined),\n setTitleId: noopSetter(),\n setDescriptionId: noopSetter(),\n openDialog: noop,\n closeDialog: noop,\n onOpenChange: noop,\n onBeforeClose: noop,\n};\n\nexport const DialogContext = createContext(defaultValue);\n\nexport const useDialogContext = () => {\n return useContext(DialogContext);\n};\n","import { createEffect, createMemo, createSignal } from \"solid-js\";\nimport { DialogProviderProps } from \"./provider.types\";\nimport { DialogContext } from \"./context\";\nimport { SetDialogRef } from \"./context.types\";\n\nexport const DialogProvider = (props: DialogProviderProps) => {\n let dialogRef: HTMLDialogElement;\n\n const setDialogRef: SetDialogRef = (element) => {\n dialogRef = element;\n };\n\n const [ariaLabelledBy, setTitleId] = createSignal<string | undefined>();\n const [ariaDescribedBy, setDescriptionId] = createSignal<string | undefined>();\n\n const isOpen = createMemo(() => {\n return props.isOpen;\n });\n\n const openDialog = () => {\n dialogRef?.showModal();\n props.onOpenChange?.(true);\n };\n\n const closeDialog = () => {\n dialogRef?.requestClose();\n };\n\n createEffect(() => {\n if (isOpen()) {\n openDialog();\n } else {\n closeDialog();\n }\n });\n\n return (\n <DialogContext.Provider\n value={{\n ariaLabelledBy,\n ariaDescribedBy,\n setDialogRef,\n setTitleId,\n setDescriptionId,\n openDialog,\n closeDialog,\n onOpenChange: props.onOpenChange,\n onBeforeClose: props.onBeforeClose,\n }}\n >\n {props.children}\n </DialogContext.Provider>\n );\n};\n","import { children, createEffect, createUniqueId, ParentProps } from \"solid-js\";\nimport {\n DialogActionsProps,\n DialogCloseProps,\n DialogContentProps,\n DialogDescriptionProps,\n DialogProps,\n DialogTitleProps,\n} from \"./dialog.types\";\nimport { cls } from \"../utils/cls\";\nimport { DialogProvider } from \"./provider/provider\";\nimport { useDialogContext } from \"./provider/context\";\nimport sx from \"./dialog.module.css\";\n\nexport const Dialog = (props: DialogProps) => {\n return <DialogProvider {...props}>{props.children}</DialogProvider>;\n};\n\nconst Trigger = (props: ParentProps) => {\n const context = useDialogContext();\n const child = children(() => props.children);\n\n createEffect(() => {\n const element = child();\n\n if (element instanceof HTMLElement) {\n element.onclick = context.openDialog;\n }\n });\n\n return <>{child()}</>;\n};\n\nconst Content = (props: DialogContentProps) => {\n const context = useDialogContext();\n\n return (\n <dialog\n {...props}\n ref={(element) => {\n props.ref = element;\n context.setDialogRef(element);\n }}\n class={cls(sx.dialog, props.class)}\n aria-labelledby={context.ariaLabelledBy()}\n aria-describedby={context.ariaDescribedBy()}\n onClose={() => context.onOpenChange?.(false)}\n onCancel={context.onBeforeClose}\n >\n {props.children}\n </dialog>\n );\n};\n\nconst Title = (props: DialogTitleProps) => {\n const context = useDialogContext();\n const titleId = createUniqueId();\n\n context.setTitleId(titleId);\n\n return (\n <h2 {...props} id={titleId} class={cls(sx.title, props.class)}>\n {props.children}\n </h2>\n );\n};\n\nconst Description = (props: DialogDescriptionProps) => {\n const context = useDialogContext();\n const descriptionId = createUniqueId();\n\n context.setDescriptionId(descriptionId);\n\n return (\n <p {...props} id={descriptionId} class={cls(sx.description, props.class)}>\n {props.children}\n </p>\n );\n};\n\nconst Close = (props: DialogCloseProps) => {\n const context = useDialogContext();\n const child = children(() => props.children);\n\n createEffect(() => {\n const element = child();\n\n if (element instanceof HTMLElement) {\n element.onclick = context.closeDialog;\n }\n });\n\n return <>{child()}</>;\n};\n\nconst Actions = (props: DialogActionsProps) => {\n return (\n <div {...props} class={cls(sx.actions, props.class)}>\n {props.children}\n </div>\n );\n};\n\nDialog.Trigger = Trigger;\nDialog.Content = Content;\nDialog.Title = Title;\nDialog.Description = Description;\nDialog.Close = Close;\nDialog.Actions = Actions;\n","import { createUniqueId, Show, splitProps } from \"solid-js\";\nimport { FieldLabelProps, FieldMessageProps, FieldProps } from \"./field.types\";\nimport { FieldProvider, useFieldContext } from \"./field.context\";\nimport { cls } from \"../utils/cls\";\nimport sx from \"./field.module.css\";\n\nexport const Field = (props: FieldProps) => {\n const [local, rest] = splitProps(props, [\"class\", \"error\"]);\n\n return (\n <FieldProvider error={!!local.error}>\n <div {...rest} class={cls(sx.field, local.class)}>\n {props.children}\n </div>\n </FieldProvider>\n );\n};\n\nconst FieldLabel = (props: FieldLabelProps) => {\n const [local, rest] = splitProps(props, [\"class\"]);\n const context = useFieldContext();\n\n return (\n <label {...rest} for={context.fieldId} class={cls(sx.label, local.class)}>\n {rest.children}\n </label>\n );\n};\n\nconst FieldMessage = (props: FieldMessageProps) => {\n const [local, rest] = splitProps(props, [\"class\", \"level\"]);\n const context = useFieldContext();\n const messageId = createUniqueId();\n\n context.setMessage({ level: local.level || \"info\", id: messageId });\n\n return (\n <Show when={rest.children}>\n <p\n {...rest}\n id={messageId}\n class={cls(sx.message, local.class, local.level === \"error\" && sx.error)}\n >\n {rest.children}\n </p>\n </Show>\n );\n};\n\nField.Label = FieldLabel;\n\nField.Message = FieldMessage;\n"],"names":["defaultProps","variant","Button","props","merged","mergeProps","local","rest","splitProps","_$ssrElement","_$mergeProps","type","cls","sx","button","class","solid","outlined","_$escape","children","Link","link","disabled","color","secondary","underline","defaultValue","fieldId","undefined","error","noopAccessor","ariaDescribedBy","ariaErrorMessage","setMessage","noop","FieldContext","createContext","useFieldContext","useContext","FieldProvider","createUniqueId","messages","setMessages","createSignal","createMemo","getMessageIds","filter","isError","message","prev","_$createComponent","Provider","value","Checkbox","context","id","_$ssr","_tmpl$","_$ssrHydrationKey","_$ssrAttribute","checkbox","input","indicator","label","_tmpl$2","TextInput","DialogProvider","dialogRef","setDialogRef","element","ariaLabelledBy","setTitleId","setDescriptionId","isOpen","openDialog","showModal","onOpenChange","closeDialog","requestClose","createEffect","DialogContext","onBeforeClose","Dialog","Trigger","useDialogContext","child","HTMLElement","onclick","Content","dialog","Title","titleId","title","Description","descriptionId","description","Close","Actions","actions","Field","field","FieldLabel","FieldMessage","messageId","level","Show","when","Label","Message"],"mappings":"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"}
@@ -1,2 +1,4 @@
1
1
  import { ButtonProps } from './button.types';
2
+ import { default as sx } from './button.module.css';
2
3
  export declare const Button: (props: ButtonProps) => import("solid-js").JSX.Element;
4
+ export { sx as buttonSx };
@@ -11,8 +11,8 @@ export type FieldMessageProps = JSX.HTMLAttributes<HTMLParagraphElement> & {
11
11
  level?: MessageLevel;
12
12
  };
13
13
  export type FieldContextValue = {
14
+ fieldId?: string;
14
15
  error: Accessor<boolean>;
15
- fieldId: string;
16
16
  ariaDescribedBy: Accessor<string | undefined>;
17
17
  ariaErrorMessage: Accessor<string | undefined>;
18
18
  setMessage(message: Message): void;
@@ -0,0 +1,2 @@
1
+ import { LinkProps } from './link.types';
2
+ export declare const Link: (props: LinkProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,48 @@
1
+ declare const _default: {
2
+ title: string;
3
+ component: (props: import('./link.types').LinkProps) => import("solid-js").JSX.Element;
4
+ parameters: {
5
+ layout: string;
6
+ };
7
+ tags: string[];
8
+ argTypes: {
9
+ color: {
10
+ control: {
11
+ type: string;
12
+ };
13
+ options: string[];
14
+ };
15
+ underline: {
16
+ control: {
17
+ type: string;
18
+ };
19
+ options: string[];
20
+ };
21
+ };
22
+ args: {
23
+ children: string;
24
+ color: string;
25
+ underline: string;
26
+ disabled: boolean;
27
+ onClick: import('storybook/test').Mock<(...args: any[]) => any>;
28
+ };
29
+ };
30
+ export default _default;
31
+ export declare const Default: {
32
+ args: {};
33
+ };
34
+ export declare const Underline: {
35
+ args: {
36
+ underline: string;
37
+ };
38
+ };
39
+ export declare const Secondary: {
40
+ args: {
41
+ color: string;
42
+ };
43
+ };
44
+ export declare const Disabled: {
45
+ args: {
46
+ disabled: boolean;
47
+ };
48
+ };
@@ -0,0 +1,6 @@
1
+ import { JSX } from 'solid-js';
2
+ export type LinkProps = JSX.AnchorHTMLAttributes<HTMLAnchorElement> & {
3
+ disabled?: boolean;
4
+ color?: "accent" | "secondary";
5
+ underline?: "hover" | "always";
6
+ };
@@ -1,7 +1,9 @@
1
+ export { cls } from './utils/cls';
1
2
  /**
2
3
  * Interactive
3
4
  */
4
- export { Button } from './button/button';
5
+ export { Button, buttonSx } from './button/button';
6
+ export { Link } from './link/link';
5
7
  export { Checkbox } from './checkbox/checkbox';
6
8
  export { TextInput } from './text_input/text_input';
7
9
  /**
@@ -0,0 +1,2 @@
1
+ import { TextAreaProps } from './text_area.types';
2
+ export declare const TextArea: (props: TextAreaProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,38 @@
1
+ declare const _default: {
2
+ title: string;
3
+ component: (props: import('./text_area.types').TextAreaProps) => import("solid-js").JSX.Element;
4
+ parameters: {
5
+ layout: string;
6
+ };
7
+ tags: string[];
8
+ argTypes: {};
9
+ args: {
10
+ rows: string;
11
+ placeholder: string;
12
+ value: string;
13
+ disabled: boolean;
14
+ error: boolean;
15
+ onChange: import('storybook/test').Mock<(...args: any[]) => any>;
16
+ };
17
+ };
18
+ export default _default;
19
+ export declare const Default: {
20
+ args: {
21
+ rows: string;
22
+ placeholder: string;
23
+ };
24
+ };
25
+ export declare const Disabled: {
26
+ args: {
27
+ rows: string;
28
+ placeholder: string;
29
+ disabled: boolean;
30
+ };
31
+ };
32
+ export declare const Error: {
33
+ args: {
34
+ rows: string;
35
+ placeholder: string;
36
+ error: boolean;
37
+ };
38
+ };
@@ -0,0 +1,4 @@
1
+ import { JSX } from 'solid-js';
2
+ export type TextAreaProps = JSX.TextareaHTMLAttributes<HTMLTextAreaElement> & {
3
+ error?: boolean;
4
+ };