@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.
- package/dist/atoms/Button/button.d.ts +5 -3
- package/dist/atoms/Slider/index.d.ts +1 -0
- package/dist/atoms/Slider/slider.d.ts +54 -0
- package/dist/index.cjs +287 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +844 -49
- package/dist/index.umd.js +453 -167
- package/dist/molecules/Accordion/accordion.d.ts +42 -0
- package/dist/molecules/Accordion/index.d.ts +2 -0
- package/dist/molecules/Collapse/collapse.d.ts +42 -0
- package/dist/molecules/Collapse/index.d.ts +2 -0
- package/dist/molecules/SplitButton/index.d.ts +2 -0
- package/dist/molecules/SplitButton/split-button.d.ts +53 -0
- package/dist/molecules/Stepper/index.d.ts +2 -0
- package/dist/molecules/Stepper/stepper.d.ts +34 -0
- package/dist/shared/types/button.types.d.ts +7 -0
- package/package.json +26 -1
|
@@ -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:
|
|
5
|
-
size:
|
|
6
|
-
theme:
|
|
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
|
|
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";
|