@prioticket/design-system-web 1.0.3 → 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 -309
  3. package/component-documentation.json +1755 -1128
  4. package/custom-elements.json +6453 -0
  5. package/dist/component-gallery.html +431 -0
  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 -331
  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 +29 -9
@@ -1,610 +1,741 @@
1
- # Prioticket Design System Web Components
1
+ # @prioticket/design-system-web Components
2
2
 
3
- ## Installation
3
+ Version: 1.0.6
4
4
 
5
- ```bash
6
- npm install @prioticket/design-system-web
7
- ```
5
+ ### <pd-button> (PdButton)
8
6
 
9
- ## NPM Registry Configuration
7
+ The Prioticket button component using Material Web Components.
10
8
 
11
- ```ini
12
- @prioticket:registry=https://gitlab.prioticket.dev/api/v4/projects/193/packages/npm/
13
- //gitlab.prioticket.dev/api/v4/projects/193/packages/npm/:_authToken=TcG8u2Ryebr6v3x3D19y
14
- ```
9
+ **Properties**
15
10
 
16
- ## Usage
11
+ | Property | Attribute | Type | Default | Description |
12
+ |----------|-----------|------|---------|-------------|
13
+ | `variant` | `variant` | `'filled' \| 'outlined' \| 'text' \| 'elevated' \| 'tonal'` | `'filled'` | The style variant of the button. |
14
+ | `size` | `size` | `'xsmall' \| 'small' \| 'medium' \| 'large' \| 'xlarge'` | `'medium'` | The size of the button, controlling height, padding, and font size. |
15
+ | `icon` | `icon` | `string` | `''` | The name of the Material Icon to display. |
16
+ | `iconTrailing` | `icon-trailing` | `boolean` | `false` | If true, the icon will be placed after the label. |
17
+ | `disabled` | `disabled` | `boolean` | `false` | If true, the button is disabled. |
17
18
 
18
- ```typescript
19
- import { PdButton, PdCard, PdTextField } from '@prioticket/design-system-web';
20
- ```
19
+ **Slots**
21
20
 
22
- ## Components
21
+ | Slot | Description |
22
+ |------|-------------|
23
+ | `default` | The default slot for the button's label. |
23
24
 
25
+ **CSS Custom Properties**
24
26
 
25
- ### src\components\pd-text-field
27
+ | Property | Description |
28
+ |----------|-------------|
29
+ | `--shape-corner` | Overrides the default border radius. |
26
30
 
27
- **Tag:** `<src\components\text-field>`
31
+ ### <pd-card> (PdCard)
28
32
 
29
- Component description not available
33
+ No description available.
30
34
 
31
- #### Properties
32
- - `variant`: 'filled' | 'outlined'
33
- - `label`: any
34
- - `placeholder`: any
35
- - `value`: any
36
- - `supportingText`: any
37
- - `errorText`: any
38
- - `prefixText`: any
39
- - `suffixText`: any
40
- - `disabled`: any
41
- - `readonly`: any
42
- - `required`: any
43
- - `error`: any
44
- - `type`: 'text' | 'email' | 'password' | 'number' | 'tel' | 'url' | 'search' | 'textarea'
45
- - `rows`: any
46
- - `cols`: any
47
- - `leadingIcon`: any
48
- - `trailingIcon`: any
49
- - `maxlength`: any
50
- - `minlength`: any
35
+ **Properties**
51
36
 
52
- #### Events
37
+ | Property | Attribute | Type | Default | Description |
38
+ |----------|-----------|------|---------|-------------|
39
+ | `variant` | `variant` | `'elevated' \| 'filled' \| 'outlined'` | `'elevated'` | |
40
+ | `clickable` | `clickable` | `boolean` | `false` | |
53
41
 
42
+ **Events**
54
43
 
55
- #### Example
56
- ```html
57
- <src\components\pd-text-field></src\components\pd-text-field>
58
- ```
44
+ | Event | Type | Description |
45
+ |-------|------|-------------|
46
+ | `click` | `CustomEvent` | |
59
47
 
48
+ ### <pd-checkbox> (PdCheckbox)
60
49
 
61
- ### src\components\pd-tabs
50
+ No description available.
62
51
 
63
- **Tag:** `<src\components\tabs>`
52
+ **Properties**
64
53
 
65
- Component description not available
54
+ | Property | Attribute | Type | Default | Description |
55
+ |----------|-----------|------|---------|-------------|
56
+ | `checked` | `checked` | `boolean` | `false` | |
57
+ | `indeterminate` | `indeterminate` | `boolean` | `false` | |
58
+ | `disabled` | `disabled` | `boolean` | `false` | |
59
+ | `required` | `required` | `boolean` | `false` | |
60
+ | `value` | `value` | `string` | `''` | |
61
+ | `name` | `name` | `string` | `''` | |
62
+ | `label` | `label` | `string` | `''` | |
63
+ | `touchTarget` | `touch-target` | `boolean` | `false` | |
66
64
 
67
- #### Properties
68
- - `activeTabIndex`: any
69
- - `autoActivate`: any
70
- - `tabs`: TabData[]
71
- - `secondary`: any
72
- - `inlineIcon`: any
73
- - `icon`: any
74
- - `ariaLabel`: any
65
+ **Events**
75
66
 
76
- #### Events
67
+ | Event | Type | Description |
68
+ |-------|------|-------------|
69
+ | `change` | `CustomEvent` | |
70
+ | `input` | `CustomEvent` | |
77
71
 
72
+ ### <pd-chip> (PdChip)
78
73
 
79
- #### Example
80
- ```html
81
- <src\components\pd-tabs></src\components\pd-tabs>
82
- ```
74
+ No description available.
83
75
 
76
+ **Properties**
84
77
 
85
- ### src\components\pd-switch
78
+ | Property | Attribute | Type | Default | Description |
79
+ |----------|-----------|------|---------|-------------|
80
+ | `variant` | `variant` | `'assist' \| 'filter' \| 'input' \| 'suggestion'` | `'assist'` | |
81
+ | `label` | `label` | `string` | `''` | |
82
+ | `disabled` | `disabled` | `boolean` | `false` | |
83
+ | `alwaysFocusable` | `always-focusable` | `boolean` | `false` | |
84
+ | `hasIcon` | `has-icon` | `boolean` | `false` | |
85
+ | `icon` | `icon` | `string` | `''` | |
86
+ | `selected` | `selected` | `boolean` | `false` | |
87
+ | `removable` | `removable` | `boolean` | `false` | |
88
+ | `elevated` | `elevated` | `boolean` | `false` | |
89
+ | `href` | `href` | `string` | `''` | |
90
+ | `target` | `target` | `string` | `''` | |
91
+ | `avatar` | `avatar` | `boolean` | `false` | |
92
+ | `removeOnly` | `remove-only` | `boolean` | `false` | |
86
93
 
