@prioticket/design-system-web 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/COMPONENT-DOCUMENTATION.md +561 -430
  2. package/README.md +341 -341
  3. package/component-documentation.json +1755 -1128
  4. package/custom-elements.json +6453 -0
  5. package/dist/component-gallery.html +2 -2
  6. package/dist/components/pd-button.d.cjs.js +1 -0
  7. package/dist/components/pd-button.d.es.js +7 -0
  8. package/dist/components/pd-card.d.cjs.js +1 -0
  9. package/dist/components/pd-card.d.es.js +1 -0
  10. package/dist/components/pd-checkbox.cjs.js +6 -6
  11. package/dist/components/pd-checkbox.d.cjs.js +1 -0
  12. package/dist/components/pd-checkbox.d.es.js +2 -0
  13. package/dist/components/pd-checkbox.es.js +39 -38
  14. package/dist/components/pd-chip.d.cjs.js +1 -0
  15. package/dist/components/pd-chip.d.es.js +6 -0
  16. package/dist/components/pd-dialog.d.cjs.js +1 -0
  17. package/dist/components/pd-dialog.d.es.js +5 -0
  18. package/dist/components/pd-expandable-card.d.cjs.js +1 -0
  19. package/dist/components/pd-expandable-card.d.es.js +3 -0
  20. package/dist/components/pd-fab.d.cjs.js +1 -0
  21. package/dist/components/pd-fab.d.es.js +4 -0
  22. package/dist/components/pd-icon-button.d.cjs.js +1 -0
  23. package/dist/components/pd-icon-button.d.es.js +6 -0
  24. package/dist/components/pd-icon.d.cjs.js +1 -0
  25. package/dist/components/pd-icon.d.es.js +2 -0
  26. package/dist/components/pd-list.d.cjs.js +1 -0
  27. package/dist/components/pd-list.d.es.js +5 -0
  28. package/dist/components/pd-menu-item.d.cjs.js +1 -0
  29. package/dist/components/pd-menu-item.d.es.js +3 -0
  30. package/dist/components/pd-menu.cjs.js +13 -13
  31. package/dist/components/pd-menu.d.cjs.js +1 -0
  32. package/dist/components/pd-menu.d.es.js +2 -0
  33. package/dist/components/pd-menu.es.js +19 -19
  34. package/dist/components/pd-progress.d.cjs.js +1 -0
  35. package/dist/components/pd-progress.d.es.js +3 -0
  36. package/dist/components/pd-radio.d.cjs.js +1 -0
  37. package/dist/components/pd-radio.d.es.js +2 -0
  38. package/dist/components/pd-segmented-button.d.cjs.js +1 -0
  39. package/dist/components/pd-segmented-button.d.es.js +2 -0
  40. package/dist/components/pd-segmented-stepper.cjs.js +3 -3
  41. package/dist/components/pd-segmented-stepper.d.cjs.js +1 -0
  42. package/dist/components/pd-segmented-stepper.d.es.js +2 -0
  43. package/dist/components/pd-segmented-stepper.es.js +4 -11
  44. package/dist/components/pd-select.d.cjs.js +1 -0
  45. package/dist/components/pd-select.d.es.js +5 -0
  46. package/dist/components/pd-slider.d.cjs.js +1 -0
  47. package/dist/components/pd-slider.d.es.js +2 -0
  48. package/dist/components/pd-stepper.cjs.js +3 -3
  49. package/dist/components/pd-stepper.d.cjs.js +1 -0
  50. package/dist/components/pd-stepper.d.es.js +1 -0
  51. package/dist/components/pd-stepper.es.js +19 -5
  52. package/dist/components/pd-switch.d.cjs.js +1 -0
  53. package/dist/components/pd-switch.d.es.js +3 -0
  54. package/dist/components/pd-tabs.cjs.js +4 -4
  55. package/dist/components/pd-tabs.d.cjs.js +1 -0
  56. package/dist/components/pd-tabs.d.es.js +5 -0
  57. package/dist/components/pd-tabs.es.js +53 -60
  58. package/dist/components/pd-text-field.d.cjs.js +1 -0
  59. package/dist/components/pd-text-field.d.es.js +4 -0
  60. package/dist/demo-theming.html +305 -305
  61. package/dist/prioticket-design-system-web.cjs.js +2281 -1
  62. package/dist/prioticket-design-system-web.es.js +4103 -50
  63. package/dist/types/components/pd-checkbox.d.ts +1 -0
  64. package/dist/types/components/pd-segmented-stepper.d.ts +2 -3
  65. package/dist/types/components/pd-stepper.d.ts +2 -0
  66. package/dist/types/components/pd-tabs.d.ts +2 -2
  67. package/package.json +25 -5
