@sekiui/elements 0.0.23 → 0.0.25

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.
@@ -0,0 +1,2 @@
1
+ var e=Object.defineProperty,t=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},n=(e,t)=>{t&&(e.__stencil__getHostRef=()=>t,t.t=e)},o=(e,t)=>t in e,l=(e,t)=>(0,console.error)(e,t),i=new Map,s=new Map,r="slot-fb{display:contents}slot-fb[hidden]{display:none}",c="undefined"!=typeof window?window:{},u={o:0,l:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,o)=>e.addEventListener(t,n,o),rel:(e,t,n,o)=>e.removeEventListener(t,n,o),ce:(e,t)=>new CustomEvent(e,t)},a=e=>Promise.resolve(e),f=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),d=!!f&&(()=>!!c.document&&Object.getOwnPropertyDescriptor(c.document.adoptedStyleSheets,"length").writable)(),p=!1,h=[],m=[],v=(e,t)=>n=>{e.push(n),p||(p=!0,t&&4&u.o?$(b):u.raf(b))},y=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){l(e)}e.length=0},b=()=>{y(h),y(m),(p=h.length>0)&&u.raf(b)},$=e=>a().then(e),w=v(m,!0),g=e=>"object"==(e=typeof e)||"function"===e;function S(e){var t,n,o;return null!=(o=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?o:void 0}((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{err:()=>k,map:()=>O,ok:()=>j,unwrap:()=>C,unwrapErr:()=>M});var j=e=>({isOk:!0,isErr:!1,value:e}),k=e=>({isOk:!1,isErr:!0,value:e});function O(e,t){if(e.isOk){const n=t(e.value);return n instanceof Promise?n.then((e=>j(e))):j(n)}if(e.isErr)return k(e.value);throw"should never get here"}var E,C=e=>{if(e.isOk)return e.value;throw e.value},M=e=>{if(e.isErr)return e.value;throw e.value};function x(){const e=this.attachShadow({mode:"open"});void 0===E&&(E=null),E&&(d?e.adoptedStyleSheets.push(E):e.adoptedStyleSheets=[...e.adoptedStyleSheets,E])}var P=new WeakMap,N=e=>"sc-"+e.i,R=(e,t,...n)=>{let o=null,l=null,i=!1,s=!1;const r=[],c=t=>{for(let n=0;n<t.length;n++)o=t[n],Array.isArray(o)?c(o):null!=o&&"boolean"!=typeof o&&((i="function"!=typeof e&&!g(o))&&(o+=""),i&&s?r[r.length-1].u+=o:r.push(i?D(null,o):o),s=i)};if(c(n),t){t.key&&(l=t.key);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}const u=D(e,null);return u.p=t,r.length>0&&(u.h=r),u.m=l,u},D=(e,t)=>({o:0,v:e,u:t,$:null,h:null,p:null,m:null}),U={},W=e=>{const t=(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(e);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,"g")};W("::slotted"),W(":host"),W(":host-context");var A,L=(e,t)=>null==e||g(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?"string"==typeof e?parseFloat(e):"number"==typeof e?e:NaN:1&t?e+"":e,T=(e,n)=>{const o=(e=>{var n;return null==(n=t(e))?void 0:n.$hostElement$})(e);return{emit:e=>z(o,n,{bubbles:!0,composed:!0,cancelable:!0,detail:e})}},z=(e,t,n)=>{const o=u.ce(t,n);return e.dispatchEvent(o),o},F=(e,t,n,l,i,s)=>{if(n===l)return;let r=o(e,t),a=t.toLowerCase();if("class"===t){const t=e.classList,o=V(n);let i=V(l);t.remove(...o.filter((e=>e&&!i.includes(e)))),t.add(...i.filter((e=>e&&!o.includes(e))))}else if("key"===t);else if(r||"o"!==t[0]||"n"!==t[1]){const o=g(l);if(r||o&&null!==l)try{if(e.tagName.includes("-"))e[t]!==l&&(e[t]=l);else{const o=null==l?"":l;"list"===t?r=!1:null!=n&&e[t]==o||("function"==typeof e.__lookupSetter__(t)?e[t]=o:e.setAttribute(t,o))}}catch(e){}null==l||!1===l?!1===l&&""!==e.getAttribute(t)||e.removeAttribute(t):(!r||4&s||i)&&!o&&1===e.nodeType&&e.setAttribute(t,l=!0===l?"":l)}else if(t="-"===t[2]?t.slice(3):o(c,a)?a.slice(2):a[2]+t.slice(3),n||l){const o=t.endsWith(q);t=t.replace(G,""),n&&u.rel(e,t,n,o),l&&u.ael(e,t,l,o)}},H=/\s/,V=e=>("object"==typeof e&&e&&"baseVal"in e&&(e=e.baseVal),e&&"string"==typeof e?e.split(H):[]),q="Capture",G=RegExp(q+"$"),I=(e,t,n)=>{const o=11===t.$.nodeType&&t.$.host?t.$.host:t.$,l=e&&e.p||{},i=t.p||{};for(const e of Y(Object.keys(l)))e in i||F(o,e,l[e],void 0,n,t.o);for(const e of Y(Object.keys(i)))F(o,e,l[e],i[e],n,t.o)};function Y(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}var _=!1,B=(e,t,n)=>{const o=t.h[n];let l,i,s=0;if(!c.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(l=o.$=c.document.createElement(o.v),I(null,o,_),o.h)for(s=0;s<o.h.length;++s)i=B(e,o,s),i&&l.appendChild(i);return l["s-hn"]=A,l},J=(e,t,n,o,l,i)=>{let s,r=e;for(r.shadowRoot&&r.tagName===A&&(r=r.shadowRoot);l<=i;++l)o[l]&&(s=B(null,n,l),s&&(o[l].$=s,Z(r,s,t)))},K=(e,t,n)=>{for(let o=t;o<=n;++o){const t=e[o];if(t){const e=t.$;e&&e.remove()}}},Q=(e,t,n=!1)=>e.v===t.v&&(n?(n&&!e.m&&t.m&&(e.m=t.m),!0):e.m===t.m),X=(e,t,n=!1)=>{const o=t.$=e.$,l=e.h,i=t.h;I(e,t,_),null!==l&&null!==i?((e,t,n,o,l=!1)=>{let i,s,r=0,c=0,u=0,a=0,f=t.length-1,d=t[0],p=t[f],h=o.length-1,m=o[0],v=o[h];for(;r<=f&&c<=h;)if(null==d)d=t[++r];else if(null==p)p=t[--f];else if(null==m)m=o[++c];else if(null==v)v=o[--h];else if(Q(d,m,l))X(d,m,l),d=t[++r],m=o[++c];else if(Q(p,v,l))X(p,v,l),p=t[--f],v=o[--h];else if(Q(d,v,l))X(d,v,l),Z(e,d.$,p.$.nextSibling),d=t[++r],v=o[--h];else if(Q(p,m,l))X(p,m,l),Z(e,p.$,d.$),p=t[--f],m=o[++c];else{for(u=-1,a=r;a<=f;++a)if(t[a]&&null!==t[a].m&&t[a].m===m.m){u=a;break}u>=0?(s=t[u],s.v!==m.v?i=B(t&&t[c],n,u):(X(s,m,l),t[u]=void 0,i=s.$),m=o[++c]):(i=B(t&&t[c],n,c),m=o[++c]),i&&Z(d.$.parentNode,i,d.$)}r>f?J(e,null==o[h+1]?null:o[h+1].$,n,o,c,h):c>h&&K(t,r,f)})(o,l,t,i,n):null!==i?J(o,null,t,i,0,i.length-1):!n&&null!==l&&K(l,0,l.length-1)},Z=(e,t,n)=>null==e?void 0:e.insertBefore(t,n),ee=(e,t)=>{if(t&&!e.S&&t["s-p"]){const n=t["s-p"].push(new Promise((o=>e.S=()=>{t["s-p"].splice(n-1,1),o()})))}},te=(e,t)=>{if(e.o|=16,4&e.o)return void(e.o|=512);ee(e,e.j);const n=()=>ne(e,t);if(!t)return w(n);queueMicrotask((()=>{n()}))},ne=(e,t)=>{const n=e.$hostElement$,o=e.t;if(!o)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let l;return t?(e.k.length&&e.k.forEach((e=>e(n))),l=ue(o,"componentWillLoad",void 0,n)):l=ue(o,"componentWillUpdate",void 0,n),l=oe(l,(()=>ue(o,"componentWillRender",void 0,n))),oe(l,(()=>ie(e,o,t)))},oe=(e,t)=>le(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),le=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,ie=async(e,t,n)=>{var o;const l=e.$hostElement$,i=l["s-rc"];n&&(e=>{const t=e.O,n=e.$hostElement$,o=t.o,l=((e,t)=>{var n;const o=N(t),l=s.get(o);if(!c.document)return o;if(e=11===e.nodeType?e:c.document,l)if("string"==typeof l){let i,s=P.get(e=e.head||e);if(s||P.set(e,s=new Set),!s.has(o)){{i=c.document.createElement("style"),i.innerHTML=l;const o=null!=(n=u.C)?n:S(c.document);if(null!=o&&i.setAttribute("nonce",o),!(1&t.o))if("HEAD"===e.nodeName){const t=e.querySelectorAll("link[rel=preconnect]"),n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(i,(null==n?void 0:n.parentNode)===e?n:null)}else if("host"in e)if(f){const t=new CSSStyleSheet;t.replaceSync(l),d?e.adoptedStyleSheets.unshift(t):e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");t?t.innerHTML=l+t.innerHTML:e.prepend(i)}else e.append(i);1&t.o&&e.insertBefore(i,null)}4&t.o&&(i.innerHTML+=r),s&&s.add(o)}}else e.adoptedStyleSheets.includes(l)||(d?e.adoptedStyleSheets.push(l):e.adoptedStyleSheets=[...e.adoptedStyleSheets,l]);return o})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&o&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(e);se(e,t,l,n),i&&(i.map((e=>e())),l["s-rc"]=void 0);{const t=null!=(o=l["s-p"])?o:[],n=()=>re(e);0===t.length?n():(Promise.all(t).then(n),e.o|=4,t.length=0)}},se=(e,t,n,o)=>{try{t=t.render(),e.o&=-17,e.o|=2,((e,t,n=!1)=>{const o=e.$hostElement$,l=e.O,i=e.M||D(null,null),s=(e=>e&&e.v===U)(t)?t:R(null,null,t);if(A=o.tagName,l.P&&(s.p=s.p||{},l.P.forEach((([e,t])=>{s.p[t]=o[e]}))),n&&s.p)for(const e of Object.keys(s.p))o.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(s.p[e]=o[e]);s.v=null,s.o|=4,e.M=s,s.$=i.$=o.shadowRoot||o,X(i,s,n)})(e,t,o)}catch(t){l(t,e.$hostElement$)}return null},re=e=>{const t=e.$hostElement$,n=e.t,o=e.j;ue(n,"componentDidRender",void 0,t),64&e.o?ue(n,"componentDidUpdate",void 0,t):(e.o|=64,ae(t),ue(n,"componentDidLoad",void 0,t),e.N(t),o||ce()),e.S&&(e.S(),e.S=void 0),512&e.o&&$((()=>te(e,!1))),e.o&=-517},ce=()=>{$((()=>z(c,"appload",{detail:{namespace:"sekiui"}})))},ue=(e,t,n,o)=>{if(e&&e[t])try{return e[t](n)}catch(e){l(e,o)}},ae=e=>e.classList.add("hydrated"),fe=(e,n,o,l)=>{const i=t(e);if(!i)return;if(!i)throw Error(`Couldn't find host element for "${l.i}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`);const s=i.R.get(n),r=i.o,c=i.t;if(o=L(o,l.D[n][0]),(!(8&r)||void 0===s)&&o!==s&&(!Number.isNaN(s)||!Number.isNaN(o))&&(i.R.set(n,o),c&&2==(18&r))){if(c.componentShouldUpdate&&!1===c.componentShouldUpdate(o,s,n))return;te(i,!1)}},de=(e,n,o)=>{var l,i;const s=e.prototype;if(n.D){const r=Object.entries(null!=(l=n.D)?l:{});if(r.map((([e,[l]])=>{if(31&l||2&o&&32&l){const{get:i,set:r}=Object.getOwnPropertyDescriptor(s,e)||{};i&&(n.D[e][0]|=2048),r&&(n.D[e][0]|=4096),(1&o||!i)&&Object.defineProperty(s,e,{get(){{if(!(2048&n.D[e][0]))return((e,n)=>t(this).R.get(n))(0,e);const o=t(this),l=o?o.t:s;if(!l)return;return l[e]}},configurable:!0,enumerable:!0}),Object.defineProperty(s,e,{set(i){const s=t(this);if(s){if(r)return void 0===(32&l?this[e]:s.$hostElement$[e])&&s.R.get(e)&&(i=s.R.get(e)),r.call(this,L(i,l)),void fe(this,e,i=32&l?this[e]:s.$hostElement$[e],n);{if(!(1&o&&4096&n.D[e][0]))return fe(this,e,i,n),void(1&o&&!s.t&&s.k.push((()=>{4096&n.D[e][0]&&s.t[e]!==s.R.get(e)&&(s.t[e]=i)})));const t=()=>{const t=s.t[e];!s.R.get(e)&&t&&s.R.set(e,t),s.t[e]=L(i,l),fe(this,e,s.t[e],n)};s.t?t():s.k.push((()=>{t()}))}}}})}})),1&o){const o=new Map;s.attributeChangedCallback=function(e,l,i){u.jmp((()=>{var r;const c=o.get(e),u=t(this);if(this.hasOwnProperty(c)&&(i=this[c],delete this[c]),s.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==i)return;if(null==c){const t=null==u?void 0:u.o;if(u&&t&&!(8&t)&&128&t&&i!==l){const t=u.t,o=null==(r=n.U)?void 0:r[e];null==o||o.forEach((n=>{null!=t[n]&&t[n].call(t,i,l,e)}))}return}const a=Object.getOwnPropertyDescriptor(s,c);(i=(null!==i||"boolean"!=typeof this[c])&&i)==this[c]||a.get&&!a.set||(this[c]=i)}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=n.U)?i:{}),...r.filter((([e,t])=>31&t[0])).map((([e,t])=>{var l;const i=t[1]||e;return o.set(i,e),512&t[0]&&(null==(l=n.P)||l.push([e,i])),i}))]))}}return e},pe=(e,t)=>{ue(e,"connectedCallback",void 0,t)},he=(e,t)=>{ue(e,"disconnectedCallback",void 0,t||e)},me=(e,n={})=>{var o;if(!c.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const a=[],d=n.exclude||[],p=c.customElements,h=c.document.head,m=h.querySelector("meta[charset]"),v=c.document.createElement("style"),y=[];let b,$=!0;Object.assign(u,n),u.l=new URL(n.resourcesUrl||"./",c.document.baseURI).href;let w=!1;if(e.map((e=>{e[1].map((n=>{const o={o:n[0],i:n[1],D:n[2],W:n[3]};4&o.o&&(w=!0),o.D=n[2],o.P=[];const r=o.i,c=class extends HTMLElement{constructor(e){if(super(e),this.hasRegisteredEventListeners=!1,((e,t)=>{const n={o:0,$hostElement$:e,O:t,R:new Map,A:new Map};n.L=new Promise((e=>n.N=e)),e["s-p"]=[],e["s-rc"]=[],n.k=[];const o=n;e.__stencil__getHostRef=()=>o})(e=this,o),1&o.o)if(e.shadowRoot){if("open"!==e.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${o.i}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else x.call(e,o)}connectedCallback(){t(this)&&(this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),b&&(clearTimeout(b),b=null),$?y.push(this):u.jmp((()=>(e=>{if(!(1&u.o)){const n=t(e);if(!n)return;const o=n.O,r=()=>{};if(1&n.o)(null==n?void 0:n.t)?pe(n.t,e):(null==n?void 0:n.L)&&n.L.then((()=>pe(n.t,e)));else{n.o|=1;{let t=e;for(;t=t.parentNode||t.host;)if(t["s-p"]){ee(n,n.j=t);break}}o.D&&Object.entries(o.D).map((([t,[n]])=>{if(31&n&&t in e&&e[t]!==Object.prototype[t]){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n)=>{let o;if(!(32&t.o)){if(t.o|=32,n.T){const s=((e,t)=>{const n=e.i.replace(/-/g,"_"),o=e.T;if(!o)return;const s=i.get(o);return s?s[n]:import(`./${o}.entry.js`).then((e=>(i.set(o,e),e[n])),(e=>{l(e,t.$hostElement$)}))
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,t);if(s&&"then"in s){const e=()=>{};o=await s,e()}else o=s;if(!o)throw Error(`Constructor for "${n.i}#${t.F}" was not found`);o.isProxied||(de(o,n,2),o.isProxied=!0);const r=()=>{};t.o|=8;try{new o(t)}catch(t){l(t,e)}t.o&=-9,r(),pe(t.t,e)}else o=e.constructor,customElements.whenDefined(e.localName).then((()=>t.o|=128));if(o&&o.style){let e;"string"==typeof o.style&&(e=o.style);const t=N(n);if(!s.has(t)){const o=()=>{};((e,t,n)=>{let o=s.get(e);f&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=t:o.replaceSync(t)):o=t,s.set(e,o)})(t,e,!!(1&n.o)),o()}}}const r=t.j,c=()=>te(t,!0);r&&r["s-rc"]?r["s-rc"].push(c):c()})(e,n,o)}r()}})(this))))}disconnectedCallback(){u.jmp((()=>(async e=>{if(!(1&u.o)){const n=t(e);(null==n?void 0:n.t)?he(n.t,e):(null==n?void 0:n.L)&&n.L.then((()=>he(n.t,e)))}P.has(e)&&P.delete(e),e.shadowRoot&&P.has(e.shadowRoot)&&P.delete(e.shadowRoot)})(this))),u.raf((()=>{var e;const n=t(this);if(!n)return;const o=y.findIndex((e=>e===this));o>-1&&y.splice(o,1),(null==(e=null==n?void 0:n.M)?void 0:e.$)instanceof Node&&!n.M.$.isConnected&&delete n.M.$}))}componentOnReady(){var e;return null==(e=t(this))?void 0:e.L}};o.T=e[0],d.includes(r)||p.get(r)||(a.push(r),p.define(r,de(c,o,1)))}))})),a.length>0&&(w&&(v.textContent+=r),v.textContent+=a.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",v.innerHTML.length)){v.setAttribute("data-styles","");const e=null!=(o=u.C)?o:S(c.document);null!=e&&v.setAttribute("nonce",e),h.insertBefore(v,m?m.nextSibling:h.firstChild)}$=!1,y.length?y.map((e=>e.connectedCallback())):u.jmp((()=>b=setTimeout(ce,30)))},ve=e=>u.C=e;export{me as b,T as c,R as h,a as p,n as r,ve as s}
@@ -1 +1 @@
1
- import{p as t,b as r}from"./p-BROrRAlq.js";export{s as setNonce}from"./p-BROrRAlq.js";import{g as a}from"./p-DQuL1Twl.js";(()=>{const s=import.meta.url,r={};return""!==s&&(r.resourcesUrl=new URL(".",s).href),t(r)})().then((async s=>(await a(),r([["p-1b1b0f6c",[[257,"seki-button",{variant:[1],size:[1],disabled:[4],type:[1]}]]]],s))));
1
+ import{p as a,b as e}from"./p-CLC2YwJ6.js";export{s as setNonce}from"./p-CLC2YwJ6.js";import{g as i}from"./p-DQuL1Twl.js";(()=>{const e=import.meta.url,i={};return""!==e&&(i.resourcesUrl=new URL(".",e).href),a(i)})().then((async a=>(await i(),e([["p-10c9b8b2",[[257,"seki-button",{variant:[1],size:[1],disabled:[4],type:[1],ariaLabel:[1,"aria-label"]}]]],["p-6573bc92",[[257,"seki-input",{type:[1],value:[1537],placeholder:[1],disabled:[4],readonly:[4],required:[4],name:[1],autocomplete:[1],min:[8],max:[8],step:[8],pattern:[1],minlength:[2],maxlength:[2],size:[1],invalid:[4],ariaLabel:[1,"aria-label"],ariaDescribedby:[1,"aria-describedby"]}]]]],a))));
@@ -1,7 +1,24 @@
1
1
  export declare class SekiButton {
2
- variant: 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive';
3
- size: 'sm' | 'md' | 'lg';
2
+ /**
3
+ * Visual style variant of the button
4
+ */
5
+ variant: 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link';
6
+ /**
7
+ * Size of the button. Use icon-sm, icon, or icon-lg for icon-only buttons.
8
+ */
9
+ size: 'sm' | 'md' | 'lg' | 'icon-sm' | 'icon' | 'icon-lg';
10
+ /**
11
+ * Whether the button is disabled
12
+ */
4
13
  disabled: boolean;
14
+ /**
15
+ * Button type attribute
16
+ */
5
17
  type: 'button' | 'submit' | 'reset';
18
+ /**
19
+ * Accessible label for screen readers. Required for icon-only buttons.
20
+ */
21
+ ariaLabel?: string;
22
+ componentWillLoad(): void;
6
23
  render(): any;
7
24
  }
@@ -0,0 +1,107 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export declare class SekiInput {
3
+ /**
4
+ * Input type (text, email, password, number, tel, url, date, file, etc.)
5
+ */
6
+ type: string;
7
+ /**
8
+ * Current value of the input
9
+ */
10
+ value?: string;
11
+ /**
12
+ * Placeholder text
13
+ */
14
+ placeholder?: string;
15
+ /**
16
+ * Whether the input is disabled
17
+ */
18
+ disabled: boolean;
19
+ /**
20
+ * Whether the input is readonly
21
+ */
22
+ readonly: boolean;
23
+ /**
24
+ * Whether the input is required
25
+ */
26
+ required: boolean;
27
+ /**
28
+ * Name attribute for form submission
29
+ */
30
+ name?: string;
31
+ /**
32
+ * Autocomplete attribute
33
+ */
34
+ autocomplete?: string;
35
+ /**
36
+ * Minimum value (for number/date inputs)
37
+ */
38
+ min?: string | number;
39
+ /**
40
+ * Maximum value (for number/date inputs)
41
+ */
42
+ max?: string | number;
43
+ /**
44
+ * Step value (for number inputs)
45
+ */
46
+ step?: string | number;
47
+ /**
48
+ * Validation pattern (regex)
49
+ */
50
+ pattern?: string;
51
+ /**
52
+ * Minimum length
53
+ */
54
+ minlength?: number;
55
+ /**
56
+ * Maximum length
57
+ */
58
+ maxlength?: number;
59
+ /**
60
+ * Size variant
61
+ */
62
+ size: 'sm' | 'md' | 'lg';
63
+ /**
64
+ * Whether the input is in an invalid/error state
65
+ */
66
+ invalid: boolean;
67
+ /**
68
+ * Accessible label for screen readers
69
+ */
70
+ ariaLabel?: string;
71
+ /**
72
+ * ID of element describing this input
73
+ */
74
+ ariaDescribedby?: string;
75
+ /**
76
+ * Emitted on every keystroke
77
+ */
78
+ sekiInput: EventEmitter<{
79
+ value: string;
80
+ nativeEvent: Event;
81
+ }>;
82
+ /**
83
+ * Emitted on blur or Enter
84
+ */
85
+ sekiChange: EventEmitter<{
86
+ value: string;
87
+ nativeEvent: Event;
88
+ }>;
89
+ /**
90
+ * Emitted on focus
91
+ */
92
+ sekiFocus: EventEmitter<{
93
+ nativeEvent: FocusEvent;
94
+ }>;
95
+ /**
96
+ * Emitted on blur
97
+ */
98
+ sekiBlur: EventEmitter<{
99
+ value: string;
100
+ nativeEvent: FocusEvent;
101
+ }>;
102
+ private handleInput;
103
+ private handleChange;
104
+ private handleFocus;
105
+ private handleBlur;
106
+ render(): any;
107
+ }
@@ -5,26 +5,121 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { Event } from "./stencil-public-runtime";
9
+ export { Event } from "./stencil-public-runtime";
8
10
  export namespace Components {
9
11
  interface SekiButton {
10
12
  /**
13
+ * Accessible label for screen readers. Required for icon-only buttons.
14
+ */
15
+ "ariaLabel"?: string;
16
+ /**
17
+ * Whether the button is disabled
11
18
  * @default false
12
19
  */
13
20
  "disabled": boolean;
14
21
  /**
22
+ * Size of the button. Use icon-sm, icon, or icon-lg for icon-only buttons.
15
23
  * @default 'md'
16
24
  */
17
- "size": 'sm' | 'md' | 'lg';
25
+ "size": 'sm' | 'md' | 'lg' | 'icon-sm' | 'icon' | 'icon-lg';
18
26
  /**
27
+ * Button type attribute
19
28
  * @default 'button'
20
29
  */
21
30
  "type": 'button' | 'submit' | 'reset';
22
31
  /**
32
+ * Visual style variant of the button
23
33
  * @default 'primary'
24
34
  */
25
- "variant": 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive';
35
+ "variant": 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link';
36
+ }
37
+ interface SekiInput {
38
+ /**
39
+ * ID of element describing this input
40
+ */
41
+ "ariaDescribedby"?: string;
42
+ /**
43
+ * Accessible label for screen readers
44
+ */
45
+ "ariaLabel"?: string;
46
+ /**
47
+ * Autocomplete attribute
48
+ */
49
+ "autocomplete"?: string;
50
+ /**
51
+ * Whether the input is disabled
52
+ * @default false
53
+ */
54
+ "disabled": boolean;
55
+ /**
56
+ * Whether the input is in an invalid/error state
57
+ * @default false
58
+ */
59
+ "invalid": boolean;
60
+ /**
61
+ * Maximum value (for number/date inputs)
62
+ */
63
+ "max"?: string | number;
64
+ /**
65
+ * Maximum length
66
+ */
67
+ "maxlength"?: number;
68
+ /**
69
+ * Minimum value (for number/date inputs)
70
+ */
71
+ "min"?: string | number;
72
+ /**
73
+ * Minimum length
74
+ */
75
+ "minlength"?: number;
76
+ /**
77
+ * Name attribute for form submission
78
+ */
79
+ "name"?: string;
80
+ /**
81
+ * Validation pattern (regex)
82
+ */
83
+ "pattern"?: string;
84
+ /**
85
+ * Placeholder text
86
+ */
87
+ "placeholder"?: string;
88
+ /**
89
+ * Whether the input is readonly
90
+ * @default false
91
+ */
92
+ "readonly": boolean;
93
+ /**
94
+ * Whether the input is required
95
+ * @default false
96
+ */
97
+ "required": boolean;
98
+ /**
99
+ * Size variant
100
+ * @default 'md'
101
+ */
102
+ "size": 'sm' | 'md' | 'lg';
103
+ /**
104
+ * Step value (for number inputs)
105
+ */
106
+ "step"?: string | number;
107
+ /**
108
+ * Input type (text, email, password, number, tel, url, date, file, etc.)
109
+ * @default 'text'
110
+ */
111
+ "type": string;
112
+ /**
113
+ * Current value of the input
114
+ * @default ''
115
+ */
116
+ "value"?: string;
26
117
  }
27
118
  }
119
+ export interface SekiInputCustomEvent<T> extends CustomEvent<T> {
120
+ detail: T;
121
+ target: HTMLSekiInputElement;
122
+ }
28
123
  declare global {
29
124
  interface HTMLSekiButtonElement extends Components.SekiButton, HTMLStencilElement {
30
125
  }
@@ -32,31 +127,158 @@ declare global {
32
127
  prototype: HTMLSekiButtonElement;
33
128
  new (): HTMLSekiButtonElement;
34
129
  };
130
+ interface HTMLSekiInputElementEventMap {
131
+ "sekiInput": { value: string; nativeEvent: Event };
132
+ "sekiChange": { value: string; nativeEvent: Event };
133
+ "sekiFocus": { nativeEvent: FocusEvent };
134
+ "sekiBlur": { value: string; nativeEvent: FocusEvent };
135
+ }
136
+ interface HTMLSekiInputElement extends Components.SekiInput, HTMLStencilElement {
137
+ addEventListener<K extends keyof HTMLSekiInputElementEventMap>(type: K, listener: (this: HTMLSekiInputElement, ev: SekiInputCustomEvent<HTMLSekiInputElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
138
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
139
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
140
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
141
+ removeEventListener<K extends keyof HTMLSekiInputElementEventMap>(type: K, listener: (this: HTMLSekiInputElement, ev: SekiInputCustomEvent<HTMLSekiInputElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
142
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
143
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
144
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
145
+ }
146
+ var HTMLSekiInputElement: {
147
+ prototype: HTMLSekiInputElement;
148
+ new (): HTMLSekiInputElement;
149
+ };
35
150
  interface HTMLElementTagNameMap {
36
151
  "seki-button": HTMLSekiButtonElement;
152
+ "seki-input": HTMLSekiInputElement;
37
153
  }
38
154
  }
39
155
  declare namespace LocalJSX {
40
156
  interface SekiButton {
41
157
  /**
158
+ * Accessible label for screen readers. Required for icon-only buttons.
159
+ */
160
+ "ariaLabel"?: string;
161
+ /**
162
+ * Whether the button is disabled
42
163
  * @default false
43
164
  */
44
165
  "disabled"?: boolean;
45
166
  /**
167
+ * Size of the button. Use icon-sm, icon, or icon-lg for icon-only buttons.
46
168
  * @default 'md'
47
169
  */
48
- "size"?: 'sm' | 'md' | 'lg';
170
+ "size"?: 'sm' | 'md' | 'lg' | 'icon-sm' | 'icon' | 'icon-lg';
49
171
  /**
172
+ * Button type attribute
50
173
  * @default 'button'
51
174
  */
52
175
  "type"?: 'button' | 'submit' | 'reset';
53
176
  /**
177
+ * Visual style variant of the button
54
178
  * @default 'primary'
55
179
  */
56
- "variant"?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive';
180
+ "variant"?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link';
181
+ }
182
+ interface SekiInput {
183
+ /**
184
+ * ID of element describing this input
185
+ */
186
+ "ariaDescribedby"?: string;
187
+ /**
188
+ * Accessible label for screen readers
189
+ */
190
+ "ariaLabel"?: string;
191
+ /**
192
+ * Autocomplete attribute
193
+ */
194
+ "autocomplete"?: string;
195
+ /**
196
+ * Whether the input is disabled
197
+ * @default false
198
+ */
199
+ "disabled"?: boolean;
200
+ /**
201
+ * Whether the input is in an invalid/error state
202
+ * @default false
203
+ */
204
+ "invalid"?: boolean;
205
+ /**
206
+ * Maximum value (for number/date inputs)
207
+ */
208
+ "max"?: string | number;
209
+ /**
210
+ * Maximum length
211
+ */
212
+ "maxlength"?: number;
213
+ /**
214
+ * Minimum value (for number/date inputs)
215
+ */
216
+ "min"?: string | number;
217
+ /**
218
+ * Minimum length
219
+ */
220
+ "minlength"?: number;
221
+ /**
222
+ * Name attribute for form submission
223
+ */
224
+ "name"?: string;
225
+ /**
226
+ * Emitted on blur
227
+ */
228
+ "onSekiBlur"?: (event: SekiInputCustomEvent<{ value: string; nativeEvent: FocusEvent }>) => void;
229
+ /**
230
+ * Emitted on blur or Enter
231
+ */
232
+ "onSekiChange"?: (event: SekiInputCustomEvent<{ value: string; nativeEvent: Event }>) => void;
233
+ /**
234
+ * Emitted on focus
235
+ */
236
+ "onSekiFocus"?: (event: SekiInputCustomEvent<{ nativeEvent: FocusEvent }>) => void;
237
+ /**
238
+ * Emitted on every keystroke
239
+ */
240
+ "onSekiInput"?: (event: SekiInputCustomEvent<{ value: string; nativeEvent: Event }>) => void;
241
+ /**
242
+ * Validation pattern (regex)
243
+ */
244
+ "pattern"?: string;
245
+ /**
246
+ * Placeholder text
247
+ */
248
+ "placeholder"?: string;
249
+ /**
250
+ * Whether the input is readonly
251
+ * @default false
252
+ */
253
+ "readonly"?: boolean;
254
+ /**
255
+ * Whether the input is required
256
+ * @default false
257
+ */
258
+ "required"?: boolean;
259
+ /**
260
+ * Size variant
261
+ * @default 'md'
262
+ */
263
+ "size"?: 'sm' | 'md' | 'lg';
264
+ /**
265
+ * Step value (for number inputs)
266
+ */
267
+ "step"?: string | number;
268
+ /**
269
+ * Input type (text, email, password, number, tel, url, date, file, etc.)
270
+ * @default 'text'
271
+ */
272
+ "type"?: string;
273
+ /**
274
+ * Current value of the input
275
+ * @default ''
276
+ */
277
+ "value"?: string;
57
278
  }
58
279
  interface IntrinsicElements {
59
280
  "seki-button": SekiButton;
281
+ "seki-input": SekiInput;
60
282
  }
61
283
  }
62
284
  export { LocalJSX as JSX };
@@ -64,6 +286,7 @@ declare module "@stencil/core" {
64
286
  export namespace JSX {
65
287
  interface IntrinsicElements {
66
288
  "seki-button": LocalJSX.SekiButton & JSXBase.HTMLAttributes<HTMLSekiButtonElement>;
289
+ "seki-input": LocalJSX.SekiInput & JSXBase.HTMLAttributes<HTMLSekiInputElement>;
67
290
  }
68
291
  }
69
292
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sekiui/elements",
3
- "version": "0.0.23",
3
+ "version": "0.0.25",
4
4
  "description": "Modern, accessible Web Components with shadcn/ui-inspired design",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- import{r as e,h as r}from"./p-BROrRAlq.js";const t=class{constructor(r){e(this,r),this.variant="primary",this.size="md",this.disabled=!1,this.type="button"}render(){return r("button",{key:"0a0740566a19505743488924d3971f75cf086ab8",class:`button button--${this.variant} button--${this.size}`,type:this.type,disabled:this.disabled,"aria-disabled":this.disabled?"true":null},r("slot",{key:"6c715e7b707efb6dffc4b88773d7ea63c510f305"}))}};t.style=":root{--seki-neutral-50:hsl(0, 0%, 98%);--seki-neutral-100:hsl(0, 0%, 96.1%);--seki-neutral-200:hsl(0, 0%, 89.8%);--seki-neutral-300:hsl(0, 0%, 83.1%);--seki-neutral-400:hsl(0, 0%, 63.9%);--seki-neutral-500:hsl(0, 0%, 45.1%);--seki-neutral-600:hsl(0, 0%, 32.2%);--seki-neutral-700:hsl(0, 0%, 25.1%);--seki-neutral-800:hsl(0, 0%, 14.9%);--seki-neutral-900:hsl(0, 0%, 9%);--seki-neutral-950:hsl(0, 0%, 3.9%);--seki-primary-50:hsl(210, 100%, 97%);--seki-primary-100:hsl(210, 95%, 93%);--seki-primary-200:hsl(210, 95%, 85%);--seki-primary-300:hsl(210, 90%, 73%);--seki-primary-400:hsl(210, 85%, 58%);--seki-primary-500:hsl(210, 80%, 48%);--seki-primary-600:hsl(210, 75%, 40%);--seki-primary-700:hsl(210, 70%, 32%);--seki-primary-800:hsl(210, 65%, 25%);--seki-primary-900:hsl(210, 60%, 18%);--seki-primary-950:hsl(210, 55%, 10%);--seki-success-500:hsl(142, 71%, 45%);--seki-success-600:hsl(142, 71%, 35%);--seki-warning-500:hsl(38, 92%, 50%);--seki-warning-600:hsl(38, 92%, 40%);--seki-destructive-500:hsl(0, 84.2%, 60.2%);--seki-destructive-600:hsl(0, 72%, 41%)}:root{--seki-background:hsl(0, 0%, 100%);--seki-foreground:hsl(0, 0%, 3.9%);--seki-muted:hsl(0, 0%, 96.1%);--seki-muted-foreground:hsl(0, 0%, 45.1%);--seki-card:hsl(0, 0%, 100%);--seki-card-foreground:hsl(0, 0%, 3.9%);--seki-popover:hsl(0, 0%, 100%);--seki-popover-foreground:hsl(0, 0%, 3.9%);--seki-border:hsl(0, 0%, 89.8%);--seki-input:hsl(0, 0%, 89.8%);--seki-primary:hsl(0, 0%, 9%);--seki-primary-foreground:hsl(0, 0%, 98%);--seki-secondary:hsl(0, 0%, 96.1%);--seki-secondary-foreground:hsl(0, 0%, 9%);--seki-accent:hsl(0, 0%, 96.1%);--seki-accent-foreground:hsl(0, 0%, 9%);--seki-destructive:hsl(0, 84.2%, 60.2%);--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-ring:hsl(0, 0%, 3.9%);--seki-bg-primary:var(--seki-background);--seki-bg-secondary:var(--seki-muted);--seki-bg-tertiary:var(--seki-accent);--seki-text-primary:var(--seki-foreground);--seki-text-secondary:var(--seki-muted-foreground);--seki-text-tertiary:var(--seki-neutral-400);--seki-border-default:var(--seki-border);--seki-border-emphasis:var(--seki-neutral-300)}:root[data-theme='dark']{--seki-background:hsl(0, 0%, 3.9%);--seki-foreground:hsl(0, 0%, 98%);--seki-muted:hsl(0, 0%, 14.9%);--seki-muted-foreground:hsl(0, 0%, 63.9%);--seki-card:hsl(0, 0%, 3.9%);--seki-card-foreground:hsl(0, 0%, 98%);--seki-popover:hsl(0, 0%, 3.9%);--seki-popover-foreground:hsl(0, 0%, 98%);--seki-border:hsl(0, 0%, 14.9%);--seki-input:hsl(0, 0%, 14.9%);--seki-primary:hsl(0, 0%, 98%);--seki-primary-foreground:hsl(0, 0%, 9%);--seki-secondary:hsl(0, 0%, 14.9%);--seki-secondary-foreground:hsl(0, 0%, 98%);--seki-accent:hsl(0, 0%, 14.9%);--seki-accent-foreground:hsl(0, 0%, 98%);--seki-destructive:hsl(0, 62.8%, 30.6%);--seki-destructive-foreground:hsl(0, 0%, 98%);--seki-ring:hsl(0, 0%, 83.1%);--seki-bg-primary:var(--seki-background);--seki-bg-secondary:var(--seki-muted);--seki-bg-tertiary:var(--seki-accent);--seki-text-primary:var(--seki-foreground);--seki-text-secondary:var(--seki-muted-foreground);--seki-text-tertiary:var(--seki-neutral-600);--seki-border-default:var(--seki-border);--seki-border-emphasis:var(--seki-neutral-700);--seki-button-primary-hover-bg:hsl(0, 0%, 98%, 0.9);--seki-button-secondary-hover-bg:hsl(0, 0%, 14.9%, 0.8)}:root{--seki-button-primary-bg:var(--seki-primary);--seki-button-primary-text:var(--seki-primary-foreground);--seki-button-primary-border:transparent;--seki-button-primary-hover-bg:hsl(0, 0%, 9%, 0.9);--seki-button-primary-hover-text:var(--seki-primary-foreground);--seki-button-primary-hover-border:transparent;--seki-button-secondary-bg:var(--seki-secondary);--seki-button-secondary-text:var(--seki-secondary-foreground);--seki-button-secondary-border:transparent;--seki-button-secondary-hover-bg:hsl(0, 0%, 96.1%, 0.8);--seki-button-secondary-hover-text:var(--seki-secondary-foreground);--seki-button-secondary-hover-border:transparent;--seki-button-outline-bg:transparent;--seki-button-outline-text:var(--seki-foreground);--seki-button-outline-border:var(--seki-input);--seki-button-outline-hover-bg:var(--seki-accent);--seki-button-outline-hover-text:var(--seki-accent-foreground);--seki-button-outline-hover-border:var(--seki-input);--seki-button-ghost-bg:transparent;--seki-button-ghost-text:var(--seki-foreground);--seki-button-ghost-border:transparent;--seki-button-ghost-hover-bg:var(--seki-accent);--seki-button-ghost-hover-text:var(--seki-accent-foreground);--seki-button-ghost-hover-border:transparent;--seki-button-destructive-bg:var(--seki-destructive);--seki-button-destructive-text:var(--seki-destructive-foreground);--seki-button-destructive-border:transparent;--seki-button-destructive-hover-bg:hsl(0, 84.2%, 60.2%, 0.9);--seki-button-destructive-hover-border:transparent;--seki-button-sm-padding-x:var(--seki-spacing-3, 0.75rem);--seki-button-sm-padding-y:var(--seki-spacing-1-5, 0.375rem);--seki-button-sm-font-size:var(--seki-text-sm, 0.875rem);--seki-button-sm-height:2rem;--seki-button-md-padding-x:var(--seki-spacing-4, 1rem);--seki-button-md-padding-y:var(--seki-spacing-2, 0.5rem);--seki-button-md-font-size:var(--seki-text-base, 1rem);--seki-button-md-height:2.5rem;--seki-button-lg-padding-x:var(--seki-spacing-5, 1.25rem);--seki-button-lg-padding-y:var(--seki-spacing-2-5, 0.625rem);--seki-button-lg-font-size:var(--seki-text-lg, 1.125rem);--seki-button-lg-height:3rem;--seki-button-radius:var(--seki-radius-md, 0.375rem);--seki-button-font-weight:var(--seki-font-medium, 500);--seki-button-transition-duration:150ms;--seki-button-transition-timing:ease-in-out;--seki-button-shadow:var(--seki-shadow-sm, 0 1px 2px 0 rgb(0 0 0 / 0.05));--seki-button-shadow-hover:var(--seki-shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));--seki-button-disabled-opacity:0.5}:root{--seki-spacing-0:0;--seki-spacing-0-5:0.125rem;--seki-spacing-1:0.25rem;--seki-spacing-1-5:0.375rem;--seki-spacing-2:0.5rem;--seki-spacing-2-5:0.625rem;--seki-spacing-3:0.75rem;--seki-spacing-3-5:0.875rem;--seki-spacing-4:1rem;--seki-spacing-5:1.25rem;--seki-spacing-6:1.5rem;--seki-spacing-8:2rem;--seki-spacing-10:2.5rem;--seki-spacing-12:3rem;--seki-spacing-16:4rem;--seki-spacing-20:5rem;--seki-spacing-24:6rem;}:root{--seki-shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--seki-shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--seki-shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.15), 0 4px 6px -4px rgb(0 0 0 / 0.1)}:root{--seki-font-sans:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',\n Arial, sans-serif;--seki-font-mono:ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;--seki-text-xs:0.75rem;--seki-text-sm:0.875rem;--seki-text-base:1rem;--seki-text-lg:1.125rem;--seki-text-xl:1.25rem;--seki-text-2xl:1.5rem;--seki-text-3xl:1.875rem;--seki-text-4xl:2.25rem;--seki-font-normal:400;--seki-font-medium:500;--seki-font-semibold:600;--seki-font-bold:700;--seki-leading-tight:1.25;--seki-leading-normal:1.5;--seki-leading-relaxed:1.75}:root{--seki-radius-sm:0.25rem;--seki-radius-md:0.375rem;--seki-radius-lg:0.5rem;--seki-radius-xl:1rem;}:host{display:inline-block}.button{font-family:var(--seki-font-sans);font-weight:var(--seki-button-font-weight);border-radius:var(--seki-button-radius);cursor:pointer;border:1px solid;transition:background-color var(--seki-button-transition-duration) var(--seki-button-transition-timing),\n border-color var(--seki-button-transition-duration) var(--seki-button-transition-timing),\n color var(--seki-button-transition-duration) var(--seki-button-transition-timing),\n box-shadow var(--seki-button-transition-duration) var(--seki-button-transition-timing);box-shadow:var(--seki-button-shadow)}.button:hover:not(:disabled){box-shadow:var(--seki-button-shadow-hover)}.button:focus-visible{outline:2px solid var(--seki-accent);outline-offset:2px}.button:disabled{opacity:var(--seki-button-disabled-opacity);cursor:not-allowed}.button--primary{background:var(--seki-button-primary-bg);color:var(--seki-button-primary-text);border-color:var(--seki-button-primary-border)}.button--primary:hover:not(:disabled){background:var(--seki-button-primary-hover-bg);color:var(--seki-button-primary-hover-text, var(--seki-button-primary-text));border-color:var(--seki-button-primary-hover-border)}.button--secondary{background:var(--seki-button-secondary-bg);color:var(--seki-button-secondary-text);border-color:var(--seki-button-secondary-border)}.button--secondary:hover:not(:disabled){background:var(--seki-button-secondary-hover-bg);color:var(--seki-button-secondary-hover-text, var(--seki-button-secondary-text));border-color:var(--seki-button-secondary-hover-border)}.button--outline{background:var(--seki-button-outline-bg);color:var(--seki-button-outline-text);border-color:var(--seki-button-outline-border)}.button--outline:hover:not(:disabled){background:var(--seki-button-outline-hover-bg);color:var(--seki-button-outline-hover-text);border-color:var(--seki-button-outline-hover-border)}.button--ghost{background:var(--seki-button-ghost-bg);color:var(--seki-button-ghost-text);border-color:var(--seki-button-ghost-border)}.button--ghost:hover:not(:disabled){background:var(--seki-button-ghost-hover-bg);color:var(--seki-button-ghost-hover-text);border-color:var(--seki-button-ghost-hover-border)}.button--destructive{background:var(--seki-button-destructive-bg);color:var(--seki-button-destructive-text);border-color:var(--seki-button-destructive-border)}.button--destructive:hover:not(:disabled){background:var(--seki-button-destructive-hover-bg);color:var(--seki-button-destructive-text);border-color:var(--seki-button-destructive-hover-border)}.button--sm{padding:var(--seki-button-sm-padding-y) var(--seki-button-sm-padding-x);font-size:var(--seki-button-sm-font-size);height:var(--seki-button-sm-height)}.button--md{padding:var(--seki-button-md-padding-y) var(--seki-button-md-padding-x);font-size:var(--seki-button-md-font-size);height:var(--seki-button-md-height)}.button--lg{padding:var(--seki-button-lg-padding-y) var(--seki-button-lg-padding-x);font-size:var(--seki-button-lg-font-size);height:var(--seki-button-lg-height)}@media (prefers-reduced-motion: reduce){.button{transition:none}}";export{t as seki_button}
@@ -1,2 +0,0 @@
1
- var e=Object.defineProperty,t=e=>{if(e.__stencil__getHostRef)return e.__stencil__getHostRef()},n=(e,t)=>{t&&(e.__stencil__getHostRef=()=>t,t.t=e)},o=(e,t)=>(0,console.error)(e,t),i=new Map,l=new Map,s="slot-fb{display:contents}slot-fb[hidden]{display:none}",r="undefined"!=typeof window?window:{},c={o:0,i:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,o)=>e.addEventListener(t,n,o),rel:(e,t,n,o)=>e.removeEventListener(t,n,o),ce:(e,t)=>new CustomEvent(e,t)},u=e=>Promise.resolve(e),a=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),f=!!a&&(()=>!!r.document&&Object.getOwnPropertyDescriptor(r.document.adoptedStyleSheets,"length").writable)(),d=!1,h=[],p=[],m=(e,t)=>n=>{e.push(n),d||(d=!0,t&&4&c.o?b(y):c.raf(y))},v=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){o(e)}e.length=0},y=()=>{v(h),v(p),(d=h.length>0)&&c.raf(y)},b=e=>u().then(e),$=m(p,!0),w=e=>"object"==(e=typeof e)||"function"===e;function g(e){var t,n,o;return null!=(o=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?o:void 0}((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})({},{err:()=>j,map:()=>k,ok:()=>S,unwrap:()=>E,unwrapErr:()=>M});var S=e=>({isOk:!0,isErr:!1,value:e}),j=e=>({isOk:!1,isErr:!0,value:e});function k(e,t){if(e.isOk){const n=t(e.value);return n instanceof Promise?n.then((e=>S(e))):S(n)}if(e.isErr)return j(e.value);throw"should never get here"}var O,E=e=>{if(e.isOk)return e.value;throw e.value},M=e=>{if(e.isErr)return e.value;throw e.value};function C(){const e=this.attachShadow({mode:"open"});void 0===O&&(O=null),O&&(f?e.adoptedStyleSheets.push(O):e.adoptedStyleSheets=[...e.adoptedStyleSheets,O])}var x=new WeakMap,P=e=>"sc-"+e.l,D=(e,t,...n)=>{let o=null,i=null,l=!1,s=!1;const r=[],c=t=>{for(let n=0;n<t.length;n++)o=t[n],Array.isArray(o)?c(o):null!=o&&"boolean"!=typeof o&&((l="function"!=typeof e&&!w(o))&&(o+=""),l&&s?r[r.length-1].u+=o:r.push(l?R(null,o):o),s=l)};if(c(n),t){t.key&&(i=t.key);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}const u=R(e,null);return u.h=t,r.length>0&&(u.p=r),u.m=i,u},R=(e,t)=>({o:0,v:e,u:t,$:null,p:null,h:null,m:null}),U={},W=e=>{const t=(e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"))(e);return RegExp(`(^|[^@]|@(?!supports\\s+selector\\s*\\([^{]*?${t}))(${t}\\b)`,"g")};W("::slotted"),W(":host"),W(":host-context");var A,N=(e,t)=>null==e||w(e)?e:4&t?"false"!==e&&(""===e||!!e):1&t?e+"":e,L=(e,t,n,o,i,l)=>{if(n===o)return;let s=((e,t)=>t in e)(e,t);if(t.toLowerCase(),"class"===t){const t=e.classList,i=z(n);let l=z(o);t.remove(...i.filter((e=>e&&!l.includes(e)))),t.add(...l.filter((e=>e&&!i.includes(e))))}else if("key"===t);else{const r=w(o);if(s||r&&null!==o)try{if(e.tagName.includes("-"))e[t]!==o&&(e[t]=o);else{const i=null==o?"":o;"list"===t?s=!1:null!=n&&e[t]==i||("function"==typeof e.__lookupSetter__(t)?e[t]=i:e.setAttribute(t,i))}}catch(e){}null==o||!1===o?!1===o&&""!==e.getAttribute(t)||e.removeAttribute(t):(!s||4&l||i)&&!r&&1===e.nodeType&&e.setAttribute(t,o=!0===o?"":o)}},T=/\s/,z=e=>("object"==typeof e&&e&&"baseVal"in e&&(e=e.baseVal),e&&"string"==typeof e?e.split(T):[]),H=(e,t,n)=>{const o=11===t.$.nodeType&&t.$.host?t.$.host:t.$,i=e&&e.h||{},l=t.h||{};for(const e of V(Object.keys(i)))e in l||L(o,e,i[e],void 0,n,t.o);for(const e of V(Object.keys(l)))L(o,e,i[e],l[e],n,t.o)};function V(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}var q=!1,F=(e,t,n)=>{const o=t.p[n];let i,l,s=0;if(!r.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(i=o.$=r.document.createElement(o.v),H(null,o,q),o.p)for(s=0;s<o.p.length;++s)l=F(e,o,s),l&&i.appendChild(l);return i["s-hn"]=A,i},G=(e,t,n,o,i,l)=>{let s,r=e;for(r.shadowRoot&&r.tagName===A&&(r=r.shadowRoot);i<=l;++i)o[i]&&(s=F(null,n,i),s&&(o[i].$=s,B(r,s,t)))},I=(e,t,n)=>{for(let o=t;o<=n;++o){const t=e[o];if(t){const e=t.$;e&&e.remove()}}},Y=(e,t,n=!1)=>e.v===t.v&&(n?(n&&!e.m&&t.m&&(e.m=t.m),!0):e.m===t.m),_=(e,t,n=!1)=>{const o=t.$=e.$,i=e.p,l=t.p;H(e,t,q),null!==i&&null!==l?((e,t,n,o,i=!1)=>{let l,s,r=0,c=0,u=0,a=0,f=t.length-1,d=t[0],h=t[f],p=o.length-1,m=o[0],v=o[p];for(;r<=f&&c<=p;)if(null==d)d=t[++r];else if(null==h)h=t[--f];else if(null==m)m=o[++c];else if(null==v)v=o[--p];else if(Y(d,m,i))_(d,m,i),d=t[++r],m=o[++c];else if(Y(h,v,i))_(h,v,i),h=t[--f],v=o[--p];else if(Y(d,v,i))_(d,v,i),B(e,d.$,h.$.nextSibling),d=t[++r],v=o[--p];else if(Y(h,m,i))_(h,m,i),B(e,h.$,d.$),h=t[--f],m=o[++c];else{for(u=-1,a=r;a<=f;++a)if(t[a]&&null!==t[a].m&&t[a].m===m.m){u=a;break}u>=0?(s=t[u],s.v!==m.v?l=F(t&&t[c],n,u):(_(s,m,i),t[u]=void 0,l=s.$),m=o[++c]):(l=F(t&&t[c],n,c),m=o[++c]),l&&B(d.$.parentNode,l,d.$)}r>f?G(e,null==o[p+1]?null:o[p+1].$,n,o,c,p):c>p&&I(t,r,f)})(o,i,t,l,n):null!==l?G(o,null,t,l,0,l.length-1):!n&&null!==i&&I(i,0,i.length-1)},B=(e,t,n)=>null==e?void 0:e.insertBefore(t,n),J=(e,t)=>{if(t&&!e.S&&t["s-p"]){const n=t["s-p"].push(new Promise((o=>e.S=()=>{t["s-p"].splice(n-1,1),o()})))}},K=(e,t)=>{if(e.o|=16,4&e.o)return void(e.o|=512);J(e,e.j);const n=()=>Q(e,t);if(!t)return $(n);queueMicrotask((()=>{n()}))},Q=(e,t)=>{const n=e.$hostElement$,o=e.t;if(!o)throw Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let i;return t?(e.k.length&&e.k.forEach((e=>e(n))),i=ie(o,"componentWillLoad",void 0,n)):i=ie(o,"componentWillUpdate",void 0,n),i=X(i,(()=>ie(o,"componentWillRender",void 0,n))),X(i,(()=>ee(e,o,t)))},X=(e,t)=>Z(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),Z=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,ee=async(e,t,n)=>{var o;const i=e.$hostElement$,u=i["s-rc"];n&&(e=>{const t=e.O,n=e.$hostElement$,o=t.o,i=((e,t)=>{var n;const o=P(t),i=l.get(o);if(!r.document)return o;if(e=11===e.nodeType?e:r.document,i)if("string"==typeof i){let l,u=x.get(e=e.head||e);if(u||x.set(e,u=new Set),!u.has(o)){{l=r.document.createElement("style"),l.innerHTML=i;const o=null!=(n=c.M)?n:g(r.document);if(null!=o&&l.setAttribute("nonce",o),!(1&t.o))if("HEAD"===e.nodeName){const t=e.querySelectorAll("link[rel=preconnect]"),n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(l,(null==n?void 0:n.parentNode)===e?n:null)}else if("host"in e)if(a){const t=new CSSStyleSheet;t.replaceSync(i),f?e.adoptedStyleSheets.unshift(t):e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");t?t.innerHTML=i+t.innerHTML:e.prepend(l)}else e.append(l);1&t.o&&e.insertBefore(l,null)}4&t.o&&(l.innerHTML+=s),u&&u.add(o)}}else e.adoptedStyleSheets.includes(i)||(f?e.adoptedStyleSheets.push(i):e.adoptedStyleSheets=[...e.adoptedStyleSheets,i]);return o})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&o&&(n["s-sc"]=i,n.classList.add(i+"-h"))})(e);te(e,t,i,n),u&&(u.map((e=>e())),i["s-rc"]=void 0);{const t=null!=(o=i["s-p"])?o:[],n=()=>ne(e);0===t.length?n():(Promise.all(t).then(n),e.o|=4,t.length=0)}},te=(e,t,n,i)=>{try{t=t.render(),e.o&=-17,e.o|=2,((e,t,n=!1)=>{const o=e.$hostElement$,i=e.C||R(null,null),l=(e=>e&&e.v===U)(t)?t:D(null,null,t);if(A=o.tagName,n&&l.h)for(const e of Object.keys(l.h))o.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(l.h[e]=o[e]);l.v=null,l.o|=4,e.C=l,l.$=i.$=o.shadowRoot||o,_(i,l,n)})(e,t,i)}catch(t){o(t,e.$hostElement$)}return null},ne=e=>{const t=e.$hostElement$,n=e.t,o=e.j;ie(n,"componentDidRender",void 0,t),64&e.o?ie(n,"componentDidUpdate",void 0,t):(e.o|=64,le(t),ie(n,"componentDidLoad",void 0,t),e.P(t),o||oe()),e.S&&(e.S(),e.S=void 0),512&e.o&&b((()=>K(e,!1))),e.o&=-517},oe=()=>{b((()=>(e=>{const t=c.ce("appload",{detail:{namespace:"sekiui"}});return e.dispatchEvent(t),t})(r)))},ie=(e,t,n,i)=>{if(e&&e[t])try{return e[t](n)}catch(e){o(e,i)}},le=e=>e.classList.add("hydrated"),se=(e,n,o,i)=>{const l=t(e);if(!l)return;if(!l)throw Error(`Couldn't find host element for "${i.l}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`);const s=l.D.get(n),r=l.o,c=l.t;if(o=N(o,i.R[n][0]),(!(8&r)||void 0===s)&&o!==s&&(!Number.isNaN(s)||!Number.isNaN(o))&&(l.D.set(n,o),c&&2==(18&r))){if(c.componentShouldUpdate&&!1===c.componentShouldUpdate(o,s,n))return;K(l,!1)}},re=(e,n,o)=>{var i,l;const s=e.prototype;if(n.R){const r=Object.entries(null!=(i=n.R)?i:{});if(r.map((([e,[i]])=>{if(31&i||2&o&&32&i){const{get:l,set:r}=Object.getOwnPropertyDescriptor(s,e)||{};l&&(n.R[e][0]|=2048),r&&(n.R[e][0]|=4096),(1&o||!l)&&Object.defineProperty(s,e,{get(){{if(!(2048&n.R[e][0]))return((e,n)=>t(this).D.get(n))(0,e);const o=t(this),i=o?o.t:s;if(!i)return;return i[e]}},configurable:!0,enumerable:!0}),Object.defineProperty(s,e,{set(l){const s=t(this);if(s){if(r)return void 0===(32&i?this[e]:s.$hostElement$[e])&&s.D.get(e)&&(l=s.D.get(e)),r.call(this,N(l,i)),void se(this,e,l=32&i?this[e]:s.$hostElement$[e],n);{if(!(1&o&&4096&n.R[e][0]))return se(this,e,l,n),void(1&o&&!s.t&&s.k.push((()=>{4096&n.R[e][0]&&s.t[e]!==s.D.get(e)&&(s.t[e]=l)})));const t=()=>{const t=s.t[e];!s.D.get(e)&&t&&s.D.set(e,t),s.t[e]=N(l,i),se(this,e,s.t[e],n)};s.t?t():s.k.push((()=>{t()}))}}}})}})),1&o){const o=new Map;s.attributeChangedCallback=function(e,i,l){c.jmp((()=>{var r;const c=o.get(e),u=t(this);if(this.hasOwnProperty(c)&&(l=this[c],delete this[c]),s.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==l)return;if(null==c){const t=null==u?void 0:u.o;if(u&&t&&!(8&t)&&128&t&&l!==i){const t=u.t,o=null==(r=n.U)?void 0:r[e];null==o||o.forEach((n=>{null!=t[n]&&t[n].call(t,l,i,e)}))}return}const a=Object.getOwnPropertyDescriptor(s,c);(l=(null!==l||"boolean"!=typeof this[c])&&l)==this[c]||a.get&&!a.set||(this[c]=l)}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(l=n.U)?l:{}),...r.filter((([e,t])=>31&t[0])).map((([e,t])=>{const n=t[1]||e;return o.set(n,e),n}))]))}}return e},ce=(e,t)=>{ie(e,"connectedCallback",void 0,t)},ue=(e,t)=>{ie(e,"disconnectedCallback",void 0,t||e)},ae=(e,n={})=>{var u;if(!r.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const f=[],d=n.exclude||[],h=r.customElements,p=r.document.head,m=p.querySelector("meta[charset]"),v=r.document.createElement("style"),y=[];let b,$=!0;Object.assign(c,n),c.i=new URL(n.resourcesUrl||"./",r.document.baseURI).href;let w=!1;if(e.map((e=>{e[1].map((n=>{const s={o:n[0],l:n[1],R:n[2],W:n[3]};4&s.o&&(w=!0),s.R=n[2];const r=s.l,u=class extends HTMLElement{constructor(e){if(super(e),this.hasRegisteredEventListeners=!1,((e,t)=>{const n={o:0,$hostElement$:e,O:t,D:new Map,A:new Map};n.N=new Promise((e=>n.P=e)),e["s-p"]=[],e["s-rc"]=[],n.k=[];const o=n;e.__stencil__getHostRef=()=>o})(e=this,s),1&s.o)if(e.shadowRoot){if("open"!==e.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${s.l}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else C.call(e,s)}connectedCallback(){t(this)&&(this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),b&&(clearTimeout(b),b=null),$?y.push(this):c.jmp((()=>(e=>{if(!(1&c.o)){const n=t(e);if(!n)return;const s=n.O,r=()=>{};if(1&n.o)(null==n?void 0:n.t)?ce(n.t,e):(null==n?void 0:n.N)&&n.N.then((()=>ce(n.t,e)));else{n.o|=1;{let t=e;for(;t=t.parentNode||t.host;)if(t["s-p"]){J(n,n.j=t);break}}s.R&&Object.entries(s.R).map((([t,[n]])=>{if(31&n&&t in e&&e[t]!==Object.prototype[t]){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n)=>{let s;if(!(32&t.o)){if(t.o|=32,n.L){const l=((e,t)=>{const n=e.l.replace(/-/g,"_"),l=e.L;if(!l)return;const s=i.get(l);return s?s[n]:import(`./${l}.entry.js`).then((e=>(i.set(l,e),e[n])),(e=>{o(e,t.$hostElement$)}))
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,t);if(l&&"then"in l){const e=()=>{};s=await l,e()}else s=l;if(!s)throw Error(`Constructor for "${n.l}#${t.T}" was not found`);s.isProxied||(re(s,n,2),s.isProxied=!0);const r=()=>{};t.o|=8;try{new s(t)}catch(t){o(t,e)}t.o&=-9,r(),ce(t.t,e)}else s=e.constructor,customElements.whenDefined(e.localName).then((()=>t.o|=128));if(s&&s.style){let e;"string"==typeof s.style&&(e=s.style);const t=P(n);if(!l.has(t)){const o=()=>{};((e,t,n)=>{let o=l.get(e);a&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=t:o.replaceSync(t)):o=t,l.set(e,o)})(t,e,!!(1&n.o)),o()}}}const r=t.j,c=()=>K(t,!0);r&&r["s-rc"]?r["s-rc"].push(c):c()})(e,n,s)}r()}})(this))))}disconnectedCallback(){c.jmp((()=>(async e=>{if(!(1&c.o)){const n=t(e);(null==n?void 0:n.t)?ue(n.t,e):(null==n?void 0:n.N)&&n.N.then((()=>ue(n.t,e)))}x.has(e)&&x.delete(e),e.shadowRoot&&x.has(e.shadowRoot)&&x.delete(e.shadowRoot)})(this))),c.raf((()=>{var e;const n=t(this);if(!n)return;const o=y.findIndex((e=>e===this));o>-1&&y.splice(o,1),(null==(e=null==n?void 0:n.C)?void 0:e.$)instanceof Node&&!n.C.$.isConnected&&delete n.C.$}))}componentOnReady(){var e;return null==(e=t(this))?void 0:e.N}};s.L=e[0],d.includes(r)||h.get(r)||(f.push(r),h.define(r,re(u,s,1)))}))})),f.length>0&&(w&&(v.textContent+=s),v.textContent+=f.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",v.innerHTML.length)){v.setAttribute("data-styles","");const e=null!=(u=c.M)?u:g(r.document);null!=e&&v.setAttribute("nonce",e),p.insertBefore(v,m?m.nextSibling:p.firstChild)}$=!1,y.length?y.map((e=>e.connectedCallback())):c.jmp((()=>b=setTimeout(oe,30)))},fe=e=>c.M=e;export{ae as b,D as h,u as p,n as r,fe as s}