87
- **Tag:** `<src\components\switch>`
94
+ **Events**
88
95
 
89
- Component description not available
96
+ | Event | Type | Description |
97
+ |-------|------|-------------|
98
+ | `chip-click` | `CustomEvent` | |
99
+ | `chip-remove` | `CustomEvent` | |
90
100
 
91
- #### Properties
92
- - `selected`: any
93
- - `disabled`: any
94
- - `selectedIcon`: any
95
- - `unselectedIcon`: any
96
- - `showOnlySelectedIcon`: any
97
- - `name`: any
98
- - `value`: any
99
- - `ariaLabel`: any
100
- - `required`: any
101
+ ### <pd-dialog> (PdDialog)
101
102
 
102
- #### Events
103
+ The Prioticket dialog component using Material Web Components.
103
104
 
105
+ **Properties**
104
106
 
105
- #### Example
106
- ```html
107
- <src\components\pd-switch></src\components\pd-switch>
108
- ```
107
+ | Property | Attribute | Type | Default | Description |
108
+ |----------|-----------|------|---------|-------------|
109
+ | `open` | `open` | `boolean` | `false` | Whether the dialog is currently open. |
110
+ | `size` | `size` | `'small' \| 'medium' \| 'large' \| 'fullscreen'` | `'medium'` | The size/width variant of the dialog. |
111
+ | `variant` | `variant` | `'alert' \| 'confirm' \| 'form' \| 'custom'` | `'custom'` | The type of dialog - affects styling and behavior. |
112
+ | `headline` | `headline` | `string` | `''` | The dialog headline/title text. |
113
+ | `primaryAction` | `primary-action` | `string` | `''` | Primary action button text. |
114
+ | `secondaryAction` | `secondary-action` | `string` | `''` | Secondary action button text (usually "Cancel"). |
115
+ | `closableByBackdrop` | `closable-by-backdrop` | `boolean` | `true` | Whether the dialog is closable by clicking outside or pressing ESC. |
116
+ | `showCloseButton` | `show-close-button` | `boolean` | `false` | Whether to show a close button in the header. |
109
117
 
118
+ **Events**
110
119
 
111
- ### src\components\pd-stepper
120
+ | Event | Type | Description |
121
+ |-------|------|-------------|
122
+ | `open` | `CustomEvent` | Fired when the dialog is opened. |
123
+ | `closed` | `CustomEvent` | Fired when the dialog is closed. |
124
+ | `primary-action` | `CustomEvent` | |
125
+ | `secondary-action` | `CustomEvent` | |
112
126
 
113
- **Tag:** `<src\components\stepper>`
127
+ **Slots**
114
128
 
115
- Component description not available
129
+ | Slot | Description |
130
+ |------|-------------|
131
+ | `default` | The main content of the dialog. |
132
+ | `headline` | The dialog title/headline. |
133
+ | `actions` | Action buttons (typically in the bottom area). |
116
134
 
117
- #### Properties
118
- - `steps`: StepData[]
119
- - `currentStep`: any
120
- - `orientation`: 'horizontal' | 'vertical'
121
- - `linear`: any
122
- - `showContent`: any
123
- - `alternativeLabel`: any
135
+ **CSS Custom Properties**
124
136
 
125
- #### Events
137
+ | Property | Description |
138
+ |----------|-------------|
139
+ | `--shape-corner` | Overrides the default border radius. |
126
140
 
141
+ ### <pd-expandable-card> (PdExpandableCard)
127
142
 
128
- #### Example
129
- ```html
130
- <src\components\pd-stepper></src\components\pd-stepper>
131
- ```
143
+ An expandable card component that can show/hide content with animation.
132
144
 
145
+ **Properties**
133
146
 
134
- ### src\components\pd-slider
147
+ | Property | Attribute | Type | Default | Description |
148
+ |----------|-----------|------|---------|-------------|
149
+ | `variant` | `variant` | `'elevated' \| 'filled' \| 'outlined'` | `'elevated'` | The style variant of the card. |
150
+ | `expanded` | `expanded` | `boolean` | `false` | Whether the card is expanded by default. |
151
+ | `expandIcon` | `expand-icon` | `string` | `'keyboard_arrow_down'` | The icon to show when collapsed (pointing down). |
152
+ | `collapseIcon` | `collapse-icon` | `string` | `'keyboard_arrow_up'` | The icon to show when expanded (pointing up). |
153
+ | `headerClickable` | `header-clickable` | `boolean` | `false` | If true, the entire header area becomes clickable. |
135
154
 
136
- **Tag:** `<src\components\slider>`
155
+ **Events**
137
156
 
138
- Component description not available
157
+ | Event | Type | Description |
158
+ |-------|------|-------------|
159
+ | `eventName` | `CustomEvent` | |
160
+ | `expand` | `CustomEvent` | Fired when the card is expanded |
161
+ | `collapse` | `CustomEvent` | Fired when the card is collapsed |
139
162
 
140
- #### Properties
141
- - `disabled`: any
142
- - `min`: any
143
- - `max`: any
144
- - `value`: any
145
- - `step`: any
146
- - `ticks`: any
147
- - `labeled`: any
148
- - `valueIndicator`: any
149
- - `valueStart`: any
150
- - `valueEnd`: any
151
- - `ariaLabel`: any
152
- - `ariaLabelStart`: any
153
- - `ariaLabelEnd`: any
163
+ **Slots**
154
164
 
155
- #### Events
165
+ | Slot | Description |
166
+ |------|-------------|
167
+ | `header` | The main header content (always visible) |
168
+ | `default` | The expandable content (shown when expanded) |
156
169
 
170
+ ### <pd-fab> (PdFab)
157
171
 
158
- #### Example
159
- ```html
160
- <src\components\pd-slider></src\components\pd-slider>
161
- ```
172
+ No description available.
162
173
 
174
+ **Properties**
163
175
 
164
- ### src\components\pd-select
176
+ | Property | Attribute | Type | Default | Description |
177
+ |----------|-----------|------|---------|-------------|
178
+ | `variant` | `variant` | `'surface' \| 'primary' \| 'secondary' \| 'tertiary' \| 'branded'` | `'primary'` | |
179
+ | `size` | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | |
180
+ | `icon` | `icon` | `string` | `''` | |
181
+ | `label` | `label` | `string` | `''` | |
182
+ | `lowered` | `lowered` | `boolean` | `false` | |
183
+ | `disabled` | `disabled` | `boolean` | `false` | |
184
+ | `ariaLabel` | `aria-label` | `string` | `''` | |
165
185
 
166
- **Tag:** `<src\components\select>`
186
+ **Events**
167
187
 