@@ -1 +1,2281 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./components/pd-button.cjs.js"),u=require("./components/pd-text-field.cjs.js"),p=require("./components/pd-card.cjs.js"),c=require("./components/pd-icon.cjs.js"),P=require("./components/pd-dialog.cjs.js"),i=require("./components/pd-expandable-card.cjs.js"),b=require("./components/pd-checkbox.cjs.js"),m=require("./components/pd-chip.cjs.js"),s=require("./components/pd-fab.cjs.js"),a=require("./components/pd-icon-button.cjs.js"),e=require("./components/pd-list.cjs.js"),l=require("./components/pd-menu.cjs.js"),g=require("./components/pd-menu-item.cjs.js"),y=require("./components/pd-progress.cjs.js"),t=require("./components/pd-radio.cjs.js"),f=require("./components/pd-select.cjs.js"),j=require("./components/pd-slider.cjs.js"),O=require("./components/pd-switch.cjs.js"),r=require("./components/pd-tabs.cjs.js"),n=require("./components/pd-segmented-button.cjs.js"),d=require("./components/pd-segmented-stepper.cjs.js"),S=require("./components/pd-stepper.cjs.js");Object.defineProperty(exports,"PdButton",{enumerable:!0,get:()=>o.PdButton});Object.defineProperty(exports,"PdTextField",{enumerable:!0,get:()=>u.PdTextField});Object.defineProperty(exports,"PdCard",{enumerable:!0,get:()=>p.PdCard});Object.defineProperty(exports,"PdIcon",{enumerable:!0,get:()=>c.PdIcon});Object.defineProperty(exports,"PdDialog",{enumerable:!0,get:()=>P.PdDialog});Object.defineProperty(exports,"PdExpandableCard",{enumerable:!0,get:()=>i.PdExpandableCard});Object.defineProperty(exports,"PdCheckbox",{enumerable:!0,get:()=>b.PdCheckbox});Object.defineProperty(exports,"PdChip",{enumerable:!0,get:()=>m.PdChip});Object.defineProperty(exports,"PdFab",{enumerable:!0,get:()=>s.PdFab});Object.defineProperty(exports,"PdIconButton",{enumerable:!0,get:()=>a.PdIconButton});Object.defineProperty(exports,"PdList",{enumerable:!0,get:()=>e.PdList});Object.defineProperty(exports,"PdListDivider",{enumerable:!0,get:()=>e.PdListDivider});Object.defineProperty(exports,"PdListItem",{enumerable:!0,get:()=>e.PdListItem});Object.defineProperty(exports,"PdMenu",{enumerable:!0,get:()=>l.PdMenu});Object.defineProperty(exports,"PdMenuItemM",{enumerable:!0,get:()=>g.PdMenuItemM});Object.defineProperty(exports,"PdProgress",{enumerable:!0,get:()=>y.PdProgress});Object.defineProperty(exports,"PdRadio",{enumerable:!0,get:()=>t.PdRadio});Object.defineProperty(exports,"PdRadioGroup",{enumerable:!0,get:()=>t.PdRadioGroup});Object.defineProperty(exports,"PdSelect",{enumerable:!0,get:()=>f.PdSelect});Object.defineProperty(exports,"PdSlider",{enumerable:!0,get:()=>j.PdSlider});Object.defineProperty(exports,"PdSwitch",{enumerable:!0,get:()=>O.PdSwitch});Object.defineProperty(exports,"PdTab",{enumerable:!0,get:()=>r.PdTab});Object.defineProperty(exports,"PdTabs",{enumerable:!0,get:()=>r.PdTabs});Object.defineProperty(exports,"PdSegmentItem",{enumerable:!0,get:()=>n.PdSegmentItem});Object.defineProperty(exports,"PdSegmentedButton",{enumerable:!0,get:()=>n.PdSegmentedButton});Object.defineProperty(exports,"PdSegmentedStepper",{enumerable:!0,get:()=>d.PdSegmentedStepper});Object.defineProperty(exports,"PdStepperItem",{enumerable:!0,get:()=>d.PdStepperItem});Object.defineProperty(exports,"PdStepper",{enumerable:!0,get:()=>S.PdStepper});
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("lit"),o=require("lit/decorators.js");require("@material/web/button/filled-button.js");require("@material/web/button/outlined-button.js");require("@material/web/button/text-button.js");require("@material/web/button/elevated-button.js");require("@material/web/button/filled-tonal-button.js");require("@material/web/icon/icon.js");const B=require("lit/static-html.js");require("@material/web/textfield/filled-text-field.js");require("@material/web/textfield/outlined-text-field.js");require("@material/web/dialog/dialog.js");require("@material/web/iconbutton/icon-button.js");const L=require("lit/directives/if-defined.js");require("@material/web/checkbox/checkbox.js");require("@material/web/chips/assist-chip.js");require("@material/web/chips/filter-chip.js");require("@material/web/chips/input-chip.js");require("@material/web/chips/suggestion-chip.js");require("@material/web/fab/fab.js");require("@material/web/fab/branded-fab.js");require("@material/web/iconbutton/filled-icon-button.js");require("@material/web/iconbutton/filled-tonal-icon-button.js");require("@material/web/iconbutton/outlined-icon-button.js");require("@material/web/list/list.js");require("@material/web/list/list-item.js");require("@material/web/divider/divider.js");require("@material/web/menu/menu.js");require("@material/web/menu/menu-item.js");require("@material/web/progress/circular-progress.js");require("@material/web/progress/linear-progress.js");require("@material/web/radio/radio.js");require("@material/web/select/filled-select.js");require("@material/web/select/outlined-select.js");require("@material/web/select/select-option.js");require("@material/web/slider/slider.js");require("@material/web/switch/switch.js");require("@material/web/tabs/tabs.js");require("@material/web/tabs/primary-tab.js");require("@material/web/tabs/secondary-tab.js");const O=require("lit/directives/class-map.js");var z=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdButton=class extends s.LitElement{constructor(){super(...arguments),this.variant="filled",this.size="medium",this.icon="",this.iconTrailing=!1,this.disabled=!1}getButtonTemplate(){const e=this.iconTrailing?"trailing-icon":"icon",t=this.icon?s.html`<md-icon slot="${e}">${this.icon}</md-icon>`:"",r=s.html`${this.iconTrailing?"":t}<slot></slot>${this.iconTrailing?t:""}`;switch(this.variant){case"outlined":return s.html`<md-outlined-button ?disabled=${this.disabled}>${r}</md-outlined-button>`;case"text":return s.html`<md-text-button ?disabled=${this.disabled}>${r}</md-text-button>`;case"elevated":return s.html`<md-elevated-button ?disabled=${this.disabled}>${r}</md-elevated-button>`;case"tonal":return s.html`<md-filled-tonal-button ?disabled=${this.disabled}>${r}</md-filled-tonal-button>`;default:return s.html`<md-filled-button ?disabled=${this.disabled}>${r}</md-filled-button>`}}render(){return this.getButtonTemplate()}};exports.PdButton.styles=s.css`
2
+ :host {
3
+ display: inline-flex;
4
+ /* We set a default shape for ALL Prioticket buttons. */
5
+ --md-filled-button-container-shape: var(--md-sys-shape-corner-small);
6
+ --md-outlined-button-container-shape: var(--md-sys-shape-corner-small);
7
+ --md-text-button-container-shape: var(--md-sys-shape-corner-small);
8
+ --md-elevated-button-container-shape: var(--md-sys-shape-corner-small);
9
+ --md-filled-tonal-button-container-shape: var(--md-sys-shape-corner-small);
10
+ }
11
+
12
+ /* We target the inner Material Web buttons to apply our specific styles. */
13
+ md-filled-button,
14
+ md-outlined-button,
15
+ md-text-button,
16
+ md-elevated-button,
17
+ md-filled-tonal-button {
18
+ width: 100%;
19
+ /* Transition for smooth visual feedback */
20
+ transition: all 150ms ease-in-out;
21
+ }
22
+
23
+ /* --- Size Variant Logic --- */
24
+ :host([size='xsmall']) md-filled-button,
25
+ :host([size='xsmall']) md-outlined-button,
26
+ :host([size='xsmall']) md-text-button,
27
+ :host([size='xsmall']) md-elevated-button,
28
+ :host([size='xsmall']) md-filled-tonal-button {
29
+ --md-filled-button-container-height: var(--md-sys-button-container-height-xsmall, 1.75rem);
30
+ --md-outlined-button-container-height: var(--md-sys-button-container-height-xsmall, 1.75rem);
31
+ --md-text-button-container-height: var(--md-sys-button-container-height-xsmall, 1.75rem);
32
+ --md-elevated-button-container-height: var(--md-sys-button-container-height-xsmall, 1.75rem);
33
+ --md-filled-tonal-button-container-height: var(--md-sys-button-container-height-xsmall, 1.75rem);
34
+ font-size: var(--md-sys-typescale-label-small-size);
35
+ font-weight: var(--md-sys-typescale-label-small-weight);
36
+ }
37
+
38
+ :host([size='small']) md-filled-button,
39
+ :host([size='small']) md-outlined-button,
40
+ :host([size='small']) md-text-button,
41
+ :host([size='small']) md-elevated-button,
42
+ :host([size='small']) md-filled-tonal-button {
43
+ --md-filled-button-container-height: var(--md-sys-button-container-height-small, 2rem);
44
+ --md-outlined-button-container-height: var(--md-sys-button-container-height-small, 2rem);
45
+ --md-text-button-container-height: var(--md-sys-button-container-height-small, 2rem);
46
+ --md-elevated-button-container-height: var(--md-sys-button-container-height-small, 2rem);
47
+ --md-filled-tonal-button-container-height: var(--md-sys-button-container-height-small, 2rem);
48
+ font-size: var(--md-sys-typescale-label-medium-size);
49
+ font-weight: var(--md-sys-typescale-label-medium-weight);
50
+ }
51
+
52
+ :host([size='medium']) md-filled-button,
53
+ :host([size='medium']) md-outlined-button,
54
+ :host([size='medium']) md-text-button,
55
+ :host([size='medium']) md-elevated-button,
56
+ :host([size='medium']) md-filled-tonal-button {
57
+ --md-filled-button-container-height: var(--md-sys-button-container-height-medium, 2.5rem);
58
+ --md-outlined-button-container-height: var(--md-sys-button-container-height-medium, 2.5rem);
59
+ --md-text-button-container-height: var(--md-sys-button-container-height-medium, 2.5rem);
60
+ --md-elevated-button-container-height: var(--md-sys-button-container-height-medium, 2.5rem);
61
+ --md-filled-tonal-button-container-height: var(--md-sys-button-container-height-medium, 2.5rem);
62
+ font-size: var(--md-sys-typescale-label-large-size);
63
+ font-weight: var(--md-sys-typescale-label-large-weight);
64
+ }
65
+
66
+ :host([size='large']) md-filled-button,
67
+ :host([size='large']) md-outlined-button,
68
+ :host([size='large']) md-text-button,
69
+ :host([size='large']) md-elevated-button,
70
+ :host([size='large']) md-filled-tonal-button {
71
+ --md-filled-button-container-height: var(--md-sys-button-container-height-large, 3rem);
72
+ --md-outlined-button-container-height: var(--md-sys-button-container-height-large, 3rem);
73
+ --md-text-button-container-height: var(--md-sys-button-container-height-large, 3rem);
74
+ --md-elevated-button-container-height: var(--md-sys-button-container-height-large, 3rem);
75
+ --md-filled-tonal-button-container-height: var(--md-sys-button-container-height-large, 3rem);
76
+ font-size: var(--md-sys-typescale-title-small-size);
77
+ font-weight: var(--md-sys-typescale-title-small-weight);
78
+ }
79
+
80
+ :host([size='xlarge']) md-filled-button,
81
+ :host([size='xlarge']) md-outlined-button,
82
+ :host([size='xlarge']) md-text-button,
83
+ :host([size='xlarge']) md-elevated-button,
84
+ :host([size='xlarge']) md-filled-tonal-button {
85
+ --md-filled-button-container-height: var(--md-sys-button-container-height-xlarge, 3.5rem);
86
+ --md-outlined-button-container-height: var(--md-sys-button-container-height-xlarge, 3.5rem);
87
+ --md-text-button-container-height: var(--md-sys-button-container-height-xlarge, 3.5rem);
88
+ --md-elevated-button-container-height: var(--md-sys-button-container-height-xlarge, 3.5rem);
89
+ --md-filled-tonal-button-container-height: var(--md-sys-button-container-height-xlarge, 3.5rem);
90
+ font-size: var(--md-sys-typescale-title-medium-size);
91
+ font-weight: var(--md-sys-typescale-title-medium-weight);
92
+ }
93
+
94
+ /* --- Icon Logic --- */
95
+ /* The ::slotted selector allows us to style content passed into the slot */
96
+ ::slotted(span) {
97
+ display: inline-block;
98
+ }
99
+ `;z([o.property({type:String})],exports.PdButton.prototype,"variant",void 0);z([o.property({type:String,reflect:!0})],exports.PdButton.prototype,"size",void 0);z([o.property({type:String})],exports.PdButton.prototype,"icon",void 0);z([o.property({type:Boolean,attribute:"icon-trailing"})],exports.PdButton.prototype,"iconTrailing",void 0);z([o.property({type:Boolean,reflect:!0})],exports.PdButton.prototype,"disabled",void 0);exports.PdButton=z([o.customElement("pd-button")],exports.PdButton);var c=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdTextField=class extends s.LitElement{constructor(){super(...arguments),this.variant="outlined",this.label="",this.placeholder="",this.value="",this.supportingText="",this.errorText="",this.prefixText="",this.suffixText="",this.disabled=!1,this.readonly=!1,this.required=!1,this.error=!1,this.type="text",this.rows=2,this.cols=20,this.leadingIcon="",this.trailingIcon=""}getTextFieldTemplate(){const e=this.leadingIcon?s.html`<md-icon slot="leadingicon">${this.leadingIcon}</md-icon>`:"",t=this.trailingIcon?s.html`<md-icon slot="trailingicon">${this.trailingIcon}</md-icon>`:"",r=s.html`${e}${t}`,a={label:this.label||"",placeholder:this.placeholder||"",value:this.value||"","supporting-text":this.supportingText||"","error-text":this.errorText||"","prefix-text":this.prefixText||"","suffix-text":this.suffixText||"",disabled:this.disabled,required:this.required,error:this.error,maxlength:this.maxlength,minlength:this.minlength};if(this.type==="textarea"){const i=this.variant==="filled"?"md-filled-text-field":"md-outlined-text-field",n=B.unsafeStatic(i);return B.html`
100
+ <${n}
101
+ type="textarea"
102
+ rows=${this.rows}
103
+ cols=${this.cols}
104
+ .label=${a.label}
105
+ .placeholder=${a.placeholder}
106
+ .value=${a.value}
107
+ supporting-text=${a["supporting-text"]}
108
+ error-text=${a["error-text"]}
109
+ prefix-text=${a["prefix-text"]}
110
+ suffix-text=${a["suffix-text"]}
111
+ maxlength=${a.maxlength||s.nothing}
112
+ minlength=${a.minlength||s.nothing}
113
+ ?disabled=${a.disabled}
114
+ ?required=${a.required}
115
+ ?error=${a.error}
116
+ @input=${this._handleInput}
117
+ @change=${this._handleChange}
118
+ >
119
+ ${r}
120
+ </${n}>
121
+ `}else return this.variant==="filled"?s.html`
122
+ <md-filled-text-field
123
+ type=${this.type||"text"}
124
+ .label=${a.label}
125
+ .placeholder=${a.placeholder}
126
+ .value=${a.value}
127
+ supporting-text=${a["supporting-text"]}
128
+ error-text=${a["error-text"]}
129
+ prefix-text=${a["prefix-text"]}
130
+ suffix-text=${a["suffix-text"]}
131
+ ?disabled=${a.disabled}
132
+ ?required=${a.required}
133
+ ?error=${a.error}
134
+ maxlength=${a.maxlength||s.nothing}
135
+ minlength=${a.minlength||s.nothing}
136
+ @input=${this._handleInput}
137
+ @change=${this._handleChange}
138
+ >
139
+ ${r}
140
+ </md-filled-text-field>
141
+ `:s.html`
142
+ <md-outlined-text-field
143
+ type=${this.type||"text"}
144
+ .label=${a.label}
145
+ .placeholder=${a.placeholder}
146
+ .value=${a.value}
147
+ supporting-text=${a["supporting-text"]}
148
+ error-text=${a["error-text"]}
149
+ prefix-text=${a["prefix-text"]}
150
+ suffix-text=${a["suffix-text"]}
151
+ ?disabled=${a.disabled}
152
+ ?required=${a.required}
153
+ ?error=${a.error}
154
+ maxlength=${a.maxlength||s.nothing}
155
+ minlength=${a.minlength||s.nothing}
156
+ @input=${this._handleInput}
157
+ @change=${this._handleChange}
158
+ >
159
+ ${r}
160
+ </md-outlined-text-field>
161
+ `}render(){return this.getTextFieldTemplate()}_handleInput(e){const t=e.target;this.value=t.value,this.dispatchEvent(new CustomEvent("input",{detail:{value:t.value},bubbles:!0}))}_handleChange(e){const t=e.target;this.value=t.value,this.dispatchEvent(new CustomEvent("change",{detail:{value:t.value},bubbles:!0}))}};exports.PdTextField.styles=s.css`
162
+ :host {
163
+ display: block;
164
+ width: 100%;
165
+ /* Set default shape for ALL Prioticket text fields */
166
+ --md-filled-text-field-container-shape: var(--md-sys-shape-corner-small);
167
+ --md-outlined-text-field-container-shape: var(--md-sys-shape-corner-small);
168
+ }
169
+
170
+ md-filled-text-field,
171
+ md-outlined-text-field {
172
+ width: 100%;
173
+ display: block;
174
+ /* Transition for smooth visual feedback */
175
+ transition: all 150ms ease-in-out;
176
+ }
177
+
178
+ /* Textarea specific styling */
179
+ md-filled-text-field[type="textarea"],
180
+ md-outlined-text-field[type="textarea"] {
181
+ min-height: 100px;
182
+ resize: vertical;
183
+ }
184
+ `;c([o.property({type:String})],exports.PdTextField.prototype,"variant",void 0);c([o.property({type:String})],exports.PdTextField.prototype,"label",void 0);c([o.property({type:String})],exports.PdTextField.prototype,"placeholder",void 0);c([o.property({type:String})],exports.PdTextField.prototype,"value",void 0);c([o.property({type:String,attribute:"supporting-text"})],exports.PdTextField.prototype,"supportingText",void 0);c([o.property({type:String,attribute:"error-text"})],exports.PdTextField.prototype,"errorText",void 0);c([o.property({type:String,attribute:"prefix-text"})],exports.PdTextField.prototype,"prefixText",void 0);c([o.property({type:String,attribute:"suffix-text"})],exports.PdTextField.prototype,"suffixText",void 0);c([o.property({type:Boolean})],exports.PdTextField.prototype,"disabled",void 0);c([o.property({type:Boolean})],exports.PdTextField.prototype,"readonly",void 0);c([o.property({type:Boolean})],exports.PdTextField.prototype,"required",void 0);c([o.property({type:Boolean})],exports.PdTextField.prototype,"error",void 0);c([o.property({type:String})],exports.PdTextField.prototype,"type",void 0);c([o.property({type:Number})],exports.PdTextField.prototype,"rows",void 0);c([o.property({type:Number})],exports.PdTextField.prototype,"cols",void 0);c([o.property({type:String})],exports.PdTextField.prototype,"leadingIcon",void 0);c([o.property({type:String})],exports.PdTextField.prototype,"trailingIcon",void 0);c([o.property({type:Number})],exports.PdTextField.prototype,"maxlength",void 0);c([o.property({type:Number})],exports.PdTextField.prototype,"minlength",void 0);exports.PdTextField=c([o.customElement("pd-text-field")],exports.PdTextField);var T=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdCard=class extends s.LitElement{constructor(){super(...arguments),this.variant="elevated",this.clickable=!1}render(){const e=`card ${this.variant}${this.clickable?" clickable":""}`;return s.html`
185
+ <div class="${e}" @click=${this.clickable?this._handleClick:void 0}>
186
+ <slot></slot>
187
+ </div>
188
+ `}_handleClick(){this.clickable&&this.dispatchEvent(new CustomEvent("click",{bubbles:!0,composed:!0}))}};exports.PdCard.styles=s.css`
189
+ :host {
190
+ display: block;
191
+ font-family: var(--md-sys-typescale-body-large-font, 'Proxima Nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
192
+ }
193
+
194
+ .card {
195
+ border-radius: var(--md-sys-shape-corner-small, 5px);
196
+ padding: 16px;
197
+ transition: all 0.2s ease;
198
+ position: relative;
199
+ overflow: hidden;
200
+ }
201
+
202
+ .card.elevated {
203
+ background: var(--md-sys-color-surface, #ffffff);
204
+ color: var(--md-sys-color-on-surface, #000000);
205
+ box-shadow:
206
+ 0px 1px 2px rgba(0, 0, 0, 0.3),
207
+ 0px 1px 3px 1px rgba(0, 0, 0, 0.15);
208
+ }
209
+
210
+ .card.filled {
211
+ background: var(--md-sys-color-surface-variant, #f3f3f3);
212
+ color: var(--md-sys-color-on-surface-variant, #000000);
213
+ }
214
+
215
+ .card.outlined {
216
+ background: var(--md-sys-color-surface, #ffffff);
217
+ color: var(--md-sys-color-on-surface, #000000);
218
+ border: 1px solid var(--md-sys-color-outline, #cccccc);
219
+ }
220
+
221
+ .card.clickable {
222
+ cursor: pointer;
223
+ user-select: none;
224
+ }
225
+
226
+ .card.clickable:hover {
227
+ filter: brightness(0.95);
228
+ }
229
+
230
+ .card.clickable.elevated:hover {
231
+ box-shadow:
232
+ 0px 2px 6px 2px rgba(0, 0, 0, 0.15),
233
+ 0px 1px 2px rgba(0, 0, 0, 0.3);
234
+ }
235
+
236
+ .card.clickable:active {
237
+ filter: brightness(0.9);
238
+ }
239
+
240
+ /* Material Web Components will use --md-* design tokens directly */
241
+ /* Tokens will be provided by separate theme file with --md-* naming */
242
+ `;T([o.property({type:String})],exports.PdCard.prototype,"variant",void 0);T([o.property({type:Boolean})],exports.PdCard.prototype,"clickable",void 0);exports.PdCard=T([o.customElement("pd-card")],exports.PdCard);var I=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdIcon=class extends s.LitElement{constructor(){super(...arguments),this.name="",this.size="medium",this.variant="filled"}render(){return s.html`
243
+ <md-icon class="icon ${this.size}">
244
+ ${this.name}
245
+ </md-icon>
246
+ `}};exports.PdIcon.styles=s.css`
247
+ :host {
248
+ display: inline-flex;
249
+ align-items: center;
250
+ justify-content: center;
251
+ }
252
+
253
+ .icon {
254
+ color: var(--md-sys-color-on-surface, #000000);
255
+ transition: color var(--md-sys-transition-duration, 0.2s) ease;
256
+ user-select: none;
257
+ }
258
+
259
+ .icon.small {
260
+ font-size: var(--md-sys-icon-size-small, 18px);
261
+ width: var(--md-sys-icon-size-small, 18px);
262
+ height: var(--md-sys-icon-size-small, 18px);
263
+ }
264
+
265
+ .icon.medium {
266
+ font-size: var(--md-sys-icon-size-medium, 24px);
267
+ width: var(--md-sys-icon-size-medium, 24px);
268
+ height: var(--md-sys-icon-size-medium, 24px);
269
+ }
270
+
271
+ .icon.large {
272
+ font-size: var(--md-sys-icon-size-large, 32px);
273
+ width: var(--md-sys-icon-size-large, 32px);
274
+ height: var(--md-sys-icon-size-large, 32px);
275
+ }
276
+
277
+ /* Clickable state */
278
+ :host([clickable]) .icon {
279
+ cursor: pointer;
280
+ border-radius: var(--md-sys-shape-corner-small, 4px);
281
+ padding: var(--md-sys-padding-200, 8px);
282
+ transition: background-color var(--md-sys-transition-duration, 0.2s) ease, color var(--md-sys-transition-duration, 0.2s) ease;
283
+ }
284
+
285
+ :host([clickable]) .icon:hover {
286
+ background-color: var(--md-sys-color-primary-container, rgba(103, 80, 164, 0.08));
287
+ }
288
+
289
+ :host([clickable]) .icon:active {
290
+ background-color: var(--md-sys-color-primary-container, rgba(103, 80, 164, 0.12));
291
+ }
292
+
293
+ /* Color variants */
294
+ :host([color="primary"]) .icon {
295
+ color: var(--md-sys-color-primary, #6750a4);
296
+ }
297
+
298
+ :host([color="secondary"]) .icon {
299
+ color: var(--md-sys-color-secondary, #625b71);
300
+ }
301
+
302
+ :host([color="error"]) .icon {
303
+ color: var(--md-sys-color-error, #ba1a1a);
304
+ }
305
+
306
+ :host([color="success"]) .icon {
307
+ color: var(--md-sys-color-tertiary, #7d5260);
308
+ }
309
+
310
+ /* Material Web Components will use --md-* design tokens directly */
311
+ /* Tokens will be provided by separate theme file with --md-* naming */
312
+ `;I([o.property({type:String})],exports.PdIcon.prototype,"name",void 0);I([o.property({type:String})],exports.PdIcon.prototype,"size",void 0);I([o.property({type:String})],exports.PdIcon.prototype,"variant",void 0);exports.PdIcon=I([o.customElement("pd-icon")],exports.PdIcon);var $=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdDialog=class extends s.LitElement{constructor(){super(...arguments),this.open=!1,this.size="medium",this.variant="custom",this.headline="",this.primaryAction="",this.secondaryAction="",this.closableByBackdrop=!0,this.showCloseButton=!1}openDialog(){this.open=!0,this.dialogElement?.show?.()}closeDialog(){this.open=!1,this.dialogElement?.close?.()}toggle(){this.open?this.closeDialog():this.openDialog()}handleDialogOpen(){this.open=!0,this.dispatchEvent(new CustomEvent("open",{detail:{dialog:this},bubbles:!0}))}handleDialogClose(){this.open=!1,this.dispatchEvent(new CustomEvent("closed",{detail:{dialog:this},bubbles:!0}))}handlePrimaryAction(){this.dispatchEvent(new CustomEvent("primary-action",{detail:{dialog:this},bubbles:!0})),this.closeDialog()}handleSecondaryAction(){this.dispatchEvent(new CustomEvent("secondary-action",{detail:{dialog:this},bubbles:!0})),this.closeDialog()}render(){return s.html`
313
+ <md-dialog
314
+ ?open=${this.open}
315
+ ?no-focus-trap=${!this.closableByBackdrop}
316
+ @open=${this.handleDialogOpen}
317
+ @closed=${this.handleDialogClose}
318
+ @cancel=${e=>{this.closableByBackdrop||e.preventDefault()}}
319
+ >
320
+ ${this.headline||this.showCloseButton?s.html`
321
+ <div slot="headline" class="headline-container">
322
+ ${this.headline?s.html`<span class="headline-text">${this.headline}</span>`:""}
323
+ ${this.showCloseButton?s.html`
324
+ <md-text-button
325
+ class="close-button"
326
+ @click=${this.closeDialog}
327
+ aria-label="Close dialog"
328
+ >
329
+ <md-icon slot="icon">close</md-icon>
330
+ </md-text-button>
331
+ `:""}
332
+ </div>
333
+ `:""}
334
+
335
+ <div slot="content" class="content-container">
336
+ <slot></slot>
337
+ </div>
338
+
339
+ ${this.primaryAction||this.secondaryAction?s.html`
340
+ <div slot="actions" class="actions-container">
341
+ ${this.secondaryAction?s.html`
342
+ <md-text-button
343
+ class="secondary-action"
344
+ @click=${this.handleSecondaryAction}
345
+ >
346
+ ${this.secondaryAction}
347
+ </md-text-button>
348
+ `:""}
349
+ ${this.primaryAction?s.html`
350
+ <md-filled-button
351
+ class="primary-action"
352
+ @click=${this.handlePrimaryAction}
353
+ >
354
+ ${this.primaryAction}
355
+ </md-filled-button>
356
+ `:""}
357
+ <slot name="actions"></slot>
358
+ </div>
359
+ `:s.html`<slot name="actions" slot="actions"></slot>`}
360
+ </md-dialog>
361
+ `}};exports.PdDialog.styles=s.css`
362
+ :host {
363
+ /* Set default shape for ALL Prioticket dialogs to match card styling */
364
+ --md-dialog-container-shape: var(--md-sys-shape-corner-small);
365
+ }
366
+
367
+ md-dialog {
368
+ /* Dialog transitions and animations */
369
+ transition: all 200ms ease-in-out;
370
+
371
+ /* Material Web dialog customization */
372
+ --md-dialog-headline-color: var(--md-sys-color-on-surface);
373
+ --md-dialog-supporting-text-color: var(--md-sys-color-on-surface-variant);
374
+ --md-dialog-container-color: var(--md-sys-color-surface);
375
+ }
376
+
377
+ .headline-container {
378
+ display: flex;
379
+ justify-content: space-between;
380
+ align-items: center;
381
+ gap: var(--md-sys-spacing-400, 16px);
382
+ width: 100%;
383
+ }
384
+
385
+ .headline-text {
386
+ font-family: var(--md-sys-typescale-headline-small-font);
387
+ font-size: var(--md-sys-typescale-headline-small-size);
388
+ font-weight: var(--md-sys-typescale-headline-small-weight);
389
+ line-height: var(--md-sys-typescale-headline-small-line-height);
390
+ color: var(--md-sys-color-on-surface);
391
+ flex: 1;
392
+ }
393
+
394
+ .close-button {
395
+ flex-shrink: 0;
396
+ --md-text-button-label-text-size: 0; /* Hide text, show only icon */
397
+ }
398
+
399
+ .content-container {
400
+ font-family: var(--md-sys-typescale-body-medium-font);
401
+ font-size: var(--md-sys-typescale-body-medium-size);
402
+ font-weight: var(--md-sys-typescale-body-medium-weight);
403
+ line-height: var(--md-sys-typescale-body-medium-line-height);
404
+ color: var(--md-sys-color-on-surface-variant);
405
+ }
406
+
407
+ .actions-container {
408
+ display: flex;
409
+ justify-content: flex-end;
410
+ gap: 8px;
411
+ align-items: center;
412
+ }
413
+
414
+ /* --- Size Variants --- */
415
+ :host([size='small']) md-dialog {
416
+ --md-dialog-container-max-width: var(--md-sys-dialog-container-max-width-small, 320px);
417
+ }
418
+
419
+ :host([size='medium']) md-dialog {
420
+ --md-dialog-container-max-width: var(--md-sys-dialog-container-max-width-medium, 560px);
421
+ }
422
+
423
+ :host([size='large']) md-dialog {
424
+ --md-dialog-container-max-width: var(--md-sys-dialog-container-max-width-large, 800px);
425
+ }
426
+
427
+ :host([size='fullscreen']) md-dialog {
428
+ --md-dialog-container-max-width: var(--md-sys-dialog-container-max-width-fullscreen, 100vw);
429
+ --md-dialog-container-max-height: var(--md-sys-dialog-container-max-height-fullscreen, 100vh);
430
+ --md-dialog-container-inset-block-start: 0;
431
+ --md-dialog-container-inset-inline-start: 0;
432
+ --md-dialog-container-inset-inline-end: 0;
433
+ --md-dialog-container-inset-block-end: 0;
434
+ }
435
+
436
+ /* --- Variant Styles --- */
437
+ :host([variant='alert']) .content-container {
438
+ padding: var(--md-sys-padding-200, 8px) 0;
439
+ }
440
+
441
+ :host([variant='confirm']) .actions-container {
442
+ gap: var(--md-sys-spacing-300, 12px);
443
+ }
444
+
445
+ :host([variant='form']) .content-container {
446
+ padding: var(--md-sys-padding-400, 16px) 0;
447
+ }
448
+
449
+ /* Responsive adjustments */
450
+ @media (max-width: 768px) {
451
+ md-dialog {
452
+ --md-dialog-container-inset-inline-start: var(--md-sys-spacing-400, 16px);
453
+ --md-dialog-container-inset-inline-end: var(--md-sys-spacing-400, 16px);
454
+ }
455
+
456
+ :host([size='small']) md-dialog,
457
+ :host([size='medium']) md-dialog,
458
+ :host([size='large']) md-dialog {
459
+ --md-dialog-container-max-width: calc(100vw - var(--md-sys-spacing-800, 32px));
460
+ }
461
+
462
+ :host([size='fullscreen']) md-dialog {
463
+ --md-dialog-container-inset-inline-start: 0;
464
+ --md-dialog-container-inset-inline-end: 0;
465
+ }
466
+
467
+ .actions-container {
468
+ flex-direction: column-reverse;
469
+ gap: var(--md-sys-spacing-200, 8px);
470
+ }
471
+
472
+ .actions-container md-filled-button,
473
+ .actions-container md-text-button {
474
+ width: var(--md-sys-dialog-action-button-width-mobile, 100%);
475
+ --md-filled-button-container-width: var(--md-sys-dialog-action-button-width-mobile, 100%);
476
+ --md-text-button-container-width: var(--md-sys-dialog-action-button-width-mobile, 100%);
477
+ }
478
+ }
479
+
480
+ /* Enhanced Material Web styling */
481
+ md-dialog::part(scrim) {
482
+ --md-dialog-scrim-opacity: 0.32;
483
+ }
484
+
485
+ /* Button styling to match pd-button component */
486
+ .primary-action,
487
+ .secondary-action,
488
+ .close-button {
489
+ /* Apply same border radius as pd-button component */
490
+ --md-filled-button-container-shape: var(--md-sys-shape-corner-small);
491
+ --md-text-button-container-shape: var(--md-sys-shape-corner-small);
492
+ /* Smooth transitions like pd-button */
493
+ transition: all 150ms ease-in-out;
494
+ }
495
+
496
+ /* Focus and interaction states */
497
+ .primary-action {
498
+ --md-filled-button-hover-state-layer-color: var(--md-sys-color-primary);
499
+ --md-filled-button-pressed-state-layer-color: var(--md-sys-color-primary);
500
+ }
501
+
502
+ .secondary-action {
503
+ --md-text-button-hover-state-layer-color: var(--md-sys-color-primary);
504
+ --md-text-button-pressed-state-layer-color: var(--md-sys-color-primary);
505
+ }
506
+ `;$([o.property({type:Boolean,reflect:!0})],exports.PdDialog.prototype,"open",void 0);$([o.property({type:String})],exports.PdDialog.prototype,"size",void 0);$([o.property({type:String})],exports.PdDialog.prototype,"variant",void 0);$([o.property({type:String})],exports.PdDialog.prototype,"headline",void 0);$([o.property({type:String,attribute:"primary-action"})],exports.PdDialog.prototype,"primaryAction",void 0);$([o.property({type:String,attribute:"secondary-action"})],exports.PdDialog.prototype,"secondaryAction",void 0);$([o.property({type:Boolean,attribute:"closable-by-backdrop"})],exports.PdDialog.prototype,"closableByBackdrop",void 0);$([o.property({type:Boolean,attribute:"show-close-button"})],exports.PdDialog.prototype,"showCloseButton",void 0);$([o.query("md-dialog")],exports.PdDialog.prototype,"dialogElement",void 0);exports.PdDialog=$([o.customElement("pd-dialog")],exports.PdDialog);var E=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdExpandableCard=class extends s.LitElement{constructor(){super(...arguments),this.variant="elevated",this.expanded=!1,this.expandIcon="keyboard_arrow_down",this.collapseIcon="keyboard_arrow_up",this.headerClickable=!1,this._expanded=!1}connectedCallback(){super.connectedCallback(),this._expanded=this.expanded}toggle(){this._expanded=!this._expanded,this._dispatchExpandEvent()}expand(){this._expanded||(this._expanded=!0,this._dispatchExpandEvent())}collapse(){this._expanded&&(this._expanded=!1,this._dispatchExpandEvent())}_dispatchExpandEvent(){const e=this._expanded?"expand":"collapse";this.dispatchEvent(new CustomEvent(e,{detail:{expanded:this._expanded},bubbles:!0,composed:!0}))}_handleToggle(){this.toggle()}_handleHeaderClick(e){this.headerClickable&&(e.target.closest("md-icon-button")||this.toggle())}render(){const e=`card ${this.variant}`;return s.html`
507
+ <div class="${e}">
508
+
509
+ <div
510
+ class="header ${this.headerClickable?"clickable":""}"
511
+ @click=${this._handleHeaderClick}
512
+ >
513
+ <div class="header-content">
514
+ <slot name="header"></slot>
515
+ </div>
516
+ <md-icon-button
517
+ class="expand-button"
518
+ @click=${this._handleToggle}
519
+ aria-label=${this._expanded?"Collapse":"Expand"}
520
+ >
521
+ <md-icon class="expand-icon ${this._expanded?"expanded":""}">${this.expandIcon}</md-icon>
522
+ </md-icon-button>
523
+ </div>
524
+
525
+ <div class="content ${this._expanded?"expanded":"collapsed"}">
526
+ <div class="content-inner">
527
+ <slot></slot>
528
+ </div>
529
+ </div>
530
+ </div>
531
+ `}};exports.PdExpandableCard.styles=s.css`
532
+ :host {
533
+ display: block;
534
+ font-family: var(--md-sys-typescale-body-large-font, 'Proxima Nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
535
+ font-weight: var(--md-sys-typescale-body-large-weight, 400);
536
+ }
537
+
538
+ .card {
539
+ border-radius: var(--md-sys-shape-corner-small, 12px);
540
+ overflow: hidden;
541
+ transition: all var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-standard, ease);
542
+ position: relative;
543
+ }
544
+
545
+ .card.elevated {
546
+ background: var(--md-sys-color-surface, #ffffff);
547
+ color: var(--md-sys-color-on-surface, #000000);
548
+ box-shadow: var(--md-sys-elevation-level1, 0px 1px 2px rgba(0, 0, 0, 0.3), 0px 1px 3px 1px rgba(0, 0, 0, 0.15));
549
+ }
550
+
551
+ .card.filled {
552
+ background: var(--md-sys-color-surface-variant, #f3f3f3);
553
+ color: var(--md-sys-color-on-surface-variant, #000000);
554
+ }
555
+
556
+ .card.outlined {
557
+ background: var(--md-sys-color-surface, #ffffff);
558
+ color: var(--md-sys-color-on-surface, #000000);
559
+ border: 1px solid var(--md-sys-color-outline, #cccccc);
560
+ }
561
+
562
+ /* Header */
563
+ .header {
564
+ display: flex;
565
+ align-items: center;
566
+ justify-content: space-between;
567
+ padding: var(--md-sys-spacing-400, 16px);
568
+ min-height: 48px;
569
+ }
570
+
571
+ .header.clickable {
572
+ cursor: pointer;
573
+ user-select: none;
574
+ }
575
+
576
+ .header.clickable:hover {
577
+ background: var(--md-sys-color-primary-container, rgba(103, 80, 164, 0.08));
578
+ }
579
+
580
+ .header-content {
581
+ flex: 1;
582
+ display: flex;
583
+ align-items: center;
584
+ gap: var(--md-sys-spacing-300, 12px);
585
+ }
586
+
587
+ ::slotted(*) {
588
+ font-family: "Proxima Nova", Arial, sans-serif !important;
589
+ }
590
+
591
+ /* Expand button */
592
+ .expand-button {
593
+ flex-shrink: 0;
594
+ --md-icon-button-icon-size: 24px;
595
+ --md-icon-button-state-layer-size: 40px;
596
+ }
597
+
598
+ .expand-icon {
599
+ transition: transform var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-emphasized, ease);
600
+ }
601
+
602
+ .expand-icon.expanded {
603
+ transform: rotate(180deg);
604
+ }
605
+
606
+ /* Content */
607
+ .content {
608
+ overflow: hidden;
609
+ transition: all var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-emphasized, ease);
610
+ }
611
+
612
+ .content.collapsed {
613
+ max-height: 0;
614
+ opacity: 0;
615
+ }
616
+
617
+ .content.expanded {
618
+ max-height: 1000px; /* Large enough for most content */
619
+ opacity: 1;
620
+ }
621
+
622
+ .content-inner {
623
+ padding: 0 var(--md-sys-spacing-400, 16px) var(--md-sys-spacing-400, 16px);
624
+ }
625
+
626
+ /* Accessibility */
627
+ @media (prefers-reduced-motion: reduce) {
628
+ .card,
629
+ .expand-icon,
630
+ .content {
631
+ transition: none;
632
+ }
633
+ }
634
+
635
+ /* Focus styles */
636
+ .expand-button:focus-visible {
637
+ outline: 2px solid var(--md-sys-color-primary, #6750a4);
638
+ outline-offset: 2px;
639
+ }
640
+
641
+ .header.clickable:focus-visible {
642
+ outline: 2px solid var(--md-sys-color-primary, #6750a4);
643
+ outline-offset: -2px;
644
+ }
645
+ `;E([o.property({type:String})],exports.PdExpandableCard.prototype,"variant",void 0);E([o.property({type:Boolean})],exports.PdExpandableCard.prototype,"expanded",void 0);E([o.property({type:String,attribute:"expand-icon"})],exports.PdExpandableCard.prototype,"expandIcon",void 0);E([o.property({type:String,attribute:"collapse-icon"})],exports.PdExpandableCard.prototype,"collapseIcon",void 0);E([o.property({type:Boolean,attribute:"header-clickable"})],exports.PdExpandableCard.prototype,"headerClickable",void 0);E([o.state()],exports.PdExpandableCard.prototype,"_expanded",void 0);exports.PdExpandableCard=E([o.customElement("pd-expandable-card")],exports.PdExpandableCard);var w=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdCheckbox=class extends s.LitElement{constructor(){super(...arguments),this.checked=!1,this.indeterminate=!1,this.disabled=!1,this.required=!1,this.value="",this.name="",this.label="",this.touchTarget=!1,this.inputId=`checkbox-${Math.random().toString(36).slice(2,11)}`}render(){const e=this.label||"Checkbox",t=this.touchTarget?"wrapper":void 0;return this.label?s.html`
646
+ <label class="checkbox-label" for=${this.inputId}>
647
+ <md-checkbox
648
+ id=${this.inputId}
649
+ ?checked=${this.checked}
650
+ ?indeterminate=${this.indeterminate}
651
+ ?disabled=${this.disabled}
652
+ ?required=${this.required}
653
+ touch-target=${L.ifDefined(t)}
654
+ aria-label=${e}
655
+ .value=${this.value}
656
+ .name=${this.name}
657
+ @change=${this._handleChange}
658
+ @input=${this._handleInput}
659
+ ></md-checkbox>
660
+ <span class="label-text">${this.label}</span>
661
+ </label>
662
+ `:s.html`
663
+ <md-checkbox
664
+ ?checked=${this.checked}
665
+ ?indeterminate=${this.indeterminate}
666
+ ?disabled=${this.disabled}
667
+ ?required=${this.required}
668
+ touch-target=${L.ifDefined(t)}
669
+ aria-label=${e}
670
+ .value=${this.value}
671
+ .name=${this.name}
672
+ @change=${this._handleChange}
673
+ @input=${this._handleInput}
674
+ ></md-checkbox>
675
+ `}_handleChange(e){const t=e.target;this.checked=t.checked,this.indeterminate=t.indeterminate,this.dispatchEvent(new CustomEvent("change",{detail:{checked:t.checked,indeterminate:t.indeterminate,value:t.value},bubbles:!0}))}_handleInput(e){const t=e.target;this.checked=t.checked,this.indeterminate=t.indeterminate,this.dispatchEvent(new CustomEvent("input",{detail:{checked:t.checked,indeterminate:t.indeterminate,value:t.value},bubbles:!0}))}};exports.PdCheckbox.styles=s.css`
676
+ :host {
677
+ display: inline-flex;
678
+ align-items: center;
679
+ /* Essential Material Design tokens only */
680
+ --md-checkbox-selected-container-color: var(--md-sys-color-primary);
681
+ --md-checkbox-selected-icon-color: var(--md-sys-color-on-primary);
682
+ --md-checkbox-unselected-outline-color: var(--md-sys-color-outline);
683
+ --md-checkbox-container-size: 18px;
684
+ --md-checkbox-icon-size: 16px;
685
+ }
686
+
687
+ .checkbox-label {
688
+ display: inline-flex;
689
+ align-items: center;
690
+ cursor: pointer;
691
+ gap: var(--md-sys-spacing-200);
692
+ user-select: none;
693
+ }
694
+
695
+ .checkbox-label:has(md-checkbox[disabled]) {
696
+ cursor: default;
697
+ color: var(--md-sys-color-on-surface);
698
+ opacity: 0.38;
699
+ }
700
+
701
+ .label-text {
702
+ font-family: var(--md-sys-typescale-body-medium-font);
703
+ font-size: var(--md-sys-typescale-body-medium-size);
704
+ font-weight: var(--md-sys-typescale-body-medium-weight);
705
+ line-height: var(--md-sys-typescale-body-medium-line-height);
706
+ letter-spacing: var(--md-sys-typescale-body-medium-tracking);
707
+ color: var(--md-sys-color-on-surface);
708
+ }
709
+
710
+ md-checkbox {
711
+ /* Explicit size for the checkbox component */
712
+ width: 18px;
713
+ height: 18px;
714
+ /* Ensure the checkbox maintains its size */
715
+ min-width: 18px;
716
+ min-height: 18px;
717
+ /* Transition for smooth visual feedback */
718
+ transition: all 150ms ease-in-out;
719
+ }
720
+
721
+ /* Error state styling */
722
+ :host([error]) {
723
+ --md-checkbox-unselected-outline-color: var(--md-sys-color-error);
724
+ }
725
+
726
+ :host([error]) .label-text {
727
+ color: var(--md-sys-color-error);
728
+ }
729
+ `;w([o.property({type:Boolean})],exports.PdCheckbox.prototype,"checked",void 0);w([o.property({type:Boolean})],exports.PdCheckbox.prototype,"indeterminate",void 0);w([o.property({type:Boolean})],exports.PdCheckbox.prototype,"disabled",void 0);w([o.property({type:Boolean})],exports.PdCheckbox.prototype,"required",void 0);w([o.property({type:String})],exports.PdCheckbox.prototype,"value",void 0);w([o.property({type:String})],exports.PdCheckbox.prototype,"name",void 0);w([o.property({type:String})],exports.PdCheckbox.prototype,"label",void 0);w([o.property({type:Boolean,attribute:"touch-target"})],exports.PdCheckbox.prototype,"touchTarget",void 0);exports.PdCheckbox=w([o.customElement("pd-checkbox")],exports.PdCheckbox);var b=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdChip=class extends s.LitElement{constructor(){super(...arguments),this.variant="assist",this.label="",this.disabled=!1,this.alwaysFocusable=!1,this.hasIcon=!1,this.icon="",this.selected=!1,this.removable=!1,this.elevated=!1,this.href="",this.target="",this.avatar=!1,this.removeOnly=!1}getChipTemplate(){const e=this.icon?s.html`<md-icon slot="icon">${this.icon}</md-icon>`:s.nothing,t={label:this.label,disabled:this.disabled,"always-focusable":this.alwaysFocusable,"has-icon":this.hasIcon||!!this.icon};switch(this.variant){case"filter":return s.html`
730
+ <md-filter-chip
731
+ .label=${t.label}
732
+ ?disabled=${t.disabled}
733
+ ?always-focusable=${t["always-focusable"]}
734
+ ?has-icon=${t["has-icon"]}
735
+ ?selected=${this.selected}
736
+ ?removable=${this.removable}
737
+ @click=${this._handleClick}
738
+ @remove=${this._handleRemove}
739
+ >
740
+ ${e}
741
+ </md-filter-chip>
742
+ `;case"input":return s.html`
743
+ <md-input-chip
744
+ .label=${t.label}
745
+ ?disabled=${t.disabled}
746
+ ?always-focusable=${t["always-focusable"]}
747
+ ?has-icon=${t["has-icon"]}
748
+ ?avatar=${this.avatar}
749
+ ?remove-only=${this.removeOnly}
750
+ @click=${this._handleClick}
751
+ @remove=${this._handleRemove}
752
+ >
753
+ ${e}
754
+ </md-input-chip>
755
+ `;case"suggestion":return s.html`
756
+ <md-suggestion-chip
757
+ .label=${t.label}
758
+ ?disabled=${t.disabled}
759
+ ?always-focusable=${t["always-focusable"]}
760
+ ?has-icon=${t["has-icon"]}
761
+ ?elevated=${this.elevated}
762
+ .href=${this.href||s.nothing}
763
+ .target=${this.target||s.nothing}
764
+ @click=${this._handleClick}
765
+ >
766
+ ${e}
767
+ </md-suggestion-chip>
768
+ `;default:return s.html`
769
+ <md-assist-chip
770
+ .label=${t.label}
771
+ ?disabled=${t.disabled}
772
+ ?always-focusable=${t["always-focusable"]}
773
+ ?has-icon=${t["has-icon"]}
774
+ ?elevated=${this.elevated}
775
+ .href=${this.href||s.nothing}
776
+ .target=${this.target||s.nothing}
777
+ @click=${this._handleClick}
778
+ >
779
+ ${e}
780
+ </md-assist-chip>
781
+ `}}render(){return this.getChipTemplate()}_handleClick(e){this.dispatchEvent(new CustomEvent("chip-click",{detail:{variant:this.variant,label:this.label,selected:this.selected},bubbles:!0}))}_handleRemove(e){this.dispatchEvent(new CustomEvent("chip-remove",{detail:{variant:this.variant,label:this.label},bubbles:!0}))}};exports.PdChip.styles=s.css`
782
+ :host {
783
+ display: inline-block;
784
+ --md-assist-chip-container-shape: var(--md-sys-shape-corner-small);
785
+ --md-filter-chip-container-shape: var(--md-sys-shape-corner-small);
786
+ --md-input-chip-container-shape: var(--md-sys-shape-corner-small);
787
+ --md-suggestion-chip-container-shape: var(--md-sys-shape-corner-small);
788
+
789
+ --md-assist-chip-container-height: var(--md-sys-chip-container-height, 2rem);
790
+ --md-filter-chip-container-height: var(--md-sys-chip-container-height, 2rem);
791
+ --md-input-chip-container-height: var(--md-sys-chip-container-height, 2rem);
792
+ --md-suggestion-chip-container-height: var(--md-sys-chip-container-height, 2rem);
793
+
794
+ --md-assist-chip-label-text-color: var(--md-sys-color-on-surface);
795
+ --md-filter-chip-label-text-color: var(--md-sys-color-on-surface);
796
+ --md-input-chip-label-text-color: var(--md-sys-color-on-surface);
797
+ --md-suggestion-chip-label-text-color: var(--md-sys-color-on-surface);
798
+
799
+ --md-assist-chip-label-text-font: var(--md-sys-typescale-label-large-font);
800
+ --md-filter-chip-label-text-font: var(--md-sys-typescale-label-large-font);
801
+ --md-input-chip-label-text-font: var(--md-sys-typescale-label-large-font);
802
+ --md-suggestion-chip-label-text-font: var(--md-sys-typescale-label-large-font);
803
+
804
+ --md-assist-chip-label-text-size: var(--md-sys-typescale-label-large-size);
805
+ --md-filter-chip-label-text-size: var(--md-sys-typescale-label-large-size);
806
+ --md-input-chip-label-text-size: var(--md-sys-typescale-label-large-size);
807
+ --md-suggestion-chip-label-text-size: var(--md-sys-typescale-label-large-size);
808
+
809
+ --md-assist-chip-label-text-weight: var(--md-sys-typescale-label-large-weight);
810
+ --md-filter-chip-label-text-weight: var(--md-sys-typescale-label-large-weight);
811
+ --md-input-chip-label-text-weight: var(--md-sys-typescale-label-large-weight);
812
+ --md-suggestion-chip-label-text-weight: var(--md-sys-typescale-label-large-weight);
813
+ }
814
+
815
+ md-assist-chip,
816
+ md-filter-chip,
817
+ md-input-chip,
818
+ md-suggestion-chip {
819
+ transition: all var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0.0, 0, 1.0));
820
+ }
821
+
822
+ md-assist-chip:hover,
823
+ md-filter-chip:hover,
824
+ md-input-chip:hover,
825
+ md-suggestion-chip:hover {
826
+ transform: translateY(-1px);
827
+ }
828
+
829
+ md-filter-chip[selected] {
830
+ --md-filter-chip-selected-container-color: var(--md-sys-color-secondary-container);
831
+ --md-filter-chip-selected-label-text-color: var(--md-sys-color-on-secondary-container);
832
+ }
833
+
834
+ md-input-chip {
835
+ --md-input-chip-container-color: var(--md-sys-color-surface-variant);
836
+ --md-input-chip-outline-color: var(--md-sys-color-outline);
837
+ }
838
+
839
+ md-assist-chip[elevated],
840
+ md-suggestion-chip[elevated] {
841
+ --md-assist-chip-elevated-container-color: var(--md-sys-color-surface);
842
+ --md-suggestion-chip-elevated-container-color: var(--md-sys-color-surface);
843
+ --md-assist-chip-elevated-container-shadow-color: var(--md-sys-color-shadow);
844
+ --md-suggestion-chip-elevated-container-shadow-color: var(--md-sys-color-shadow);
845
+ }
846
+ `;b([o.property({type:String})],exports.PdChip.prototype,"variant",void 0);b([o.property({type:String})],exports.PdChip.prototype,"label",void 0);b([o.property({type:Boolean})],exports.PdChip.prototype,"disabled",void 0);b([o.property({type:Boolean,attribute:"always-focusable"})],exports.PdChip.prototype,"alwaysFocusable",void 0);b([o.property({type:Boolean,attribute:"has-icon"})],exports.PdChip.prototype,"hasIcon",void 0);b([o.property({type:String})],exports.PdChip.prototype,"icon",void 0);b([o.property({type:Boolean})],exports.PdChip.prototype,"selected",void 0);b([o.property({type:Boolean})],exports.PdChip.prototype,"removable",void 0);b([o.property({type:Boolean})],exports.PdChip.prototype,"elevated",void 0);b([o.property({type:String})],exports.PdChip.prototype,"href",void 0);b([o.property({type:String})],exports.PdChip.prototype,"target",void 0);b([o.property({type:Boolean})],exports.PdChip.prototype,"avatar",void 0);b([o.property({type:Boolean,attribute:"remove-only"})],exports.PdChip.prototype,"removeOnly",void 0);exports.PdChip=b([o.customElement("pd-chip")],exports.PdChip);var _=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdFab=class extends s.LitElement{constructor(){super(...arguments),this.variant="primary",this.size="medium",this.icon="",this.label="",this.lowered=!1,this.disabled=!1,this.ariaLabel=""}getFabTemplate(){const e=this.icon?s.html`<md-icon slot="icon">${this.icon}</md-icon>`:s.html`<slot name="icon" slot="icon"></slot>`,t=!!this.label;return this.variant==="branded"?s.html`
847
+ <md-branded-fab
848
+ ?lowered=${this.lowered}
849
+ ?disabled=${this.disabled}
850
+ .size=${this.size}
851
+ .label=${this.label||s.nothing}
852
+ aria-label=${this.ariaLabel||this.label||s.nothing}
853
+ @click=${this._handleClick}
854
+ >
855
+ ${e}
856
+ </md-branded-fab>
857
+ `:s.html`
858
+ <md-fab
859
+ .variant=${this.variant}
860
+ .size=${this.size}
861
+ ?lowered=${this.lowered}
862
+ ?disabled=${this.disabled}
863
+ .label=${this.label||s.nothing}
864
+ aria-label=${this.ariaLabel||(t?s.nothing:this.label)||s.nothing}
865
+ @click=${this._handleClick}
866
+ >
867
+ ${e}
868
+ </md-fab>
869
+ `}render(){return this.getFabTemplate()}_handleClick(e){this.disabled||this.dispatchEvent(new CustomEvent("fab-click",{detail:{variant:this.variant,size:this.size,label:this.label,icon:this.icon},bubbles:!0}))}};exports.PdFab.styles=s.css`
870
+ :host {
871
+ display: inline-block;
872
+ --md-fab-container-shape: var(--md-sys-shape-corner-large);
873
+ --md-branded-fab-container-shape: var(--md-sys-shape-corner-large);
874
+ }
875
+
876
+ :host([size="small"]) {
877
+ --md-fab-container-width: var(--md-sys-fab-container-width-small, 2.5rem);
878
+ --md-fab-container-height: var(--md-sys-fab-container-height-small, 2.5rem);
879
+ --md-fab-icon-size: var(--md-sys-fab-icon-size-small, 1.5rem);
880
+ }
881
+
882
+ :host([size="medium"]) {
883
+ --md-fab-container-width: var(--md-sys-fab-container-width-medium, 3.5rem);
884
+ --md-fab-container-height: var(--md-sys-fab-container-height-medium, 3.5rem);
885
+ --md-fab-icon-size: var(--md-sys-fab-icon-size-medium, 1.5rem);
886
+ }
887
+
888
+ :host([size="large"]) {
889
+ --md-fab-container-width: var(--md-sys-fab-container-width-large, 6rem);
890
+ --md-fab-container-height: var(--md-sys-fab-container-height-large, 6rem);
891
+ --md-fab-icon-size: var(--md-sys-fab-icon-size-large, 2.25rem);
892
+ }
893
+
894
+ :host([variant="surface"]) {
895
+ --md-fab-container-color: var(--md-sys-color-surface-container-high);
896
+ --md-fab-icon-color: var(--md-sys-color-primary);
897
+ --md-fab-label-text-color: var(--md-sys-color-primary);
898
+ --md-fab-hover-icon-color: var(--md-sys-color-primary-hover);
899
+ --md-fab-focus-icon-color: var(--md-sys-color-primary-focus);
900
+ --md-fab-pressed-icon-color: var(--md-sys-color-primary-pressed);
901
+ }
902
+
903
+ :host([variant="primary"]) {
904
+ --md-fab-container-color: var(--md-sys-color-primary-container);
905
+ --md-fab-icon-color: var(--md-sys-color-on-primary-container);
906
+ --md-fab-label-text-color: var(--md-sys-color-on-primary-container);
907
+ --md-fab-hover-container-color: var(--md-sys-color-primary-container-hover);
908
+ --md-fab-focus-container-color: var(--md-sys-color-primary-container-focus);
909
+ --md-fab-pressed-container-color: var(--md-sys-color-primary-container-pressed);
910
+ }
911
+
912
+ :host([variant="secondary"]) {
913
+ --md-fab-container-color: var(--md-sys-color-secondary-container);
914
+ --md-fab-icon-color: var(--md-sys-color-on-secondary-container);
915
+ --md-fab-label-text-color: var(--md-sys-color-on-secondary-container);
916
+ --md-fab-hover-container-color: var(--md-sys-color-secondary-container-hover);
917
+ --md-fab-focus-container-color: var(--md-sys-color-secondary-container-focus);
918
+ --md-fab-pressed-container-color: var(--md-sys-color-secondary-container-pressed);
919
+ }
920
+
921
+ :host([variant="tertiary"]) {
922
+ --md-fab-container-color: var(--md-sys-color-tertiary-container);
923
+ --md-fab-icon-color: var(--md-sys-color-on-tertiary-container);
924
+ --md-fab-label-text-color: var(--md-sys-color-on-tertiary-container);
925
+ --md-fab-hover-container-color: var(--md-sys-color-tertiary-container-hover);
926
+ --md-fab-focus-container-color: var(--md-sys-color-tertiary-container-focus);
927
+ --md-fab-pressed-container-color: var(--md-sys-color-tertiary-container-pressed);
928
+ }
929
+
930
+ md-fab,
931
+ md-branded-fab {
932
+ transition: all var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0.0, 0, 1.0));
933
+ --md-fab-label-text-font: var(--md-sys-typescale-label-large-font);
934
+ --md-fab-label-text-size: var(--md-sys-typescale-label-large-size);
935
+ --md-fab-label-text-weight: var(--md-sys-typescale-label-large-weight);
936
+ --md-branded-fab-label-text-font: var(--md-sys-typescale-label-large-font);
937
+ --md-branded-fab-label-text-size: var(--md-sys-typescale-label-large-size);
938
+ --md-branded-fab-label-text-weight: var(--md-sys-typescale-label-large-weight);
939
+ }
940
+
941
+ md-fab:hover,
942
+ md-branded-fab:hover {
943
+ transform: scale(1.05);
944
+ }
945
+
946
+ md-fab:active,
947
+ md-branded-fab:active {
948
+ transform: scale(0.95);
949
+ }
950
+
951
+ :host([disabled]) md-fab,
952
+ :host([disabled]) md-branded-fab {
953
+ --md-fab-container-color: var(--md-sys-color-on-surface);
954
+ --md-fab-icon-color: var(--md-sys-color-surface);
955
+ --md-fab-label-text-color: var(--md-sys-color-surface);
956
+ opacity: var(--md-sys-state-disabled-container-opacity, 0.12);
957
+ cursor: not-allowed;
958
+ }
959
+
960
+ :host([disabled]) md-fab:hover,
961
+ :host([disabled]) md-branded-fab:hover {
962
+ transform: none;
963
+ }
964
+ `;_([o.property({type:String})],exports.PdFab.prototype,"variant",void 0);_([o.property({type:String})],exports.PdFab.prototype,"size",void 0);_([o.property({type:String})],exports.PdFab.prototype,"icon",void 0);_([o.property({type:String})],exports.PdFab.prototype,"label",void 0);_([o.property({type:Boolean})],exports.PdFab.prototype,"lowered",void 0);_([o.property({type:Boolean})],exports.PdFab.prototype,"disabled",void 0);_([o.property({type:String,attribute:"aria-label"})],exports.PdFab.prototype,"ariaLabel",void 0);exports.PdFab=_([o.customElement("pd-fab")],exports.PdFab);var f=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdIconButton=class extends s.LitElement{constructor(){super(...arguments),this.variant="standard",this.icon="",this.selectedIcon="",this.disabled=!1,this.toggle=!1,this.selected=!1,this.href="",this.target="",this.ariaLabel="",this.ariaLabelSelected="",this._internalSelected=!1}connectedCallback(){super.connectedCallback(),this._internalSelected=this.selected}get isSelected(){return this.toggle?this._internalSelected:this.selected}getIconButtonTemplate(){const e=this.isSelected,t=e&&this.selectedIcon?this.selectedIcon:this.icon,r=e?"icon-selected":"icon-unselected",a=t?s.html`<md-icon class="${r}">${t}</md-icon>`:s.html`<slot></slot>`,i={disabled:this.disabled,toggle:this.toggle,selected:e,href:this.href||s.nothing,target:this.target||s.nothing,"aria-label":this.ariaLabel||s.nothing,"aria-label-selected":this.ariaLabelSelected||s.nothing};switch(this.variant){case"filled":return s.html`
965
+ <md-filled-icon-button
966
+ ?disabled=${i.disabled}
967
+ ?toggle=${i.toggle}
968
+ ?selected=${i.selected}
969
+ .href=${i.href}
970
+ .target=${i.target}
971
+ aria-label=${i["aria-label"]}
972
+ aria-label-selected=${i["aria-label-selected"]}
973
+ @click=${this._handleClick}
974
+ >
975
+ ${a}
976
+ </md-filled-icon-button>
977
+ `;case"tonal":return s.html`
978
+ <md-filled-tonal-icon-button
979
+ ?disabled=${i.disabled}
980
+ ?toggle=${i.toggle}
981
+ ?selected=${i.selected}
982
+ .href=${i.href}
983
+ .target=${i.target}
984
+ aria-label=${i["aria-label"]}
985
+ aria-label-selected=${i["aria-label-selected"]}
986
+ @click=${this._handleClick}
987
+ >
988
+ ${a}
989
+ </md-filled-tonal-icon-button>
990
+ `;case"outlined":return s.html`
991
+ <md-outlined-icon-button
992
+ ?disabled=${i.disabled}
993
+ ?toggle=${i.toggle}
994
+ ?selected=${i.selected}
995
+ .href=${i.href}
996
+ .target=${i.target}
997
+ aria-label=${i["aria-label"]}
998
+ aria-label-selected=${i["aria-label-selected"]}
999
+ @click=${this._handleClick}
1000
+ >
1001
+ ${a}
1002
+ </md-outlined-icon-button>
1003
+ `;default:return s.html`
1004
+ <md-icon-button
1005
+ ?disabled=${i.disabled}
1006
+ ?toggle=${i.toggle}
1007
+ ?selected=${i.selected}
1008
+ .href=${i.href}
1009
+ .target=${i.target}
1010
+ aria-label=${i["aria-label"]}
1011
+ aria-label-selected=${i["aria-label-selected"]}
1012
+ @click=${this._handleClick}
1013
+ >
1014
+ ${a}
1015
+ </md-icon-button>
1016
+ `}}render(){return this.getIconButtonTemplate()}_handleClick(e){if(this.disabled)return;this.toggle&&(this._internalSelected=!this._internalSelected);const t=this.isSelected,r=e.target;r&&r.blur(),this.dispatchEvent(new CustomEvent("pd-icon-button-click",{detail:{variant:this.variant,selected:t,toggle:this.toggle,icon:this.icon,selectedIcon:this.selectedIcon},bubbles:!0,composed:!0})),this.toggle&&this.dispatchEvent(new CustomEvent("change",{detail:{selected:t,variant:this.variant},bubbles:!0,composed:!0}))}};exports.PdIconButton.styles=s.css`
1017
+ :host {
1018
+ display: inline-block;
1019
+ --md-icon-button-icon-size: var(--md-sys-icon-size, 1.5rem);
1020
+ --md-filled-icon-button-icon-size: var(--md-sys-icon-size, 1.5rem);
1021
+ --md-filled-tonal-icon-button-icon-size: var(--md-sys-icon-size, 1.5rem);
1022
+ --md-outlined-icon-button-icon-size: var(--md-sys-icon-size, 1.5rem);
1023
+ }
1024
+
1025
+ /* Icon fill states - Industry standard approach */
1026
+ .icon-unselected {
1027
+ font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
1028
+ transition: font-variation-settings var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0.0, 0, 1.0));
1029
+ }
1030
+
1031
+ .icon-selected {
1032
+ font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
1033
+ transition: font-variation-settings var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0.0, 0, 1.0));
1034
+ }
1035
+
1036
+ :host([variant="standard"]) {
1037
+ --md-icon-button-icon-color: var(--md-sys-color-on-surface-variant);
1038
+ --md-icon-button-hover-icon-color: var(--md-sys-color-on-surface-variant-hover);
1039
+ --md-icon-button-focus-icon-color: var(--md-sys-color-on-surface-variant-focus);
1040
+ --md-icon-button-pressed-icon-color: var(--md-sys-color-on-surface-variant-pressed);
1041
+ --md-icon-button-selected-icon-color: var(--md-sys-color-primary);
1042
+ --md-icon-button-selected-hover-icon-color: var(--md-sys-color-primary-hover);
1043
+ --md-icon-button-selected-focus-icon-color: var(--md-sys-color-primary-focus);
1044
+ --md-icon-button-selected-pressed-icon-color: var(--md-sys-color-primary-pressed);
1045
+ }
1046
+
1047
+ :host([variant="filled"]) {
1048
+ --md-filled-icon-button-container-color: var(--md-sys-color-primary);
1049
+ --md-filled-icon-button-icon-color: var(--md-sys-color-on-primary);
1050
+ --md-filled-icon-button-hover-container-color: var(--md-sys-color-primary-hover);
1051
+ --md-filled-icon-button-focus-container-color: var(--md-sys-color-primary-focus);
1052
+ --md-filled-icon-button-pressed-container-color: var(--md-sys-color-primary-pressed);
1053
+ --md-filled-icon-button-selected-container-color: var(--md-sys-color-primary);
1054
+ --md-filled-icon-button-toggle-selected-container-color: var(--md-sys-color-primary);
1055
+ --md-filled-icon-button-toggle-unselected-container-color: var(--md-sys-color-surface-container-highest);
1056
+ --md-filled-icon-button-toggle-unselected-icon-color: var(--md-sys-color-primary);
1057
+ }
1058
+
1059
+ :host([variant="tonal"]) {
1060
+ --md-filled-tonal-icon-button-container-color: var(--md-sys-color-secondary-container);
1061
+ --md-filled-tonal-icon-button-icon-color: var(--md-sys-color-on-secondary-container);
1062
+ --md-filled-tonal-icon-button-hover-container-color: var(--md-sys-color-secondary-container-hover);
1063
+ --md-filled-tonal-icon-button-focus-container-color: var(--md-sys-color-secondary-container-focus);
1064
+ --md-filled-tonal-icon-button-pressed-container-color: var(--md-sys-color-secondary-container-pressed);
1065
+ --md-filled-tonal-icon-button-selected-container-color: var(--md-sys-color-secondary-container);
1066
+ --md-filled-tonal-icon-button-toggle-selected-container-color: var(--md-sys-color-secondary-container);
1067
+ --md-filled-tonal-icon-button-toggle-unselected-container-color: var(--md-sys-color-surface-container-highest);
1068
+ --md-filled-tonal-icon-button-toggle-unselected-icon-color: var(--md-sys-color-on-surface-variant);
1069
+ }
1070
+
1071
+ :host([variant="outlined"]) {
1072
+ --md-outlined-icon-button-outline-color: var(--md-sys-color-outline);
1073
+ --md-outlined-icon-button-icon-color: var(--md-sys-color-on-surface-variant);
1074
+ --md-outlined-icon-button-hover-icon-color: var(--md-sys-color-on-surface-variant-hover);
1075
+ --md-outlined-icon-button-focus-icon-color: var(--md-sys-color-on-surface-variant-focus);
1076
+ --md-outlined-icon-button-pressed-icon-color: var(--md-sys-color-on-surface-variant-pressed);
1077
+ --md-outlined-icon-button-selected-container-color: var(--md-sys-color-inverse-surface);
1078
+ --md-outlined-icon-button-selected-icon-color: var(--md-sys-color-inverse-on-surface);
1079
+ --md-outlined-icon-button-selected-outline-color: var(--md-sys-color-outline);
1080
+ }
1081
+
1082
+ md-icon-button,
1083
+ md-filled-icon-button,
1084
+ md-filled-tonal-icon-button,
1085
+ md-outlined-icon-button {
1086
+ transition: all var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0.0, 0, 1.0));
1087
+ --md-icon-button-state-layer-shape: var(--md-sys-shape-corner-full);
1088
+ --md-filled-icon-button-container-shape: var(--md-sys-shape-corner-full);
1089
+ --md-filled-tonal-icon-button-container-shape: var(--md-sys-shape-corner-full);
1090
+ --md-outlined-icon-button-container-shape: var(--md-sys-shape-corner-full);
1091
+ }
1092
+
1093
+ /* Enhanced visual feedback */
1094
+ md-icon-button:hover,
1095
+ md-filled-icon-button:hover,
1096
+ md-filled-tonal-icon-button:hover,
1097
+ md-outlined-icon-button:hover {
1098
+ transform: scale(1.05);
1099
+ }
1100
+
1101
+ md-icon-button:active,
1102
+ md-filled-icon-button:active,
1103
+ md-filled-tonal-icon-button:active,
1104
+ md-outlined-icon-button:active {
1105
+ transform: scale(0.95);
1106
+ }
1107
+
1108
+ /* Remove focus after click to prevent gray state */
1109
+ md-icon-button,
1110
+ md-filled-icon-button,
1111
+ md-filled-tonal-icon-button,
1112
+ md-outlined-icon-button {
1113
+ outline: none;
1114
+ }
1115
+
1116
+ md-icon-button:focus,
1117
+ md-filled-icon-button:focus,
1118
+ md-filled-tonal-icon-button:focus,
1119
+ md-outlined-icon-button:focus {
1120
+ outline: none;
1121
+ }
1122
+
1123
+ /* Only show focus outline for keyboard navigation */
1124
+ md-icon-button:focus-visible,
1125
+ md-filled-icon-button:focus-visible,
1126
+ md-filled-tonal-icon-button:focus-visible,
1127
+ md-outlined-icon-button:focus-visible {
1128
+ outline: 2px solid var(--md-sys-color-primary);
1129
+ outline-offset: 2px;
1130
+ }
1131
+
1132
+ /* Disabled state */
1133
+ :host([disabled]) md-icon-button,
1134
+ :host([disabled]) md-filled-icon-button,
1135
+ :host([disabled]) md-filled-tonal-icon-button,
1136
+ :host([disabled]) md-outlined-icon-button {
1137
+ opacity: var(--md-sys-state-disabled-container-opacity, 0.38);
1138
+ cursor: not-allowed;
1139
+ }
1140
+
1141
+ :host([disabled]) md-icon-button:hover,
1142
+ :host([disabled]) md-filled-icon-button:hover,
1143
+ :host([disabled]) md-filled-tonal-icon-button:hover,
1144
+ :host([disabled]) md-outlined-icon-button:hover {
1145
+ transform: none;
1146
+ }
1147
+
1148
+ /* Icon accessibility improvements */
1149
+ md-icon {
1150
+ user-select: none;
1151
+ pointer-events: none;
1152
+ }
1153
+ `;f([o.property({type:String})],exports.PdIconButton.prototype,"variant",void 0);f([o.property({type:String})],exports.PdIconButton.prototype,"icon",void 0);f([o.property({type:String,attribute:"selected-icon"})],exports.PdIconButton.prototype,"selectedIcon",void 0);f([o.property({type:Boolean})],exports.PdIconButton.prototype,"disabled",void 0);f([o.property({type:Boolean})],exports.PdIconButton.prototype,"toggle",void 0);f([o.property({type:Boolean})],exports.PdIconButton.prototype,"selected",void 0);f([o.property({type:String})],exports.PdIconButton.prototype,"href",void 0);f([o.property({type:String})],exports.PdIconButton.prototype,"target",void 0);f([o.property({type:String,attribute:"aria-label"})],exports.PdIconButton.prototype,"ariaLabel",void 0);f([o.property({type:String,attribute:"aria-label-selected"})],exports.PdIconButton.prototype,"ariaLabelSelected",void 0);f([o.state()],exports.PdIconButton.prototype,"_internalSelected",void 0);exports.PdIconButton=f([o.customElement("pd-icon-button")],exports.PdIconButton);var p=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdList=class extends s.LitElement{constructor(){super(...arguments),this.role="list",this.tabindex=-1}render(){return s.html`
1154
+ <md-list
1155
+ role=${this.role}
1156
+ tabindex=${this.tabindex}
1157
+ >
1158
+ <slot></slot>
1159
+ </md-list>
1160
+ `}};exports.PdList.styles=s.css`
1161
+ :host {
1162
+ display: block;
1163
+ --md-list-container-color: var(--md-sys-color-surface);
1164
+ }
1165
+
1166
+ md-list {
1167
+ background-color: var(--md-sys-color-surface);
1168
+ border-radius: var(--md-sys-shape-corner-small);
1169
+ overflow: hidden;
1170
+ }
1171
+ `;p([o.property({type:String})],exports.PdList.prototype,"role",void 0);p([o.property({type:Number})],exports.PdList.prototype,"tabindex",void 0);exports.PdList=p([o.customElement("pd-list")],exports.PdList);exports.PdListItem=class extends s.LitElement{constructor(){super(...arguments),this.type="text",this.headline="",this.supportingText="",this.trailingSupportingText="",this.href="",this.target="",this.disabled=!1,this.icon="",this.trailingIcon="",this.avatar="",this.image=""}getListItemTemplate(){const e=this.headline?s.html`<div slot="headline">${this.headline}</div>`:s.html`<slot name="headline" slot="headline"></slot>`,t=this.supportingText?s.html`<div slot="supporting-text">${this.supportingText}</div>`:s.html`<slot name="supporting-text" slot="supporting-text"></slot>`,r=this.trailingSupportingText?s.html`<div slot="trailing-supporting-text">${this.trailingSupportingText}</div>`:s.html`<slot name="trailing-supporting-text" slot="trailing-supporting-text"></slot>`,a=this.icon?s.html`<md-icon slot="start">${this.icon}</md-icon>`:this.avatar?s.html`<img slot="start" src="${this.avatar}" class="avatar" alt="" />`:this.image?s.html`<img slot="start" src="${this.image}" class="image" alt="" />`:s.html`<slot name="start" slot="start"></slot>`,i=this.trailingIcon?s.html`<md-icon slot="end">${this.trailingIcon}</md-icon>`:s.html`<slot name="end" slot="end"></slot>`,n={disabled:this.disabled,tabindex:this.tabindex,href:this.href||s.nothing,target:this.target||s.nothing};return s.html`
1172
+ <md-list-item
1173
+ .type=${this.type}
1174
+ ?disabled=${n.disabled}
1175
+ .tabindex=${n.tabindex}
1176
+ .href=${n.href}
1177
+ .target=${n.target}
1178
+ @click=${this._handleClick}
1179
+ @keydown=${this._handleKeydown}
1180
+ >
1181
+ ${a}
1182
+ ${e}
1183
+ ${t}
1184
+ ${r}
1185
+ ${i}
1186
+ </md-list-item>
1187
+ `}render(){return this.getListItemTemplate()}_handleClick(e){this.disabled||this.dispatchEvent(new CustomEvent("list-item-click",{detail:{type:this.type,headline:this.headline,href:this.href},bubbles:!0}))}_handleKeydown(e){this.disabled||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._handleClick(e))}};exports.PdListItem.styles=s.css`
1188
+ :host {
1189
+ display: block;
1190
+ --md-list-item-list-item-container-color: var(--md-sys-color-surface);
1191
+ --md-list-item-list-item-label-text-color: var(--md-sys-color-on-surface);
1192
+ --md-list-item-list-item-supporting-text-color: var(--md-sys-color-on-surface-variant);
1193
+ --md-list-item-list-item-trailing-supporting-text-color: var(--md-sys-color-on-surface-variant);
1194
+ --md-list-item-list-item-leading-icon-color: var(--md-sys-color-on-surface-variant);
1195
+ --md-list-item-list-item-trailing-icon-color: var(--md-sys-color-on-surface-variant);
1196
+ --md-list-item-list-item-container-shape: var(--md-sys-shape-corner-none);
1197
+ }
1198
+
1199
+ md-list-item {
1200
+ --md-list-item-label-text-font: var(--md-sys-typescale-body-large-font);
1201
+ --md-list-item-label-text-size: var(--md-sys-typescale-body-large-size);
1202
+ --md-list-item-label-text-weight: var(--md-sys-typescale-body-large-weight);
1203
+ --md-list-item-label-text-line-height: var(--md-sys-typescale-body-large-line-height);
1204
+ --md-list-item-supporting-text-font: var(--md-sys-typescale-body-medium-font);
1205
+ --md-list-item-supporting-text-size: var(--md-sys-typescale-body-medium-size);
1206
+ --md-list-item-supporting-text-weight: var(--md-sys-typescale-body-medium-weight);
1207
+ --md-list-item-supporting-text-line-height: var(--md-sys-typescale-body-medium-line-height);
1208
+ --md-list-item-trailing-supporting-text-font: var(--md-sys-typescale-label-small-font);
1209
+ --md-list-item-trailing-supporting-text-size: var(--md-sys-typescale-label-small-size);
1210
+ --md-list-item-trailing-supporting-text-weight: var(--md-sys-typescale-label-small-weight);
1211
+ --md-list-item-trailing-supporting-text-line-height: var(--md-sys-typescale-label-small-line-height);
1212
+ transition: background-color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0.0, 0, 1.0));
1213
+ }
1214
+
1215
+ md-list-item:hover {
1216
+ --md-list-item-list-item-container-color: var(--md-sys-color-surface-container-hover, var(--md-sys-color-surface-variant));
1217
+ }
1218
+
1219
+ md-list-item:focus {
1220
+ --md-list-item-list-item-container-color: var(--md-sys-color-surface-container-focus, var(--md-sys-color-surface-variant));
1221
+ }
1222
+
1223
+ .avatar {
1224
+ width: 40px;
1225
+ height: 40px;
1226
+ border-radius: var(--md-sys-shape-corner-full);
1227
+ object-fit: cover;
1228
+ }
1229
+
1230
+ .image {
1231
+ width: 56px;
1232
+ height: 56px;
1233
+ border-radius: var(--md-sys-shape-corner-small);
1234
+ object-fit: cover;
1235
+ }
1236
+
1237
+ :host([disabled]) md-list-item {
1238
+ --md-list-item-list-item-label-text-color: var(--md-sys-color-on-surface);
1239
+ --md-list-item-list-item-supporting-text-color: var(--md-sys-color-on-surface);
1240
+ --md-list-item-list-item-leading-icon-color: var(--md-sys-color-on-surface);
1241
+ --md-list-item-list-item-trailing-icon-color: var(--md-sys-color-on-surface);
1242
+ opacity: var(--md-sys-state-disabled-content-opacity, 0.38);
1243
+ cursor: not-allowed;
1244
+ }
1245
+ `;p([o.property({type:String})],exports.PdListItem.prototype,"type",void 0);p([o.property({type:String})],exports.PdListItem.prototype,"headline",void 0);p([o.property({type:String,attribute:"supporting-text"})],exports.PdListItem.prototype,"supportingText",void 0);p([o.property({type:String,attribute:"trailing-supporting-text"})],exports.PdListItem.prototype,"trailingSupportingText",void 0);p([o.property({type:String})],exports.PdListItem.prototype,"href",void 0);p([o.property({type:String})],exports.PdListItem.prototype,"target",void 0);p([o.property({type:Boolean})],exports.PdListItem.prototype,"disabled",void 0);p([o.property({type:String})],exports.PdListItem.prototype,"icon",void 0);p([o.property({type:String,attribute:"trailing-icon"})],exports.PdListItem.prototype,"trailingIcon",void 0);p([o.property({type:String})],exports.PdListItem.prototype,"avatar",void 0);p([o.property({type:String})],exports.PdListItem.prototype,"image",void 0);p([o.property({type:Number})],exports.PdListItem.prototype,"tabindex",void 0);exports.PdListItem=p([o.customElement("pd-list-item")],exports.PdListItem);exports.PdListDivider=class extends s.LitElement{constructor(){super(...arguments),this.inset=!1,this.role="separator"}render(){return s.html`
1246
+ <md-divider
1247
+ ?inset=${this.inset}
1248
+ role=${this.role}
1249
+ ></md-divider>
1250
+ `}};exports.PdListDivider.styles=s.css`
1251
+ :host {
1252
+ display: block;
1253
+ --md-divider-color: var(--md-sys-color-outline-variant);
1254
+ --md-divider-thickness: 1px;
1255
+ }
1256
+
1257
+ md-divider {
1258
+ margin: var(--md-sys-spacing-100, 4px) 0;
1259
+ }
1260
+ `;p([o.property({type:Boolean})],exports.PdListDivider.prototype,"inset",void 0);p([o.property({type:String})],exports.PdListDivider.prototype,"role",void 0);exports.PdListDivider=p([o.customElement("pd-list-divider")],exports.PdListDivider);var m=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdMenu=class extends s.LitElement{constructor(){super(...arguments),this.anchor="",this.open=!1,this.positioning="popover",this.anchorCorner="start-start",this.menuCorner="start-start",this.quick=!1,this.hasOverflow=!1,this.xOffset=0,this.yOffset=0,this.defaultFocus="list-root",this.stayOpenOnFocusout=!1,this.stayOpenOnOutsideClick=!1,this.skipRestoreFocus=!1}updated(e){if(e.has("anchor")){const t=this.getRootNode();this.anchor&&t?this.anchorElement=t.getElementById(this.anchor)??void 0:this.anchor||(this.anchorElement=void 0)}}render(){return s.html`
1261
+ <md-menu
1262
+ .anchorElement=${this.anchorElement}
1263
+ .open=${this.open}
1264
+ .positioning=${this.positioning}
1265
+ .anchorCorner=${this.anchorCorner}
1266
+ .menuCorner=${this.menuCorner}
1267
+ .quick=${this.quick}
1268
+ .hasOverflow=${this.hasOverflow}
1269
+ .xOffset=${this.xOffset}
1270
+ .yOffset=${this.yOffset}
1271
+ .defaultFocus=${this.defaultFocus}
1272
+ .stayOpenOnFocusout=${this.stayOpenOnFocusout}
1273
+ .stayOpenOnOutsideClick=${this.stayOpenOnOutsideClick}
1274
+ .skipRestoreFocus=${this.skipRestoreFocus}
1275
+ @closed=${()=>this.open=!1}
1276
+ >
1277
+ <slot></slot>
1278
+ </md-menu>
1279
+ `}};exports.PdMenu.styles=s.css`
1280
+ :host {
1281
+ /* Allows the menu to be positioned relative to its anchor without this wrapper interfering. */
1282
+ display: contents;
1283
+ }
1284
+
1285
+ md-menu {
1286
+ /* Apply Prioticket design system tokens */
1287
+ --md-menu-container-shape: var(--pd-sys-shape-corner-medium, 12px);
1288
+ --md-menu-container-color: var(--pd-sys-color-surface-container, #f0f0f0);
1289
+ --md-menu-container-elevation: var(--pd-sys-elevation-2);
1290
+ }
1291
+
1292
+ /* Override the ugly background from Material Web .items class */
1293
+ md-menu::part(items) {
1294
+ background-color: transparent !important;
1295
+ }
1296
+
1297
+ /* Fallback: target the items container directly */
1298
+ md-menu .items {
1299
+ background-color: transparent !important;
1300
+ }
1301
+ `;m([o.query("md-menu")],exports.PdMenu.prototype,"menu",void 0);m([o.property({type:String})],exports.PdMenu.prototype,"anchor",void 0);m([o.property({type:Object,attribute:!1})],exports.PdMenu.prototype,"anchorElement",void 0);m([o.property({type:Boolean,reflect:!0})],exports.PdMenu.prototype,"open",void 0);m([o.property({type:String})],exports.PdMenu.prototype,"positioning",void 0);m([o.property({type:String,attribute:"anchor-corner"})],exports.PdMenu.prototype,"anchorCorner",void 0);m([o.property({type:String,attribute:"menu-corner"})],exports.PdMenu.prototype,"menuCorner",void 0);m([o.property({type:Boolean})],exports.PdMenu.prototype,"quick",void 0);m([o.property({type:Boolean,attribute:"has-overflow"})],exports.PdMenu.prototype,"hasOverflow",void 0);m([o.property({type:Number,attribute:"x-offset"})],exports.PdMenu.prototype,"xOffset",void 0);m([o.property({type:Number,attribute:"y-offset"})],exports.PdMenu.prototype,"yOffset",void 0);m([o.property({type:String,attribute:"default-focus"})],exports.PdMenu.prototype,"defaultFocus",void 0);m([o.property({type:Boolean,attribute:"stay-open-on-focusout"})],exports.PdMenu.prototype,"stayOpenOnFocusout",void 0);m([o.property({type:Boolean,attribute:"stay-open-on-outside-click"})],exports.PdMenu.prototype,"stayOpenOnOutsideClick",void 0);m([o.property({type:Boolean,attribute:"skip-restore-focus"})],exports.PdMenu.prototype,"skipRestoreFocus",void 0);exports.PdMenu=m([o.customElement("pd-menu")],exports.PdMenu);var x=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdMenuItemM=class extends s.LitElement{constructor(){super(...arguments),this.disabled=!1,this.type="menuitem",this.href="",this.target="",this.keepOpen=!1,this.selected=!1,this.leadingIcon="",this.trailingIcon="",this.text="",this.supportingText=""}_handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}this.href||(this.keepOpen||this.dispatchEvent(new CustomEvent("close-menu",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("menu-item-selected",{detail:{text:this.text,value:this.getAttribute("value")||this.text},bubbles:!0,composed:!0})))}render(){const e=this.leadingIcon?s.html`<md-icon slot="start">${this.leadingIcon}</md-icon>`:s.html`<slot name="start" slot="start"></slot>`,t=this.trailingIcon?s.html`<md-icon slot="end">${this.trailingIcon}</md-icon>`:s.html`<slot name="end" slot="end"></slot>`,r=this.text?s.html`
1302
+ <div slot="headline">${this.text}</div>
1303
+ ${this.supportingText?s.html`<div slot="supporting-text">${this.supportingText}</div>`:""}
1304
+ `:s.html`<slot></slot>`;return s.html`
1305
+ <md-menu-item
1306
+ ?disabled=${this.disabled}
1307
+ type=${this.type}
1308
+ href=${this.href||""}
1309
+ target=${this.target||""}
1310
+ ?keep-open=${this.keepOpen}
1311
+ ?selected=${this.selected}
1312
+ @click=${this._handleClick}
1313
+ >
1314
+ ${e}
1315
+ ${r}
1316
+ ${t}
1317
+ </md-menu-item>
1318
+ `}};exports.PdMenuItemM.styles=s.css`
1319
+ :host {
1320
+ display: contents;
1321
+ }
1322
+
1323
+ md-menu-item {
1324
+ /* Apply Prioticket design system styling */
1325
+ --md-menu-item-container-color: var(--md-sys-color-surface-container, transparent);
1326
+ --md-menu-item-label-text-color: var(--md-sys-color-on-surface, #000000);
1327
+ --md-menu-item-supporting-text-color: var(--md-sys-color-on-surface-variant, #666666);
1328
+ --md-menu-item-icon-color: var(--md-sys-color-on-surface-variant, #666666);
1329
+
1330
+ /* Selected state */
1331
+ --md-menu-item-selected-container-color: var(--md-sys-color-secondary-container, #e8def8);
1332
+ --md-menu-item-selected-label-text-color: var(--md-sys-color-on-secondary-container, #1d192b);
1333
+ --md-menu-item-selected-icon-color: var(--md-sys-color-on-secondary-container, #1d192b);
1334
+
1335
+ /* Hover state */
1336
+ --md-menu-item-hover-state-layer-color: var(--md-sys-color-on-surface, rgba(0, 0, 0, 0.08));
1337
+ --md-menu-item-pressed-state-layer-color: var(--md-sys-color-on-surface, rgba(0, 0, 0, 0.12));
1338
+
1339
+ /* Focus state */
1340
+ --md-menu-item-focus-state-layer-color: var(--md-sys-color-on-surface, rgba(0, 0, 0, 0.12));
1341
+
1342
+ /* Disabled state */
1343
+ --md-menu-item-disabled-label-text-color: var(--md-sys-color-on-surface, rgba(0, 0, 0, 0.38));
1344
+ --md-menu-item-disabled-icon-color: var(--md-sys-color-on-surface, rgba(0, 0, 0, 0.38));
1345
+
1346
+ /* Typography */
1347
+ --md-menu-item-label-text-font: var(--md-sys-typescale-body-large-font, inherit);
1348
+ --md-menu-item-label-text-size: var(--md-sys-typescale-body-large-size, 1rem);
1349
+ --md-menu-item-label-text-line-height: var(--md-sys-typescale-body-large-line-height, 1.5);
1350
+ --md-menu-item-label-text-weight: var(--md-sys-typescale-body-large-weight, 400);
1351
+
1352
+ --md-menu-item-supporting-text-font: var(--md-sys-typescale-body-medium-font, inherit);
1353
+ --md-menu-item-supporting-text-size: var(--md-sys-typescale-body-medium-size, 0.875rem);
1354
+ --md-menu-item-supporting-text-line-height: var(--md-sys-typescale-body-medium-line-height, 1.25);
1355
+ --md-menu-item-supporting-text-weight: var(--md-sys-typescale-body-medium-weight, 400);
1356
+
1357
+ /* Shape */
1358
+ --md-menu-item-container-shape: var(--md-sys-shape-corner-none, 0px);
1359
+
1360
+ /* Spacing */
1361
+ --md-menu-item-top-space: var(--md-sys-spacing-200, 8px);
1362
+ --md-menu-item-bottom-space: var(--md-sys-spacing-200, 8px);
1363
+ --md-menu-item-leading-space: var(--md-sys-spacing-300, 12px);
1364
+ --md-menu-item-trailing-space: var(--md-sys-spacing-300, 12px);
1365
+ }
1366
+
1367
+ /* Icon styling within menu items */
1368
+ md-icon {
1369
+ font-size: 24px;
1370
+ width: 24px;
1371
+ height: 24px;
1372
+ }
1373
+
1374
+ /* Smooth transitions */
1375
+ md-menu-item {
1376
+ transition: all var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, ease);
1377
+ }
1378
+
1379
+ /* Accessibility - respect reduced motion */
1380
+ @media (prefers-reduced-motion: reduce) {
1381
+ md-menu-item {
1382
+ transition: none;
1383
+ }
1384
+ }
1385
+ `;x([o.property({type:Boolean})],exports.PdMenuItemM.prototype,"disabled",void 0);x([o.property({type:String})],exports.PdMenuItemM.prototype,"type",void 0);x([o.property({type:String})],exports.PdMenuItemM.prototype,"href",void 0);x([o.property({type:String})],exports.PdMenuItemM.prototype,"target",void 0);x([o.property({type:Boolean,attribute:"keep-open"})],exports.PdMenuItemM.prototype,"keepOpen",void 0);x([o.property({type:Boolean})],exports.PdMenuItemM.prototype,"selected",void 0);x([o.property({type:String,attribute:"leading-icon"})],exports.PdMenuItemM.prototype,"leadingIcon",void 0);x([o.property({type:String,attribute:"trailing-icon"})],exports.PdMenuItemM.prototype,"trailingIcon",void 0);x([o.property({type:String})],exports.PdMenuItemM.prototype,"text",void 0);x([o.property({type:String,attribute:"supporting-text"})],exports.PdMenuItemM.prototype,"supportingText",void 0);exports.PdMenuItemM=x([o.customElement("pd-menu-item")],exports.PdMenuItemM);var k=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdProgress=class extends s.LitElement{constructor(){super(...arguments),this.type="linear",this.max=1,this.indeterminate=!1,this.visible=!0,this.size="medium",this.ariaLabel=""}render(){return this.type==="circular"?s.html`
1386
+ <md-circular-progress
1387
+ .value=${this.indeterminate?void 0:this.value}
1388
+ ?indeterminate=${this.indeterminate}
1389
+ aria-label=${this.ariaLabel||"Progress indicator"}
1390
+ ></md-circular-progress>
1391
+ `:s.html`
1392
+ <md-linear-progress
1393
+ .value=${this.indeterminate?void 0:this.value}
1394
+ .max=${this.max}
1395
+ .buffer=${this.buffer}
1396
+ ?indeterminate=${this.indeterminate}
1397
+ aria-label=${this.ariaLabel||"Progress indicator"}
1398
+ ></md-linear-progress>
1399
+ `}};exports.PdProgress.styles=s.css`
1400
+ :host {
1401
+ display: inline-block;
1402
+ }
1403
+
1404
+ :host([type="linear"]) {
1405
+ display: block;
1406
+ width: 100%;
1407
+ }
1408
+
1409
+ :host([type="circular"]) {
1410
+ display: inline-flex;
1411
+ align-items: center;
1412
+ justify-content: center;
1413
+ }
1414
+
1415
+ md-linear-progress {
1416
+ width: 100%;
1417
+ /* Apply Prioticket design system tokens */
1418
+ --md-linear-progress-active-indicator-color: var(--md-sys-color-primary);
1419
+ --md-linear-progress-track-color: var(--md-sys-color-outline-variant);
1420
+ --md-linear-progress-active-indicator-height: 4px;
1421
+ --md-linear-progress-track-height: 4px;
1422
+ --md-linear-progress-track-shape: var(--md-sys-shape-corner-full);
1423
+
1424
+ /* Buffer progress styling */
1425
+ --md-linear-progress-buffer-color: var(--md-sys-color-surface-container-high);
1426
+ }
1427
+
1428
+ md-circular-progress {
1429
+ /* Apply Prioticket design system tokens */
1430
+ --md-circular-progress-color: var(--md-sys-color-primary);
1431
+ --md-circular-progress-active-indicator-color: var(--md-sys-color-primary);
1432
+ --md-circular-progress-size: var(--pd-progress-size, 48px);
1433
+ }
1434
+
1435
+ /* Size variants for circular progress */
1436
+ :host([size="small"]) md-circular-progress {
1437
+ --md-circular-progress-size: 24px;
1438
+ --pd-progress-size: 24px;
1439
+ }
1440
+
1441
+ :host([size="medium"]) md-circular-progress {
1442
+ --md-circular-progress-size: 48px;
1443
+ --pd-progress-size: 48px;
1444
+ }
1445
+
1446
+ :host([size="large"]) md-circular-progress {
1447
+ --md-circular-progress-size: 64px;
1448
+ --pd-progress-size: 64px;
1449
+ }
1450
+
1451
+ /* Hidden state */
1452
+ :host([hidden]),
1453
+ :host(:not([visible])) {
1454
+ display: none !important;
1455
+ }
1456
+ `;k([o.property({type:String})],exports.PdProgress.prototype,"type",void 0);k([o.property({type:Number})],exports.PdProgress.prototype,"value",void 0);k([o.property({type:Number})],exports.PdProgress.prototype,"max",void 0);k([o.property({type:Number})],exports.PdProgress.prototype,"buffer",void 0);k([o.property({type:Boolean})],exports.PdProgress.prototype,"indeterminate",void 0);k([o.property({type:Boolean,reflect:!0})],exports.PdProgress.prototype,"visible",void 0);k([o.property({type:String})],exports.PdProgress.prototype,"size",void 0);k([o.property({type:String,attribute:"aria-label"})],exports.PdProgress.prototype,"ariaLabel",void 0);exports.PdProgress=k([o.customElement("pd-progress")],exports.PdProgress);var h=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdRadio=class extends s.LitElement{constructor(){super(...arguments),this.checked=!1,this.disabled=!1,this.name="",this.value="",this.ariaLabel="",this.ariaDescribedby="",this.required=!1}render(){return s.html`
1457
+ <md-radio
1458
+ ?checked=${this.checked}
1459
+ ?disabled=${this.disabled}
1460
+ name=${this.name}
1461
+ value=${this.value}
1462
+ aria-label=${this.ariaLabel}
1463
+ aria-describedby=${this.ariaDescribedby}
1464
+ ?required=${this.required}
1465
+ @change=${this.handleChange}
1466
+ @input=${this.handleInput}
1467
+ ></md-radio>
1468
+ `}handleChange(e){const t=e.target;this.checked=t.checked,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.value}}))}handleInput(e){const t=e.target;this.checked=t.checked,this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.value}}))}};h([o.query("md-radio")],exports.PdRadio.prototype,"radio",void 0);h([o.property({type:Boolean,reflect:!0})],exports.PdRadio.prototype,"checked",void 0);h([o.property({type:Boolean,reflect:!0})],exports.PdRadio.prototype,"disabled",void 0);h([o.property({type:String})],exports.PdRadio.prototype,"name",void 0);h([o.property({type:String})],exports.PdRadio.prototype,"value",void 0);h([o.property({type:String,attribute:"aria-label"})],exports.PdRadio.prototype,"ariaLabel",void 0);h([o.property({type:String,attribute:"aria-describedby"})],exports.PdRadio.prototype,"ariaDescribedby",void 0);h([o.property({type:Boolean})],exports.PdRadio.prototype,"required",void 0);exports.PdRadio=h([o.customElement("pd-radio")],exports.PdRadio);exports.PdRadioGroup=class extends s.LitElement{constructor(){super(...arguments),this.name="",this.value="",this.disabled=!1,this.required=!1,this.ariaLabel="",this.ariaLabelledby=""}render(){return s.html`
1469
+ <div
1470
+ role="radiogroup"
1471
+ aria-label=${this.ariaLabel}
1472
+ aria-labelledby=${this.ariaLabelledby}
1473
+ aria-required=${this.required?"true":"false"}
1474
+ @change=${this.handleChange}
1475
+ >
1476
+ <slot></slot>
1477
+ </div>
1478
+ `}firstUpdated(){this.updateRadioButtons()}updated(e){(e.has("name")||e.has("value")||e.has("disabled"))&&this.updateRadioButtons()}updateRadioButtons(){this.querySelectorAll("pd-radio").forEach(t=>{const r=t;this.name&&(r.name=this.name),r.disabled=this.disabled||r.disabled,r.checked=r.value===this.value,r.required=this.required})}handleChange(e){const t=e.target;t.checked&&(this.value=t.value,this.querySelectorAll("pd-radio").forEach(a=>{const i=a;i!==t&&i.name===t.name&&(i.checked=!1)}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}})))}};exports.PdRadioGroup.styles=s.css`
1479
+ :host {
1480
+ display: block;
1481
+ }
1482
+
1483
+ div[role="radiogroup"] {
1484
+ display: flex;
1485
+ flex-direction: column;
1486
+ gap: 8px;
1487
+ }
1488
+
1489
+ :host([disabled]) {
1490
+ opacity: 0.6;
1491
+ pointer-events: none;
1492
+ }
1493
+ `;h([o.property({type:String})],exports.PdRadioGroup.prototype,"name",void 0);h([o.property({type:String})],exports.PdRadioGroup.prototype,"value",void 0);h([o.property({type:Boolean,reflect:!0})],exports.PdRadioGroup.prototype,"disabled",void 0);h([o.property({type:Boolean})],exports.PdRadioGroup.prototype,"required",void 0);h([o.property({type:String,attribute:"aria-label"})],exports.PdRadioGroup.prototype,"ariaLabel",void 0);h([o.property({type:String,attribute:"aria-labelledby"})],exports.PdRadioGroup.prototype,"ariaLabelledby",void 0);exports.PdRadioGroup=h([o.customElement("pd-radio-group")],exports.PdRadioGroup);var v=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdSelect=class extends s.LitElement{constructor(){super(...arguments),this.variant="outlined",this.label="",this.value="",this.disabled=!1,this.required=!1,this.errorText="",this.error=!1,this.supportingText="",this.options=[],this.leadingIcon=""}handleChange(e){e.stopPropagation();const t=e.target;this.value=t.value,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}}))}handleOpen(){this.trailingIcon?.classList.add("rotated")}handleClose(){this.trailingIcon?.classList.remove("rotated")}render(){const e=s.html`
1494
+ ${this.leadingIcon?s.html`<md-icon slot="leading-icon">${this.leadingIcon}</md-icon>`:""}
1495
+ <md-icon slot="trailing-icon">keyboard_arrow_down</md-icon>
1496
+
1497
+ ${this.options.map(t=>s.html`
1498
+ <md-select-option .value=${t.value} ?disabled=${t.disabled}>
1499
+ <div slot="headline">${t.label}</div>
1500
+ </md-select-option>
1501
+ `)}
1502
+ `;return this.variant==="filled"?s.html`
1503
+ <md-filled-select
1504
+ .label=${this.label}
1505
+ .value=${this.value}
1506
+ ?disabled=${this.disabled}
1507
+ ?required=${this.required}
1508
+ ?error=${this.error}
1509
+ .errorText=${this.errorText}
1510
+ .supportingText=${this.supportingText}
1511
+ @change=${this.handleChange}
1512
+ @opening=${this.handleOpen}
1513
+ @closed=${this.handleClose}
1514
+ >
1515
+ ${e}
1516
+ </md-filled-select>
1517
+ `:s.html`
1518
+ <md-outlined-select
1519
+ .label=${this.label}
1520
+ .value=${this.value}
1521
+ ?disabled=${this.disabled}
1522
+ ?required=${this.required}
1523
+ ?error=${this.error}
1524
+ .errorText=${this.errorText}
1525
+ .supportingText=${this.supportingText}
1526
+ @change=${this.handleChange}
1527
+ @opening=${this.handleOpen}
1528
+ @closed=${this.handleClose}
1529
+ >
1530
+ ${e}
1531
+ </md-outlined-select>
1532
+ `}};exports.PdSelect.styles=s.css`
1533
+ :host {
1534
+ display: inline-block;
1535
+ width: 100%;
1536
+ --md-filled-select-text-field-container-shape: var(--md-sys-shape-corner-small);
1537
+ --md-outlined-select-text-field-container-shape: var(--md-sys-shape-corner-small);
1538
+ }
1539
+ md-filled-select,
1540
+ md-outlined-select {
1541
+ width: 100%;
1542
+ }
1543
+
1544
+ [slot="trailing-icon"] {
1545
+ transition: transform var(--md-sys-motion-duration-medium2, 300ms) var(--md-sys-motion-easing-emphasized, ease);
1546
+ }
1547
+
1548
+ [slot="trailing-icon"].rotated {
1549
+ transform: rotate(180deg);
1550
+ }
1551
+ `;v([o.query("md-filled-select, md-outlined-select")],exports.PdSelect.prototype,"select",void 0);v([o.query('[slot="trailing-icon"]')],exports.PdSelect.prototype,"trailingIcon",void 0);v([o.property({type:String})],exports.PdSelect.prototype,"variant",void 0);v([o.property({type:String})],exports.PdSelect.prototype,"label",void 0);v([o.property({type:String,reflect:!0})],exports.PdSelect.prototype,"value",void 0);v([o.property({type:Boolean,reflect:!0})],exports.PdSelect.prototype,"disabled",void 0);v([o.property({type:Boolean})],exports.PdSelect.prototype,"required",void 0);v([o.property({type:String,attribute:"error-text"})],exports.PdSelect.prototype,"errorText",void 0);v([o.property({type:Boolean})],exports.PdSelect.prototype,"error",void 0);v([o.property({type:String,attribute:"supporting-text"})],exports.PdSelect.prototype,"supportingText",void 0);v([o.property({type:Array})],exports.PdSelect.prototype,"options",void 0);v([o.property({type:String,attribute:"leading-icon"})],exports.PdSelect.prototype,"leadingIcon",void 0);exports.PdSelect=v([o.customElement("pd-select")],exports.PdSelect);var u=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdSlider=class extends s.LitElement{constructor(){super(...arguments),this.disabled=!1,this.min=0,this.max=100,this.value=0,this.step=1,this.ticks=!1,this.labeled=!1,this.valueIndicator=!1,this.ariaLabel="",this.ariaLabelStart="",this.ariaLabelEnd=""}render(){const e=this.valueStart!==void 0||this.valueEnd!==void 0;return s.html`
1552
+ <md-slider
1553
+ ?disabled=${this.disabled}
1554
+ min=${this.min}
1555
+ max=${this.max}
1556
+ .value=${this.value}
1557
+ .valueStart=${this.valueStart}
1558
+ .valueEnd=${this.valueEnd}
1559
+ step=${this.step}
1560
+ ?ticks=${this.ticks}
1561
+ ?labeled=${this.labeled}
1562
+ ?range=${e}
1563
+ aria-label=${this.ariaLabel}
1564
+ aria-label-start=${this.ariaLabelStart}
1565
+ aria-label-end=${this.ariaLabelEnd}
1566
+ @input=${this.handleInput}
1567
+ @change=${this.handleChange}
1568
+ ></md-slider>
1569
+ `}handleInput(e){const t=e.target;this.value=t.value??0,t.valueStart!==void 0&&(this.valueStart=t.valueStart),t.valueEnd!==void 0&&(this.valueEnd=t.valueEnd),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value,valueStart:this.valueStart,valueEnd:this.valueEnd}}))}handleChange(e){const t=e.target;this.value=t.value??0,t.valueStart!==void 0&&(this.valueStart=t.valueStart),t.valueEnd!==void 0&&(this.valueEnd=t.valueEnd),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value,valueStart:this.valueStart,valueEnd:this.valueEnd}}))}};exports.PdSlider.styles=s.css`
1570
+ :host {
1571
+ display: inline-block;
1572
+ width: 100%;
1573
+ }
1574
+
1575
+ md-slider {
1576
+ width: 100%;
1577
+ /* Apply Prioticket design system tokens */
1578
+ --md-slider-handle-color: var(--md-sys-color-primary);
1579
+ --md-slider-active-track-color: var(--md-sys-color-primary);
1580
+ --md-slider-inactive-track-color: var(--md-sys-color-outline-variant);
1581
+ --md-slider-handle-shape: var(--md-sys-shape-corner-full);
1582
+ --md-slider-tick-color: var(--md-sys-color-on-surface-variant);
1583
+ --md-slider-label-container-color: var(--md-sys-color-inverse-surface);
1584
+ --md-slider-label-text-color: var(--md-sys-color-inverse-on-surface);
1585
+ }
1586
+
1587
+ :host([disabled]) md-slider {
1588
+ --md-slider-handle-color: var(--md-sys-color-on-surface);
1589
+ --md-slider-active-track-color: var(--md-sys-color-on-surface);
1590
+ opacity: 0.38;
1591
+ }
1592
+ `;u([o.query("md-slider")],exports.PdSlider.prototype,"slider",void 0);u([o.property({type:Boolean,reflect:!0})],exports.PdSlider.prototype,"disabled",void 0);u([o.property({type:Number})],exports.PdSlider.prototype,"min",void 0);u([o.property({type:Number})],exports.PdSlider.prototype,"max",void 0);u([o.property({type:Number})],exports.PdSlider.prototype,"value",void 0);u([o.property({type:Number})],exports.PdSlider.prototype,"step",void 0);u([o.property({type:Boolean})],exports.PdSlider.prototype,"ticks",void 0);u([o.property({type:Boolean})],exports.PdSlider.prototype,"labeled",void 0);u([o.property({type:Boolean,attribute:"value-indicator"})],exports.PdSlider.prototype,"valueIndicator",void 0);u([o.property({type:Number,attribute:"value-start"})],exports.PdSlider.prototype,"valueStart",void 0);u([o.property({type:Number,attribute:"value-end"})],exports.PdSlider.prototype,"valueEnd",void 0);u([o.property({type:String,attribute:"aria-label"})],exports.PdSlider.prototype,"ariaLabel",void 0);u([o.property({type:String,attribute:"aria-label-start"})],exports.PdSlider.prototype,"ariaLabelStart",void 0);u([o.property({type:String,attribute:"aria-label-end"})],exports.PdSlider.prototype,"ariaLabelEnd",void 0);exports.PdSlider=u([o.customElement("pd-slider")],exports.PdSlider);var S=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdSwitch=class extends s.LitElement{constructor(){super(...arguments),this.selected=!1,this.disabled=!1,this.selectedIcon="",this.unselectedIcon="",this.showOnlySelectedIcon=!1,this.name="",this.value="on",this.ariaLabel="",this.required=!1}render(){return s.html`
1593
+ <md-switch
1594
+ ?selected=${this.selected}
1595
+ ?disabled=${this.disabled}
1596
+ ?show-only-selected-icon=${this.showOnlySelectedIcon}
1597
+ name=${this.name}
1598
+ value=${this.value}
1599
+ aria-label=${this.ariaLabel}
1600
+ ?required=${this.required}
1601
+ @change=${this.handleChange}
1602
+ @input=${this.handleInput}
1603
+ >
1604
+ ${this.selectedIcon?s.html`<md-icon slot="selected-icon">${this.selectedIcon}</md-icon>`:""}
1605
+ ${this.unselectedIcon?s.html`<md-icon slot="unselected-icon">${this.unselectedIcon}</md-icon>`:""}
1606
+ </md-switch>
1607
+ `}handleChange(e){const t=e.target;this.selected=t.selected,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{selected:this.selected}}))}handleInput(e){const t=e.target;this.selected=t.selected,this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{selected:this.selected}}))}};exports.PdSwitch.styles=s.css`
1608
+ :host {
1609
+ display: inline-flex;
1610
+ align-items: center;
1611
+ }
1612
+
1613
+ md-switch {
1614
+ /* Apply Prioticket design system tokens */
1615
+ --md-switch-selected-track-color: var(--md-sys-color-primary);
1616
+ --md-switch-selected-handle-color: var(--md-sys-color-on-primary);
1617
+ --md-switch-selected-focus-track-color: var(--md-sys-color-primary);
1618
+ --md-switch-selected-hover-track-color: var(--md-sys-color-primary);
1619
+ --md-switch-selected-pressed-track-color: var(--md-sys-color-primary);
1620
+
1621
+ --md-switch-unselected-track-color: var(--md-sys-color-surface-variant);
1622
+ --md-switch-unselected-handle-color: var(--md-sys-color-outline);
1623
+ --md-switch-unselected-focus-track-color: var(--md-sys-color-surface-variant);
1624
+ --md-switch-unselected-hover-track-color: var(--md-sys-color-surface-variant);
1625
+ --md-switch-unselected-pressed-track-color: var(--md-sys-color-surface-variant);
1626
+
1627
+ --md-switch-track-shape: var(--md-sys-shape-corner-full);
1628
+ --md-switch-handle-shape: var(--md-sys-shape-corner-full);
1629
+
1630
+ /* Icon colors */
1631
+ --md-switch-selected-icon-color: var(--md-sys-color-on-primary-container);
1632
+ --md-switch-unselected-icon-color: var(--md-sys-color-surface-container-highest);
1633
+ }
1634
+
1635
+ :host([disabled]) md-switch {
1636
+ --md-switch-disabled-selected-track-color: var(--md-sys-color-on-surface);
1637
+ --md-switch-disabled-selected-handle-color: var(--md-sys-color-surface);
1638
+ --md-switch-disabled-unselected-track-color: var(--md-sys-color-surface-variant);
1639
+ --md-switch-disabled-unselected-handle-color: var(--md-sys-color-on-surface);
1640
+ opacity: 0.38;
1641
+ }
1642
+
1643
+ /* Focus styles */
1644
+ md-switch:focus-visible {
1645
+ outline: 2px solid var(--md-sys-color-primary);
1646
+ outline-offset: 2px;
1647
+ }
1648
+ `;S([o.query("md-switch")],exports.PdSwitch.prototype,"switch",void 0);S([o.property({type:Boolean,reflect:!0})],exports.PdSwitch.prototype,"selected",void 0);S([o.property({type:Boolean,reflect:!0})],exports.PdSwitch.prototype,"disabled",void 0);S([o.property({type:String,attribute:"selected-icon"})],exports.PdSwitch.prototype,"selectedIcon",void 0);S([o.property({type:String,attribute:"unselected-icon"})],exports.PdSwitch.prototype,"unselectedIcon",void 0);S([o.property({type:Boolean,attribute:"show-only-selected-icon"})],exports.PdSwitch.prototype,"showOnlySelectedIcon",void 0);S([o.property({type:String})],exports.PdSwitch.prototype,"name",void 0);S([o.property({type:String})],exports.PdSwitch.prototype,"value",void 0);S([o.property({type:String,attribute:"aria-label"})],exports.PdSwitch.prototype,"ariaLabel",void 0);S([o.property({type:Boolean})],exports.PdSwitch.prototype,"required",void 0);exports.PdSwitch=S([o.customElement("pd-switch")],exports.PdSwitch);var P=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdTabs=class extends s.LitElement{constructor(){super(...arguments),this.activeTabIndex=0,this.autoActivate=!1,this.tabs=[],this.slottedTabs=[]}firstUpdated(){this.updateTabsFromSlot()}updateTabsFromSlot(){const t=(this.assignedTabs??[]).map(r=>({label:r.textContent?.trim()||"",icon:r.getAttribute("icon")||void 0,secondary:r.hasAttribute("secondary"),inlineIcon:r.hasAttribute("inline-icon"),ariaLabel:r.getAttribute("aria-label")||void 0}));this.slottedTabs=t,this.requestUpdate(),this.updateComplete.then(()=>this.forceActiveTabUpdate())}handleSlotChange(){this.updateTabsFromSlot()}forceActiveTabUpdate(){const e=this.shadowRoot?.querySelector("md-tabs");e&&this.activeTabIndex!==void 0&&(e.activeTabIndex=this.activeTabIndex)}renderTab(e,t){const r=e.icon?s.html`<md-icon slot="icon">${e.icon}</md-icon>`:"";return e.secondary?s.html`
1649
+ <md-secondary-tab
1650
+ ?inline-icon=${e.inlineIcon}
1651
+ aria-label=${e.ariaLabel||e.label}
1652
+ >
1653
+ ${r}
1654
+ ${e.label}
1655
+ </md-secondary-tab>
1656
+ `:s.html`
1657
+ <md-primary-tab
1658
+ ?inline-icon=${e.inlineIcon}
1659
+ aria-label=${e.ariaLabel||e.label}
1660
+ >
1661
+ ${r}
1662
+ ${e.label}
1663
+ </md-primary-tab>
1664
+ `}updated(e){super.updated(e),e.has("activeTabIndex")&&this.updateComplete.then(()=>this.forceActiveTabUpdate())}render(){const e=this.tabs.length>0?this.tabs:this.slottedTabs;return s.html`
1665
+ <md-tabs
1666
+ .activeTabIndex=${this.activeTabIndex}
1667
+ ?auto-activate=${this.autoActivate}
1668
+ @change=${this.handleChange}
1669
+ >
1670
+ ${e.map((t,r)=>this.renderTab(t,r))}
1671
+ </md-tabs>
1672
+ <div style="display: none;">
1673
+ <slot @slotchange=${this.handleSlotChange}></slot>
1674
+ </div>
1675
+ `}handleChange(e){const t=e.target;this.activeTabIndex=t.activeTabIndex,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{activeTabIndex:this.activeTabIndex}}))}};P([o.property({type:Number,attribute:"active-tab-index"})],exports.PdTabs.prototype,"activeTabIndex",void 0);P([o.property({type:Boolean,attribute:"auto-activate"})],exports.PdTabs.prototype,"autoActivate",void 0);P([o.property({type:Array})],exports.PdTabs.prototype,"tabs",void 0);P([o.state()],exports.PdTabs.prototype,"slottedTabs",void 0);P([o.queryAssignedElements({flatten:!0,selector:"pd-tab"})],exports.PdTabs.prototype,"assignedTabs",void 0);exports.PdTabs=P([o.customElement("pd-tabs")],exports.PdTabs);exports.PdTab=class extends s.LitElement{constructor(){super(...arguments),this.secondary=!1,this.inlineIcon=!1,this.icon="",this.ariaLabel=""}render(){return s.html`<slot></slot>`}};exports.PdTab.styles=s.css`
1676
+ :host {
1677
+ display: none;
1678
+ }
1679
+ `;P([o.property({type:Boolean})],exports.PdTab.prototype,"secondary",void 0);P([o.property({type:Boolean,attribute:"inline-icon"})],exports.PdTab.prototype,"inlineIcon",void 0);P([o.property({type:String})],exports.PdTab.prototype,"icon",void 0);P([o.property({type:String,attribute:"aria-label"})],exports.PdTab.prototype,"ariaLabel",void 0);exports.PdTab=P([o.customElement("pd-tab")],exports.PdTab);var g=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdSegmentedButton=class extends s.LitElement{constructor(){super(...arguments),this.multiSelect=!1,this.size="medium",this.disabled=!1,this.selectedValues=[],this._segments=[]}connectedCallback(){super.connectedCallback(),this.addEventListener("segment-click",this._handleSegmentClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("segment-click",this._handleSegmentClick)}firstUpdated(){this._updateSegments()}_updateSegments(){const e=this.querySelectorAll("pd-segment-item");this._segments=Array.from(e),this._segments.forEach((t,r)=>{t.disabled=this.disabled||t.disabled,t.setAttribute("data-segment-index",r.toString()),this.selectedValues.includes(t.value)&&(t.selected=!0)})}_handleSegmentClick(e){if(this.disabled)return;const t=e.target,r=t.value;this.multiSelect?this.selectedValues.indexOf(r)>-1?(this.selectedValues=this.selectedValues.filter(i=>i!==r),t.selected=!1):(this.selectedValues=[...this.selectedValues,r],t.selected=!0):this.selectedValues[0]===r?(this.selectedValues=[],t.selected=!1):(this._segments.forEach(a=>a.selected=!1),this.selectedValues=[r],t.selected=!0),this.dispatchEvent(new CustomEvent("selectionchange",{detail:{selectedValues:this.selectedValues,multiSelect:this.multiSelect},bubbles:!0,composed:!0}))}render(){return s.html`
1680
+ <div class="segmented-button" role="group">
1681
+ <slot @slotchange=${this._updateSegments}></slot>
1682
+ </div>
1683
+ `}};exports.PdSegmentedButton.styles=s.css`
1684
+ :host {
1685
+ display: inline-flex;
1686
+ font-family: var(--md-sys-typescale-body-large-font, 'Proxima Nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
1687
+ }
1688
+
1689
+ .segmented-button {
1690
+ display: inline-flex;
1691
+ border-radius: var(--md-segmented-button-shape, var(--md-sys-shape-corner-small, 20px));
1692
+ border: 1px solid var(--md-sys-color-outline, #79747e);
1693
+ overflow: hidden;
1694
+ background: var(--md-sys-color-surface, #fef7ff);
1695
+ }
1696
+
1697
+ :host([disabled]) .segmented-button {
1698
+ border-color: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1699
+ }
1700
+
1701
+ /* Size variants */
1702
+ :host([size='small']) {
1703
+ --md-segmented-button-container-height: var(--md-sys-button-container-height-small, 2rem);
1704
+ }
1705
+
1706
+ :host([size='medium']) {
1707
+ --md-segmented-button-container-height: var(--md-sys-button-container-height-medium, 2.5rem);
1708
+ }
1709
+
1710
+ :host([size='large']) {
1711
+ --md-segmented-button-container-height: var(--md-sys-button-container-height-large, 3rem);
1712
+ }
1713
+
1714
+ ::slotted(pd-segment-item) {
1715
+ border-right: 1px solid var(--md-sys-color-outline, #79747e);
1716
+ }
1717
+
1718
+ ::slotted(pd-segment-item:last-child) {
1719
+ border-right: none;
1720
+ }
1721
+
1722
+ :host([disabled]) ::slotted(pd-segment-item) {
1723
+ border-right-color: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1724
+ }
1725
+ `;g([o.property({type:Boolean,attribute:"multi-select"})],exports.PdSegmentedButton.prototype,"multiSelect",void 0);g([o.property({type:String,reflect:!0})],exports.PdSegmentedButton.prototype,"size",void 0);g([o.property({type:Boolean,reflect:!0})],exports.PdSegmentedButton.prototype,"disabled",void 0);g([o.property({type:Array})],exports.PdSegmentedButton.prototype,"selectedValues",void 0);g([o.state()],exports.PdSegmentedButton.prototype,"_segments",void 0);exports.PdSegmentedButton=g([o.customElement("pd-segmented-button")],exports.PdSegmentedButton);exports.PdSegmentItem=class extends s.LitElement{constructor(){super(...arguments),this.value="",this.selected=!1,this.disabled=!1,this.icon="",this.iconOnly=!1}_handleClick(){this.disabled||this.dispatchEvent(new CustomEvent("segment-click",{detail:{value:this.value},bubbles:!0,composed:!0}))}render(){return s.html`
1726
+ <pd-button
1727
+ class="segment ${this.selected?"selected":""} ${this.iconOnly?"icon-only":""}"
1728
+ ?disabled=${this.disabled}
1729
+ @click=${this._handleClick}
1730
+ aria-pressed=${this.selected}
1731
+ >
1732
+ ${this.icon?s.html`<md-icon class="segment-icon">${this.icon}</md-icon>`:""}
1733
+ ${this.iconOnly?"":s.html`<span class="segment-label"><slot></slot></span>`}
1734
+ </pd-button>
1735
+ `}};exports.PdSegmentItem.styles=s.css`
1736
+ :host {
1737
+ display: inline-flex;
1738
+ }
1739
+
1740
+ .segment {
1741
+ display: inline-flex;
1742
+ align-items: center;
1743
+ justify-content: center;
1744
+ gap: var(--md-sys-spacing-200, 8px);
1745
+ padding: 0 var(--md-sys-spacing-400, 16px);
1746
+ height: var(--md-segmented-button-container-height, 2.5rem);
1747
+ border: none;
1748
+ background: transparent;
1749
+ color: var(--md-sys-color-on-surface, #1d1b20);
1750
+ font-family: inherit;
1751
+ font-size: var(--md-sys-typescale-label-large-size, 0.875rem);
1752
+ font-weight: var(--md-sys-typescale-label-large-weight, 500);
1753
+ cursor: pointer;
1754
+ transition: all 150ms ease-in-out;
1755
+ position: relative;
1756
+ outline: none;
1757
+ min-width: 48px;
1758
+ }
1759
+
1760
+ .segment.icon-only {
1761
+ padding: 0;
1762
+ width: var(--md-segmented-button-container-height, 2.5rem);
1763
+ }
1764
+
1765
+ .segment:hover:not(:disabled) {
1766
+ background: var(--md-sys-color-on-surface-opacity-08, rgba(29, 27, 32, 0.08));
1767
+ }
1768
+
1769
+ .segment:focus-visible {
1770
+ background: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1771
+ outline: 2px solid var(--md-sys-color-primary, #6750a4);
1772
+ outline-offset: -2px;
1773
+ }
1774
+
1775
+ .segment:active:not(:disabled) {
1776
+ background: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1777
+ }
1778
+
1779
+ .segment.selected {
1780
+ background: var(--md-sys-color-secondary-container, #e8def8);
1781
+ color: var(--md-sys-color-on-secondary-container, #1d192b);
1782
+ }
1783
+
1784
+ .segment.selected:hover:not(:disabled) {
1785
+ background: var(--md-sys-color-secondary-container, #e8def8);
1786
+ filter: brightness(0.95);
1787
+ }
1788
+
1789
+ .segment:disabled {
1790
+ color: var(--md-sys-color-on-surface-opacity-38, rgba(29, 27, 32, 0.38));
1791
+ cursor: not-allowed;
1792
+ }
1793
+
1794
+ .segment.selected:disabled {
1795
+ background: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1796
+ color: var(--md-sys-color-on-surface-opacity-38, rgba(29, 27, 32, 0.38));
1797
+ }
1798
+
1799
+ .segment-icon {
1800
+ --md-icon-size: 18px;
1801
+ }
1802
+
1803
+ .segment-label {
1804
+ white-space: nowrap;
1805
+ }
1806
+
1807
+ /* Accessibility */
1808
+ @media (prefers-reduced-motion: reduce) {
1809
+ .segment {
1810
+ transition: none;
1811
+ }
1812
+ }
1813
+ `;g([o.property({type:String})],exports.PdSegmentItem.prototype,"value",void 0);g([o.property({type:Boolean,reflect:!0})],exports.PdSegmentItem.prototype,"selected",void 0);g([o.property({type:Boolean,reflect:!0})],exports.PdSegmentItem.prototype,"disabled",void 0);g([o.property({type:String})],exports.PdSegmentItem.prototype,"icon",void 0);g([o.property({type:Boolean,attribute:"icon-only"})],exports.PdSegmentItem.prototype,"iconOnly",void 0);exports.PdSegmentItem=g([o.customElement("pd-segment-item")],exports.PdSegmentItem);var y=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdSegmentedStepper=class extends s.LitElement{constructor(){super(...arguments),this.activeStep=0,this.completedSteps=[],this.size="medium",this.disabled=!1,this.allowStepNavigation=!0,this.linear=!0,this._steps=[],this._completedStepsSet=new Set}connectedCallback(){super.connectedCallback(),this.addEventListener("stepper-item-click",this._handleStepClick)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("stepper-item-click",this._handleStepClick)}firstUpdated(){this._updateSteps()}updated(e){super.updated(e),(e.has("activeStep")||e.has("completedSteps")||e.has("disabled")||e.has("allowStepNavigation")||e.has("linear"))&&(this._updateSteps(),e.has("completedSteps")&&(this._completedStepsSet=new Set(this.completedSteps)))}_updateSteps(){const e=this.querySelectorAll("pd-stepper-item");this._steps=Array.from(e),this._steps.forEach((t,r)=>{t.disabled=this.disabled,t.setAttribute("data-step-index",r.toString()),t.stepNumber=r+1;const a=this._completedStepsSet.has(r)||this.completedSteps.includes(r);a?t.state="completed":r===this.activeStep?t.state="active":t.state="pending";const i=!this.linear||r<=this.activeStep||a;t.clickable=this.allowStepNavigation&&i&&!this.disabled})}_handleStepClick(e){if(this.disabled)return;const t=e.target,r=parseInt(t.getAttribute("data-step-index")||"0");t.clickable&&this.allowStepNavigation&&this.goToStep(r)}goToStep(e){if(e>=0&&e<this._steps.length&&e!==this.activeStep){const t=this.activeStep;this.activeStep=e,this._completedStepsSet=new Set(this.completedSteps),this._updateSteps(),this._dispatchStepChange(t)}}_dispatchStepChange(e){this.dispatchEvent(new CustomEvent("step-change",{detail:{currentStep:this.activeStep,previousStep:e??this.activeStep,totalSteps:this._steps.length},bubbles:!0,composed:!0}))}next(){this.activeStep<this._steps.length-1&&(this.completeStep(this.activeStep),this.goToStep(this.activeStep+1))}back(){this.activeStep>0&&this.goToStep(this.activeStep-1)}nextStep(){this.next()}previousStep(){this.back()}completeCurrentStep(){this.completeStep(this.activeStep)}completeStep(e){e>=0&&e<this._steps.length&&!this._completedStepsSet.has(e)&&(this._completedStepsSet.add(e),this.completedSteps=Array.from(this._completedStepsSet).sort((t,r)=>t-r),this._updateSteps(),this.dispatchEvent(new CustomEvent("step-complete",{detail:{completedStep:e,completedSteps:this.completedSteps,totalSteps:this._steps.length},bubbles:!0,composed:!0})))}resetStep(e){e>=0&&e<this._steps.length&&this._completedStepsSet.has(e)&&(this._completedStepsSet.delete(e),this.completedSteps=Array.from(this._completedStepsSet).sort((t,r)=>t-r),this._updateSteps())}reset(){this.activeStep=0,this.completedSteps=[],this._completedStepsSet.clear(),this._updateSteps()}render(){return s.html`
1814
+ <div class="segmented-stepper" role="group" aria-label="Progress stepper">
1815
+ <slot @slotchange=${this._updateSteps}></slot>
1816
+ </div>
1817
+ `}};exports.PdSegmentedStepper.styles=s.css`
1818
+ :host {
1819
+ display: inline-flex;
1820
+ font-family: var(--md-sys-typescale-body-large-font, 'Proxima Nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
1821
+ }
1822
+
1823
+ .segmented-stepper {
1824
+ display: inline-flex;
1825
+ border-radius: var(--md-sys-shape-corner-small, 8px);
1826
+ border: 1px solid var(--md-sys-color-outline-variant, #cac4d0);
1827
+ overflow: hidden;
1828
+ background: var(--md-sys-color-surface, #fef7ff);
1829
+ }
1830
+
1831
+ :host([disabled]) .segmented-stepper {
1832
+ border-color: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1833
+ background: var(--md-sys-color-surface-variant, #e7e0ec);
1834
+ }
1835
+
1836
+ /* Size variants */
1837
+ :host([size='small']) {
1838
+ --md-stepper-container-height: var(--md-sys-button-container-height-small, 2rem);
1839
+ }
1840
+
1841
+ :host([size='medium']) {
1842
+ --md-stepper-container-height: var(--md-sys-button-container-height-medium, 2.5rem);
1843
+ }
1844
+
1845
+ :host([size='large']) {
1846
+ --md-stepper-container-height: var(--md-sys-button-container-height-large, 3rem);
1847
+ }
1848
+
1849
+ ::slotted(pd-stepper-item) {
1850
+ border-right: 1px solid var(--md-sys-color-outline-variant, #cac4d0);
1851
+ }
1852
+
1853
+ ::slotted(pd-stepper-item:last-child) {
1854
+ border-right: none;
1855
+ }
1856
+
1857
+ :host([disabled]) ::slotted(pd-stepper-item) {
1858
+ border-right-color: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1859
+ }
1860
+ `;y([o.property({type:Number,attribute:"active-step"})],exports.PdSegmentedStepper.prototype,"activeStep",void 0);y([o.property({type:Array,attribute:"completed-steps"})],exports.PdSegmentedStepper.prototype,"completedSteps",void 0);y([o.property({type:String,reflect:!0})],exports.PdSegmentedStepper.prototype,"size",void 0);y([o.property({type:Boolean,reflect:!0})],exports.PdSegmentedStepper.prototype,"disabled",void 0);y([o.property({type:Boolean,attribute:"allow-step-navigation"})],exports.PdSegmentedStepper.prototype,"allowStepNavigation",void 0);y([o.property({type:Boolean})],exports.PdSegmentedStepper.prototype,"linear",void 0);y([o.state()],exports.PdSegmentedStepper.prototype,"_steps",void 0);y([o.state()],exports.PdSegmentedStepper.prototype,"_completedStepsSet",void 0);exports.PdSegmentedStepper=y([o.customElement("pd-segmented-stepper")],exports.PdSegmentedStepper);exports.PdStepperItem=class extends s.LitElement{constructor(){super(...arguments),this.stepNumber=1,this.state="pending",this.disabled=!1,this.clickable=!1,this.icon=""}_handleClick(){this.disabled||!this.clickable||this.dispatchEvent(new CustomEvent("stepper-item-click",{detail:{stepNumber:this.stepNumber},bubbles:!0,composed:!0}))}render(){const e=this.state==="completed"&&!this.icon,t=this.state!=="completed"&&!this.icon;return s.html`
1861
+ <button
1862
+ class="step ${this.state} ${this.clickable?"clickable":""}"
1863
+ ?disabled=${this.disabled}
1864
+ @click=${this._handleClick}
1865
+ aria-current=${this.state==="active"?"step":"false"}
1866
+ aria-label="Step ${this.stepNumber}: ${this.state}"
1867
+ >
1868
+ <div class="step-indicator">
1869
+ ${e?s.html`<md-icon class="check-icon">check</md-icon>`:""}
1870
+ ${this.icon?s.html`<md-icon class="step-icon">${this.icon}</md-icon>`:""}
1871
+ ${t?s.html`<span class="step-number">${this.stepNumber}</span>`:""}
1872
+ </div>
1873
+ <span class="step-label"><slot></slot></span>
1874
+ </button>
1875
+ `}};exports.PdStepperItem.styles=s.css`
1876
+ :host {
1877
+ display: inline-flex;
1878
+ }
1879
+
1880
+ .step {
1881
+ display: inline-flex;
1882
+ align-items: center;
1883
+ gap: var(--md-sys-spacing-200, 8px);
1884
+ padding: 0 var(--md-sys-spacing-300, 12px);
1885
+ height: var(--md-stepper-container-height, 2.5rem);
1886
+ border: none;
1887
+ background: transparent;
1888
+ color: var(--md-sys-color-on-surface-variant, #49454f);
1889
+ font-family: inherit;
1890
+ font-size: var(--md-sys-typescale-label-large-size, 0.875rem);
1891
+ font-weight: var(--md-sys-typescale-label-large-weight, 500);
1892
+ cursor: default;
1893
+ transition: all 150ms ease-in-out;
1894
+ position: relative;
1895
+ outline: none;
1896
+ min-width: fit-content;
1897
+ }
1898
+
1899
+ .step.clickable {
1900
+ cursor: pointer;
1901
+ }
1902
+
1903
+ .step.clickable:hover:not(:disabled) {
1904
+ background: var(--md-sys-color-surface-container-highest, rgba(29, 27, 32, 0.08));
1905
+ }
1906
+
1907
+ .step.clickable:focus-visible {
1908
+ background: var(--md-sys-color-surface-container-highest, rgba(29, 27, 32, 0.12));
1909
+ outline: 2px solid var(--md-sys-color-primary, #6750a4);
1910
+ outline-offset: -2px;
1911
+ }
1912
+
1913
+ .step.clickable:active:not(:disabled) {
1914
+ background: var(--md-sys-color-surface-container-highest, rgba(29, 27, 32, 0.16));
1915
+ }
1916
+
1917
+ /* Step states */
1918
+ .step.pending {
1919
+ color: var(--md-sys-color-on-surface-variant, #49454f);
1920
+ }
1921
+
1922
+ .step.active {
1923
+ background: var(--md-sys-color-primary-container, #eaddff);
1924
+ color: var(--md-sys-color-on-primary-container, #21005d);
1925
+ font-weight: 600;
1926
+ }
1927
+
1928
+ .step.completed {
1929
+ background: var(--md-sys-color-secondary-container, #e8def8);
1930
+ color: var(--md-sys-color-on-secondary-container, #1d192b);
1931
+ }
1932
+
1933
+ .step.disabled {
1934
+ color: var(--md-sys-color-on-surface-opacity-38, rgba(29, 27, 32, 0.38));
1935
+ cursor: not-allowed;
1936
+ }
1937
+
1938
+ /* Step indicator */
1939
+ .step-indicator {
1940
+ display: flex;
1941
+ align-items: center;
1942
+ justify-content: center;
1943
+ width: 20px;
1944
+ height: 20px;
1945
+ border-radius: 50%;
1946
+ background: var(--md-sys-color-outline-variant, #cac4d0);
1947
+ color: var(--md-sys-color-on-surface, #1d1b20);
1948
+ font-size: 0.75rem;
1949
+ font-weight: 600;
1950
+ flex-shrink: 0;
1951
+ transition: all 150ms ease-in-out;
1952
+ }
1953
+
1954
+ .step.pending .step-indicator {
1955
+ background: var(--md-sys-color-outline-variant, #cac4d0);
1956
+ color: var(--md-sys-color-on-surface-variant, #49454f);
1957
+ }
1958
+
1959
+ .step.active .step-indicator {
1960
+ background: var(--md-sys-color-primary, #6750a4);
1961
+ color: var(--md-sys-color-on-primary, #ffffff);
1962
+ }
1963
+
1964
+ .step.completed .step-indicator {
1965
+ background: var(--md-sys-color-secondary, #625b71);
1966
+ color: var(--md-sys-color-on-secondary, #ffffff);
1967
+ }
1968
+
1969
+ .step.disabled .step-indicator {
1970
+ background: var(--md-sys-color-on-surface-opacity-12, rgba(29, 27, 32, 0.12));
1971
+ color: var(--md-sys-color-on-surface-opacity-38, rgba(29, 27, 32, 0.38));
1972
+ }
1973
+
1974
+ /* Icons */
1975
+ .check-icon,
1976
+ .step-icon {
1977
+ --md-icon-size: 14px;
1978
+ }
1979
+
1980
+ .step-number {
1981
+ font-size: 0.75rem;
1982
+ font-weight: 600;
1983
+ line-height: 1;
1984
+ }
1985
+
1986
+ .step-label {
1987
+ white-space: nowrap;
1988
+ }
1989
+
1990
+ /* Accessibility */
1991
+ @media (prefers-reduced-motion: reduce) {
1992
+ .step,
1993
+ .step-indicator {
1994
+ transition: none;
1995
+ }
1996
+ }
1997
+
1998
+ /* Focus ring for keyboard navigation */
1999
+ .step:focus-visible {
2000
+ outline: 2px solid var(--md-sys-color-primary, #6750a4);
2001
+ outline-offset: 2px;
2002
+ }
2003
+ `;y([o.property({type:Number,attribute:"step-number"})],exports.PdStepperItem.prototype,"stepNumber",void 0);y([o.property({type:String,reflect:!0})],exports.PdStepperItem.prototype,"state",void 0);y([o.property({type:Boolean,reflect:!0})],exports.PdStepperItem.prototype,"disabled",void 0);y([o.property({type:Boolean})],exports.PdStepperItem.prototype,"clickable",void 0);y([o.property({type:String})],exports.PdStepperItem.prototype,"icon",void 0);exports.PdStepperItem=y([o.customElement("pd-stepper-item")],exports.PdStepperItem);var C=function(l,e,t,r){var a=arguments.length,i=a<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,t):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(l,e,t,r);else for(var d=l.length-1;d>=0;d--)(n=l[d])&&(i=(a<3?n(i):a>3?n(e,t,i):n(e,t))||i);return a>3&&i&&Object.defineProperty(e,t,i),i};exports.PdStepper=class extends s.LitElement{constructor(){super(...arguments),this.steps=[],this.currentStep=0,this.orientation="horizontal",this.linear=!0,this.showContent=!0,this.alternativeLabel=!1,this._completedSteps=new Set}render(){const e=this.orientation==="vertical",t={stepper:!0,vertical:e,horizontal:!e,"alternative-label":this.alternativeLabel&&!e};return s.html`
2004
+ <div class=${O.classMap(t)}>
2005
+ ${this.steps.map((r,a)=>this._renderStep(r,a))}
2006
+ ${this.showContent&&!e?this._renderContent():""}
2007
+ </div>
2008
+ `}_renderStep(e,t){const r=this.currentStep===t,a=this._completedSteps.has(t)||e.completed,i=e.error&&!a,n=!this.linear||t<=this.currentStep||a,d=this.orientation==="vertical",R={step:!0,active:r,completed:a||!1,error:i||!1,clickable:n||!1,optional:e.optional||!1},q=a?"✓":(t+1).toString(),j=t===this.steps.length-1;return s.html`
2009
+ <div class=${O.classMap(R)}>
2010
+ <div class="step-header" @click=${()=>this._handleStepClick(t,n||!1)}>
2011
+ <div class="step-icon">
2012
+ <span class="step-number">${i?"!":q}</span>
2013
+ </div>
2014
+ ${j?"":s.html`<div class="step-connector"></div>`}
2015
+ <div class="step-label-container">
2016
+ <span class="step-label">${e.label}</span>
2017
+ ${e.optional?s.html`<span class="step-optional">Optional</span>`:""}
2018
+ </div>
2019
+ </div>
2020
+ ${d&&this.showContent&&r&&e.content?s.html`
2021
+ <div class="step-content">
2022
+ ${e.content}
2023
+ </div>
2024
+ `:""}
2025
+ </div>
2026
+ `}_renderContent(){const e=this.steps[this.currentStep];return e?.content?s.html`
2027
+ <div class="stepper-content">
2028
+ ${e.content}
2029
+ </div>
2030
+ `:""}_handleStepClick(e,t){if(!t)return;const r=this.currentStep;this.currentStep=e,this.dispatchEvent(new CustomEvent("step-change",{detail:{currentStep:e,previousStep:r,totalSteps:this.steps.length},bubbles:!0,composed:!0}))}completeStep(e){this._completedSteps.add(e),this.requestUpdate()}resetStep(e){this._completedSteps.delete(e),this.requestUpdate()}next(){if(this.currentStep<this.steps.length-1){const e=this.currentStep;this.completeStep(this.currentStep),this.currentStep++,this._dispatchStepChange(e)}}back(){if(this.currentStep>0){const e=this.currentStep;this.currentStep--,this._dispatchStepChange(e)}}_dispatchStepChange(e){this.dispatchEvent(new CustomEvent("step-change",{detail:{currentStep:this.currentStep,previousStep:e??this.currentStep,totalSteps:this.steps.length},bubbles:!0,composed:!0}))}};exports.PdStepper.styles=s.css`
2031
+ :host {
2032
+ display: block;
2033
+ font-family: var(--md-sys-typescale-body-large-font, 'Proxima Nova', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
2034
+ }
2035
+
2036
+ .stepper {
2037
+ display: flex;
2038
+ position: relative;
2039
+ }
2040
+
2041
+ .stepper.horizontal {
2042
+ flex-direction: row;
2043
+ align-items: flex-start;
2044
+ }
2045
+
2046
+ .stepper.vertical {
2047
+ flex-direction: column;
2048
+ }
2049
+
2050
+ .stepper.alternative-label .step {
2051
+ flex-direction: column;
2052
+ text-align: center;
2053
+ }
2054
+
2055
+ /* Step container */
2056
+ .step {
2057
+ display: flex;
2058
+ position: relative;
2059
+ min-height: 72px;
2060
+ }
2061
+
2062
+ .stepper.horizontal .step {
2063
+ flex: 1;
2064
+ flex-direction: row;
2065
+ align-items: flex-start;
2066
+ }
2067
+
2068
+ .stepper.vertical .step {
2069
+ flex-direction: column;
2070
+ width: 100%;
2071
+ }
2072
+
2073
+ /* Step header */
2074
+ .step-header {
2075
+ display: flex;
2076
+ align-items: flex-start;
2077
+ cursor: default;
2078
+ position: relative;
2079
+ padding: var(--md-sys-spacing-medium, 8px);
2080
+ }
2081
+
2082
+ .step.clickable .step-header {
2083
+ cursor: pointer;
2084
+ }
2085
+
2086
+ .stepper.horizontal .step-header {
2087
+ flex-direction: column;
2088
+ align-items: center;
2089
+ text-align: center;
2090
+ width: 100%;
2091
+ }
2092
+
2093
+ .stepper.vertical .step-header {
2094
+ flex-direction: row;
2095
+ align-items: flex-start;
2096
+ text-align: left;
2097
+ }
2098
+
2099
+ .stepper.alternative-label .step-header {
2100
+ flex-direction: column;
2101
+ }
2102
+
2103
+ /* Step icon */
2104
+ .step-icon {
2105
+ display: flex;
2106
+ align-items: center;
2107
+ justify-content: center;
2108
+ width: 40px;
2109
+ height: 40px;
2110
+ border-radius: 50%;
2111
+ background-color: var(--pd-stepper-inactive-color, var(--md-sys-color-surface-variant, #f3f3f3));
2112
+ color: var(--md-sys-color-on-surface-variant, #666);
2113
+ border: 2px solid var(--pd-stepper-inactive-color, var(--md-sys-color-outline-variant, #ddd));
2114
+ transition: all 0.2s ease;
2115
+ z-index: 1;
2116
+ }
2117
+
2118
+ .step.active .step-icon {
2119
+ background-color: var(--pd-stepper-active-color, var(--md-sys-color-primary, #6750a4));
2120
+ color: var(--md-sys-color-on-primary, #fff);
2121
+ border-color: var(--pd-stepper-active-color, var(--md-sys-color-primary, #6750a4));
2122
+ }
2123
+
2124
+ .step.completed .step-icon {
2125
+ background-color: var(--pd-stepper-completed-color, var(--md-sys-color-primary, #6750a4));
2126
+ color: var(--md-sys-color-on-primary, #fff);
2127
+ border-color: var(--pd-stepper-completed-color, var(--md-sys-color-primary, #6750a4));
2128
+ }
2129
+
2130
+ .step.error .step-icon {
2131
+ background-color: var(--pd-stepper-error-color, var(--md-sys-color-error, #ba1a1a));
2132
+ color: var(--md-sys-color-on-error, #fff);
2133
+ border-color: var(--pd-stepper-error-color, var(--md-sys-color-error, #ba1a1a));
2134
+ }
2135
+
2136
+ .step-number {
2137
+ font-size: var(--md-sys-typescale-label-medium-size, 12px);
2138
+ font-weight: var(--md-sys-typescale-label-medium-weight, 500);
2139
+ line-height: 1;
2140
+ }
2141
+
2142
+ /* Step connector */
2143
+ .step-connector {
2144
+ position: absolute;
2145
+ background-color: var(--pd-stepper-connector-color, var(--md-sys-color-outline-variant, #ddd));
2146
+ transition: background-color 0.2s ease;
2147
+ }
2148
+
2149
+ .stepper.horizontal .step-connector {
2150
+ height: 2px;
2151
+ left: calc(50% + 20px);
2152
+ right: calc(-50% + 20px);
2153
+ top: calc(var(--md-sys-spacing-medium, 8px) + 20px);
2154
+ width: calc(100% - 40px);
2155
+ }
2156
+
2157
+ .stepper.vertical .step-connector {
2158
+ width: 2px;
2159
+ left: calc(var(--md-sys-spacing-medium, 8px) + 20px);
2160
+ top: calc(var(--md-sys-spacing-medium, 8px) + 40px);
2161
+ bottom: calc(-100% + var(--md-sys-spacing-medium, 8px));
2162
+ height: calc(100% - 40px);
2163
+ }
2164
+
2165
+ .step.completed .step-connector {
2166
+ background-color: var(--pd-stepper-completed-color, var(--md-sys-color-primary, #6750a4));
2167
+ }
2168
+
2169
+ .step.active .step-connector {
2170
+ background-color: var(--pd-stepper-completed-color, var(--md-sys-color-primary, #6750a4));
2171
+ }
2172
+
2173
+ /* Step labels */
2174
+ .step-label-container {
2175
+ display: flex;
2176
+ flex-direction: column;
2177
+ gap: 4px;
2178
+ }
2179
+
2180
+ .stepper.horizontal .step-label-container {
2181
+ margin-top: var(--md-sys-spacing-small, 8px);
2182
+ align-items: center;
2183
+ }
2184
+
2185
+ .stepper.vertical .step-label-container {
2186
+ margin-left: var(--md-sys-spacing-medium, 16px);
2187
+ align-items: flex-start;
2188
+ margin-top: 8px;
2189
+ }
2190
+
2191
+ .step-label {
2192
+ font-size: var(--md-sys-typescale-body-medium-size, 14px);
2193
+ font-weight: var(--md-sys-typescale-body-medium-weight, 400);
2194
+ color: var(--md-sys-color-on-surface-variant, #666);
2195
+ line-height: 1.4;
2196
+ margin: 0;
2197
+ }
2198
+
2199
+ .step.active .step-label {
2200
+ color: var(--md-sys-color-on-surface, #000);
2201
+ font-weight: var(--md-sys-typescale-body-medium-weight, 500);
2202
+ }
2203
+
2204
+ .step.completed .step-label {
2205
+ color: var(--md-sys-color-on-surface, #000);
2206
+ }
2207
+
2208
+ .step.error .step-label {
2209
+ color: var(--pd-stepper-error-color, var(--md-sys-color-error, #ba1a1a));
2210
+ }
2211
+
2212
+ .step-optional {
2213
+ font-size: var(--md-sys-typescale-body-small-size, 12px);
2214
+ color: var(--md-sys-color-on-surface-variant, #999);
2215
+ font-style: italic;
2216
+ }
2217
+
2218
+ /* Step content */
2219
+ .step-content {
2220
+ margin-left: calc(var(--md-sys-spacing-medium, 8px) + 40px + var(--md-sys-spacing-medium, 16px));
2221
+ margin-top: var(--md-sys-spacing-medium, 16px);
2222
+ margin-bottom: var(--md-sys-spacing-large, 24px);
2223
+ padding: var(--md-sys-spacing-medium, 16px);
2224
+ border-radius: var(--md-sys-shape-corner-small, 8px);
2225
+ background-color: var(--md-sys-color-surface-container-lowest, #fff);
2226
+ }
2227
+
2228
+ .stepper-content {
2229
+ margin-top: var(--md-sys-spacing-large, 24px);
2230
+ padding: var(--md-sys-spacing-large, 24px);
2231
+ border-radius: var(--md-sys-shape-corner-medium, 12px);
2232
+ background-color: var(--md-sys-color-surface-container-lowest, #fff);
2233
+ border: 1px solid var(--md-sys-color-outline-variant, #ddd);
2234
+ }
2235
+
2236
+ /* Hover states */
2237
+ .step.clickable .step-header:hover .step-icon {
2238
+ transform: scale(1.1);
2239
+ }
2240
+
2241
+ .step.clickable .step-header:hover .step-label {
2242
+ color: var(--md-sys-color-on-surface, #000);
2243
+ }
2244
+
2245
+ /* Focus states for accessibility */
2246
+ .step.clickable .step-header:focus-visible {
2247
+ outline: 2px solid var(--md-sys-color-primary, #6750a4);
2248
+ outline-offset: 2px;
2249
+ border-radius: var(--md-sys-shape-corner-small, 8px);
2250
+ }
2251
+
2252
+ /* Responsive adjustments */
2253
+ @media (max-width: 768px) {
2254
+ .stepper.horizontal {
2255
+ flex-direction: column;
2256
+ }
2257
+
2258
+ .stepper.horizontal .step {
2259
+ flex-direction: row;
2260
+ }
2261
+
2262
+ .stepper.horizontal .step-header {
2263
+ flex-direction: row;
2264
+ text-align: left;
2265
+ }
2266
+
2267
+ .stepper.horizontal .step-connector {
2268
+ left: calc(var(--md-sys-spacing-medium, 8px) + 20px);
2269
+ top: calc(var(--md-sys-spacing-medium, 8px) + 40px);
2270
+ width: 2px;
2271
+ height: calc(100% - 40px);
2272
+ right: auto;
2273
+ }
2274
+
2275
+ .stepper.horizontal .step-label-container {
2276
+ margin-top: 8px;
2277
+ margin-left: var(--md-sys-spacing-medium, 16px);
2278
+ align-items: flex-start;
2279
+ }
2280
+ }
2281
+ `;C([o.property({type:Array})],exports.PdStepper.prototype,"steps",void 0);C([o.property({type:Number})],exports.PdStepper.prototype,"currentStep",void 0);C([o.property({type:String})],exports.PdStepper.prototype,"orientation",void 0);C([o.property({type:Boolean})],exports.PdStepper.prototype,"linear",void 0);C([o.property({type:Boolean})],exports.PdStepper.prototype,"showContent",void 0);C([o.property({type:Boolean})],exports.PdStepper.prototype,"alternativeLabel",void 0);C([o.state()],exports.PdStepper.prototype,"_completedSteps",void 0);exports.PdStepper=C([o.customElement("pd-stepper")],exports.PdStepper);