@cfasim-ui/components 0.3.0 → 0.3.2

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.
@@ -1,5 +1,6 @@
1
1
  type __VLS_Props = {
2
2
  label?: string;
3
+ hideLabel?: boolean;
3
4
  placeholder?: string;
4
5
  step?: number;
5
6
  min?: number;
@@ -4,6 +4,7 @@ export interface SelectOption {
4
4
  }
5
5
  type __VLS_Props = {
6
6
  label?: string;
7
+ hideLabel?: boolean;
7
8
  ariaLabel?: string;
8
9
  options: SelectOption[];
9
10
  placeholder?: string;
@@ -1,5 +1,6 @@
1
1
  type __VLS_Props = {
2
2
  label?: string;
3
+ hideLabel?: boolean;
3
4
  placeholder?: string;
4
5
  hint?: string;
5
6
  };
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .box[data-v-d7342c02]{font-size:var(--font-size-sm);border-radius:.375em;padding:.75em 1.25em}.box-info[data-v-d7342c02]{background-color:var(--color-box-info-bg);color:var(--color-box-info-text)}.box-success[data-v-d7342c02]{background-color:var(--color-box-success-bg);color:var(--color-box-success-text)}.box-warning[data-v-d7342c02]{background-color:var(--color-box-warning-bg);color:var(--color-box-warning-text)}.box-error[data-v-d7342c02]{background-color:var(--color-box-error-bg);color:var(--color-box-error-text)}.button[data-v-250eab18]{min-height:2.5em;font-size:var(--font-size-sm);background-color:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:.375em;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;padding:0 1em;font-weight:500;display:inline-flex}.button[data-v-250eab18]:hover{cursor:pointer;background-color:var(--color-primary-hover)}.button[data-v-250eab18]:active{background-color:var(--color-primary-active)}.button[data-v-250eab18]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.button[data-v-250eab18]:disabled{opacity:.5;cursor:not-allowed}.button[data-variant=secondary][data-v-250eab18]{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}.button[data-variant=secondary][data-v-250eab18]:hover{background-color:color-mix(in srgb, var(--color-primary) 10%, transparent)}.button[data-variant=secondary][data-v-250eab18]:active{background-color:color-mix(in srgb, var(--color-primary) 15%, transparent)}.expander-trigger[data-v-39e4acd0]{cursor:pointer;width:100%;font:inherit;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);background:0 0;border:none;align-items:center;gap:.5em;padding:.5em 0;font-weight:600;display:flex}.expander-trigger[data-v-39e4acd0]:hover{color:var(--color-text)}.expander-caret[data-v-39e4acd0]{border-top:.3em solid #0000;border-bottom:.3em solid #0000;border-left:.35em solid;width:0;height:0;transition:transform .15s;display:inline-block}.expander-caret.open[data-v-39e4acd0]{transform:rotate(90deg)}.expander-content[data-v-39e4acd0]{flex-direction:column;gap:.75em;display:flex;overflow:hidden}.expander-content[data-state=open][data-v-39e4acd0]{animation:.2s ease-out slideDown-39e4acd0}.expander-content[data-state=closed][data-v-39e4acd0]{animation:.2s ease-out slideUp-39e4acd0}@keyframes slideDown-39e4acd0{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes slideUp-39e4acd0{0%{height:var(--reka-collapsible-content-height)}to{height:0}}.Icon{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" var(--icon-fill,0), "wght" var(--icon-weight,400), "GRAD" var(--icon-grade,0), "opsz" var(--icon-opsz,24);color:inherit;direction:ltr;font-family:Material Symbols Outlined,sans-serif;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.Icon[data-size=sm]{--icon-opsz:20;font-size:20px}.Icon[data-size=md]{--icon-opsz:24;font-size:24px}.Icon[data-size=lg]{--icon-opsz:28;font-size:28px}.Icon[data-size=xl]{--icon-opsz:32;font-size:32px}.Icon[data-fill=true]{--icon-fill:1}.Icon[data-inline=true]{font-size:inherit;vertical-align:middle;transform-origin:50%;transform:scale(1.2)translateY(-.05em)}.HintTrigger[data-v-9dbf1c25]{width:1.25em;height:1.25em;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.HintTrigger[data-v-9dbf1c25]:hover{color:var(--color-text)}.HintTrigger[data-v-9dbf1c25]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.HintContent{max-width:15rem;font-size:var(--font-size-xs);color:var(--color-bg-0);background-color:var(--color-text);box-shadow:var(--shadow-md);z-index:100;border-radius:.25em;padding:.5em .75em;line-height:1.4}.HintArrow{fill:var(--color-text)}.light-dark-toggle[data-v-4c423498]{border:1px solid var(--color-border);background:var(--color-bg-0);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);border-radius:.25em;justify-content:center;align-items:center;display:flex}.light-dark-toggle[data-v-4c423498]:hover{color:var(--color-text);background:var(--color-bg-1)}.input-label[data-v-cecbdacc]{flex-direction:column;gap:.25em;display:flex}.input-label-row[data-v-cecbdacc]{justify-content:space-between;align-items:center;display:flex}.input-wrapper[data-v-cecbdacc]{align-items:center;gap:.25em;display:flex}.input-wrapper input[data-v-cecbdacc]{flex:1;min-width:0}input[data-v-cecbdacc]{width:100%;height:2.5em;font-size:inherit;background-color:var(--color-bg-0);color:var(--color-text);border:1px solid var(--color-border);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:.375em;padding:0 .75em;display:block}input[data-v-cecbdacc]:hover{border-color:var(--color-border-hover)}input[data-v-cecbdacc]:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}input[aria-invalid=true][data-v-cecbdacc]{border-color:var(--color-error)}input[aria-invalid=true][data-v-cecbdacc]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 25%, transparent)}input[data-v-cecbdacc]::placeholder{color:var(--color-text-tertiary)}.input-suffix[data-v-cecbdacc]{color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0}.input-error[data-v-cecbdacc]{color:var(--color-error);font-size:var(--font-size-xs)}.slider-container[data-v-cecbdacc]{flex-direction:column;gap:.25em;padding-top:1.5em;display:flex}.slider-current[data-v-cecbdacc]{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;pointer-events:none;margin-bottom:1px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.slider-root[data-v-cecbdacc]{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;height:1.5em;display:flex;position:relative}.slider-track[data-v-cecbdacc]{background-color:var(--color-bg-3);border-radius:var(--radius-full);flex-grow:1;height:3px;position:relative}.slider-range[data-v-cecbdacc]{background-color:var(--color-primary);border-radius:var(--radius-full);height:100%;position:absolute}.slider-thumb[data-v-cecbdacc]{background-color:var(--color-primary);border-radius:var(--radius-full);cursor:pointer;width:1em;height:1em;display:block;position:relative}.slider-thumb[data-v-cecbdacc]:hover{background-color:var(--color-primary-hover)}.slider-thumb[data-v-cecbdacc]:active,.slider-thumb[data-v-cecbdacc]:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 25%, transparent);outline:none}.slider-labels[data-v-cecbdacc]{font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:space-between;margin-top:-.5em;display:flex}.select-box[data-v-fa2f5d92]{flex-direction:column;gap:.25em;display:flex}.select-label[data-v-fa2f5d92]{font-size:var(--font-size-sm)}.select-trigger[data-v-fa2f5d92]{font-size:var(--font-size-sm);border:1px solid var(--color-border);background:var(--color-bg-0);cursor:pointer;width:auto;height:2.5em;color:inherit;border-radius:.375em;justify-content:space-between;align-items:center;gap:.5em;padding:0 .75em;font-family:inherit;line-height:1.4;display:inline-flex}.select-trigger[data-v-fa2f5d92]:hover{border-color:var(--color-border-hover)}.select-trigger[data-v-fa2f5d92]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.select-trigger[data-placeholder][data-v-fa2f5d92]{color:var(--color-text-secondary)}.select-icon[data-v-fa2f5d92]{flex-shrink:0;align-items:center;display:flex}.select-content{z-index:100;background:var(--color-bg-0);border:1px solid var(--color-border);min-width:var(--reka-select-trigger-width);max-height:var(--reka-select-content-available-height);border-radius:.25em;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.select-viewport{padding:.25em}.select-item{font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.25em;outline:none;justify-content:space-between;align-items:center;gap:.5em;padding:.25em .5em;display:flex}.select-item[data-highlighted]{background:var(--color-primary);color:#fff}.select-item[data-state=checked]{font-weight:600}.select-indicator{flex-shrink:0;align-items:center;display:flex}.SidebarLayout[data-v-b7035d57]{--bar-height:3rem;background-color:var(--color-bg-0);height:100dvh;color:var(--color-text);font-family:var(--font-family);display:flex;position:relative}.SidebarRail[data-v-b7035d57]{width:var(--sidebar-width);height:100%;transition:width var(--transition-normal);flex-shrink:0;position:relative;overflow:hidden}@media (width>=768px){.SidebarLayout[data-collapsed=true] .SidebarRail[data-v-b7035d57]{width:var(--toggle-size);background-color:var(--color-bg-1);border-right:1px solid var(--color-border);box-shadow:var(--shadow-sm)}}.Sidebar[data-v-b7035d57]{font-size:var(--font-size-sm);width:var(--sidebar-width);height:100%;transition:transform var(--transition-normal);display:flex;transform:translate(0)}.SidebarLayout[data-collapsed=true] .Sidebar[data-v-b7035d57]{transform:translate(-100%)}.SidebarScroll[data-v-b7035d57]{min-width:0;padding:var(--space-4);background-color:var(--color-bg-1);border-right:1px solid var(--color-border);box-shadow:var(--shadow-sm);scrollbar-width:thin;scrollbar-color:transparent transparent;gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.SidebarScroll[data-v-b7035d57]:hover{scrollbar-color:var(--color-border) transparent}.SidebarScroll[data-v-b7035d57] h2{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:var(--space-4) 0 var(--space-2);font-weight:600}.SidebarScroll[data-v-b7035d57]>h2:first-child{margin-top:0}.Toggle[data-v-b7035d57]{width:var(--toggle-size);height:var(--toggle-size);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.Toggle[data-v-b7035d57]:hover{color:var(--color-text);background-color:var(--color-bg-2)}.Toggle[data-v-b7035d57]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.SidebarHeader[data-v-b7035d57]{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) calc(-1 * var(--space-3));justify-content:flex-end;display:flex}.Toggle--expand[data-v-b7035d57]{opacity:0;pointer-events:none;transition:opacity var(--transition-fast);position:absolute;top:0;left:50%;transform:translate(-50%)}.SidebarLayout[data-collapsed=true] .Toggle--expand[data-v-b7035d57]{opacity:1;pointer-events:auto}.Main[data-v-b7035d57]{background-color:var(--color-bg-0);min-width:0;font-size:var(--font-size-md);flex-direction:column;flex:1;display:flex;overflow:hidden}.Topbar[data-v-b7035d57]{min-height:var(--bar-height);padding:0 var(--space-4);flex-shrink:0;align-items:center;display:flex}.TopbarEnd[data-v-b7035d57]{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}@media (width>=768px){.Topbar[data-v-b7035d57]{padding:0 var(--space-4) 0 var(--space-20)}}.MainScroll[data-v-b7035d57]{min-height:0;padding:var(--space-6) 0;scrollbar-width:thin;scrollbar-color:transparent transparent;flex:1;overflow:hidden auto}.MainScroll[data-v-b7035d57]:hover{scrollbar-color:var(--color-border) transparent}.MainContent[data-v-b7035d57]{max-width:1024px;padding:0 var(--space-4)}@media (width>=768px){.MainContent[data-v-b7035d57]{padding:0 var(--space-4) 0 var(--space-20)}}@media (width<=767px){.SidebarLayout[data-v-b7035d57]{transition:transform var(--transition-normal)}.SidebarLayout[data-collapsed=true][data-v-b7035d57]{transform:translateX(calc(-1 * var(--sidebar-width)))}.SidebarLayout[data-collapsed=true] .Sidebar[data-v-b7035d57]{transform:translate(0)}.SidebarRail[data-v-b7035d57]{min-width:var(--sidebar-width)}.Main[data-v-b7035d57]{min-width:100vw}.Toggle--expand[data-v-b7035d57]{display:none}}.TabsLayout[data-v-b7035d57]{flex-direction:column;flex:1;min-height:0;display:flex}.TabsBar[data-v-b7035d57]{min-height:var(--bar-height);border-bottom:1px solid var(--color-border);padding:0 var(--space-4);flex-shrink:0;align-items:center;display:flex}.TabsBarEnd[data-v-b7035d57]{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.TabsList[data-v-b7035d57]{gap:var(--space-1);align-self:stretch;display:flex;position:relative}.TabsTrigger[data-v-b7035d57]{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;border:none;font-family:inherit;font-weight:500;position:relative}.TabsTrigger[data-v-b7035d57]:hover{color:var(--color-text);background-color:var(--color-bg-1)}.TabsTrigger[data-state=active][data-v-b7035d57]{color:var(--color-text)}.TabsTrigger[data-v-b7035d57]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.TabsIndicator[data-v-b7035d57]{background-color:var(--color-text);height:2px;transition:width var(--transition-fast), left var(--transition-fast);position:absolute;bottom:0}.Spinner{vertical-align:middle;border:2px solid;border-top-color:#0000;border-radius:50%;animation:.6s linear infinite cfa-spin;display:inline-block}.Spinner[data-size=sm]{width:14px;height:14px}.Spinner[data-size=md]{width:20px;height:20px}.Spinner[data-size=lg]{border-width:3px;width:28px;height:28px}@keyframes cfa-spin{to{transform:rotate(360deg)}}.input-label[data-v-2810bbb3]{font-size:var(--font-size-sm);flex-direction:column;gap:.25em;display:flex}.input-label-row[data-v-2810bbb3]{justify-content:space-between;align-items:center;display:flex}input[data-v-2810bbb3]{width:100%;height:2.5em;font-size:inherit;background-color:var(--color-bg-0);color:var(--color-text);border:1px solid var(--color-border);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:.375em;padding:0 .75em;display:block}input[data-v-2810bbb3]:hover{border-color:var(--color-border-hover)}input[data-v-2810bbb3]:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}input[data-v-2810bbb3]::placeholder{color:var(--color-text-tertiary)}.toggle[data-v-9916c71e]{align-items:center;gap:.5em;display:flex}.toggle label[data-v-9916c71e]{-webkit-user-select:none;user-select:none}.switch[data-v-9916c71e]{--switch-w:2.25em;--switch-h:1.25em;--thumb-size:1em;--thumb-offset:.125em;width:var(--switch-w);height:var(--switch-h);background:var(--color-border-hover);border-radius:var(--switch-h);cursor:pointer;border:none;flex-shrink:0;padding:0;transition:background .15s;position:relative}.switch[data-state=checked][data-v-9916c71e]{background:var(--color-primary)}.switch[data-disabled][data-v-9916c71e]{opacity:.5;cursor:not-allowed}.thumb[data-v-9916c71e]{width:var(--thumb-size);height:var(--thumb-size);top:var(--thumb-offset);left:var(--thumb-offset);background:#fff;border-radius:50%;transition:transform .15s;display:block;position:absolute}.switch[data-state=checked] .thumb[data-v-9916c71e]{transform:translateX(calc(var(--switch-w) - var(--thumb-size) - var(--thumb-offset) * 2))}
1
+ .box[data-v-d7342c02]{font-size:var(--font-size-sm);border-radius:.375em;padding:.75em 1.25em}.box-info[data-v-d7342c02]{background-color:var(--color-box-info-bg);color:var(--color-box-info-text)}.box-success[data-v-d7342c02]{background-color:var(--color-box-success-bg);color:var(--color-box-success-text)}.box-warning[data-v-d7342c02]{background-color:var(--color-box-warning-bg);color:var(--color-box-warning-text)}.box-error[data-v-d7342c02]{background-color:var(--color-box-error-bg);color:var(--color-box-error-text)}.button[data-v-250eab18]{min-height:2.5em;font-size:var(--font-size-sm);background-color:var(--color-primary);color:var(--color-text-on-primary);border:none;border-radius:.375em;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;padding:0 1em;font-weight:500;display:inline-flex}.button[data-v-250eab18]:hover{cursor:pointer;background-color:var(--color-primary-hover)}.button[data-v-250eab18]:active{background-color:var(--color-primary-active)}.button[data-v-250eab18]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.button[data-v-250eab18]:disabled{opacity:.5;cursor:not-allowed}.button[data-variant=secondary][data-v-250eab18]{color:var(--color-primary);border:1px solid var(--color-primary);background-color:#0000}.button[data-variant=secondary][data-v-250eab18]:hover{background-color:color-mix(in srgb, var(--color-primary) 10%, transparent)}.button[data-variant=secondary][data-v-250eab18]:active{background-color:color-mix(in srgb, var(--color-primary) 15%, transparent)}.expander-trigger[data-v-39e4acd0]{cursor:pointer;width:100%;font:inherit;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);background:0 0;border:none;align-items:center;gap:.5em;padding:.5em 0;font-weight:600;display:flex}.expander-trigger[data-v-39e4acd0]:hover{color:var(--color-text)}.expander-caret[data-v-39e4acd0]{border-top:.3em solid #0000;border-bottom:.3em solid #0000;border-left:.35em solid;width:0;height:0;transition:transform .15s;display:inline-block}.expander-caret.open[data-v-39e4acd0]{transform:rotate(90deg)}.expander-content[data-v-39e4acd0]{flex-direction:column;gap:.75em;display:flex;overflow:hidden}.expander-content[data-state=open][data-v-39e4acd0]{animation:.2s ease-out slideDown-39e4acd0}.expander-content[data-state=closed][data-v-39e4acd0]{animation:.2s ease-out slideUp-39e4acd0}@keyframes slideDown-39e4acd0{0%{height:0}to{height:var(--reka-collapsible-content-height)}}@keyframes slideUp-39e4acd0{0%{height:var(--reka-collapsible-content-height)}to{height:0}}.Icon{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" var(--icon-fill,0), "wght" var(--icon-weight,400), "GRAD" var(--icon-grade,0), "opsz" var(--icon-opsz,24);color:inherit;direction:ltr;font-family:Material Symbols Outlined,sans-serif;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}.Icon[data-size=sm]{--icon-opsz:20;font-size:20px}.Icon[data-size=md]{--icon-opsz:24;font-size:24px}.Icon[data-size=lg]{--icon-opsz:28;font-size:28px}.Icon[data-size=xl]{--icon-opsz:32;font-size:32px}.Icon[data-fill=true]{--icon-fill:1}.Icon[data-inline=true]{font-size:inherit;vertical-align:middle;transform-origin:50%;transform:scale(1.2)translateY(-.05em)}.HintTrigger[data-v-9dbf1c25]{width:1.25em;height:1.25em;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.HintTrigger[data-v-9dbf1c25]:hover{color:var(--color-text)}.HintTrigger[data-v-9dbf1c25]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.HintContent{max-width:15rem;font-size:var(--font-size-xs);color:var(--color-bg-0);background-color:var(--color-text);box-shadow:var(--shadow-md);z-index:100;border-radius:.25em;padding:.5em .75em;line-height:1.4}.HintArrow{fill:var(--color-text)}.light-dark-toggle[data-v-4c423498]{border:1px solid var(--color-border);background:var(--color-bg-0);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);border-radius:.25em;justify-content:center;align-items:center;display:flex}.light-dark-toggle[data-v-4c423498]:hover{color:var(--color-text);background:var(--color-bg-1)}.input-label[data-v-c7d72595]{flex-direction:column;gap:.25em;display:flex}.input-label-row[data-v-c7d72595]{justify-content:space-between;align-items:center;display:flex}.input-wrapper[data-v-c7d72595]{align-items:center;gap:.25em;display:flex}.input-wrapper input[data-v-c7d72595]{flex:1;min-width:0}input[data-v-c7d72595]{width:100%;height:2.5em;font-size:inherit;background-color:var(--color-bg-0);color:var(--color-text);border:1px solid var(--color-border);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:.375em;padding:0 .75em;display:block}input[data-v-c7d72595]:hover{border-color:var(--color-border-hover)}input[data-v-c7d72595]:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}input[aria-invalid=true][data-v-c7d72595]{border-color:var(--color-error)}input[aria-invalid=true][data-v-c7d72595]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 25%, transparent)}input[data-v-c7d72595]::placeholder{color:var(--color-text-tertiary)}.input-suffix[data-v-c7d72595]{color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0}.input-error[data-v-c7d72595]{color:var(--color-error);font-size:var(--font-size-xs)}.slider-container[data-v-c7d72595]{flex-direction:column;gap:.25em;padding-top:1.5em;display:flex}.slider-current[data-v-c7d72595]{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;pointer-events:none;margin-bottom:1px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.slider-root[data-v-c7d72595]{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;height:1.5em;display:flex;position:relative}.slider-track[data-v-c7d72595]{background-color:var(--color-bg-3);border-radius:var(--radius-full);flex-grow:1;height:3px;position:relative}.slider-range[data-v-c7d72595]{background-color:var(--color-primary);border-radius:var(--radius-full);height:100%;position:absolute}.slider-thumb[data-v-c7d72595]{background-color:var(--color-primary);border-radius:var(--radius-full);cursor:pointer;width:1em;height:1em;display:block;position:relative}.slider-thumb[data-v-c7d72595]:hover{background-color:var(--color-primary-hover)}.slider-thumb[data-v-c7d72595]:active,.slider-thumb[data-v-c7d72595]:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-primary) 25%, transparent);outline:none}.slider-labels[data-v-c7d72595]{font-size:var(--font-size-xs);color:var(--color-text-secondary);justify-content:space-between;margin-top:-.5em;display:flex}.select-box[data-v-63876437]{flex-direction:column;gap:.25em;display:flex}.select-label[data-v-63876437]{font-size:var(--font-size-sm)}.select-trigger[data-v-63876437]{font-size:var(--font-size-sm);border:1px solid var(--color-border);background:var(--color-bg-0);cursor:pointer;width:auto;height:2.5em;color:inherit;border-radius:.375em;justify-content:space-between;align-items:center;gap:.5em;padding:0 .75em;font-family:inherit;line-height:1.4;display:inline-flex}.select-trigger[data-v-63876437]:hover{border-color:var(--color-border-hover)}.select-trigger[data-v-63876437]:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.select-trigger[data-placeholder][data-v-63876437]{color:var(--color-text-secondary)}.select-icon[data-v-63876437]{flex-shrink:0;align-items:center;display:flex}.select-content{z-index:100;background:var(--color-bg-0);border:1px solid var(--color-border);min-width:var(--reka-select-trigger-width);max-height:var(--reka-select-content-available-height);border-radius:.25em;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.select-viewport{padding:.25em}.select-item{font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:.25em;outline:none;justify-content:space-between;align-items:center;gap:.5em;padding:.25em .5em;display:flex}.select-item[data-highlighted]{background:var(--color-primary);color:#fff}.select-item[data-state=checked]{font-weight:600}.select-indicator{flex-shrink:0;align-items:center;display:flex}.SidebarLayout[data-v-b7035d57]{--bar-height:3rem;background-color:var(--color-bg-0);height:100dvh;color:var(--color-text);font-family:var(--font-family);display:flex;position:relative}.SidebarRail[data-v-b7035d57]{width:var(--sidebar-width);height:100%;transition:width var(--transition-normal);flex-shrink:0;position:relative;overflow:hidden}@media (width>=768px){.SidebarLayout[data-collapsed=true] .SidebarRail[data-v-b7035d57]{width:var(--toggle-size);background-color:var(--color-bg-1);border-right:1px solid var(--color-border);box-shadow:var(--shadow-sm)}}.Sidebar[data-v-b7035d57]{font-size:var(--font-size-sm);width:var(--sidebar-width);height:100%;transition:transform var(--transition-normal);display:flex;transform:translate(0)}.SidebarLayout[data-collapsed=true] .Sidebar[data-v-b7035d57]{transform:translate(-100%)}.SidebarScroll[data-v-b7035d57]{min-width:0;padding:var(--space-4);background-color:var(--color-bg-1);border-right:1px solid var(--color-border);box-shadow:var(--shadow-sm);scrollbar-width:thin;scrollbar-color:transparent transparent;gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.SidebarScroll[data-v-b7035d57]:hover{scrollbar-color:var(--color-border) transparent}.SidebarScroll[data-v-b7035d57] h2{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin:var(--space-4) 0 var(--space-2);font-weight:600}.SidebarScroll[data-v-b7035d57]>h2:first-child{margin-top:0}.Toggle[data-v-b7035d57]{width:var(--toggle-size);height:var(--toggle-size);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.Toggle[data-v-b7035d57]:hover{color:var(--color-text);background-color:var(--color-bg-2)}.Toggle[data-v-b7035d57]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.SidebarHeader[data-v-b7035d57]{margin:calc(-1 * var(--space-4)) calc(-1 * var(--space-4)) calc(-1 * var(--space-3));justify-content:flex-end;display:flex}.Toggle--expand[data-v-b7035d57]{opacity:0;pointer-events:none;transition:opacity var(--transition-fast);position:absolute;top:0;left:50%;transform:translate(-50%)}.SidebarLayout[data-collapsed=true] .Toggle--expand[data-v-b7035d57]{opacity:1;pointer-events:auto}.Main[data-v-b7035d57]{background-color:var(--color-bg-0);min-width:0;font-size:var(--font-size-md);flex-direction:column;flex:1;display:flex;overflow:hidden}.Topbar[data-v-b7035d57]{min-height:var(--bar-height);padding:0 var(--space-4);flex-shrink:0;align-items:center;display:flex}.TopbarEnd[data-v-b7035d57]{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}@media (width>=768px){.Topbar[data-v-b7035d57]{padding:0 var(--space-4) 0 var(--space-20)}}.MainScroll[data-v-b7035d57]{min-height:0;padding:var(--space-6) 0;scrollbar-width:thin;scrollbar-color:transparent transparent;flex:1;overflow:hidden auto}.MainScroll[data-v-b7035d57]:hover{scrollbar-color:var(--color-border) transparent}.MainContent[data-v-b7035d57]{max-width:1024px;padding:0 var(--space-4)}@media (width>=768px){.MainContent[data-v-b7035d57]{padding:0 var(--space-4) 0 var(--space-20)}}@media (width<=767px){.SidebarLayout[data-v-b7035d57]{transition:transform var(--transition-normal)}.SidebarLayout[data-collapsed=true][data-v-b7035d57]{transform:translateX(calc(-1 * var(--sidebar-width)))}.SidebarLayout[data-collapsed=true] .Sidebar[data-v-b7035d57]{transform:translate(0)}.SidebarRail[data-v-b7035d57]{min-width:var(--sidebar-width)}.Main[data-v-b7035d57]{min-width:100vw}.Toggle--expand[data-v-b7035d57]{display:none}}.TabsLayout[data-v-b7035d57]{flex-direction:column;flex:1;min-height:0;display:flex}.TabsBar[data-v-b7035d57]{min-height:var(--bar-height);border-bottom:1px solid var(--color-border);padding:0 var(--space-4);flex-shrink:0;align-items:center;display:flex}.TabsBarEnd[data-v-b7035d57]{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.TabsList[data-v-b7035d57]{gap:var(--space-1);align-self:stretch;display:flex;position:relative}.TabsTrigger[data-v-b7035d57]{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);border-radius:var(--radius-md) var(--radius-md) 0 0;background:0 0;border:none;font-family:inherit;font-weight:500;position:relative}.TabsTrigger[data-v-b7035d57]:hover{color:var(--color-text);background-color:var(--color-bg-1)}.TabsTrigger[data-state=active][data-v-b7035d57]{color:var(--color-text)}.TabsTrigger[data-v-b7035d57]:focus-visible{box-shadow:var(--shadow-focus);outline:none}.TabsIndicator[data-v-b7035d57]{background-color:var(--color-text);height:2px;transition:width var(--transition-fast), left var(--transition-fast);position:absolute;bottom:0}.Spinner{vertical-align:middle;border:2px solid;border-top-color:#0000;border-radius:50%;animation:.6s linear infinite cfa-spin;display:inline-block}.Spinner[data-size=sm]{width:14px;height:14px}.Spinner[data-size=md]{width:20px;height:20px}.Spinner[data-size=lg]{border-width:3px;width:28px;height:28px}@keyframes cfa-spin{to{transform:rotate(360deg)}}.input-label[data-v-3f3d20cc]{font-size:var(--font-size-sm);flex-direction:column;gap:.25em;display:flex}.input-label-row[data-v-3f3d20cc]{justify-content:space-between;align-items:center;display:flex}input[data-v-3f3d20cc]{width:100%;height:2.5em;font-size:inherit;background-color:var(--color-bg-0);color:var(--color-text);border:1px solid var(--color-border);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);border-radius:.375em;padding:0 .75em;display:block}input[data-v-3f3d20cc]:hover{border-color:var(--color-border-hover)}input[data-v-3f3d20cc]:focus{border-color:var(--color-border-focus);box-shadow:var(--shadow-focus);outline:none}input[data-v-3f3d20cc]::placeholder{color:var(--color-text-tertiary)}.toggle[data-v-9916c71e]{align-items:center;gap:.5em;display:flex}.toggle label[data-v-9916c71e]{-webkit-user-select:none;user-select:none}.switch[data-v-9916c71e]{--switch-w:2.25em;--switch-h:1.25em;--thumb-size:1em;--thumb-offset:.125em;width:var(--switch-w);height:var(--switch-h);background:var(--color-border-hover);border-radius:var(--switch-h);cursor:pointer;border:none;flex-shrink:0;padding:0;transition:background .15s;position:relative}.switch[data-state=checked][data-v-9916c71e]{background:var(--color-primary)}.switch[data-disabled][data-v-9916c71e]{opacity:.5;cursor:not-allowed}.thumb[data-v-9916c71e]{width:var(--thumb-size);height:var(--thumb-size);top:var(--thumb-offset);left:var(--thumb-offset);background:#fff;border-radius:50%;transition:transform .15s;display:block;position:absolute}.switch[data-state=checked] .thumb[data-v-9916c71e]{transform:translateX(calc(var(--switch-w) - var(--thumb-size) - var(--thumb-offset) * 2))}
2
2
  /*$vite$:1*/
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, getCurrentInstance as l, mergeModels as u, normalizeClass as d, normalizeStyle as f, onMounted as p, onUnmounted as m, openBlock as h, ref as g, renderList as _, renderSlot as v, toDisplayString as y, unref as b, useModel as x, vModelText as S, watch as C, withCtx as w, withDirectives as T, withKeys as E, withModifiers as D } from "vue";
2
- import { CollapsibleContent as O, CollapsibleRoot as k, CollapsibleTrigger as A, Primitive as j, SelectContent as M, SelectItem as N, SelectItemIndicator as P, SelectItemText as F, SelectPortal as I, SelectRoot as L, SelectTrigger as R, SelectValue as z, SelectViewport as B, SliderRange as V, SliderRoot as H, SliderThumb as U, SliderTrack as W, SwitchRoot as G, SwitchThumb as K, TabsIndicator as q, TabsList as J, TabsRoot as Y, TabsTrigger as ee, TooltipArrow as te, TooltipContent as ne, TooltipPortal as re, TooltipProvider as ie, TooltipRoot as ae, TooltipTrigger as oe, useId as se } from "reka-ui";
2
+ import { CollapsibleContent as O, CollapsibleRoot as k, CollapsibleTrigger as A, Primitive as j, SelectContent as M, SelectItem as N, SelectItemIndicator as P, SelectItemText as F, SelectPortal as I, SelectRoot as L, SelectTrigger as R, SelectValue as z, SelectViewport as B, SliderRange as V, SliderRoot as H, SliderThumb as U, SliderTrack as ee, SwitchRoot as W, SwitchThumb as G, TabsIndicator as K, TabsList as te, TabsRoot as q, TabsTrigger as J, TooltipArrow as Y, TooltipContent as ne, TooltipPortal as re, TooltipProvider as ie, TooltipRoot as ae, TooltipTrigger as oe, useId as se } from "reka-ui";
3
3
  //#region src/Box/Box.vue?vue&type=script&setup=true&lang.ts
4
4
  var ce = ["role"], le = /* @__PURE__ */ c({
5
5
  __name: "Box",
@@ -145,7 +145,7 @@ var ce = ["role"], le = /* @__PURE__ */ c({
145
145
  side: "top",
146
146
  "side-offset": 4
147
147
  }, {
148
- default: w(() => [o(y(e.text) + " ", 1), s(b(te), {
148
+ default: w(() => [o(y(e.text) + " ", 1), s(b(Y), {
149
149
  class: "HintArrow",
150
150
  width: 10,
151
151
  height: 5
@@ -179,44 +179,45 @@ var ce = ["role"], le = /* @__PURE__ */ c({
179
179
  }), [["__scopeId", "data-v-4c423498"]]), he = {
180
180
  key: 0,
181
181
  class: "input-label"
182
- }, ge = { class: "input-label-row" }, _e = {
182
+ }, ge = {
183
183
  key: 0,
184
184
  class: "input-wrapper"
185
- }, ve = [
185
+ }, _e = [
186
186
  "inputmode",
187
187
  "placeholder",
188
188
  "aria-invalid"
189
- ], ye = {
189
+ ], ve = {
190
190
  key: 0,
191
191
  class: "input-suffix"
192
- }, be = {
192
+ }, ye = {
193
193
  key: 1,
194
194
  class: "input-error",
195
195
  role: "alert"
196
- }, xe = {
196
+ }, be = {
197
197
  key: 2,
198
198
  class: "slider-container"
199
- }, Se = { class: "slider-current" }, Ce = { class: "slider-labels" }, we = { key: 1 }, Te = {
199
+ }, xe = { class: "slider-current" }, Se = { class: "slider-labels" }, Ce = { key: 1 }, we = {
200
200
  key: 0,
201
201
  class: "input-wrapper"
202
- }, Ee = [
202
+ }, Te = [
203
203
  "inputmode",
204
204
  "placeholder",
205
205
  "aria-invalid"
206
- ], De = {
206
+ ], Ee = {
207
207
  key: 0,
208
208
  class: "input-suffix"
209
- }, Oe = {
209
+ }, De = {
210
210
  key: 1,
211
211
  class: "input-error",
212
212
  role: "alert"
213
- }, ke = {
213
+ }, Oe = {
214
214
  key: 2,
215
215
  class: "slider-container"
216
- }, Ae = { class: "slider-current" }, je = { class: "slider-labels" }, Me = /* @__PURE__ */ X(/* @__PURE__ */ c({
216
+ }, ke = { class: "slider-current" }, Ae = { class: "slider-labels" }, je = /* @__PURE__ */ X(/* @__PURE__ */ c({
217
217
  __name: "NumberInput",
218
218
  props: /* @__PURE__ */ u({
219
219
  label: {},
220
+ hideLabel: { type: Boolean },
220
221
  placeholder: {},
221
222
  step: {},
222
223
  min: {},
@@ -232,44 +233,45 @@ var ce = ["role"], le = /* @__PURE__ */ c({
232
233
  }),
233
234
  emits: ["update:modelValue"],
234
235
  setup(e) {
235
- let c = x(e, "modelValue"), l = e, u = t(() => l.min ?? (l.percent, 0)), d = t(() => l.max ?? (l.percent ? 1 : 100)), f = t(() => l.step ?? (l.percent ? .01 : 1));
236
- function p(e) {
236
+ let c = x(e, "modelValue"), l = e, u = t(() => l.min ?? (l.percent, 0)), f = t(() => l.max ?? (l.percent ? 1 : 100)), p = t(() => l.step ?? (l.percent ? .01 : 1));
237
+ function m(e) {
237
238
  return e == null ? "" : l.percent ? (e * 100).toFixed(0) + "%" : e.toLocaleString("en-US");
238
239
  }
239
- function m(e) {
240
+ function _(e) {
240
241
  return e == null ? e : l.percent ? Math.round(e * 1e4) / 100 : e;
241
242
  }
242
- function _(e) {
243
+ function v(e) {
243
244
  return l.percent ? e / 100 : e;
244
245
  }
245
- function v(e) {
246
+ function D(e) {
246
247
  if (l.numberType !== "integer") return e;
247
- let t = m(e);
248
- return t == null ? e : _(Math.trunc(t));
248
+ let t = _(e);
249
+ return t == null ? e : v(Math.trunc(t));
249
250
  }
250
- function D(e) {
251
+ function O(e) {
251
252
  return e == null ? "" : e.toLocaleString("en-US");
252
253
  }
253
- function O(e) {
254
- let t = D(e);
254
+ function k(e) {
255
+ let t = O(e);
255
256
  return l.numberType === "float" && e != null && Number.isInteger(e) ? t + ".0" : t;
256
257
  }
257
- function k(e) {
258
+ function A(e) {
258
259
  return e.replace(/,/g, "");
259
260
  }
260
- let A = g(O(m(c.value))), j = g(c.value), M = g();
261
+ let j = g(k(_(c.value))), M = g(c.value), N = g();
261
262
  C(c, (e) => {
262
- A.value = O(m(e)), j.value = e;
263
+ j.value = k(_(e)), M.value = e;
263
264
  });
264
- function N(e) {
265
- let t = e.target, n = k(t.value);
265
+ let P = /[^0-9,.\-+eE]/g;
266
+ function F(e) {
267
+ let t = e.target, n = A(t.value);
266
268
  if (n === "" || n === "-" || n.endsWith(".") || n.includes(".") && n.endsWith("0")) return;
267
269
  let r = Number(n);
268
270
  if (Number.isNaN(r)) return;
269
- let i = D(r);
271
+ let i = O(r);
270
272
  if (i === t.value) return;
271
273
  let a = t.selectionStart ?? 0, o = (t.value.slice(0, a).match(/,/g) || []).length;
272
- A.value = i, requestAnimationFrame(() => {
274
+ j.value = i, requestAnimationFrame(() => {
273
275
  let e = a - o, n = 0, r = 0;
274
276
  for (let t = 0; t < i.length; t++) if (i[t] !== "," && r++, r >= e) {
275
277
  n = t + 1;
@@ -278,84 +280,87 @@ var ce = ["role"], le = /* @__PURE__ */ c({
278
280
  r < e && (n = i.length), t.setSelectionRange(n, n);
279
281
  });
280
282
  }
281
- function P() {
282
- z();
283
- let e = Number(k(A.value));
284
- Number.isNaN(e) || (A.value = O(e));
285
- }
286
- let F = null;
287
283
  function I() {
288
- !l.live || l.slider || (F && clearTimeout(F), F = setTimeout(z, 300));
284
+ W();
285
+ let e = Number(A(j.value));
286
+ Number.isNaN(e) || (j.value = k(e));
287
+ }
288
+ let L = null;
289
+ function R() {
290
+ !l.live || l.slider || (L && clearTimeout(L), L = setTimeout(W, 300));
289
291
  }
290
- function L() {
291
- !l.live || l.slider || (F && clearTimeout(F), z());
292
+ function z() {
293
+ !l.live || l.slider || (L && clearTimeout(L), W());
292
294
  }
293
- function R(e) {
295
+ function B(e) {
294
296
  if (J.value != null && e < J.value) return `Min ${J.value}${l.percent ? "%" : ""}`;
295
297
  if (Y.value != null && e > Y.value) return `Max ${Y.value}${l.percent ? "%" : ""}`;
296
298
  }
297
- function z() {
298
- let e = Number(k(A.value));
299
- if (Number.isNaN(e)) return;
300
- l.numberType === "integer" && (e = Math.trunc(e), A.value = O(e));
301
- let t = R(e);
302
- M.value = t, !t && (c.value = _(e), j.value = c.value);
299
+ function W() {
300
+ let e = j.value.replace(P, "");
301
+ if (!/\d/.test(e)) return;
302
+ e !== j.value && (j.value = e);
303
+ let t = Number(A(e));
304
+ if (Number.isNaN(t)) return;
305
+ l.numberType === "integer" && (t = Math.trunc(t), j.value = k(t));
306
+ let n = B(t);
307
+ N.value = n, !n && (c.value = v(t), M.value = c.value);
303
308
  }
304
- function B(e) {
309
+ function G(e) {
305
310
  if (!e) return;
306
- let t = v(e[0]);
307
- j.value = t, A.value = O(m(t)), l.live && (c.value = t);
311
+ let t = D(e[0]);
312
+ M.value = t, j.value = k(_(t)), l.live && (c.value = t);
308
313
  }
309
- function G(e) {
310
- e && (c.value = v(e[0]));
314
+ function K(e) {
315
+ e && (c.value = D(e[0]));
311
316
  }
312
- let K = t(() => l.step == null ? 1 : l.percent ? l.step * 100 : l.step);
317
+ let te = t(() => l.step == null ? 1 : l.percent ? l.step * 100 : l.step);
313
318
  function q(e, t) {
314
319
  e.preventDefault();
315
- let n = Number(k(A.value)), r = (Number.isNaN(n) ? 0 : n) + K.value * (e.shiftKey ? 10 : 1) * t;
316
- l.numberType === "integer" && (r = Math.trunc(r)), J.value != null && (r = Math.max(r, J.value)), Y.value != null && (r = Math.min(r, Y.value)), A.value = O(r), M.value = void 0, c.value = _(r), j.value = c.value;
320
+ let n = Number(A(j.value)), r = (Number.isNaN(n) ? 0 : n) + te.value * (e.shiftKey ? 10 : 1) * t;
321
+ l.numberType === "integer" && (r = Math.trunc(r)), J.value != null && (r = Math.max(r, J.value)), Y.value != null && (r = Math.min(r, Y.value)), j.value = k(r), N.value = void 0, c.value = v(r), M.value = c.value;
317
322
  }
318
323
  let J = t(() => l.min == null ? l.percent ? 0 : void 0 : l.percent ? l.min * 100 : l.min), Y = t(() => l.max == null ? l.percent ? 100 : void 0 : l.percent ? l.max * 100 : l.max);
319
324
  return (e, t) => l.label ? (h(), i("label", he, [
320
- a("span", ge, [o(y(l.label) + " ", 1), l.hint ? (h(), n(Q, {
325
+ a("span", { class: d(["input-label-row", { "visually-hidden": l.hideLabel }]) }, [o(y(l.label) + " ", 1), l.hint && !l.hideLabel ? (h(), n(Q, {
321
326
  key: 0,
322
327
  text: l.hint
323
- }, null, 8, ["text"])) : r("", !0)]),
324
- l.slider ? r("", !0) : (h(), i("span", _e, [T(a("input", {
328
+ }, null, 8, ["text"])) : r("", !0)], 2),
329
+ l.slider ? r("", !0) : (h(), i("span", ge, [T(a("input", {
325
330
  type: "text",
326
331
  inputmode: l.numberType === "integer" ? "numeric" : "decimal",
327
- "onUpdate:modelValue": t[0] ||= (e) => A.value = e,
332
+ "onUpdate:modelValue": t[0] ||= (e) => j.value = e,
328
333
  placeholder: l.placeholder,
329
- "aria-invalid": !!M.value,
330
- onBlur: P,
334
+ "aria-invalid": !!N.value,
335
+ onBlur: I,
331
336
  onKeydown: [
332
- E(z, ["enter"]),
337
+ E(W, ["enter"]),
333
338
  t[1] ||= E((e) => q(e, 1), ["up"]),
334
339
  t[2] ||= E((e) => q(e, -1), ["down"])
335
340
  ],
336
341
  onInput: t[3] ||= (e) => {
337
- N(e), I();
342
+ F(e), R();
338
343
  },
339
- onChange: L
340
- }, null, 40, ve), [[S, A.value]]), l.percent ? (h(), i("span", ye, "%")) : r("", !0)])),
341
- M.value ? (h(), i("span", be, y(M.value), 1)) : r("", !0),
342
- l.slider ? (h(), i("div", xe, [s(b(H), {
344
+ onChange: z
345
+ }, null, 40, _e), [[S, j.value]]), l.percent ? (h(), i("span", ve, "%")) : r("", !0)])),
346
+ N.value ? (h(), i("span", ye, y(N.value), 1)) : r("", !0),
347
+ l.slider ? (h(), i("div", be, [s(b(H), {
343
348
  class: "slider-root",
344
- "model-value": j.value == null ? [u.value] : [j.value],
349
+ "model-value": M.value == null ? [u.value] : [M.value],
345
350
  min: u.value,
346
- max: d.value,
347
- step: f.value,
348
- "onUpdate:modelValue": B,
349
- onValueCommit: G
351
+ max: f.value,
352
+ step: p.value,
353
+ "onUpdate:modelValue": G,
354
+ onValueCommit: K
350
355
  }, {
351
- default: w(() => [s(b(W), { class: "slider-track" }, {
356
+ default: w(() => [s(b(ee), { class: "slider-track" }, {
352
357
  default: w(() => [s(b(V), { class: "slider-range" })]),
353
358
  _: 1
354
359
  }), s(b(U), {
355
360
  class: "slider-thumb",
356
361
  "aria-label": l.label
357
362
  }, {
358
- default: w(() => [a("span", Se, y(p(j.value)), 1)]),
363
+ default: w(() => [a("span", xe, y(m(M.value)), 1)]),
359
364
  _: 1
360
365
  }, 8, ["aria-label"])]),
361
366
  _: 1
@@ -364,43 +369,43 @@ var ce = ["role"], le = /* @__PURE__ */ c({
364
369
  "min",
365
370
  "max",
366
371
  "step"
367
- ]), a("div", Ce, [a("span", null, y(p(u.value)), 1), a("span", null, y(p(d.value)), 1)])])) : r("", !0)
368
- ])) : (h(), i("div", we, [
369
- l.slider ? r("", !0) : (h(), i("span", Te, [T(a("input", {
372
+ ]), a("div", Se, [a("span", null, y(m(u.value)), 1), a("span", null, y(m(f.value)), 1)])])) : r("", !0)
373
+ ])) : (h(), i("div", Ce, [
374
+ l.slider ? r("", !0) : (h(), i("span", we, [T(a("input", {
370
375
  type: "text",
371
376
  inputmode: l.numberType === "integer" ? "numeric" : "decimal",
372
- "onUpdate:modelValue": t[4] ||= (e) => A.value = e,
377
+ "onUpdate:modelValue": t[4] ||= (e) => j.value = e,
373
378
  placeholder: l.placeholder,
374
- "aria-invalid": !!M.value,
375
- onBlur: P,
379
+ "aria-invalid": !!N.value,
380
+ onBlur: I,
376
381
  onKeydown: [
377
- E(z, ["enter"]),
382
+ E(W, ["enter"]),
378
383
  t[5] ||= E((e) => q(e, 1), ["up"]),
379
384
  t[6] ||= E((e) => q(e, -1), ["down"])
380
385
  ],
381
386
  onInput: t[7] ||= (e) => {
382
- N(e), I();
387
+ F(e), R();
383
388
  },
384
- onChange: L
385
- }, null, 40, Ee), [[S, A.value]]), l.percent ? (h(), i("span", De, "%")) : r("", !0)])),
386
- M.value ? (h(), i("span", Oe, y(M.value), 1)) : r("", !0),
387
- l.slider ? (h(), i("div", ke, [s(b(H), {
389
+ onChange: z
390
+ }, null, 40, Te), [[S, j.value]]), l.percent ? (h(), i("span", Ee, "%")) : r("", !0)])),
391
+ N.value ? (h(), i("span", De, y(N.value), 1)) : r("", !0),
392
+ l.slider ? (h(), i("div", Oe, [s(b(H), {
388
393
  class: "slider-root",
389
- "model-value": j.value == null ? [u.value] : [j.value],
394
+ "model-value": M.value == null ? [u.value] : [M.value],
390
395
  min: u.value,
391
- max: d.value,
392
- step: f.value,
393
- "onUpdate:modelValue": B,
394
- onValueCommit: G
396
+ max: f.value,
397
+ step: p.value,
398
+ "onUpdate:modelValue": G,
399
+ onValueCommit: K
395
400
  }, {
396
- default: w(() => [s(b(W), { class: "slider-track" }, {
401
+ default: w(() => [s(b(ee), { class: "slider-track" }, {
397
402
  default: w(() => [s(b(V), { class: "slider-range" })]),
398
403
  _: 1
399
404
  }), s(b(U), {
400
405
  class: "slider-thumb",
401
406
  "aria-label": l.label
402
407
  }, {
403
- default: w(() => [a("span", Ae, y(p(j.value)), 1)]),
408
+ default: w(() => [a("span", ke, y(m(M.value)), 1)]),
404
409
  _: 1
405
410
  }, 8, ["aria-label"])]),
406
411
  _: 1
@@ -409,13 +414,14 @@ var ce = ["role"], le = /* @__PURE__ */ c({
409
414
  "min",
410
415
  "max",
411
416
  "step"
412
- ]), a("div", je, [a("span", null, y(p(u.value)), 1), a("span", null, y(p(d.value)), 1)])])) : r("", !0)
417
+ ]), a("div", Ae, [a("span", null, y(m(u.value)), 1), a("span", null, y(m(f.value)), 1)])])) : r("", !0)
413
418
  ]));
414
419
  }
415
- }), [["__scopeId", "data-v-cecbdacc"]]), Ne = { class: "select-box" }, Pe = ["id"], Fe = /* @__PURE__ */ X(/* @__PURE__ */ c({
420
+ }), [["__scopeId", "data-v-c7d72595"]]), Me = { class: "select-box" }, Ne = ["id"], Pe = /* @__PURE__ */ X(/* @__PURE__ */ c({
416
421
  __name: "SelectBox",
417
422
  props: /* @__PURE__ */ u({
418
423
  label: {},
424
+ hideLabel: { type: Boolean },
419
425
  ariaLabel: {},
420
426
  options: {},
421
427
  placeholder: {}
@@ -426,20 +432,20 @@ var ce = ["role"], le = /* @__PURE__ */ c({
426
432
  emits: ["update:modelValue"],
427
433
  setup(t) {
428
434
  let c = x(t, "modelValue"), l = t, u = se();
429
- return (d, f) => (h(), i("div", Ne, [t.label ? (h(), i("label", {
435
+ return (f, p) => (h(), i("div", Me, [t.label ? (h(), i("label", {
430
436
  key: 0,
431
437
  id: `${b(u)}-label`,
432
- class: "select-label"
433
- }, y(t.label), 9, Pe)) : r("", !0), s(b(L), {
438
+ class: d(["select-label", { "visually-hidden": t.hideLabel }])
439
+ }, y(t.label), 11, Ne)) : r("", !0), s(b(L), {
434
440
  modelValue: c.value,
435
- "onUpdate:modelValue": f[0] ||= (e) => c.value = e
441
+ "onUpdate:modelValue": p[0] ||= (e) => c.value = e
436
442
  }, {
437
443
  default: w(() => [s(b(R), {
438
444
  class: "select-trigger",
439
445
  "aria-labelledby": l.label ? `${b(u)}-label` : void 0,
440
446
  "aria-label": l.label ? void 0 : l.ariaLabel
441
447
  }, {
442
- default: w(() => [s(b(z), { placeholder: t.placeholder }, null, 8, ["placeholder"]), f[1] ||= a("span", {
448
+ default: w(() => [s(b(z), { placeholder: t.placeholder }, null, 8, ["placeholder"]), p[1] ||= a("span", {
443
449
  class: "select-icon",
444
450
  "aria-hidden": "true"
445
451
  }, [a("svg", {
@@ -470,7 +476,7 @@ var ce = ["role"], le = /* @__PURE__ */ c({
470
476
  default: w(() => [o(y(e.label), 1)]),
471
477
  _: 2
472
478
  }, 1024), s(b(P), { class: "select-indicator" }, {
473
- default: w(() => [...f[2] ||= [a("svg", {
479
+ default: w(() => [...p[2] ||= [a("svg", {
474
480
  width: "12",
475
481
  height: "12",
476
482
  viewBox: "0 0 12 12",
@@ -493,7 +499,7 @@ var ce = ["role"], le = /* @__PURE__ */ c({
493
499
  _: 1
494
500
  }, 8, ["modelValue"])]));
495
501
  }
496
- }), [["__scopeId", "data-v-fa2f5d92"]]), Ie = ["data-collapsed"], Le = { class: "SidebarRail" }, Re = { class: "Sidebar" }, ze = { class: "SidebarScroll" }, Be = { class: "SidebarHeader" }, Ve = { class: "Main" }, He = { class: "TabsBar" }, Ue = { class: "TabsBarEnd" }, We = { class: "MainScroll" }, Ge = { class: "MainContent" }, Ke = { class: "Topbar" }, qe = { class: "TopbarEnd" }, Je = { class: "MainScroll" }, Ye = { class: "MainContent" }, Xe = /* @__PURE__ */ X(/* @__PURE__ */ c({
502
+ }), [["__scopeId", "data-v-63876437"]]), Fe = ["data-collapsed"], Ie = { class: "SidebarRail" }, Le = { class: "Sidebar" }, Re = { class: "SidebarScroll" }, ze = { class: "SidebarHeader" }, Be = { class: "Main" }, Ve = { class: "TabsBar" }, He = { class: "TabsBarEnd" }, Ue = { class: "MainScroll" }, We = { class: "MainContent" }, Ge = { class: "Topbar" }, Ke = { class: "TopbarEnd" }, qe = { class: "MainScroll" }, Je = { class: "MainContent" }, Ye = /* @__PURE__ */ X(/* @__PURE__ */ c({
497
503
  __name: "SidebarLayout",
498
504
  props: /* @__PURE__ */ u({
499
505
  hideTopbar: { type: Boolean },
@@ -535,7 +541,7 @@ var ce = ["role"], le = /* @__PURE__ */ c({
535
541
  }, { immediate: !0 }), (t, l) => (h(), i("div", {
536
542
  class: "SidebarLayout",
537
543
  "data-collapsed": O.value
538
- }, [a("div", Le, [a("aside", Re, [a("div", ze, [a("div", Be, [a("button", {
544
+ }, [a("div", Ie, [a("aside", Le, [a("div", Re, [a("div", ze, [a("button", {
539
545
  type: "button",
540
546
  class: "Toggle",
541
547
  "aria-label": "Collapse sidebar",
@@ -553,13 +559,13 @@ var ce = ["role"], le = /* @__PURE__ */ c({
553
559
  }, [s(Z, {
554
560
  icon: "keyboard_double_arrow_right",
555
561
  size: "sm"
556
- })])]), a("main", Ve, [c.tabs?.length ? (h(), n(b(Y), {
562
+ })])]), a("main", Be, [c.tabs?.length ? (h(), n(b(q), {
557
563
  key: 0,
558
564
  "model-value": M.value,
559
565
  class: "TabsLayout",
560
566
  "onUpdate:modelValue": l[0] ||= (e) => M.value = e
561
567
  }, {
562
- default: w(() => [a("div", He, [
568
+ default: w(() => [a("div", Ve, [
563
569
  D.value && O.value ? (h(), i("button", {
564
570
  key: 0,
565
571
  type: "button",
@@ -571,18 +577,18 @@ var ce = ["role"], le = /* @__PURE__ */ c({
571
577
  icon: "keyboard_double_arrow_right",
572
578
  size: "sm"
573
579
  })])) : r("", !0),
574
- s(b(J), {
580
+ s(b(te), {
575
581
  class: "TabsList",
576
582
  "aria-label": "Tabs"
577
583
  }, {
578
- default: w(() => [(h(!0), i(e, null, _(c.tabs, (e) => (h(), n(b(ee), {
584
+ default: w(() => [(h(!0), i(e, null, _(c.tabs, (e) => (h(), n(b(J), {
579
585
  key: e.value,
580
586
  value: e.value,
581
587
  class: "TabsTrigger"
582
588
  }, {
583
589
  default: w(() => [o(y(e.label), 1)]),
584
590
  _: 2
585
- }, 1032, ["value"]))), 128)), s(b(q), {
591
+ }, 1032, ["value"]))), 128)), s(b(K), {
586
592
  class: "TabsIndicator",
587
593
  style: {
588
594
  width: "var(--reka-tabs-indicator-size)",
@@ -591,10 +597,10 @@ var ce = ["role"], le = /* @__PURE__ */ c({
591
597
  })]),
592
598
  _: 1
593
599
  }),
594
- a("div", Ue, [v(t.$slots, "topbar", {}, void 0, !0), c.hideTopbar ? r("", !0) : (h(), n($, { key: 0 }))])
595
- ]), a("div", We, [a("div", Ge, [v(t.$slots, "default", {}, void 0, !0)])])]),
600
+ a("div", He, [v(t.$slots, "topbar", {}, void 0, !0), c.hideTopbar ? r("", !0) : (h(), n($, { key: 0 }))])
601
+ ]), a("div", Ue, [a("div", We, [v(t.$slots, "default", {}, void 0, !0)])])]),
596
602
  _: 3
597
- }, 8, ["model-value"])) : (h(), i(e, { key: 1 }, [a("div", Ke, [D.value && O.value ? (h(), i("button", {
603
+ }, 8, ["model-value"])) : (h(), i(e, { key: 1 }, [a("div", Ge, [D.value && O.value ? (h(), i("button", {
598
604
  key: 0,
599
605
  type: "button",
600
606
  class: "Toggle",
@@ -604,9 +610,9 @@ var ce = ["role"], le = /* @__PURE__ */ c({
604
610
  }, [s(Z, {
605
611
  icon: "keyboard_double_arrow_right",
606
612
  size: "sm"
607
- })])) : r("", !0), a("div", qe, [v(t.$slots, "topbar", {}, void 0, !0), c.hideTopbar ? r("", !0) : (h(), n($, { key: 0 }))])]), a("div", Je, [a("div", Ye, [v(t.$slots, "default", {}, void 0, !0)])])], 64))])], 8, Ie));
613
+ })])) : r("", !0), a("div", Ke, [v(t.$slots, "topbar", {}, void 0, !0), c.hideTopbar ? r("", !0) : (h(), n($, { key: 0 }))])]), a("div", qe, [a("div", Je, [v(t.$slots, "default", {}, void 0, !0)])])], 64))])], 8, Fe));
608
614
  }
609
- }), [["__scopeId", "data-v-b7035d57"]]), Ze = ["data-size", "aria-label"], Qe = /* @__PURE__ */ c({
615
+ }), [["__scopeId", "data-v-b7035d57"]]), Xe = ["data-size", "aria-label"], Ze = /* @__PURE__ */ c({
610
616
  __name: "Spinner",
611
617
  props: {
612
618
  size: { default: "sm" },
@@ -618,15 +624,16 @@ var ce = ["role"], le = /* @__PURE__ */ c({
618
624
  "data-size": e.size,
619
625
  role: "status",
620
626
  "aria-label": e.label ?? "Loading"
621
- }, null, 8, Ze));
627
+ }, null, 8, Xe));
622
628
  }
623
- }), $e = {
629
+ }), Qe = {
624
630
  key: 0,
625
631
  class: "input-label"
626
- }, et = { class: "input-label-row" }, tt = ["placeholder"], nt = { key: 1 }, rt = ["placeholder"], it = /* @__PURE__ */ X(/* @__PURE__ */ c({
632
+ }, $e = ["placeholder"], et = { key: 1 }, tt = ["placeholder"], nt = /* @__PURE__ */ X(/* @__PURE__ */ c({
627
633
  __name: "TextInput",
628
634
  props: /* @__PURE__ */ u({
629
635
  label: {},
636
+ hideLabel: { type: Boolean },
630
637
  placeholder: {},
631
638
  hint: {}
632
639
  }, {
@@ -643,24 +650,24 @@ var ce = ["role"], le = /* @__PURE__ */ c({
643
650
  t.value = s.value;
644
651
  }
645
652
  let l = e;
646
- return (e, t) => l.label ? (h(), i("label", $e, [a("span", et, [o(y(l.label) + " ", 1), l.hint ? (h(), n(Q, {
653
+ return (e, t) => l.label ? (h(), i("label", Qe, [a("span", { class: d(["input-label-row", { "visually-hidden": l.hideLabel }]) }, [o(y(l.label) + " ", 1), l.hint && !l.hideLabel ? (h(), n(Q, {
647
654
  key: 0,
648
655
  text: l.hint
649
- }, null, 8, ["text"])) : r("", !0)]), T(a("input", {
656
+ }, null, 8, ["text"])) : r("", !0)], 2), T(a("input", {
650
657
  type: "text",
651
658
  "onUpdate:modelValue": t[0] ||= (e) => s.value = e,
652
659
  placeholder: l.placeholder,
653
660
  onBlur: c,
654
661
  onKeydown: E(c, ["enter"])
655
- }, null, 40, tt), [[S, s.value]])])) : (h(), i("div", nt, [T(a("input", {
662
+ }, null, 40, $e), [[S, s.value]])])) : (h(), i("div", et, [T(a("input", {
656
663
  type: "text",
657
664
  "onUpdate:modelValue": t[1] ||= (e) => s.value = e,
658
665
  placeholder: l.placeholder,
659
666
  onBlur: c,
660
667
  onKeydown: E(c, ["enter"])
661
- }, null, 40, rt), [[S, s.value]])]));
668
+ }, null, 40, tt), [[S, s.value]])]));
662
669
  }
663
- }), [["__scopeId", "data-v-2810bbb3"]]), at = { class: "toggle" }, ot = ["for"], st = /* @__PURE__ */ X(/* @__PURE__ */ c({
670
+ }), [["__scopeId", "data-v-3f3d20cc"]]), rt = { class: "toggle" }, it = ["for"], at = /* @__PURE__ */ X(/* @__PURE__ */ c({
664
671
  __name: "Toggle",
665
672
  props: /* @__PURE__ */ u({
666
673
  label: {},
@@ -673,20 +680,20 @@ var ce = ["role"], le = /* @__PURE__ */ c({
673
680
  emits: ["update:modelValue"],
674
681
  setup(e) {
675
682
  let t = x(e, "modelValue"), o = e, c = se();
676
- return (l, u) => (h(), i("div", at, [
677
- a("label", { for: b(c) }, y(e.label), 9, ot),
683
+ return (l, u) => (h(), i("div", rt, [
684
+ a("label", { for: b(c) }, y(e.label), 9, it),
678
685
  o.hint ? (h(), n(Q, {
679
686
  key: 0,
680
687
  text: o.hint
681
688
  }, null, 8, ["text"])) : r("", !0),
682
- s(b(G), {
689
+ s(b(W), {
683
690
  id: b(c),
684
691
  modelValue: t.value,
685
692
  "onUpdate:modelValue": u[0] ||= (e) => t.value = e,
686
693
  disabled: e.disabled,
687
694
  class: "switch"
688
695
  }, {
689
- default: w(() => [s(b(K), { class: "thumb" })]),
696
+ default: w(() => [s(b(G), { class: "thumb" })]),
690
697
  _: 1
691
698
  }, 8, [
692
699
  "id",
@@ -697,4 +704,4 @@ var ce = ["role"], le = /* @__PURE__ */ c({
697
704
  }
698
705
  }), [["__scopeId", "data-v-9916c71e"]]);
699
706
  //#endregion
700
- export { ue as Box, de as Button, fe as Expander, Q as Hint, Z as Icon, $ as LightDarkToggle, Me as NumberInput, Fe as SelectBox, Xe as SidebarLayout, Qe as Spinner, it as TextInput, st as Toggle };
707
+ export { ue as Box, de as Button, fe as Expander, Q as Hint, Z as Icon, $ as LightDarkToggle, je as NumberInput, Pe as SelectBox, Ye as SidebarLayout, Ze as Spinner, nt as TextInput, at as Toggle };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cfasim-ui/components",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "description": "Vue 3 UI components for cfasim-ui",
6
6
  "license": "Apache-2.0",