168
- Component description not available
188
+ | Event | Type | Description |
189
+ |-------|------|-------------|
190
+ | `fab-click` | `CustomEvent` | |
169
191
 
170
- #### Properties
171
- - `variant`: 'filled' | 'outlined'
172
- - `label`: any
173
- - `value`: any
174
- - `disabled`: any
175
- - `required`: any
176
- - `errorText`: any
177
- - `error`: any
178
- - `supportingText`: any
179
- - `options`: SelectOption[]
180
- - `leadingIcon`: any
192
+ ### <pd-icon> (PdIcon)
181
193
 
182
- #### Events
194
+ No description available.
183
195
 
196
+ **Properties**
184
197
 
185
- #### Example
186
- ```html
187
- <src\components\pd-select></src\components\pd-select>
188
- ```
198
+ | Property | Attribute | Type | Default | Description |
199
+ |----------|-----------|------|---------|-------------|
200
+ | `name` | `name` | `string` | `''` | |
201
+ | `size` | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | |
202
+ | `variant` | `variant` | `'filled' \| 'outlined' \| 'round' \| 'sharp' \| 'two-tone'` | `'filled'` | |
189
203
 
204
+ ### <pd-icon-button> (PdIconButton)
190
205
 
191
- ### src\components\pd-segmented-stepper
206
+ No description available.
192
207
 
193
- **Tag:** `<src\components\segmented-stepper>`
208
+ **Properties**
194
209
 
195
- Component description not available
210
+ | Property | Attribute | Type | Default | Description |
211
+ |----------|-----------|------|---------|-------------|
212
+ | `variant` | `variant` | `'standard' \| 'filled' \| 'tonal' \| 'outlined'` | `'standard'` | |
213
+ | `icon` | `icon` | `string` | `''` | |
214
+ | `selectedIcon` | `selected-icon` | `string` | `''` | |
215
+ | `disabled` | `disabled` | `boolean` | `false` | |
216
+ | `toggle` | `toggle` | `boolean` | `false` | |
217
+ | `selected` | `selected` | `boolean` | `false` | |
218
+ | `href` | `href` | `string` | `''` | |
219
+ | `target` | `target` | `string` | `''` | |
220
+ | `ariaLabel` | `aria-label` | `string` | `''` | |
221
+ | `ariaLabelSelected` | `aria-label-selected` | `string` | `''` | |
196
222
 
197
- #### Properties
198
- - `activeStep`: any
199
- - `completedSteps`: number[]
200
- - `size`: 'small' | 'medium' | 'large'
201
- - `disabled`: any
202
- - `allowStepNavigation`: any
203
- - `linear`: any
204
- - `stepNumber`: any
205
- - `state`: 'pending' | 'active' | 'completed' | 'disabled'
206
- - `disabled`: any
207
- - `clickable`: any
208
- - `icon`: any
223
+ **Events**
209
224
 
210
- #### Events
211
- - `step`: change - Fired when the active step changes (consistent with pd-stepper).
212
- - `stepchange`: Fired when the active step changes (backwards compatibility).
213
- - `stepcomplete`: Fired when a step is marked as completed.
225
+ | Event | Type | Description |
226
+ |-------|------|-------------|
227
+ | `pd-icon-button-click` | `CustomEvent` | |
228
+ | `change` | `CustomEvent` | |
214
229
 
215
- #### Example
216
- ```html
217
- <src\components\pd-segmented-stepper></src\components\pd-segmented-stepper>
218
- ```
230
+ ### <pd-list> (PdList)
219
231
 
232
+ No description available.
220
233
 
221
- ### src\components\pd-segmented-button
234
+ **Properties**
222
235
 
223
- **Tag:** `<src\components\segmented-button>`
236
+ | Property | Attribute | Type | Default | Description |
237
+ |----------|-----------|------|---------|-------------|
238
+ | `role` | `role` | `string` | `'list'` | |
239
+ | `tabindex` | `tabindex` | `number` | `-1` | |
224
240
 
225
- Component description not available
241
+ ### <pd-list-divider> (PdListDivider)
226
242
 
227
- #### Properties
228
- - `multiSelect`: any
229
- - `size`: 'small' | 'medium' | 'large'
230
- - `disabled`: any
231
- - `selectedValues`: string[]
232
- - `value`: any
233
- - `selected`: any
234
- - `disabled`: any
235
- - `icon`: any
236
- - `iconOnly`: any
243
+ No description available.
237
244
 
238
- #### Events
239
- - `selectionchange`: Fired when the selection changes.
245
+ **Properties**
240
246
 
241
- #### Example
242
- ```html
243
- <src\components\pd-segmented-button></src\components\pd-segmented-button>
244
- ```
247
+ | Property | Attribute | Type | Default | Description |
248
+ |----------|-----------|------|---------|-------------|
249
+ | `inset` | `inset` | `boolean` | `false` | |
250
+ | `role` | `role` | `string` | `'separator'` | |
245
251
 
252
+ ### <pd-list-item> (PdListItem)
246
253
 
247
- ### src\components\pd-radio
254
+ No description available.
248
255
 
249
- **Tag:** `<src\components\radio>`
256
+ **Properties**
250
257
 
251
- Component description not available
258
+ | Property | Attribute | Type | Default | Description |
259
+ |----------|-----------|------|---------|-------------|
260
+ | `type` | `type` | `'text' \| 'link' \| 'button'` | `'text'` | |
261
+ | `headline` | `headline` | `string` | `''` | |
262
+ | `supportingText` | `supporting-text` | `string` | `''` | |
263
+ | `trailingSupportingText` | `trailing-supporting-text` | `string` | `''` | |
264
+ | `href` | `href` | `string` | `''` | |
265
+ | `target` | `target` | `string` | `''` | |
266
+ | `disabled` | `disabled` | `boolean` | `false` | |
267
+ | `icon` | `icon` | `string` | `''` | |
268
+ | `trailingIcon` | `trailing-icon` | `string` | `''` | |
269
+ | `avatar` | `avatar` | `string` | `''` | |
270
+ | `image` | `image` | `string` | `''` | |
271
+ | `tabindex` | `tabindex` | `number \| undefined` | | |
252
272
 
253
- #### Properties
254
- - `checked`: any
255
- - `disabled`: any
256
- - `name`: any
257
- - `value`: any
258
- - `ariaLabel`: any
259
- - `ariaDescribedby`: any
260
- - `required`: any
261
- - `name`: any
262
- - `value`: any
263
- - `disabled`: any
264
- - `required`: any
265
- - `ariaLabel`: any
266
- - `ariaLabelledby`: any
273
+ **Events**
274
+
275
+ | Event | Type | Description |
276
+ |-------|------|-------------|
277
+ | `list-item-click` | `CustomEvent` | |
267
278
 
268
- #### Events
279
+ ### <pd-menu> (PdMenu)
269
280
 
281
+ A thin wrapper around the Material Web Menu component.
270
282
 
271
- #### Example
272
- ```html
273
- <src\components\pd-radio></src\components\pd-radio>
274
- ```
283
+ **Properties**
275
284
 
285
+ | Property | Attribute | Type | Default | Description |
286
+ |----------|-----------|------|---------|-------------|
287
+ | `anchor` | `anchor` | `string` | `''` | The ID of the element to anchor the menu to.
288
+ The element must be in the same root node as the menu. |
289
+ | `anchorElement` | | `HTMLElement \| undefined` | | Reference to the element to anchor the menu to.
290
+ Overrides `anchor`. |
291
+ | `open` | `open` | `boolean` | `false` | Controls whether the menu is open or closed. |
292
+ | `positioning` | `positioning` | `'absolute' \| 'fixed' \| 'document' \| 'popover'` | `'popover'` | The positioning strategy for the menu. |
293
+ | `anchorCorner` | `anchor-corner` | `'end-start' \| 'end-end' \| 'start-start' \| 'start-end'` | `'start-start'` | Corner of the anchor to align the menu to. |
294
+ | `menuCorner` | `menu-corner` | `'end-start' \| 'end-end' \| 'start-start' \| 'start-end'` | `'start-start'` | Corner of the menu to align with the anchor corner. |
295
+ | `quick` | `quick` | `boolean` | `false` | Skips the opening and closing animations. |
296
+ | `hasOverflow` | `has-overflow` | `boolean` | `false` | Whether the menu has an overflow submenu. |
297
+ | `xOffset` | `x-offset` | `number` | `0` | Horizontal offset of the menu from the anchor. |
298
+ | `yOffset` | `y-offset` | `number` | `0` | Vertical offset of the menu from the anchor. |
299
+ | `defaultFocus` | `default-focus` | `'none' \| 'list-root' \| 'first-item' \| 'last-item'` | `'list-root'` | Determines the default focus state of the menu. |
300
+ | `stayOpenOnFocusout` | `stay-open-on-focusout` | `boolean` | `false` | Whether the menu should remain open when focus leaves the menu. |
301
+ | `stayOpenOnOutsideClick` | `stay-open-on-outside-click` | `boolean` | `false` | Whether the menu should remain open when clicking outside the menu. |
302
+ | `skipRestoreFocus` | `skip-restore-focus` | `boolean` | `false` | Whether to skip restoring focus to the anchor when the menu closes. |
276
303
 
277
- ### src\components\pd-progress
304
+ **Slots**
305
+
306
+ | Slot | Description |
307
+ |------|-------------|
308
+ | `default` | Default slot for `pd-menu-item` elements. |
309
+
310
+ **CSS Custom Properties**
311
+
312
+ | Property | Description |
313
+ |----------|-------------|
314
+ | `--pd-menu-container-shape` | The shape of the menu container. |
315
+ | `--pd-menu-container-color` | The background color of the menu. |
316
+ | `--pd-menu-container-elevation` | The box-shadow for the menu container. |
278
317
 
279
- **Tag:** `<src\components\progress>`
318
+ ### <pd-menu-item> (PdMenuItemM)
280
319
 
281
- Component description not available
320
+ A menu item component for use within pd-menu.
282
321
 
283
- #### Properties
284
- - `type`: 'linear' | 'circular'
285
- - `value`: any
286
- - `max`: any
287
- - `buffer`: any
288
- - `indeterminate`: any
289
- - `visible`: any
290
- - `size`: 'small' | 'medium' | 'large'
291
- - `ariaLabel`: any
322
+ **Properties**
292
323
 
293
- #### Events
324
+ | Property | Attribute | Type | Default | Description |
325
+ |----------|-----------|------|---------|-------------|
326
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the menu item is disabled |
327
+ | `type` | `type` | `'menuitem' \| 'option' \| 'button'` | `'menuitem'` | The type of menu item |
328
+ | `href` | `href` | `string` | `''` | The href for link-type menu items |
329
+ | `target` | `target` | `string` | `''` | The target for link-type menu items |
330
+ | `keepOpen` | `keep-open` | `boolean` | `false` | Whether to keep the menu open after selection |
331
+ | `selected` | `selected` | `boolean` | `false` | Whether the menu item is selected (for option type) |
332
+ | `leadingIcon` | `leading-icon` | `string` | `''` | Leading icon name |
333
+ | `trailingIcon` | `trailing-icon` | `string` | `''` | Trailing icon name |
334
+ | `text` | `text` | `string` | `''` | Text content for simple menu items |
335
+ | `supportingText` | `supporting-text` | `string` | `''` | Supporting text (subtitle) |
294
336
 
337
+ **Events**
295
338
 
296
- #### Example
297
- ```html
298
- <src\components\pd-progress></src\components\pd-progress>
299
- ```
339
+ | Event | Type | Description |
340
+ |-------|------|-------------|
341
+ | `close-menu` | `CustomEvent` | Fired when the menu should be closed (usually on selection) |
342
+ | `menu-item-selected` | `CustomEvent` | |
300
343
 
344
+ **Slots**
345
+
346
+ | Slot | Description |
347
+ |------|-------------|
348
+ | `default` | The main content of the menu item |
349
+ | `start` | Content at the start of the menu item (e.g., icon) |
350
+ | `end` | Content at the end of the menu item (e.g., shortcut text) |
301
351
 
302
- ### src\components\pd-menu
352
+ ### <pd-progress> (PdProgress)
353
+
354
+ A thin wrapper around the Material Web Progress components.
355
+
356
+ **Properties**
357
+
358
+ | Property | Attribute | Type | Default | Description |
359
+ |----------|-----------|------|---------|-------------|
360
+ | `type` | `type` | `'linear' \| 'circular'` | `'linear'` | The type of progress indicator. |
361
+ | `value` | `value` | `number \| undefined` | | The progress value (0-1). When undefined, shows indeterminate progress. |
362
+ | `max` | `max` | `number` | `1` | The maximum value for the progress (used for buffer). |
363
+ | `buffer` | `buffer` | `number \| undefined` | | The buffer value (0-max) for linear progress showing buffered content. |
364
+ | `indeterminate` | `indeterminate` | `boolean` | `false` | Whether the progress indicator should be indeterminate. |
365
+ | `visible` | `visible` | `boolean` | `true` | Whether the progress indicator is visible. |
366
+ | `size` | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | Size variant for circular progress. |
367
+ | `ariaLabel` | `aria-label` | `string` | `''` | The aria label for accessibility. |
303
368
 
304
- **Tag:** `<src\components\menu>`
369
+ **CSS Custom Properties**
305
370
 
306
- Component description not available
371
+ | Property | Description |
372
+ |----------|-------------|
373
+ | `--pd-progress-active-indicator-color` | The color of the active progress indicator. |
374
+ | `--pd-progress-track-color` | The color of the progress track. |
307
375
 
308
- #### Properties
309
- - `anchor`: any
310
- - `anchorElement`: any
311
- - `open`: any
312
- - `positioning`: 'absolute' | 'fixed' | 'document' | 'popover'
313
- - `anchorCorner`: 'end-start' | 'end-end' | 'start-start' | 'start-end'
314
- - `menuCorner`: 'end-start' | 'end-end' | 'start-start' | 'start-end'
315
- - `quick`: any
316
- - `hasOverflow`: any
317
- - `xOffset`: any
318
- - `yOffset`: any
319
- - `defaultFocus`: 'none' | 'list-root' | 'first-item' | 'last-item'
320
- - `stayOpenOnFocusout`: any
321
- - `stayOpenOnOutsideClick`: any
322
- - `skipRestoreFocus`: any
376
+ ### <pd-radio> (PdRadio)
323
377
 
324
- #### Events
378
+ A thin wrapper around the Material Web Radio component.
325
379
 
380
+ **Properties**
326
381
 
327
- #### Example
328
- ```html
329
- <src\components\pd-menu></src\components\pd-menu>
330
- ```
382
+ | Property | Attribute | Type | Default | Description |
383
+ |----------|-----------|------|---------|-------------|
384
+ | `checked` | `checked` | `boolean` | `false` | Whether the radio is checked. |
385
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the radio is disabled. |
386
+ | `name` | `name` | `string` | `''` | The name attribute for form grouping. |
387
+ | `value` | `value` | `string` | `''` | The value attribute for form submission. |
388
+ | `ariaLabel` | `aria-label` | `string` | `''` | The aria label for accessibility. |
389
+ | `ariaDescribedby` | `aria-describedby` | `string` | `''` | The aria-describedby attribute for accessibility. |
390
+ | `required` | `required` | `boolean` | `false` | Whether the radio is required in a form. |
331
391
 
392
+ **Events**
332
393
 
333
- ### src\components\pd-menu-item
394
+ | Event | Type | Description |
395
+ |-------|------|-------------|
396
+ | `change` | `CustomEvent` | |
397
+ | `input` | `CustomEvent` | |
334
398
 
335
- **Tag:** `<src\components\menu-item>`
399
+ **CSS Custom Properties**
336
400
 
337
- Component description not available
401
+ | Property | Description |
402
+ |----------|-------------|
403
+ | `--pd-radio-selected-icon-color` | The color of the selected radio icon. |
404
+ | `--pd-radio-unselected-icon-color` | The color of the unselected radio icon. |
405
+ | `--pd-radio-icon-size` | The size of the radio icon. |
338
406
 
339
- #### Properties
340
- - `disabled`: any
341
- - `type`: 'menuitem' | 'option' | 'button'
342
- - `href`: any
343
- - `target`: any
344
- - `keepOpen`: any
345
- - `selected`: any
346
- - `leadingIcon`: any
347
- - `trailingIcon`: any
348
- - `text`: any
349
- - `supportingText`: any
407
+ ### <pd-radio-group> (PdRadioGroup)
350
408
 
351
- #### Events
352
- - `close`: menu - Fired when the menu should be closed (usually on selection)
409
+ A container for grouping pd-radio elements.
353
410
 
354
- #### Example
355
- ```html
356
- <src\components\pd-menu-item></src\components\pd-menu-item>
357
- ```
411
+ **Properties**
358
412
 
413
+ | Property | Attribute | Type | Default | Description |
414
+ |----------|-----------|------|---------|-------------|
415
+ | `name` | `name` | `string` | `''` | The name for all radio buttons in this group. |
416
+ | `value` | `value` | `string` | `''` | The currently selected value. |
417
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the radio group is disabled. |
418
+ | `required` | `required` | `boolean` | `false` | Whether the radio group is required. |
419
+ | `ariaLabel` | `aria-label` | `string` | `''` | The aria-label for the radio group. |
420
+ | `ariaLabelledby` | `aria-labelledby` | `string` | `''` | The aria-labelledby for the radio group. |
359
421
 
360
- ### src\components\pd-list
422
+ **Events**
361
423
 
362
- **Tag:** `<src\components\list>`
424
+ | Event | Type | Description |
425
+ |-------|------|-------------|
426
+ | `change` | `CustomEvent` | |
363
427
 
364
- Component description not available
428
+ ### <pd-segment-item> (PdSegmentItem)
365
429
 
366
- #### Properties
367
- - `role`: any
368
- - `tabindex`: any
369
- - `type`: 'text' | 'link' | 'button'
370
- - `headline`: any
371
- - `supportingText`: any
372
- - `trailingSupportingText`: any
373
- - `href`: any
374
- - `target`: any
375
- - `disabled`: any
376
- - `icon`: any
377
- - `trailingIcon`: any
378
- - `avatar`: any
379
- - `image`: any
380
- - `tabindex`: any
381
- - `inset`: any
382
- - `role`: any
430
+ An individual segment item for use within pd-segmented-button.
383
431
 
384
- #### Events
432
+ **Properties**
385
433
 
434
+ | Property | Attribute | Type | Default | Description |
435
+ |----------|-----------|------|---------|-------------|
436
+ | `value` | `value` | `string` | `''` | The value associated with this segment. |
437
+ | `selected` | `selected` | `boolean` | `false` | Whether this segment is selected. |
438
+ | `disabled` | `disabled` | `boolean` | `false` | Whether this segment is disabled. |
439
+ | `icon` | `icon` | `string` | `''` | The icon to display in the segment. |
440
+ | `iconOnly` | `icon-only` | `boolean` | `false` | Whether to show only the icon (no text). |
386
441
 
387
- #### Example
388
- ```html
389
- <src\components\pd-list></src\components\pd-list>
390
- ```
442
+ **Events**
391
443
 
444
+ | Event | Type | Description |
445
+ |-------|------|-------------|
446
+ | `segment-click` | `CustomEvent` | |
392
447
 
393
- ### src\components\pd-icon
448
+ **Slots**
394
449
 
395
- **Tag:** `<src\components\icon>`
450
+ | Slot | Description |
451
+ |------|-------------|
452
+ | `default` | The default slot for the segment's content. |
453
+ | `icon` | The slot for an icon. |
396
454
 
397
- Component description not available
455
+ ### <pd-segmented-button> (PdSegmentedButton)
398
456
 
399
- #### Properties
400
- - `name`: any
401
- - `size`: 'small' | 'medium' | 'large'
402
- - `variant`: 'filled' | 'outlined' | 'round' | 'sharp' | 'two-tone'
457
+ A segmented button component that allows users to select from multiple options.
403
458
 
404
- #### Events
459
+ **Properties**
405
460
 
461
+ | Property | Attribute | Type | Default | Description |
462
+ |----------|-----------|------|---------|-------------|
463
+ | `multiSelect` | `multi-select` | `boolean` | `false` | Whether multiple segments can be selected simultaneously. |
464
+ | `size` | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | The size of the segmented button. |
465
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the segmented button is disabled. |
466
+ | `selectedValues` | `selectedValues` | `string[]` | `[]` | Array of selected segment values. |
406
467
 
407
- #### Example
408
- ```html
409
- <src\components\pd-icon></src\components\pd-icon>
410
- ```
468
+ **Events**
411
469
 
470
+ | Event | Type | Description |
471
+ |-------|------|-------------|
472
+ | `selectionchange` | `CustomEvent` | Fired when the selection changes. |
412
473
 
413
- ### src\components\pd-icon-button
474
+ **Slots**
414
475
 
415
- **Tag:** `<src\components\icon-button>`
476
+ | Slot | Description |
477
+ |------|-------------|
478
+ | `default` | The default slot for pd-segment-item elements. |
416
479
 
417
- Component description not available
480
+ **CSS Custom Properties**
418
481
 
419
- #### Properties
420
- - `variant`: 'standard' | 'filled' | 'tonal' | 'outlined'
421
- - `icon`: any
422
- - `selectedIcon`: any
423
- - `disabled`: any
424
- - `toggle`: any
425
- - `selected`: any
426
- - `href`: any
427
- - `target`: any
428
- - `ariaLabel`: any
429
- - `ariaLabelSelected`: any
482
+ | Property | Description |
483
+ |----------|-------------|
484
+ | `--md-segmented-button-container-height` | Override the default container height. |
485
+ | `--md-segmented-button-shape` | Override the default border radius. |
430
486
 
431
- #### Events
487
+ ### <pd-segmented-stepper> (PdSegmentedStepper)
432
488
 
489
+ A segmented button variant that functions as a stepper with completion tracking.
433
490
 
434
- #### Example
435
- ```html
436
- <src\components\pd-icon-button></src\components\pd-icon-button>
437
- ```
491
+ **Properties**
438
492
 
493
+ | Property | Attribute | Type | Default | Description |
494
+ |----------|-----------|------|---------|-------------|
495
+ | `activeStep` | `active-step` | `number` | `0` | The currently active step index (0-based). |
496
+ | `completedSteps` | `completed-steps` | `number[]` | `[]` | Array of completed step indices. |
497
+ | `size` | `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | The size of the stepper. |
498
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the stepper is disabled. |
499
+ | `allowStepNavigation` | `allow-step-navigation` | `boolean` | `true` | Whether users can click on completed steps to go back. |
500
+ | `linear` | `linear` | `boolean` | `true` | Whether the stepper is linear (steps must be completed in order). |
439
501
 
440
- ### src\components\pd-fab
502
+ **Events**
441
503
 
442
- **Tag:** `<src\components\fab>`
504
+ | Event | Type | Description |
505
+ |-------|------|-------------|
506
+ | `step-change` | `CustomEvent` | Fired when the active step changes. Detail: `{ currentStep, previousStep, totalSteps }`. |
507
+ | `step-complete` | `CustomEvent` | Fired when a step is marked as completed. Detail: `{ completedStep, completedSteps, totalSteps }`. |
443
508
 
444
- Component description not available
509
+ **Slots**
445
510
 
446
- #### Properties
447
- - `variant`: 'surface' | 'primary' | 'secondary' | 'tertiary' | 'branded'
448
- - `size`: 'small' | 'medium' | 'large'
449
- - `icon`: any
450
- - `label`: any
451
- - `lowered`: any
452
- - `disabled`: any
453
- - `ariaLabel`: any
511
+ | Slot | Description |
512
+ |------|-------------|
513
+ | `default` | The default slot for pd-stepper-item elements. |
454
514
 
455
- #### Events
515
+ ### <pd-select> (PdSelect)
456
516
 
517
+ A thin wrapper around the Material Web Select component.
457
518
 
458
- #### Example
459
- ```html
460
- <src\components\pd-fab></src\components\pd-fab>
461
- ```
519
+ **Properties**
462
520
 
521
+ | Property | Attribute | Type | Default | Description |
522
+ |----------|-----------|------|---------|-------------|
523
+ | `variant` | `variant` | `'filled' \| 'outlined'` | `'outlined'` | The variant of the select field. |
524
+ | `label` | `label` | `string` | `''` | The label for the select field. |
525
+ | `value` | `value` | `string` | `''` | The selected value. |
526
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the select is disabled. |
527
+ | `required` | `required` | `boolean` | `false` | Whether the select is required. |
528
+ | `errorText` | `error-text` | `string` | `''` | The error message to display when `error` is true. |
529
+ | `error` | `error` | `boolean` | `false` | Whether the select has an error state. |
530
+ | `supportingText` | `supporting-text` | `string` | `''` | The supporting text to display below the select. |
531
+ | `options` | `options` | `SelectOption[]` | `[]` | An array of options to be rendered. |
532
+ | `leadingIcon` | `leading-icon` | `string` | `''` | The leading icon name. |
463
533
 
464
- ### src\components\pd-expandable-card
534
+ **Events**
465
535
 
466
- **Tag:** `<src\components\expandable-card>`
536
+ | Event | Type | Description |
537
+ |-------|------|-------------|
538
+ | `change` | `CustomEvent` | Fired when the selected value changes. |
467
539
 
468
- Component description not available
540
+ ### <pd-slider> (PdSlider)
469
541
 
470
- #### Properties
471
- - `variant`: 'elevated' | 'filled' | 'outlined'
472
- - `expanded`: any
473
- - `expandIcon`: any
474
- - `collapseIcon`: any
475
- - `headerClickable`: any
542
+ A thin wrapper around the Material Web Slider component.
476
543
 
477
- #### Events
478
- - `expand`: Fired when the card is expanded
479
- - `collapse`: Fired when the card is collapsed
544
+ **Properties**
480
545
 
481
- #### Example
482
- ```html
483
- <src\components\pd-expandable-card></src\components\pd-expandable-card>
484
- ```
546
+ | Property | Attribute | Type | Default | Description |
547
+ |----------|-----------|------|---------|-------------|
548
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the slider is disabled. |
549
+ | `min` | `min` | `number` | `0` | The minimum value of the slider. |
550
+ | `max` | `max` | `number` | `100` | The maximum value of the slider. |
551
+ | `value` | `value` | `number` | `0` | The current value of the slider. |
552
+ | `step` | `step` | `number` | `1` | The step increment of the slider. |
553
+ | `ticks` | `ticks` | `boolean` | `false` | Whether the slider should show tick marks. |
554
+ | `labeled` | `labeled` | `boolean` | `false` | Whether the slider should show labels. |
555
+ | `valueIndicator` | `value-indicator` | `boolean` | `false` | Whether the slider should show value indicators on focus/hover. |
556
+ | `valueStart` | `value-start` | `number \| undefined` | | The start value for a range slider (when provided, creates a range slider). |
557
+ | `valueEnd` | `value-end` | `number \| undefined` | | The end value for a range slider. |
558
+ | `ariaLabel` | `aria-label` | `string` | `''` | The aria label for the slider. |
559
+ | `ariaLabelStart` | `aria-label-start` | `string` | `''` | The aria label for the start handle in range mode. |
560
+ | `ariaLabelEnd` | `aria-label-end` | `string` | `''` | The aria label for the end handle in range mode. |
485
561
 
562
+ **Events**
486
563
 
487
- ### src\components\pd-dialog
564
+ | Event | Type | Description |
565
+ |-------|------|-------------|
566
+ | `input` | `CustomEvent` | |
567
+ | `change` | `CustomEvent` | |
488
568
 
489
- **Tag:** `<src\components\dialog>`
569
+ **CSS Custom Properties**
490
570
 
491
- Component description not available
571
+ | Property | Description |
572
+ |----------|-------------|
573
+ | `--pd-slider-handle-color` | The color of the slider handle. |
574
+ | `--pd-slider-track-color` | The color of the active slider track. |
575
+ | `--pd-slider-track-inactive-color` | The color of the inactive slider track. |
492
576
 
493
- #### Properties
494
- - `open`: any
495
- - `size`: 'small' | 'medium' | 'large' | 'fullscreen'
496
- - `variant`: 'alert' | 'confirm' | 'form' | 'custom'
497
- - `headline`: any
498
- - `primaryAction`: any
499
- - `secondaryAction`: any
500
- - `closableByBackdrop`: any
501
- - `showCloseButton`: any
577
+ ### <pd-stepper> (PdStepper)
502
578
 
503
- #### Events
504
- - `open`: Fired when the dialog is opened.
505
- - `closed`: Fired when the dialog is closed.
579
+ A Material Design stepper component that displays progress through a sequence of steps.
506
580
 
507
- #### Example
508
- ```html
509
- <src\components\pd-dialog></src\components\pd-dialog>
510
- ```
581
+ **Properties**
511
582
 
583
+ | Property | Attribute | Type | Default | Description |
584
+ |----------|-----------|------|---------|-------------|
585
+ | `steps` | `steps` | `StepData[]` | `[]` | The steps data array |
586
+ | `currentStep` | `currentStep` | `number` | `0` | The current active step index (0-based) |
587
+ | `orientation` | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | The orientation of the stepper |
588
+ | `linear` | `linear` | `boolean` | `true` | Whether the stepper is linear (steps must be completed in order) |
589
+ | `showContent` | `showContent` | `boolean` | `true` | Whether to show step content |
590
+ | `alternativeLabel` | `alternativeLabel` | `boolean` | `false` | Alternative labels layout for horizontal stepper |
512
591
 
513
- ### src\components\pd-chip
592
+ **Events**
514
593
 
515
- **Tag:** `<src\components\chip>`
594
+ | Event | Type | Description |
595
+ |-------|------|-------------|
596
+ | `step-change` | `CustomEvent` | Fired when the active step changes. Detail: `{ currentStep, previousStep, totalSteps }`. |
516
597
 
517
- Component description not available
598
+ **CSS Custom Properties**
518
599
 
519
- #### Properties
520
- - `variant`: 'assist' | 'filter' | 'input' | 'suggestion'
521
- - `label`: any
522
- - `disabled`: any
523
- - `alwaysFocusable`: any
524
- - `hasIcon`: any
525
- - `icon`: any
526
- - `selected`: any
527
- - `removable`: any
528
- - `elevated`: any
529
- - `href`: any
530
- - `target`: any
531
- - `avatar`: any
532
- - `removeOnly`: any
600
+ | Property | Description |
601
+ |----------|-------------|
602
+ | `--pd-stepper-active-color` | The color of the active step indicator |
603
+ | `--pd-stepper-completed-color` | The color of completed step indicators |
604
+ | `--pd-stepper-inactive-color` | The color of inactive step indicators |
605
+ | `--pd-stepper-error-color` | The color of error step indicators |
606
+ | `--pd-stepper-connector-color` | The color of step connectors |
533
607
 
534
- #### Events
608
+ ### <pd-stepper-item> (PdStepperItem)
535
609
 
610
+ An individual step item for use within pd-segmented-stepper.
536
611
 
537
- #### Example
538
- ```html
539
- <src\components\pd-chip></src\components\pd-chip>
540
- ```
612
+ **Properties**
541
613
 
614
+ | Property | Attribute | Type | Default | Description |
615
+ |----------|-----------|------|---------|-------------|
616
+ | `stepNumber` | `step-number` | `number` | `1` | The step number (1-based, auto-assigned by parent). |
617
+ | `state` | `state` | `'pending' \| 'active' \| 'completed' \| 'disabled'` | `'pending'` | The state of this step. |
618
+ | `disabled` | `disabled` | `boolean` | `false` | Whether this step is disabled. |
619
+ | `clickable` | `clickable` | `boolean` | `false` | Whether this step can be clicked. |
620
+ | `icon` | `icon` | `string` | `''` | Optional icon to display instead of step number. |
542
621
 
543
- ### src\components\pd-checkbox
622
+ **Events**
544
623
 
545
- **Tag:** `<src\components\checkbox>`
624
+ | Event | Type | Description |
625
+ |-------|------|-------------|
626
+ | `stepper-item-click` | `CustomEvent` | |
546
627
 
547
- Component description not available
628
+ **Slots**
548
629
 
549
- #### Properties
550
- - `checked`: any
551
- - `indeterminate`: any
552
- - `disabled`: any
553
- - `required`: any
554
- - `value`: any
555
- - `name`: any
556
- - `label`: any
557
- - `touchTarget`: any
630
+ | Slot | Description |
631
+ |------|-------------|
632
+ | `default` | The default slot for the step's content. |
558
633
 
559
- #### Events
634
+ ### <pd-switch> (PdSwitch)
560
635
 
636
+ A thin wrapper around the Material Web Switch component.
561
637
 
562
- #### Example
563
- ```html
564
- <src\components\pd-checkbox></src\components\pd-checkbox>
565
- ```
638
+ **Properties**
566
639
 
640
+ | Property | Attribute | Type | Default | Description |
641
+ |----------|-----------|------|---------|-------------|
642
+ | `selected` | `selected` | `boolean` | `false` | Whether the switch is selected (on). |
643
+ | `disabled` | `disabled` | `boolean` | `false` | Whether the switch is disabled. |
644
+ | `selectedIcon` | `selected-icon` | `string` | `''` | The icon to display when the switch is selected. |
645
+ | `unselectedIcon` | `unselected-icon` | `string` | `''` | The icon to display when the switch is unselected. |
646
+ | `showOnlySelectedIcon` | `show-only-selected-icon` | `boolean` | `false` | Whether to show only the selected icon (hides unselected icon). |
647
+ | `name` | `name` | `string` | `''` | The name attribute for form submission. |
648
+ | `value` | `value` | `string` | `'on'` | The value attribute for form submission. |
649
+ | `ariaLabel` | `aria-label` | `string` | `''` | The aria label for accessibility. |
650
+ | `required` | `required` | `boolean` | `false` | Whether the switch is required in a form. |
567
651
 
568
- ### src\components\pd-card
652
+ **Events**
569
653
 
570
- **Tag:** `<src\components\card>`
654
+ | Event | Type | Description |
655
+ |-------|------|-------------|
656
+ | `change` | `CustomEvent` | |
657
+ | `input` | `CustomEvent` | |
571
658
 
572
- Component description not available
659
+ **CSS Custom Properties**
573
660
 
574
- #### Properties
575
- - `variant`: 'elevated' | 'filled' | 'outlined'
576
- - `clickable`: any
661
+ | Property | Description |
662
+ |----------|-------------|
663
+ | `--pd-switch-selected-track-color` | The color of the track when selected. |
664
+ | `--pd-switch-selected-handle-color` | The color of the handle when selected. |
665
+ | `--pd-switch-unselected-track-color` | The color of the track when unselected. |
666
+ | `--pd-switch-unselected-handle-color` | The color of the handle when unselected. |
577
667
 
578
- #### Events
668
+ ### <pd-tab> (PdTab)
579
669
 
670
+ A placeholder element that provides tab data to pd-tabs.
671
+ This element is not rendered directly but is used to collect tab information.
580
672
 
581
- #### Example
582
- ```html
583
- <src\components\pd-card></src\components\pd-card>
584
- ```
673
+ **Properties**
585
674
 
675
+ | Property | Attribute | Type | Default | Description |
676
+ |----------|-----------|------|---------|-------------|
677
+ | `secondary` | `secondary` | `boolean` | `false` | Whether this is a secondary tab variant. |
678
+ | `inlineIcon` | `inline-icon` | `boolean` | `false` | Whether the tab is inlined with the text. |
679
+ | `icon` | `icon` | `string` | `''` | The icon to display in the tab. |
680
+ | `ariaLabel` | `aria-label` | `string` | `''` | The aria label for accessibility. |
586
681
 
587
- ### src\components\pd-button
682
+ ### <pd-tabs> (PdTabs)
588
683
 
589
- **Tag:** `<src\components\button>`
684
+ A thin wrapper around the Material Web Tabs component.
590
685
 
591
- Component description not available
686
+ **Properties**
592
687
 
593
- #### Properties
594
- - `variant`: 'filled' | 'outlined' | 'text' | 'elevated' | 'tonal'
595
- - `size`: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge'
596
- - `icon`: any
597
- - `iconTrailing`: any
598
- - `disabled`: any
688
+ | Property | Attribute | Type | Default | Description |
689
+ |----------|-----------|------|---------|-------------|
690
+ | `activeTabIndex` | `active-tab-index` | `number` | `0` | The index of the currently active tab. |
691
+ | `autoActivate` | `auto-activate` | `boolean` | `false` | Whether to automatically activate tabs on focus (vs requiring click/enter). |
692
+ | `tabs` | `tabs` | `TabData[]` | `[]` | Array of tab data objects |
599
693
 
600
- #### Events
694
+ **Events**
601
695
 
696
+ | Event | Type | Description |
697
+ |-------|------|-------------|
698
+ | `change` | `CustomEvent` | |
602
699
 
603
- #### Example
604
- ```html
605
- <src\components\pd-button></src\components\pd-button>
606
- ```
700
+ **CSS Custom Properties**
607
701
 
702
+ | Property | Description |
703
+ |----------|-------------|
704
+ | `--pd-tabs-divider-color` | The color of the divider line. |
705
+ | `--pd-tabs-active-indicator-color` | The color of the active tab indicator. |
706
+
707
+ ### <pd-text-field> (PdTextField)
708
+
709
+ No description available.
710
+
711
+ **Properties**
712
+
713
+ | Property | Attribute | Type | Default | Description |
714
+ |----------|-----------|------|---------|-------------|
715
+ | `variant` | `variant` | `'filled' \| 'outlined'` | `'outlined'` | |
716
+ | `label` | `label` | `string` | `''` | |
717
+ | `placeholder` | `placeholder` | `string` | `''` | |
718
+ | `value` | `value` | `string` | `''` | |
719
+ | `supportingText` | `supporting-text` | `string` | `''` | |
720
+ | `errorText` | `error-text` | `string` | `''` | |
721
+ | `prefixText` | `prefix-text` | `string` | `''` | |
722
+ | `suffixText` | `suffix-text` | `string` | `''` | |
723
+ | `disabled` | `disabled` | `boolean` | `false` | |
724
+ | `readonly` | `readonly` | `boolean` | `false` | |
725
+ | `required` | `required` | `boolean` | `false` | |
726
+ | `error` | `error` | `boolean` | `false` | |
727
+ | `type` | `type` | `'text' \| 'email' \| 'password' \| 'number' \| 'tel' \| 'url' \| 'search' \| 'textarea'` | `'text'` | |
728
+ | `rows` | `rows` | `number` | `2` | |
729
+ | `cols` | `cols` | `number` | `20` | |
730
+ | `leadingIcon` | `leadingIcon` | `string` | `''` | |
731
+ | `trailingIcon` | `trailingIcon` | `string` | `''` | |
732
+ | `maxlength` | `maxlength` | `number \| undefined` | | |
733
+ | `minlength` | `minlength` | `number \| undefined` | | |
734
+
735
+ **Events**
736
+
737
+ | Event | Type | Description |
738
+ |-------|------|-------------|
739
+ | `input` | `CustomEvent` | |
740
+ | `change` | `CustomEvent` | |
608
741
 
609
- ## Storybook
610
- View interactive documentation: https://68af3f22b44ad2acc02b3370-smrhgwrsuh.chromatic.com/