solid-uix 0.3.1 → 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 (41) hide show
  1. package/README.md +22 -2
  2. package/dist/main.css +1 -1
  3. package/dist/main.js +271 -446
  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/{button → types/button}/button.types.d.ts +3 -1
  9. package/dist/types/dialog/dialog.d.ts +11 -0
  10. package/dist/types/dialog/dialog.types.d.ts +17 -0
  11. package/dist/types/dialog/provider/context.d.ts +3 -0
  12. package/dist/types/dialog/provider/context.types.d.ts +14 -0
  13. package/dist/types/dialog/provider/provider.d.ts +2 -0
  14. package/dist/types/dialog/provider/provider.types.d.ts +7 -0
  15. package/dist/{field → types/field}/field.types.d.ts +1 -1
  16. package/dist/types/link/link.d.ts +2 -0
  17. package/dist/types/link/link.stories.d.ts +48 -0
  18. package/dist/types/link/link.types.d.ts +6 -0
  19. package/dist/types/main.d.ts +13 -0
  20. package/dist/types/select/select.d.ts +5 -0
  21. package/dist/types/select/select.types.d.ts +5 -0
  22. package/dist/types/text_area/text_area.d.ts +2 -0
  23. package/dist/types/text_area/text_area.stories.d.ts +38 -0
  24. package/dist/types/text_area/text_area.types.d.ts +4 -0
  25. package/dist/types/text_input/text_input.stories.d.ts +30 -0
  26. package/dist/{utils → types/utils}/noop.d.ts +2 -1
  27. package/package.json +10 -9
  28. package/dist/main.d.ts +0 -4
  29. package/dist/main.umd.cjs +0 -1
  30. /package/dist/{checkbox → types/checkbox}/checkbox.d.ts +0 -0
  31. /package/dist/{checkbox → types/checkbox}/checkbox.stories.d.ts +0 -0
  32. /package/dist/{checkbox → types/checkbox}/checkbox.types.d.ts +0 -0
  33. /package/dist/{field → types/field}/field.context.d.ts +0 -0
  34. /package/dist/{field → types/field}/field.d.ts +0 -0
  35. /package/dist/{list → types/list}/list.d.ts +0 -0
  36. /package/dist/{list → types/list}/list.types.d.ts +0 -0
  37. /package/dist/{text_input → types/text_input}/text_input.d.ts +0 -0
  38. /package/dist/{text_input → types/text_input}/text_input.types.d.ts +0 -0
  39. /package/dist/{utils → types/utils}/cls.d.ts +0 -0
  40. /package/dist/{utils → types/utils}/message.d.ts +0 -0
  41. /package/dist/{utils → types/utils}/string.d.ts +0 -0
@@ -0,0 +1,13 @@
1
+ export { cls } from './utils/cls';
2
+ /**
3
+ * Interactive
4
+ */
5
+ export { Button, buttonSx } from './button/button';
6
+ export { Link } from './link/link';
7
+ export { Checkbox } from './checkbox/checkbox';
8
+ export { TextInput } from './text_input/text_input';
9
+ /**
10
+ * Feedback
11
+ */
12
+ export { Dialog } from './dialog/dialog';
13
+ export { Field } from './field/field';
@@ -0,0 +1,5 @@
1
+ import { SelectOptionProps, SelectProps } from './select.types';
2
+ export declare const Select: {
3
+ (props: SelectProps): import("solid-js").JSX.Element;
4
+ Option: (props: SelectOptionProps) => import("solid-js").JSX.Element;
5
+ };
@@ -0,0 +1,5 @@
1
+ import { JSX } from 'solid-js';
2
+ export type SelectProps = JSX.SelectHTMLAttributes<HTMLSelectElement> & {
3
+ error?: boolean;
4
+ };
5
+ export type SelectOptionProps = JSX.OptionHTMLAttributes<HTMLOptionElement>;
@@ -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
+ };
@@ -0,0 +1,30 @@
1
+ declare const _default: {
2
+ title: string;
3
+ component: (props: import('./text_input.types').TextInputProps) => import("solid-js").JSX.Element;
4
+ parameters: {
5
+ layout: string;
6
+ };
7
+ tags: string[];
8
+ argTypes: {};
9
+ args: {
10
+ placeholder: string;
11
+ value: string;
12
+ disabled: boolean;
13
+ error: boolean;
14
+ onChange: import('storybook/test').Mock<(...args: any[]) => any>;
15
+ };
16
+ };
17
+ export default _default;
18
+ export declare const Default: {
19
+ args: {};
20
+ };
21
+ export declare const Disabled: {
22
+ args: {
23
+ disabled: boolean;
24
+ };
25
+ };
26
+ export declare const Error: {
27
+ args: {
28
+ error: boolean;
29
+ };
30
+ };
@@ -1,3 +1,4 @@
1
- import { Accessor } from 'solid-js';
1
+ import { Accessor, Setter } from 'solid-js';
2
2
  export declare const noop: () => void;
