@logosphere-ui/core 0.0.0-alpha.33 → 0.0.0-alpha.35

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,9 +1,11 @@
1
1
  import { LitElement } from "lit";
2
+ import type { ButtonVariant, ButtonSize, ButtonTheme } from "../../shared/types/button.types.js";
3
+ export type { ButtonVariant, ButtonSize, ButtonTheme };
2
4
  export declare class Button extends LitElement {
3
5
  static styles: import("lit").CSSResult[];
4
- variant: "solid" | "outline" | "text";
5
- size: "sm" | "md" | "lg";
6
- theme: "primary" | "success" | "danger" | "info" | "warning" | "light" | "dark";
6
+ variant: ButtonVariant;
7
+ size: ButtonSize;
8
+ theme: ButtonTheme;
7
9
  iconOnly: boolean;
8
10
  disabled: boolean;
9
11
  private getButtonClasses;
@@ -0,0 +1 @@
1
+ export * from "./slider.js";
@@ -0,0 +1,54 @@
1
+ import { LitElement } from "lit";
2
+ export type SliderTooltip = "always" | "hover" | "never";
3
+ export declare class Slider extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ value: number;
6
+ min: number;
7
+ max: number;
8
+ step: number;
9
+ disabled: boolean;
10
+ range: boolean;
11
+ rangeStart: number;
12
+ rangeEnd: number;
13
+ /** Minimum distance enforced between rangeStart and rangeEnd */
14
+ minDistance: number;
15
+ /** "always" | "hover" | "never" */
16
+ tooltip: SliderTooltip;
17
+ showScale: boolean;
18
+ /** Display values as percentages */
19
+ percentage: boolean;
20
+ /**
21
+ * Semantic labels for the Labeled Slider variant.
22
+ * When provided, the thumb snaps to evenly distributed positions.
23
+ * e.g. ["Small", "Medium", "Large"]
24
+ */
25
+ labels: string[];
26
+ private _hoverStart;
27
+ private _hoverEnd;
28
+ private get _isLabeled();
29
+ private get _effectiveStep();
30
+ private get _valuePct();
31
+ private get _startPct();
32
+ private get _endPct();
33
+ private get _displayValue();
34
+ private get _displayStart();
35
+ private get _displayEnd();
36
+ /** CSS left value that correctly follows the native thumb position (accounts for thumb radius offset). */
37
+ private _thumbLeft;
38
+ private _onSingleChange;
39
+ private _onStartChange;
40
+ private _onEndChange;
41
+ private _emit;
42
+ private _renderFill;
43
+ private _renderTooltip;
44
+ private _renderScale;
45
+ private _renderLabels;
46
+ private _renderSingleInput;
47
+ private _renderRangeInputs;
48
+ render(): import("lit-html").TemplateResult<1>;
49
+ }
50
+ declare global {
51
+ interface HTMLElementTagNameMap {
52
+ "logosphere-slider": Slider;
53
+ }
54
+ }
package/dist/index.cjs CHANGED
@@ -1 +1,287 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./button-DRZ4sG4T.cjs"),o=require("./badge-COTtd1jh.cjs"),n=require("./checkbox-CdDTRdKV.cjs"),u=require("./formfield-CRcyUMvQ.cjs"),a=require("./switch-8RGGesy5.cjs"),i=require("./breadcrumb-Cop-B1J7.cjs"),c=require("./card-BD8FkSTi.cjs"),b=require("./input-Tkm7VBBl.cjs"),g=require("./pagination-AclB9qi1.cjs"),p=require("./popover-DhEvLuOo.cjs"),d=require("./text-area-DCBCDtJw.cjs"),s=require("./timepicker-WxA2Uo66.cjs"),m=require("./chatbot-8etAVHNx.cjs"),l=require("./calendar-DtpJBtpq.cjs"),P=require("./combobox-BV4AKTqp.cjs"),f=require("./datepicker-BCNJROwD.cjs"),h=require("./drawer-g6mHdpjF.cjs"),y=require("./download-manager-DDeTYRPs.cjs"),r=require("./leftmenu-D0sRExqr.cjs"),j=require("./modal-DFnpqdWX.cjs"),e=require("./toast-container-B9E_mVk6.cjs"),O=require("./tab-BmrITzOL.cjs"),q=require("./tree-menu-DuJuy5pp.cjs");Object.defineProperty(exports,"Button",{enumerable:!0,get:()=>t.Button});Object.defineProperty(exports,"LogosphereBadge",{enumerable:!0,get:()=>o.LogosphereBadge});Object.defineProperty(exports,"Checkbox",{enumerable:!0,get:()=>n.Checkbox});Object.defineProperty(exports,"FormField",{enumerable:!0,get:()=>u.FormField});Object.defineProperty(exports,"Switch",{enumerable:!0,get:()=>a.Switch});Object.defineProperty(exports,"Breadcrumb",{enumerable:!0,get:()=>i.Breadcrumb});Object.defineProperty(exports,"Card",{enumerable:!0,get:()=>c.Card});Object.defineProperty(exports,"LogosphereInput",{enumerable:!0,get:()=>b.LogosphereInput});exports.Pagination=g.Pagination;Object.defineProperty(exports,"Popover",{enumerable:!0,get:()=>p.Popover});Object.defineProperty(exports,"TextArea",{enumerable:!0,get:()=>d.TextArea});Object.defineProperty(exports,"TimePicker",{enumerable:!0,get:()=>s.TimePicker});Object.defineProperty(exports,"LogosphereChatBot",{enumerable:!0,get:()=>m.LogosphereChatBot});Object.defineProperty(exports,"LogosphereCalendar",{enumerable:!0,get:()=>l.LogosphereCalendar});Object.defineProperty(exports,"Combobox",{enumerable:!0,get:()=>P.Combobox});Object.defineProperty(exports,"LogosphereDatePicker",{enumerable:!0,get:()=>f.LogosphereDatePicker});Object.defineProperty(exports,"Drawer",{enumerable:!0,get:()=>h.Drawer});Object.defineProperty(exports,"DownloadManager",{enumerable:!0,get:()=>y.DownloadManager});Object.defineProperty(exports,"LeftMenu",{enumerable:!0,get:()=>r.LeftMenu});Object.defineProperty(exports,"LeftMenuItemElement",{enumerable:!0,get:()=>r.LeftMenuItemElement});exports.Modal=j.Modal;Object.defineProperty(exports,"LogosphereToast",{enumerable:!0,get:()=>e.LogosphereToast});Object.defineProperty(exports,"LogosphereToastContainer",{enumerable:!0,get:()=>e.LogosphereToastContainer});exports.ToastService=e.ToastService;Object.defineProperty(exports,"LogosphereTab",{enumerable:!0,get:()=>O.LogosphereTab});Object.defineProperty(exports,"TreeMenu",{enumerable:!0,get:()=>q.TreeMenu});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("./button-DRZ4sG4T.cjs"),y=require("./badge-COTtd1jh.cjs"),w=require("./checkbox-CdDTRdKV.cjs"),x=require("./formfield-CRcyUMvQ.cjs"),r=require("lit"),s=require("lit/decorators.js"),$=require("./switch-8RGGesy5.cjs"),S=require("./breadcrumb-Cop-B1J7.cjs"),k=require("./card-BD8FkSTi.cjs"),P=require("./input-Tkm7VBBl.cjs"),C=require("./pagination-AclB9qi1.cjs"),E=require("./popover-DhEvLuOo.cjs");require("./ui-icon-jKyMV1zp.cjs");const O=require("@popperjs/core"),z=require("./text-area-DCBCDtJw.cjs"),L=require("./timepicker-WxA2Uo66.cjs"),D=require("./chatbot-8etAVHNx.cjs"),B=require("./calendar-DtpJBtpq.cjs"),j=require("./combobox-BV4AKTqp.cjs"),q=require("./datepicker-BCNJROwD.cjs"),A=require("./drawer-g6mHdpjF.cjs"),M=require("./download-manager-DDeTYRPs.cjs"),v=require("./leftmenu-D0sRExqr.cjs"),T=require("./modal-DFnpqdWX.cjs"),_=require("./toast-container-B9E_mVk6.cjs"),I=require("./tab-BmrITzOL.cjs"),F=require("./tree-menu-DuJuy5pp.cjs"),N=':host{display:block}.slider{position:relative;width:100%;font-family:var(--font-family-base)}.slider--has-tooltip .slider__track-area{margin-top:var(--spacing-8)}.slider__track-area{position:relative;height:20px;display:flex;align-items:center}.slider__track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:6px;border-radius:var(--radius-full);background:var(--color-border);pointer-events:none}.slider__fill{position:absolute;top:50%;transform:translateY(-50%);height:6px;border-radius:var(--radius-full);background:var(--color-primary);pointer-events:none}.slider__input{position:absolute;top:50%;transform:translateY(-50%);left:0;width:100%;height:6px;margin:0;padding:0;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;pointer-events:none;outline:none}.slider__input::-webkit-slider-runnable-track{background:transparent;height:6px}.slider__input::-moz-range-track{background:transparent;height:6px}.slider__input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-5px;border-radius:50%;background:var(--color-body-bg);border:2px solid var(--color-border);pointer-events:all;cursor:pointer;box-shadow:var(--shadow-sm)}.slider__input::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-body-bg);border:2px solid var(--color-border);pointer-events:all;cursor:pointer;box-shadow:var(--shadow-sm)}.slider__input:not(:disabled):focus-visible::-webkit-slider-thumb{outline:none;box-shadow:0 0 0 4px var(--color-primary-bg-subtle)}.slider__input:not(:disabled):focus-visible::-moz-range-thumb{box-shadow:0 0 0 4px var(--color-primary-bg-subtle)}.slider--disabled .slider__track{background:var(--color-border)}.slider--disabled .slider__fill{background:var(--color-primary-disabled)}.slider--disabled .slider__input{cursor:not-allowed}.slider--disabled .slider__input::-webkit-slider-thumb{background:var(--color-body-bg);border-color:var(--color-border);pointer-events:all;cursor:not-allowed;box-shadow:none}.slider--disabled .slider__input::-moz-range-thumb{background:var(--color-body-bg);border-color:var(--color-secondary-disabled);cursor:not-allowed;box-shadow:none}.slider--disabled .slider__scale-item{color:var(--color-secondary-disabled)}.slider--disabled .slider__scale-item:before{background:var(--color-secondary-disabled)}.slider--disabled .slider__tooltip{color:var(--color-secondary-disabled);border-color:var(--color-secondary-disabled)}.slider__tooltip{position:absolute;top:-34px;transform:translate(-50%);background:var(--color-body-bg);border:1px solid var(--color-border);color:var(--color-body-color);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:var(--font-family-base);white-space:nowrap;pointer-events:none;z-index:var(--z-index-tooltip);line-height:var(--line-height-normal)}.slider__scale{position:relative;height:26px;margin-top:var(--spacing-1)}.slider__scale-item{position:absolute;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-tertiary);font-family:var(--font-family-base);font-weight:var(--font-weight-regular);white-space:nowrap;line-height:1;-webkit-user-select:none;user-select:none}.slider__scale-item:before{content:"";display:block;width:1px;height:6px;background:var(--color-border);flex-shrink:0}.slider__input--start,.slider__input--end{position:absolute;pointer-events:none}.slider__input--start::-webkit-slider-thumb,.slider__input--end::-webkit-slider-thumb{pointer-events:all}.slider__input--start::-moz-range-thumb,.slider__input--end::-moz-range-thumb{pointer-events:all}';var K=Object.defineProperty,R=Object.getOwnPropertyDescriptor,p=(l,t,e,o)=>{for(var i=o>1?void 0:o?R(t,e):t,n=l.length-1,a;n>=0;n--)(a=l[n])&&(i=(o?a(t,e,i):a(i))||i);return o&&i&&K(t,e,i),i};exports.Slider=class extends r.LitElement{constructor(){super(...arguments),this.value=50,this.min=0,this.max=100,this.step=1,this.disabled=!1,this.range=!1,this.rangeStart=25,this.rangeEnd=75,this.minDistance=0,this.tooltip="never",this.showScale=!1,this.percentage=!1,this.labels=[],this._hoverStart=!1,this._hoverEnd=!1}get _isLabeled(){return this.labels.length>0}get _effectiveStep(){return this._isLabeled&&this.labels.length>1?(this.max-this.min)/(this.labels.length-1):this.step}get _valuePct(){return(this.value-this.min)/(this.max-this.min)*100}get _startPct(){return(this.rangeStart-this.min)/(this.max-this.min)*100}get _endPct(){return(this.rangeEnd-this.min)/(this.max-this.min)*100}get _displayValue(){if(this._isLabeled){const t=Math.round((this.value-this.min)/this._effectiveStep);return this.labels[Math.min(t,this.labels.length-1)]??String(this.value)}return this.percentage?`${Math.round(this.value)}%`:String(this.value)}get _displayStart(){return this.percentage?`${Math.round(this.rangeStart)}%`:String(this.rangeStart)}get _displayEnd(){return this.percentage?`${Math.round(this.rangeEnd)}%`:String(this.rangeEnd)}_thumbLeft(t){return`calc(${t}% + ${(.5-t/100)*16}px)`}_onSingleChange(t){const e=t.target;this.value=Number(e.value),this._emit("change",{value:this.value})}_onStartChange(t){const e=t.target,o=Math.min(Number(e.value),this.rangeEnd-this.minDistance);this.rangeStart=o,this._emit("change",{rangeStart:this.rangeStart,rangeEnd:this.rangeEnd})}_onEndChange(t){const e=t.target,o=Math.max(Number(e.value),this.rangeStart+this.minDistance);this.rangeEnd=o,this._emit("change",{rangeStart:this.rangeStart,rangeEnd:this.rangeEnd})}_emit(t,e){this.dispatchEvent(new CustomEvent(t,{detail:e,bubbles:!0,composed:!0}))}_renderFill(){return this.range?r.html`
2
+ <div
3
+ class="slider__fill"
4
+ style="left: ${this._startPct}%; width: ${this._endPct-this._startPct}%"
5
+ ></div>
6
+ `:r.html`<div class="slider__fill" style="width: ${this._valuePct}%"></div>`}_renderTooltip(t,e,o){return this.tooltip==="never"||this.tooltip==="hover"&&!o?r.nothing:r.html`
7
+ <div class="slider__tooltip" style="left: ${this._thumbLeft(e)}">${t}</div>
8
+ `}_renderScale(){if(!this.showScale)return r.nothing;const t=this.max-this.min,e=Math.min(Math.round(t/this.step)+1,11),o=Array.from({length:e},(i,n)=>{const a=e>1?n/(e-1)*100:0,g=this.min+a/100*t,m=this.percentage?`${Math.round(g)}%`:String(Math.round(g));return{pct:a,display:m}});return r.html`
9
+ <div class="slider__scale">
10
+ ${o.map(({pct:i,display:n})=>r.html`
11
+ <span class="slider__scale-item" style="left: ${this._thumbLeft(i)}">${n}</span>
12
+ `)}
13
+ </div>
14
+ `}_renderLabels(){if(!this._isLabeled)return r.nothing;const t=this.labels.length;return r.html`
15
+ <div class="slider__scale">
16
+ ${this.labels.map((e,o)=>{const i=t>1?o/(t-1)*100:0;return r.html`
17
+ <span class="slider__scale-item" style="left: ${this._thumbLeft(i)}">${e}</span>
18
+ `})}
19
+ </div>
20
+ `}_renderSingleInput(){const t=this.tooltip==="always"||this.tooltip==="hover"&&this._hoverStart;return r.html`
21
+ <div class="slider__track-area">
22
+ <div class="slider__track"></div>
23
+ ${this._renderFill()}
24
+ ${this._renderTooltip(this._displayValue,this._valuePct,t)}
25
+ <input
26
+ type="range"
27
+ class="slider__input"
28
+ .value=${String(this.value)}
29
+ min=${this.min}
30
+ max=${this.max}
31
+ step=${this._effectiveStep}
32
+ ?disabled=${this.disabled}
33
+ @input=${this._onSingleChange}
34
+ @mouseenter=${()=>{this._hoverStart=!0}}
35
+ @mouseleave=${()=>{this._hoverStart=!1}}
36
+ @focus=${()=>{this._hoverStart=!0}}
37
+ @blur=${()=>{this._hoverStart=!1}}
38
+ aria-label="Slider"
39
+ aria-valuemin=${this.min}
40
+ aria-valuemax=${this.max}
41
+ aria-valuenow=${this.value}
42
+ aria-valuetext=${this._displayValue}
43
+ aria-disabled=${this.disabled}
44
+ />
45
+ </div>
46
+ `}_renderRangeInputs(){const t=this.tooltip==="always"||this.tooltip==="hover"&&this._hoverStart,e=this.tooltip==="always"||this.tooltip==="hover"&&this._hoverEnd,o=this._startPct>=100?4:3,i=this._startPct>=100?3:4;return r.html`
47
+ <div class="slider__track-area">
48
+ <div class="slider__track"></div>
49
+ ${this._renderFill()}
50
+ ${this._renderTooltip(this._displayStart,this._startPct,t)}
51
+ ${this._renderTooltip(this._displayEnd,this._endPct,e)}
52
+ <input
53
+ type="range"
54
+ class="slider__input slider__input--start"
55
+ style="z-index: ${o}"
56
+ .value=${String(this.rangeStart)}
57
+ min=${this.min}
58
+ max=${this.max}
59
+ step=${this._effectiveStep}
60
+ ?disabled=${this.disabled}
61
+ @input=${this._onStartChange}
62
+ @mouseenter=${()=>{this._hoverStart=!0}}
63
+ @mouseleave=${()=>{this._hoverStart=!1}}
64
+ @focus=${()=>{this._hoverStart=!0}}
65
+ @blur=${()=>{this._hoverStart=!1}}
66
+ aria-label="Range start"
67
+ aria-valuemin=${this.min}
68
+ aria-valuemax=${this.max}
69
+ aria-valuenow=${this.rangeStart}
70
+ aria-valuetext=${this._displayStart}
71
+ aria-disabled=${this.disabled}
72
+ />
73
+ <input
74
+ type="range"
75
+ class="slider__input slider__input--end"
76
+ style="z-index: ${i}"
77
+ .value=${String(this.rangeEnd)}
78
+ min=${this.min}
79
+ max=${this.max}
80
+ step=${this._effectiveStep}
81
+ ?disabled=${this.disabled}
82
+ @input=${this._onEndChange}
83
+ @mouseenter=${()=>{this._hoverEnd=!0}}
84
+ @mouseleave=${()=>{this._hoverEnd=!1}}
85
+ @focus=${()=>{this._hoverEnd=!0}}
86
+ @blur=${()=>{this._hoverEnd=!1}}
87
+ aria-label="Range end"
88
+ aria-valuemin=${this.min}
89
+ aria-valuemax=${this.max}
90
+ aria-valuenow=${this.rangeEnd}
91
+ aria-valuetext=${this._displayEnd}
92
+ aria-disabled=${this.disabled}
93
+ />
94
+ </div>
95
+ `}render(){const t=this.tooltip!=="never",e=this.showScale||this._isLabeled;return r.html`
96
+ <div
97
+ class="slider
98
+ ${this.disabled?"slider--disabled":""}
99
+ ${t?"slider--has-tooltip":""}
100
+ ${e?"slider--has-below":""}
101
+ "
102
+ role="presentation"
103
+ >
104
+ ${this.range?this._renderRangeInputs():this._renderSingleInput()}
105
+ ${this._renderScale()}
106
+ ${this._renderLabels()}
107
+ </div>
108
+ `}};exports.Slider.styles=[r.css`${r.unsafeCSS(N)}`];p([s.property({type:Number})],exports.Slider.prototype,"value",2);p([s.property({type:Number})],exports.Slider.prototype,"min",2);p([s.property({type:Number})],exports.Slider.prototype,"max",2);p([s.property({type:Number})],exports.Slider.prototype,"step",2);p([s.property({type:Boolean})],exports.Slider.prototype,"disabled",2);p([s.property({type:Boolean})],exports.Slider.prototype,"range",2);p([s.property({type:Number})],exports.Slider.prototype,"rangeStart",2);p([s.property({type:Number})],exports.Slider.prototype,"rangeEnd",2);p([s.property({type:Number})],exports.Slider.prototype,"minDistance",2);p([s.property({type:String})],exports.Slider.prototype,"tooltip",2);p([s.property({type:Boolean})],exports.Slider.prototype,"showScale",2);p([s.property({type:Boolean})],exports.Slider.prototype,"percentage",2);p([s.property({type:Array})],exports.Slider.prototype,"labels",2);p([s.state()],exports.Slider.prototype,"_hoverStart",2);p([s.state()],exports.Slider.prototype,"_hoverEnd",2);exports.Slider=p([s.customElement("logosphere-slider")],exports.Slider);const H=":host{display:block}.stepper{display:flex;font-family:var(--font-family-base)}.stepper--horizontal{flex-direction:row;align-items:flex-start}.stepper--horizontal .stepper__step{display:flex;flex-direction:column;align-items:center;flex:1;position:relative;min-width:0}.stepper--horizontal .stepper__step-header{display:flex;flex-direction:column;align-items:center;width:100%;position:relative}.stepper--horizontal .stepper__connector{position:absolute;top:10px;left:calc(50% + 18px);right:calc(-50% + 18px);height:2px;z-index:0}.stepper--horizontal .stepper__labels{display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:var(--spacing-2);padding:0 var(--spacing-1)}.stepper--vertical{flex-direction:column;align-items:stretch}.stepper--vertical .stepper__step{display:flex;flex-direction:column;position:relative}.stepper--vertical .stepper__step-header{display:flex;flex-direction:row;align-items:flex-start;gap:var(--spacing-3)}.stepper--vertical .stepper__labels{display:flex;flex-direction:column;padding-top:var(--spacing-1);padding-bottom:var(--spacing-4)}.stepper--vertical .stepper__connector{position:absolute;top:28px;left:9px;width:2px;bottom:0}.stepper__indicator{width:20px;height:20px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;transition:background-color var(--transition-speed-base) var(--transition-timing),border-color var(--transition-speed-base) var(--transition-timing)}.stepper__indicator-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1}.stepper__indicator-dot{width:10px;height:10px;border-radius:var(--radius-full);background-color:var(--color-primary);flex-shrink:0}.stepper__indicator--completed{background-color:var(--color-primary);border:2px solid var(--color-primary);color:#fff}.stepper__indicator--current{background-color:var(--color-body-bg);border:2px solid var(--color-primary)}.stepper__indicator--upcoming{background-color:var(--color-body-bg);border:2px solid var(--color-border);color:var(--color-tertiary)}.stepper__indicator--disabled{background-color:var(--color-light-bg);border:2px solid var(--color-secondary-disabled);color:var(--color-secondary-disabled)}.stepper__connector--completed{background-color:var(--color-primary)}.stepper__connector--upcoming{background-color:var(--color-border)}.stepper__title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);color:var(--color-body-color);white-space:nowrap}.stepper__description{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-tertiary);margin-top:var(--spacing-0-5);white-space:normal}.stepper__step--current .stepper__title{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.stepper__step--upcoming .stepper__title{color:var(--color-tertiary)}.stepper__step--disabled .stepper__title,.stepper__step--disabled .stepper__description{color:var(--color-secondary-disabled)}.stepper__step--clickable{cursor:pointer}.stepper__step--clickable:hover .stepper__indicator--upcoming,.stepper__step--clickable:hover .stepper__indicator--completed{box-shadow:0 0 0 4px var(--color-primary-bg-subtle)}.stepper__step--clickable:focus-visible{outline:none}.stepper__step--clickable:focus-visible .stepper__indicator{box-shadow:0 0 0 4px var(--color-primary-bg-subtle)}";var U=Object.defineProperty,V=Object.getOwnPropertyDescriptor,b=(l,t,e,o)=>{for(var i=o>1?void 0:o?V(t,e):t,n=l.length-1,a;n>=0;n--)(a=l[n])&&(i=(o?a(t,e,i):a(i))||i);return o&&i&&U(t,e,i),i};exports.Stepper=class extends r.LitElement{constructor(){super(...arguments),this.steps=[],this.activeStep=0,this.orientation="horizontal",this.clickable=!1}_resolveState(t,e){return t.state?t.state:t.disabled?"disabled":e<this.activeStep?"completed":e===this.activeStep?"current":"upcoming"}_onStepClick(t,e){!this.clickable||e==="disabled"||e==="upcoming"||(this.activeStep=t,this.dispatchEvent(new CustomEvent("step-change",{detail:{index:t,step:this.steps[t]},bubbles:!0,composed:!0})))}_onStepKeydown(t,e,o){(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this._onStepClick(e,o)),(t.key==="ArrowRight"||t.key==="ArrowDown")&&(t.preventDefault(),this._focusStep(e+1)),(t.key==="ArrowLeft"||t.key==="ArrowUp")&&(t.preventDefault(),this._focusStep(e-1))}_focusStep(t){const e=Math.max(0,Math.min(this.steps.length-1,t));this.shadowRoot?.querySelector(`[data-step-index="${e}"]`)?.focus()}_renderIndicator(t,e){let o;return t==="completed"?o=r.html`<ui-icon name="uil-check" size="12"></ui-icon>`:t==="current"?o=r.html`<span class="stepper__indicator-dot"></span>`:o=r.html`<span class="stepper__indicator-number">${e+1}</span>`,r.html`
109
+ <div
110
+ class="stepper__indicator stepper__indicator--${t}"
111
+ aria-hidden="true"
112
+ >
113
+ ${o}
114
+ </div>
115
+ `}_renderConnector(t,e){return e?r.nothing:r.html`
116
+ <div
117
+ class="stepper__connector stepper__connector--${t==="completed"?"completed":"upcoming"}"
118
+ aria-hidden="true"
119
+ ></div>
120
+ `}_renderStep(t,e){const o=this._resolveState(t,e),i=e===this.steps.length-1,n=this.clickable&&(o==="completed"||o==="current");return r.html`
121
+ <div
122
+ class="stepper__step stepper__step--${o} ${n?"stepper__step--clickable":""}"
123
+ data-step-index=${e}
124
+ role=${this.clickable?"button":"listitem"}
125
+ tabindex=${n?"0":"-1"}
126
+ aria-current=${o==="current"?"step":r.nothing}
127
+ aria-disabled=${o==="disabled"?"true":r.nothing}
128
+ aria-label="${t.title}${t.description?`, ${t.description}`:""}, ${o}"
129
+ @click=${()=>this._onStepClick(e,o)}
130
+ @keydown=${a=>this._onStepKeydown(a,e,o)}
131
+ >
132
+ <div class="stepper__step-header">
133
+ ${this._renderIndicator(o,e)}
134
+ ${this.orientation==="vertical"?r.html`
135
+ <div class="stepper__labels">
136
+ <span class="stepper__title">${t.title}</span>
137
+ ${t.description?r.html`<span class="stepper__description">${t.description}</span>`:r.nothing}
138
+ </div>
139
+ `:r.nothing}
140
+ </div>
141
+
142
+ ${this.orientation==="horizontal"?r.html`
143
+ <div class="stepper__labels">
144
+ <span class="stepper__title">${t.title}</span>
145
+ ${t.description?r.html`<span class="stepper__description">${t.description}</span>`:r.nothing}
146
+ </div>
147
+ `:r.nothing}
148
+
149
+ ${this._renderConnector(o,i)}
150
+ </div>
151
+ `}render(){return r.html`
152
+ <div
153
+ class="stepper stepper--${this.orientation}"
154
+ role="list"
155
+ aria-label="Progress steps"
156
+ >
157
+ ${this.steps.map((t,e)=>this._renderStep(t,e))}
158
+ </div>
159
+ `}};exports.Stepper.styles=[r.css`${r.unsafeCSS(H)}`];b([s.property({attribute:!1})],exports.Stepper.prototype,"steps",2);b([s.property({type:Number})],exports.Stepper.prototype,"activeStep",2);b([s.property({type:String})],exports.Stepper.prototype,"orientation",2);b([s.property({type:Boolean})],exports.Stepper.prototype,"clickable",2);exports.Stepper=b([s.customElement("logosphere-stepper")],exports.Stepper);const Y=":host{display:inline-block;position:relative}.split-button{display:inline-flex;align-items:stretch;gap:1px;font-family:var(--font-family-base);border-radius:var(--radius-base);overflow:hidden}.split-button__action,.split-button__dropdown{display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;font-family:inherit;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1.25rem;letter-spacing:-.14px;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-speed-base) var(--transition-timing);outline:none}.split-button__action:focus-visible,.split-button__dropdown:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;position:relative;z-index:1}.split-button__action:disabled,.split-button__dropdown:disabled{cursor:not-allowed;pointer-events:none}.split-button__action{gap:var(--spacing-1)}.split-button__chevron{transition:transform var(--transition-speed-base) var(--transition-timing);display:inline-flex}.split-button__chevron--open{transform:rotate(180deg)}.split-button--sm .split-button__action{padding:var(--spacing-0-5) var(--spacing-2)}.split-button--sm .split-button__dropdown{padding:var(--spacing-0-5) var(--spacing-1-5)}.split-button--md .split-button__action{padding:var(--spacing-1-5) var(--spacing-3)}.split-button--md .split-button__dropdown{padding:var(--spacing-1-5) var(--spacing-2)}.split-button--lg .split-button__action{padding:var(--spacing-2-5) var(--spacing-3)}.split-button--lg .split-button__dropdown{padding:var(--spacing-2-5) var(--spacing-2)}.split-button{background-color:#fff6}.split-button--primary .split-button__action,.split-button--primary .split-button__dropdown{background-color:var(--color-primary);color:#fff}.split-button--primary .split-button__action:hover:not(:disabled),.split-button--primary .split-button__dropdown:hover:not(:disabled){background-color:var(--color-primary-hover)}.split-button--primary .split-button__action:active:not(:disabled),.split-button--primary .split-button__dropdown:active:not(:disabled){background-color:var(--color-primary-active)}.split-button--primary.split-button--disabled,.split-button--primary .split-button__action:disabled,.split-button--primary .split-button__dropdown:disabled{background-color:var(--color-primary-disabled)}.split-button--primary.split-button--disabled .split-button__action,.split-button--primary.split-button--disabled .split-button__dropdown{background-color:var(--color-primary-disabled)}.split-button--secondary .split-button__action,.split-button--secondary .split-button__dropdown{background-color:var(--color-secondary);color:#fff}.split-button--secondary .split-button__action:hover:not(:disabled),.split-button--secondary .split-button__dropdown:hover:not(:disabled){background-color:var(--color-secondary-hover)}.split-button--secondary .split-button__action:active:not(:disabled),.split-button--secondary .split-button__dropdown:active:not(:disabled){background-color:var(--color-secondary-active)}.split-button--secondary.split-button--disabled .split-button__action,.split-button--secondary.split-button--disabled .split-button__dropdown,.split-button--secondary .split-button__action:disabled,.split-button--secondary .split-button__dropdown:disabled{background-color:var(--color-secondary-disabled)}.split-button--success .split-button__action,.split-button--success .split-button__dropdown{background-color:var(--color-success);color:#fff}.split-button--success .split-button__action:hover:not(:disabled),.split-button--success .split-button__dropdown:hover:not(:disabled){background-color:var(--color-success-hover)}.split-button--success .split-button__action:active:not(:disabled),.split-button--success .split-button__dropdown:active:not(:disabled){background-color:var(--color-success-active)}.split-button--success.split-button--disabled .split-button__action,.split-button--success.split-button--disabled .split-button__dropdown,.split-button--success .split-button__action:disabled,.split-button--success .split-button__dropdown:disabled{background-color:var(--color-success-disabled)}.split-button--danger .split-button__action,.split-button--danger .split-button__dropdown{background-color:var(--color-danger);color:#fff}.split-button--danger .split-button__action:hover:not(:disabled),.split-button--danger .split-button__dropdown:hover:not(:disabled){background-color:var(--color-danger-hover)}.split-button--danger .split-button__action:active:not(:disabled),.split-button--danger .split-button__dropdown:active:not(:disabled){background-color:var(--color-danger-active)}.split-button--danger.split-button--disabled .split-button__action,.split-button--danger.split-button--disabled .split-button__dropdown,.split-button--danger .split-button__action:disabled,.split-button--danger .split-button__dropdown:disabled{background-color:var(--color-danger-disabled)}.split-button--info .split-button__action,.split-button--info .split-button__dropdown{background-color:var(--color-info);color:#fff}.split-button--info .split-button__action:hover:not(:disabled),.split-button--info .split-button__dropdown:hover:not(:disabled){background-color:var(--color-info-hover)}.split-button--info .split-button__action:active:not(:disabled),.split-button--info .split-button__dropdown:active:not(:disabled){background-color:var(--color-info-active)}.split-button--info.split-button--disabled .split-button__action,.split-button--info.split-button--disabled .split-button__dropdown,.split-button--info .split-button__action:disabled,.split-button--info .split-button__dropdown:disabled{background-color:var(--color-info-disabled)}.split-button--warning .split-button__action,.split-button--warning .split-button__dropdown{background-color:var(--color-warning);color:var(--color-warning-emphasis)}.split-button--warning .split-button__action:hover:not(:disabled),.split-button--warning .split-button__dropdown:hover:not(:disabled){background-color:var(--color-warning-hover)}.split-button--warning .split-button__action:active:not(:disabled),.split-button--warning .split-button__dropdown:active:not(:disabled){background-color:var(--color-warning-active)}.split-button--warning.split-button--disabled .split-button__action,.split-button--warning.split-button--disabled .split-button__dropdown,.split-button--warning .split-button__action:disabled,.split-button--warning .split-button__dropdown:disabled{background-color:var(--color-warning-disabled)}.split-button__panel{position:fixed;z-index:var(--z-index-dropdown);min-width:160px;background-color:var(--color-body-bg);border:1px solid var(--color-border);border-radius:var(--radius-base);box-shadow:var(--shadow-lg);padding:var(--spacing-1) 0;outline:none}.split-button__panel-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);background:none;border:none;cursor:pointer;font-family:var(--font-family-base);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);color:var(--color-body-color);text-align:left;white-space:nowrap;transition:background-color var(--transition-speed-fast) var(--transition-timing);box-sizing:border-box}.split-button__panel-item:hover:not(:disabled){background-color:var(--color-body-bg-hover)}.split-button__panel-item:active:not(:disabled){background-color:var(--color-body-bg-active)}.split-button__panel-item--disabled,.split-button__panel-item:disabled{color:var(--color-secondary-disabled);cursor:not-allowed;pointer-events:none}.split-button__panel-divider{height:1px;background-color:var(--color-border);margin:var(--spacing-1) 0}";var Z=Object.defineProperty,G=Object.getOwnPropertyDescriptor,d=(l,t,e,o)=>{for(var i=o>1?void 0:o?G(t,e):t,n=l.length-1,a;n>=0;n--)(a=l[n])&&(i=(o?a(t,e,i):a(i))||i);return o&&i&&Z(t,e,i),i};exports.SplitButton=class extends r.LitElement{constructor(){super(...arguments),this.label="Button",this.size="md",this.theme="primary",this.disabled=!1,this.dropdownDisabled=!1,this.items=[],this._open=!1,this._onDocClick=t=>{this._open&&(t.composedPath().includes(this)||this._setOpen(!1))},this._onDocKeydown=t=>{t.key==="Escape"&&this._open&&this._setOpen(!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this._onDocClick,{capture:!0}),document.addEventListener("keydown",this._onDocKeydown)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this._onDocClick,{capture:!0}),document.removeEventListener("keydown",this._onDocKeydown),this._destroyPopper()}updated(t){super.updated(t),t.has("_open")&&(this._open?this._initPopper():this._destroyPopper())}_initPopper(){!this._dropdownBtn||!this._panel||(this._popper=O.createPopper(this._dropdownBtn,this._panel,{placement:"bottom-end",strategy:"fixed",modifiers:[{name:"offset",options:{offset:[0,4]}},{name:"preventOverflow",options:{padding:8}},{name:"flip",options:{padding:8}}]}))}_destroyPopper(){this._popper?.destroy(),this._popper=void 0}_setOpen(t){this._open!==t&&(this._open=t,this.dispatchEvent(new CustomEvent(t?"dropdown-open":"dropdown-close",{bubbles:!0,composed:!0})))}_onActionClick(t){t.stopPropagation(),!this.disabled&&this.dispatchEvent(new CustomEvent("action",{bubbles:!0,composed:!0}))}_onDropdownClick(t){t.stopPropagation(),!(this.disabled||this.dropdownDisabled)&&this._setOpen(!this._open)}_onItemClick(t){t.disabled||(this.dispatchEvent(new CustomEvent("item-select",{detail:{value:t.value,item:t},bubbles:!0,composed:!0})),this._setOpen(!1))}_onKeydown(t,e){(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),e==="action"?this._onActionClick(t):this._onDropdownClick(t))}_renderPanel(){if(!this._open)return r.nothing;const t=this.items.length>0;return r.html`
160
+ <div
161
+ class="split-button__panel"
162
+ role="menu"
163
+ aria-label="${this.label} options"
164
+ >
165
+ ${t?this.items.map(e=>r.html`
166
+ ${e.divider?r.html`<div class="split-button__panel-divider" role="separator"></div>`:r.nothing}
167
+ <button
168
+ class="split-button__panel-item ${e.disabled?"split-button__panel-item--disabled":""}"
169
+ role="menuitem"
170
+ ?disabled=${e.disabled}
171
+ @click=${()=>this._onItemClick(e)}
172
+ >
173
+ ${e.icon?r.html`<ui-icon name=${e.icon} size="16"></ui-icon>`:r.nothing}
174
+ <span>${e.label}</span>
175
+ </button>
176
+ `):r.html`<slot name="dropdown"></slot>`}
177
+ </div>
178
+ `}render(){const t=this.disabled,e=this.disabled||this.dropdownDisabled;return r.html`
179
+ <div
180
+ class="split-button split-button--${this.size} split-button--${this.theme}
181
+ ${this.disabled?"split-button--disabled":""}
182
+ ${this._open?"split-button--open":""}"
183
+ role="group"
184
+ >
185
+ <!-- Main action -->
186
+ <button
187
+ class="split-button__action"
188
+ ?disabled=${t}
189
+ aria-label=${this.label}
190
+ @click=${this._onActionClick}
191
+ @keydown=${o=>this._onKeydown(o,"action")}
192
+ type="button"
193
+ >
194
+ <slot name="prefix"></slot>
195
+ <span class="split-button__label">
196
+ <slot>${this.label}</slot>
197
+ </span>
198
+ </button>
199
+
200
+ <!-- Dropdown trigger -->
201
+ <button
202
+ class="split-button__dropdown"
203
+ ?disabled=${e}
204
+ aria-label="Open dropdown"
205
+ aria-haspopup="menu"
206
+ aria-expanded=${this._open?"true":"false"}
207
+ @click=${this._onDropdownClick}
208
+ @keydown=${o=>this._onKeydown(o,"dropdown")}
209
+ type="button"
210
+ >
211
+ <ui-icon
212
+ name="uil-angle-down"
213
+ size="16"
214
+ class="split-button__chevron ${this._open?"split-button__chevron--open":""}"
215
+ ></ui-icon>
216
+ </button>
217
+
218
+ <!-- Dropdown panel -->
219
+ ${this._renderPanel()}
220
+ </div>
221
+ `}};exports.SplitButton.styles=[r.css`${r.unsafeCSS(Y)}`];d([s.property({type:String})],exports.SplitButton.prototype,"label",2);d([s.property({type:String})],exports.SplitButton.prototype,"size",2);d([s.property({type:String})],exports.SplitButton.prototype,"theme",2);d([s.property({type:Boolean})],exports.SplitButton.prototype,"disabled",2);d([s.property({type:Boolean})],exports.SplitButton.prototype,"dropdownDisabled",2);d([s.property({attribute:!1})],exports.SplitButton.prototype,"items",2);d([s.state()],exports.SplitButton.prototype,"_open",2);d([s.query(".split-button__dropdown")],exports.SplitButton.prototype,"_dropdownBtn",2);d([s.query(".split-button__panel")],exports.SplitButton.prototype,"_panel",2);exports.SplitButton=d([s.customElement("logosphere-split-button")],exports.SplitButton);const J=":host{display:block}.collapse{font-family:var(--font-family-base);background-color:var(--color-body-bg);overflow:hidden}.collapse--full{border:1px solid var(--color-border);border-radius:var(--radius-base)}.collapse--bottom{border-bottom:1px solid var(--color-border);border-radius:0}.collapse__header{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-4);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-speed-fast) var(--transition-timing);outline:none}.collapse--small .collapse__header{padding:var(--spacing-2) var(--spacing-4)}.collapse--full .collapse__header{border-radius:calc(var(--radius-base) - 1px)}.collapse--full.collapse--expanded .collapse__header{border-radius:calc(var(--radius-base) - 1px) calc(var(--radius-base) - 1px) 0 0}.collapse--full .collapse__header:hover:not(.collapse--disabled .collapse__header){background-color:var(--color-body-bg-hover)}.collapse--bottom .collapse__header:hover:not(.collapse--disabled .collapse__header){background-color:var(--color-body-bg-hover)}.collapse__header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:calc(var(--radius-base) - 1px)}.collapse__title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1.2;letter-spacing:-.16px;color:var(--color-body-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse__header-extra:empty{display:none}.collapse__header-extra{display:flex;align-items:center;gap:var(--spacing-2);flex-shrink:0}.collapse__header-spacer{flex:1}.collapse__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-secondary);transition:transform var(--transition-speed-base) var(--transition-timing)}.collapse__icon--expanded{transform:rotate(180deg)}.collapse__body{height:0;overflow:hidden;transition:height var(--transition-speed-slow) var(--transition-timing)}.collapse__body-inner{padding:0 var(--spacing-4) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);color:var(--color-body-color)}.collapse--bottom .collapse__body-inner{padding-top:var(--spacing-2)}.collapse--disabled .collapse__header{cursor:not-allowed;pointer-events:none}.collapse--disabled .collapse__title,.collapse--disabled .collapse__icon{color:var(--color-secondary-disabled)}.collapse--disabled.collapse--full{border-color:var(--color-secondary-disabled);background-color:var(--color-light-bg)}.collapse--disabled.collapse--bottom{border-bottom-color:var(--color-secondary-disabled);background-color:transparent}";var Q=Object.defineProperty,W=Object.getOwnPropertyDescriptor,c=(l,t,e,o)=>{for(var i=o>1?void 0:o?W(t,e):t,n=l.length-1,a;n>=0;n--)(a=l[n])&&(i=(o?a(t,e,i):a(i))||i);return o&&i&&Q(t,e,i),i};const h=typeof requestAnimationFrame<"u"?requestAnimationFrame.bind(window):l=>setTimeout(()=>l(Date.now()),16);exports.Collapse=class extends r.LitElement{constructor(){super(...arguments),this.title="",this.expanded=!1,this.disabled=!1,this.iconPosition="right",this.border="full",this.size="default"}_toggle(){this.disabled||(this.expanded=!this.expanded,this.dispatchEvent(new CustomEvent("toggle",{detail:{expanded:this.expanded},bubbles:!0,composed:!0})))}_onKeydown(t){(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this._toggle())}_lockHeightForClose(){const t=this._body;if(!t)return;const e=t.getBoundingClientRect().height;t.style.height=`${e}px`,t.style.overflow="hidden"}willUpdate(t){super.willUpdate(t),t.has("expanded")&&!this.expanded&&this._lockHeightForClose()}updated(t){if(super.updated(t),!t.has("expanded")||!this._body||!this._inner)return;const e=this._body,o=this._inner;this.expanded?(e.style.height="0px",e.style.overflow="hidden",h(()=>{h(()=>{e.style.height=`${o.scrollHeight}px`,e.addEventListener("transitionend",function i(){e.style.height="auto",e.style.overflow="",e.removeEventListener("transitionend",i)},{once:!0})})})):(e.getBoundingClientRect(),h(()=>{h(()=>{e.style.height="0px"})}))}_renderIcon(){return r.html`
222
+ <span class="collapse__icon ${this.expanded?"collapse__icon--expanded":""}">
223
+ <ui-icon name="uil-angle-down" size="22"></ui-icon>
224
+ </span>
225
+ `}render(){return r.html`
226
+ <div
227
+ class="collapse
228
+ collapse--${this.border}
229
+ collapse--${this.size}
230
+ ${this.expanded?"collapse--expanded":""}
231
+ ${this.disabled?"collapse--disabled":""}"
232
+ >
233
+ <!-- Header -->
234
+ <div
235
+ class="collapse__header"
236
+ role="button"
237
+ tabindex=${this.disabled?"-1":"0"}
238
+ aria-expanded=${this.expanded?"true":"false"}
239
+ aria-disabled=${this.disabled?"true":r.nothing}
240
+ @click=${this._toggle}
241
+ @keydown=${this._onKeydown}
242
+ >
243
+ ${this.iconPosition==="left"?this._renderIcon():r.nothing}
244
+
245
+ <div class="collapse__title">
246
+ <slot name="title">${this.title}</slot>
247
+ </div>
248
+
249
+ <div class="collapse__header-extra">
250
+ <slot name="extra"></slot>
251
+ </div>
252
+
253
+ <!-- pushes extra to title side, icon stays at far right -->
254
+ <span class="collapse__header-spacer"></span>
255
+
256
+ ${this.iconPosition==="right"?this._renderIcon():r.nothing}
257
+ </div>
258
+
259
+ <!-- Body (animated) -->
260
+ <div class="collapse__body ${this.expanded?"collapse__body--visible":""}">
261
+ <div class="collapse__body-inner">
262
+ <!-- slot="body" for explicit usage; default slot as fallback -->
263
+ <slot name="body"><slot></slot></slot>
264
+ </div>
265
+ </div>
266
+ </div>
267
+ `}};exports.Collapse.styles=[r.css`${r.unsafeCSS(J)}`];c([s.property({type:String})],exports.Collapse.prototype,"title",2);c([s.property({type:Boolean,reflect:!0})],exports.Collapse.prototype,"expanded",2);c([s.property({type:Boolean,reflect:!0})],exports.Collapse.prototype,"disabled",2);c([s.property({type:String})],exports.Collapse.prototype,"iconPosition",2);c([s.property({type:String})],exports.Collapse.prototype,"border",2);c([s.property({type:String})],exports.Collapse.prototype,"size",2);c([s.query(".collapse__body-inner")],exports.Collapse.prototype,"_inner",2);c([s.query(".collapse__body")],exports.Collapse.prototype,"_body",2);exports.Collapse=c([s.customElement("logosphere-collapse")],exports.Collapse);const X=":host{display:block}.accordion{display:flex;flex-direction:column}.accordion--full{gap:var(--spacing-2)}.accordion--bottom{gap:0}.accordion--full ::slotted(logosphere-collapse),.accordion--full logosphere-collapse{width:100%}";var tt=Object.defineProperty,et=Object.getOwnPropertyDescriptor,u=(l,t,e,o)=>{for(var i=o>1?void 0:o?et(t,e):t,n=l.length-1,a;n>=0;n--)(a=l[n])&&(i=(o?a(t,e,i):a(i))||i);return o&&i&&tt(t,e,i),i};exports.Accordion=class extends r.LitElement{constructor(){super(...arguments),this.items=[],this.multiple=!1,this.defaultOpen=[],this.border="full",this.iconPosition="right",this.size="default",this._openSet=new Set,this._onSlottedToggle=t=>{if(this.items.length>0||this.multiple)return;const e=t.target;t.detail.expanded&&this.querySelectorAll("logosphere-collapse").forEach(o=>{o!==e&&o.expanded&&(o.expanded=!1)})}}connectedCallback(){super.connectedCallback();const t=Array.isArray(this.defaultOpen)?this.defaultOpen:[this.defaultOpen];this._openSet=new Set(t),this.addEventListener("toggle",this._onSlottedToggle)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("toggle",this._onSlottedToggle)}_toggle(t){const e=new Set(this._openSet);e.has(t)?e.delete(t):(this.multiple||e.clear(),e.add(t));const o=this._openSet.has(t);this._openSet=e,this.dispatchEvent(new CustomEvent("accordion-change",{detail:{index:t,expanded:!o,openIndices:[...this._openSet]},bubbles:!0,composed:!0}))}render(){return this.items.length===0?r.html`
268
+ <div class="accordion accordion--${this.border}">
269
+ <slot></slot>
270
+ </div>
271
+ `:r.html`
272
+ <div class="accordion accordion--${this.border}">
273
+ ${this.items.map((t,e)=>r.html`
274
+ <logosphere-collapse
275
+ title=${t.title}
276
+ .expanded=${this._openSet.has(e)}
277
+ .disabled=${t.disabled??!1}
278
+ border=${this.border}
279
+ iconPosition=${this.iconPosition}
280
+ size=${this.size}
281
+ @toggle=${o=>{o.stopPropagation(),this._toggle(e)}}
282
+ >
283
+ <span slot="body">${t.content}</span>
284
+ </logosphere-collapse>
285
+ `)}
286
+ </div>
287
+ `}};exports.Accordion.styles=[r.css`${r.unsafeCSS(X)}`];u([s.property({attribute:!1})],exports.Accordion.prototype,"items",2);u([s.property({type:Boolean})],exports.Accordion.prototype,"multiple",2);u([s.property({attribute:!1})],exports.Accordion.prototype,"defaultOpen",2);u([s.property({type:String})],exports.Accordion.prototype,"border",2);u([s.property({type:String})],exports.Accordion.prototype,"iconPosition",2);u([s.property({type:String})],exports.Accordion.prototype,"size",2);u([s.state()],exports.Accordion.prototype,"_openSet",2);exports.Accordion=u([s.customElement("logosphere-accordion")],exports.Accordion);Object.defineProperty(exports,"Button",{enumerable:!0,get:()=>f.Button});Object.defineProperty(exports,"LogosphereBadge",{enumerable:!0,get:()=>y.LogosphereBadge});Object.defineProperty(exports,"Checkbox",{enumerable:!0,get:()=>w.Checkbox});Object.defineProperty(exports,"FormField",{enumerable:!0,get:()=>x.FormField});Object.defineProperty(exports,"Switch",{enumerable:!0,get:()=>$.Switch});Object.defineProperty(exports,"Breadcrumb",{enumerable:!0,get:()=>S.Breadcrumb});Object.defineProperty(exports,"Card",{enumerable:!0,get:()=>k.Card});Object.defineProperty(exports,"LogosphereInput",{enumerable:!0,get:()=>P.LogosphereInput});exports.Pagination=C.Pagination;Object.defineProperty(exports,"Popover",{enumerable:!0,get:()=>E.Popover});Object.defineProperty(exports,"TextArea",{enumerable:!0,get:()=>z.TextArea});Object.defineProperty(exports,"TimePicker",{enumerable:!0,get:()=>L.TimePicker});Object.defineProperty(exports,"LogosphereChatBot",{enumerable:!0,get:()=>D.LogosphereChatBot});Object.defineProperty(exports,"LogosphereCalendar",{enumerable:!0,get:()=>B.LogosphereCalendar});Object.defineProperty(exports,"Combobox",{enumerable:!0,get:()=>j.Combobox});Object.defineProperty(exports,"LogosphereDatePicker",{enumerable:!0,get:()=>q.LogosphereDatePicker});Object.defineProperty(exports,"Drawer",{enumerable:!0,get:()=>A.Drawer});Object.defineProperty(exports,"DownloadManager",{enumerable:!0,get:()=>M.DownloadManager});Object.defineProperty(exports,"LeftMenu",{enumerable:!0,get:()=>v.LeftMenu});Object.defineProperty(exports,"LeftMenuItemElement",{enumerable:!0,get:()=>v.LeftMenuItemElement});exports.Modal=T.Modal;Object.defineProperty(exports,"LogosphereToast",{enumerable:!0,get:()=>_.LogosphereToast});Object.defineProperty(exports,"LogosphereToastContainer",{enumerable:!0,get:()=>_.LogosphereToastContainer});exports.ToastService=_.ToastService;Object.defineProperty(exports,"LogosphereTab",{enumerable:!0,get:()=>I.LogosphereTab});Object.defineProperty(exports,"TreeMenu",{enumerable:!0,get:()=>F.TreeMenu});
package/dist/index.d.ts CHANGED
@@ -2,12 +2,17 @@ export * from "./atoms/Button/index.js";
2
2
  export * from "./atoms/Badge/index.js";
3
3
  export * from "./atoms/Checkbox/index.js";
4
4
  export * from "./atoms/FormField/index.js";
5
+ export * from "./atoms/Slider/index.js";
5
6
  export * from "./atoms/Switch/index.js";
6
7
  export * from "./molecules/Breadcrumb/index.js";
7
8
  export * from "./molecules/Card/index.js";
8
9
  export * from "./molecules/Input/index.js";
9
10
  export * from "./molecules/Pagination/index.js";
10
11
  export * from "./molecules/Popover/index.js";
12
+ export * from "./molecules/Stepper/index.js";
13
+ export * from "./molecules/SplitButton/index.js";
14
+ export * from "./molecules/Collapse/index.js";
15
+ export * from "./molecules/Accordion/index.js";
11
16
  export * from "./molecules/Textarea/index.js";
12
17
  export * from "./molecules/TimePicker/index.js";
13
18
  export * from "./organisms/Chatbot/index.js";