3
3
  export declare const noopAccessor: <T>(value: T) => Accessor<T>;
4
+ export declare const noopSetter: <T>() => Setter<T>;
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "solid-uix",
3
- "version": "0.3.1",
3
+ "version": "0.5.0",
4
4
  "type": "module",
5
- "main": "./dist/main.umd.cjs",
6
5
  "module": "./dist/main.js",
7
- "types": "./dist/main.d.ts",
6
+ "types": "./dist/types/main.d.ts",
8
7
  "exports": {
9
8
  ".": {
10
- "import": "./dist/main.js",
11
- "require": "./dist/main.umd.cjs"
9
+ "import": "./dist/main.js"
12
10
  },
13
- "./dist/main.css": {
14
- "import": "./dist/main.css",
15
- "require": "./dist/main.css"
11
+ "./ssr": {
12
+ "import": "./dist/ssr/main.js"
13
+ },
14
+ "./css": {
15
+ "import": "./dist/main.css"
16
16
  }
17
17
  },
18
18
  "files": [
@@ -28,6 +28,7 @@
28
28
  "devDependencies": {
29
29
  "@solidjs/testing-library": "^0.8.10",
30
30
  "@testing-library/user-event": "^14.6.1",
31
+ "@types/node": "^24.9.2",
31
32
  "happy-dom": "^17.4.4",
32
33
  "typescript": "~5.7.2",
33
34
  "vite": "^6.0.11",
@@ -36,7 +37,7 @@
36
37
  "vitest": "^3.1.1"
37
38
  },
38
39
  "scripts": {
39
- "build": "tsc && vite build",
40
+ "build": "tsc && vite build && BUILD_TARGET=ssr vite build && rm -f dist/ssr/*.css",
40
41
  "test": "vitest run",
41
42
  "start": "cd src-storybook && npm start"
42
43
  },
package/dist/main.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export { Button } from './button/button';
2
- export { TextInput } from './text_input/text_input';
3
- export { Checkbox } from './checkbox/checkbox';
4
- export { Field } from './field/field';
package/dist/main.umd.cjs DELETED
@@ -1 +0,0 @@
1
- (function(h,f){typeof exports=="object"&&typeof module<"u"?f(exports,require("solid-js")):typeof define=="function"&&define.amd?define(["exports","solid-js"],f):(h=typeof globalThis<"u"?globalThis:h||self,f(h["solid-uix"]={},h.solid))})(this,function(h,f){"use strict";const R=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","hidden","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected"],D=new Set(["className","value","readOnly","noValidate","formNoValidate","isMap","noModule","playsInline",...R]),V=new Set(["innerHTML","textContent","innerText","children"]),U=Object.assign(Object.create(null),{className:"class",htmlFor:"for"}),q=Object.assign(Object.create(null),{class:"className",novalidate:{$:"noValidate",FORM:1},formnovalidate:{$:"formNoValidate",BUTTON:1,INPUT:1},ismap:{$:"isMap",IMG:1},nomodule:{$:"noModule",SCRIPT:1},playsinline:{$:"playsInline",VIDEO:1},readonly:{$:"readOnly",INPUT:1,TEXTAREA:1}});function H(n,e){const t=q[n];return typeof t=="object"?t[e]?t.$:void 0:t}const G=new Set(["beforeinput","click","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"]),K=n=>f.createMemo(()=>n());function X(n,e,t){let i=t.length,s=e.length,o=i,c=0,r=0,l=e[s-1].nextSibling,a=null;for(;c<s||r<o;){if(e[c]===t[r]){c++,r++;continue}for(;e[s-1]===t[o-1];)s--,o--;if(s===c){const d=o<i?r?t[r-1].nextSibling:t[o-r]:l;for(;r<o;)n.insertBefore(t[r++],d)}else if(o===r)for(;c<s;)(!a||!a.has(e[c]))&&e[c].remove(),c++;else if(e[c]===t[o-1]&&t[r]===e[s-1]){const d=e[--s].nextSibling;n.insertBefore(t[r++],e[c++].nextSibling),n.insertBefore(t[--o],d),e[s]=t[o]}else{if(!a){a=new Map;let g=r;for(;g<o;)a.set(t[g],g++)}const d=a.get(e[c]);if(d!=null)if(r<d&&d<o){let g=c,u=1,m;for(;++g<s&&g<o&&!((m=a.get(e[g]))==null||m!==d+u);)u++;if(u>d-r){const S=e[c];for(;r<d;)n.insertBefore(t[r++],S)}else n.replaceChild(t[r++],e[c++])}else c++;else e[c++].remove()}}}const p="_$DX_DELEGATE";function y(n,e,t,i){let s;const o=()=>{const r=document.createElement("template");return r.innerHTML=n,r.content.firstChild},c=()=>(s||(s=o())).cloneNode(!0);return c.cloneNode=c,c}function Y(n,e=window.document){const t=e[p]||(e[p]=new Set);for(let i=0,s=n.length;i<s;i++){const o=n[i];t.has(o)||(t.add(o),e.addEventListener(o,te))}}function T(n,e,t){x(n)||(t==null?n.removeAttribute(e):n.setAttribute(e,t))}function Q(n,e,t){x(n)||(t?n.setAttribute(e,""):n.removeAttribute(e))}function P(n,e){x(n)||(e==null?n.removeAttribute("class"):n.className=e)}function W(n,e,t,i){if(i)Array.isArray(t)?(n[`$$${e}`]=t[0],n[`$$${e}Data`]=t[1]):n[`$$${e}`]=t;else if(Array.isArray(t)){const s=t[0];n.addEventListener(e,t[0]=o=>s.call(n,t[1],o))}else n.addEventListener(e,t,typeof t!="function"&&t)}function Z(n,e,t={}){const i=Object.keys(e||{}),s=Object.keys(t);let o,c;for(o=0,c=s.length;o<c;o++){const r=s[o];!r||r==="undefined"||e[r]||(I(n,r,!1),delete t[r])}for(o=0,c=i.length;o<c;o++){const r=i[o],l=!!e[r];!r||r==="undefined"||t[r]===l||!l||(I(n,r,!0),t[r]=l)}return t}function z(n,e,t){if(!e)return t?T(n,"style"):e;const i=n.style;if(typeof e=="string")return i.cssText=e;typeof t=="string"&&(i.cssText=t=void 0),t||(t={}),e||(e={});let s,o;for(o in t)e[o]==null&&i.removeProperty(o),delete t[o];for(o in e)s=e[o],s!==t[o]&&(i.setProperty(o,s),t[o]=s);return t}function b(n,e={},t,i){const s={};return i||f.createRenderEffect(()=>s.children=C(n,e.children,s.children)),f.createRenderEffect(()=>typeof e.ref=="function"&&v(e.ref,n)),f.createRenderEffect(()=>J(n,e,t,!0,s,!0)),s}function v(n,e,t){return f.untrack(()=>n(e,t))}function _(n,e,t,i){if(t!==void 0&&!i&&(i=[]),typeof e!="function")return C(n,e,i,t);f.createRenderEffect(s=>C(n,e(),s,t),i)}function J(n,e,t,i,s={},o=!1){e||(e={});for(const c in s)if(!(c in e)){if(c==="children")continue;s[c]=B(n,c,null,s[c],t,o,e)}for(const c in e){if(c==="children")continue;const r=e[c];s[c]=B(n,c,r,s[c],t,o,e)}}function x(n){return!!f.sharedConfig.context&&!f.sharedConfig.done&&(!n||n.isConnected)}function ee(n){return n.toLowerCase().replace(/-([a-z])/g,(e,t)=>t.toUpperCase())}function I(n,e,t){const i=e.trim().split(/\s+/);for(let s=0,o=i.length;s<o;s++)n.classList.toggle(i[s],t)}function B(n,e,t,i,s,o,c){let r,l,a,d,g;if(e==="style")return z(n,t,i);if(e==="classList")return Z(n,t,i);if(t===i)return i;if(e==="ref")o||t(n);else if(e.slice(0,3)==="on:"){const u=e.slice(3);i&&n.removeEventListener(u,i,typeof i!="function"&&i),t&&n.addEventListener(u,t,typeof t!="function"&&t)}else if(e.slice(0,10)==="oncapture:"){const u=e.slice(10);i&&n.removeEventListener(u,i,!0),t&&n.addEventListener(u,t,!0)}else if(e.slice(0,2)==="on"){const u=e.slice(2).toLowerCase(),m=G.has(u);if(!m&&i){const S=Array.isArray(i)?i[0]:i;n.removeEventListener(u,S)}(m||t)&&(W(n,u,t,m),m&&Y([u]))}else if(e.slice(0,5)==="attr:")T(n,e.slice(5),t);else if(e.slice(0,5)==="bool:")Q(n,e.slice(5),t);else if((g=e.slice(0,5)==="prop:")||(a=V.has(e))||(d=H(e,n.tagName))||(l=D.has(e))||(r=n.nodeName.includes("-")||"is"in c)){if(g)e=e.slice(5),l=!0;else if(x(n))return t;e==="class"||e==="className"?P(n,t):r&&!l&&!a?n[ee(e)]=t:n[d||e]=t}else T(n,U[e]||e,t);return t}function te(n){if(f.sharedConfig.registry&&f.sharedConfig.events&&f.sharedConfig.events.find(([l,a])=>a===n))return;let e=n.target;const t=`$$${n.type}`,i=n.target,s=n.currentTarget,o=l=>Object.defineProperty(n,"target",{configurable:!0,value:l}),c=()=>{const l=e[t];if(l&&!e.disabled){const a=e[`${t}Data`];if(a!==void 0?l.call(e,a,n):l.call(e,n),n.cancelBubble)return}return e.host&&typeof e.host!="string"&&!e.host._$host&&e.contains(n.target)&&o(e.host),!0},r=()=>{for(;c()&&(e=e._$host||e.parentNode||e.host););};if(Object.defineProperty(n,"currentTarget",{configurable:!0,get(){return e||document}}),f.sharedConfig.registry&&!f.sharedConfig.done&&(f.sharedConfig.done=_$HY.done=!0),n.composedPath){const l=n.composedPath();o(l[0]);for(let a=0;a<l.length-2&&(e=l[a],!!c());a++){if(e._$host){e=e._$host,r();break}if(e.parentNode===s)break}}else r();o(i)}function C(n,e,t,i,s){const o=x(n);if(o){!t&&(t=[...n.childNodes]);let l=[];for(let a=0;a<t.length;a++){const d=t[a];d.nodeType===8&&d.data.slice(0,2)==="!$"?d.remove():l.push(d)}t=l}for(;typeof t=="function";)t=t();if(e===t)return t;const c=typeof e,r=i!==void 0;if(n=r&&t[0]&&t[0].parentNode||n,c==="string"||c==="number"){if(o||c==="number"&&(e=e.toString(),e===t))return t;if(r){let l=t[0];l&&l.nodeType===3?l.data!==e&&(l.data=e):l=document.createTextNode(e),t=$(n,t,i,l)}else t!==""&&typeof t=="string"?t=n.firstChild.data=e:t=n.textContent=e}else if(e==null||c==="boolean"){if(o)return t;t=$(n,t,i)}else{if(c==="function")return f.createRenderEffect(()=>{let l=e();for(;typeof l=="function";)l=l();t=C(n,l,t,i)}),()=>t;if(Array.isArray(e)){const l=[],a=t&&Array.isArray(t);if(N(l,e,t,s))return f.createRenderEffect(()=>t=C(n,l,t,i,!0)),()=>t;if(o){if(!l.length)return t;if(i===void 0)return t=[...n.childNodes];let d=l[0];if(d.parentNode!==n)return t;const g=[d];for(;(d=d.nextSibling)!==i;)g.push(d);return t=g}if(l.length===0){if(t=$(n,t,i),r)return t}else a?t.length===0?O(n,l,i):X(n,t,l):(t&&$(n),O(n,l));t=l}else if(e.nodeType){if(o&&e.parentNode)return t=r?[e]:e;if(Array.isArray(t)){if(r)return t=$(n,t,i,e);$(n,t,null,e)}else t==null||t===""||!n.firstChild?n.appendChild(e):n.replaceChild(e,n.firstChild);t=e}}return t}function N(n,e,t,i){let s=!1;for(let o=0,c=e.length;o<c;o++){let r=e[o],l=t&&t[n.length],a;if(!(r==null||r===!0||r===!1))if((a=typeof r)=="object"&&r.nodeType)n.push(r);else if(Array.isArray(r))s=N(n,r,l)||s;else if(a==="function")if(i){for(;typeof r=="function";)r=r();s=N(n,Array.isArray(r)?r:[r],Array.isArray(l)?l:[l])||s}else n.push(r),s=!0;else{const d=String(r);l&&l.nodeType===3&&l.data===d?n.push(l):n.push(document.createTextNode(d))}}return s}function O(n,e,t=null){for(let i=0,s=e.length;i<s;i++)n.insertBefore(e[i],t)}function $(n,e,t,i){if(t===void 0)return n.textContent="";const s=i||document.createTextNode("");if(e.length){let o=!1;for(let c=e.length-1;c>=0;c--){const r=e[c];if(s!==r){const l=r.parentNode===n;!o&&!c?l?n.replaceChild(s,r):n.insertBefore(s,t):l&&r.remove()}else o=!0}}else n.insertBefore(s,t);return[s]}const ne={button:"_button_1xfap_1"};var ie=y("<button type=button>");const se=n=>(()=>{var e=ie();return b(e,f.mergeProps(n,{get class(){return ne.button}}),!1,!0),_(e,()=>n.children),e})(),A=(...n)=>n.filter(Boolean).join(" "),re=n=>n.level==="error",k=n=>{if(n.length)return n.map(e=>e.id).join(" ")},oe=()=>{},M=n=>()=>n,le={fieldId:"",error:M(!1),ariaDescribedBy:M(void 0),ariaErrorMessage:M(void 0),setMessage:oe},F=f.createContext(le,{}),j=()=>f.useContext(F),ce=n=>{const e=f.createUniqueId(),[t,i]=f.createSignal([]),s=f.createMemo(()=>n.error),o=f.createMemo(()=>k(t())),c=f.createMemo(()=>k(t().filter(re))),r=l=>{i(a=>[...a,l])};return f.createComponent(F.Provider,{value:{fieldId:e,error:s,setMessage:r,ariaDescribedBy:o,ariaErrorMessage:c},get children(){return n.children}})},fe={input:"_input_1nlce_1"};var ae=y("<input>");const de=n=>{const[e,t]=f.splitProps(n,["error","class"]),i=j();return(()=>{var s=ae();return b(s,f.mergeProps(t,{get class(){return A(fe.input,e.class)},get id(){return i.fieldId},get"aria-describedby"(){return i.ariaDescribedBy()},get"aria-invalid"(){return i.error()||!!e.error},get"aria-errormessage"(){return i.ariaErrorMessage()}}),!1,!1),s})()},E={checkbox:"_checkbox_1npj4_1",input:"_input_1npj4_8",indicator:"_indicator_1npj4_18",label:"_label_1npj4_37",disabled:"_disabled_1npj4_46"};var ue=y("<span><input><span>"),ge=y("<label>");const he=n=>{const[e,t]=f.splitProps(n,["label","error","class"]),i=f.createUniqueId();return(()=>{var s=ue(),o=s.firstChild,c=o.nextSibling;return b(o,f.mergeProps(t,{id:i,type:"checkbox",get class(){return E.input},get"aria-invalid"(){return!!e.error}}),!1,!1),_(s,(()=>{var r=K(()=>!!e.label);return()=>r()&&(()=>{var l=ge();return T(l,"for",i),_(l,()=>e.label),f.createRenderEffect(()=>P(l,E.label)),l})()})(),null),f.createRenderEffect(r=>{var l=A(E.checkbox,e.class,t.disabled&&E.disabled),a=E.indicator;return l!==r.e&&P(s,r.e=l),a!==r.t&&P(c,r.t=a),r},{e:void 0,t:void 0}),s})()},w={field:"_field_1ijme_1",label:"_label_1ijme_7",message:"_message_1ijme_19",error:"_error_1ijme_31"};var ye=y("<div>"),me=y("<label>"),be=y("<p>");const L=n=>{const[e,t]=f.splitProps(n,["class","error"]);return f.createComponent(ce,{get error(){return!!e.error},get children(){var i=ye();return b(i,f.mergeProps(t,{get class(){return A(w.field,e.class)}}),!1,!0),_(i,()=>n.children),i}})},_e=n=>{const[e,t]=f.splitProps(n,["class"]),i=j();return(()=>{var s=me();return b(s,f.mergeProps(t,{get for(){return i.fieldId},get class(){return A(w.label,e.class)}}),!1,!0),_(s,()=>t.children),s})()},$e=n=>{const[e,t]=f.splitProps(n,["class","level"]),i=j(),s=f.createUniqueId();return i.setMessage({level:e.level||"info",id:s}),f.createComponent(f.Show,{get when(){return t.children},get children(){var o=be();return b(o,f.mergeProps(t,{id:s,get class(){return A(w.message,e.class,e.level==="error"&&w.error)}}),!1,!0),_(o,()=>t.children),o}})};L.Label=_e,L.Message=$e,h.Button=se,h.Checkbox=he,h.Field=L,h.TextInput=de,Object.defineProperty(h,Symbol.toStringTag,{value:"Module"})});
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes