@taprootio/espalier 2.8.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +945 -955
- package/dist/dialog/esp-dialog.d.ts +4 -4
- package/dist/search/esp-search.d.ts +3 -3
- package/package.json +1 -1
package/custom-elements.json
CHANGED
|
@@ -7096,196 +7096,237 @@
|
|
|
7096
7096
|
},
|
|
7097
7097
|
{
|
|
7098
7098
|
"kind": "javascript-module",
|
|
7099
|
-
"path": "dist/
|
|
7099
|
+
"path": "dist/button/action-state-lightness.js",
|
|
7100
|
+
"declarations": [
|
|
7101
|
+
{
|
|
7102
|
+
"kind": "variable",
|
|
7103
|
+
"name": "BUTTON_ICON_SPLIT_LIGHTNESS_FACTOR",
|
|
7104
|
+
"type": {
|
|
7105
|
+
"text": "number"
|
|
7106
|
+
},
|
|
7107
|
+
"default": "0.9"
|
|
7108
|
+
},
|
|
7109
|
+
{
|
|
7110
|
+
"kind": "variable",
|
|
7111
|
+
"name": "BUTTON_INTERACTION_LIGHTNESS_FACTOR",
|
|
7112
|
+
"type": {
|
|
7113
|
+
"text": "number"
|
|
7114
|
+
},
|
|
7115
|
+
"default": "0.88"
|
|
7116
|
+
},
|
|
7117
|
+
{
|
|
7118
|
+
"kind": "variable",
|
|
7119
|
+
"name": "BUTTON_ICON_INTERACTION_LIGHTNESS_FACTOR",
|
|
7120
|
+
"type": {
|
|
7121
|
+
"text": "number"
|
|
7122
|
+
},
|
|
7123
|
+
"default": "0.8"
|
|
7124
|
+
}
|
|
7125
|
+
],
|
|
7126
|
+
"exports": [
|
|
7127
|
+
{
|
|
7128
|
+
"kind": "js",
|
|
7129
|
+
"name": "BUTTON_ICON_SPLIT_LIGHTNESS_FACTOR",
|
|
7130
|
+
"declaration": {
|
|
7131
|
+
"name": "BUTTON_ICON_SPLIT_LIGHTNESS_FACTOR",
|
|
7132
|
+
"module": "dist/button/action-state-lightness.js"
|
|
7133
|
+
}
|
|
7134
|
+
},
|
|
7135
|
+
{
|
|
7136
|
+
"kind": "js",
|
|
7137
|
+
"name": "BUTTON_INTERACTION_LIGHTNESS_FACTOR",
|
|
7138
|
+
"declaration": {
|
|
7139
|
+
"name": "BUTTON_INTERACTION_LIGHTNESS_FACTOR",
|
|
7140
|
+
"module": "dist/button/action-state-lightness.js"
|
|
7141
|
+
}
|
|
7142
|
+
},
|
|
7143
|
+
{
|
|
7144
|
+
"kind": "js",
|
|
7145
|
+
"name": "BUTTON_ICON_INTERACTION_LIGHTNESS_FACTOR",
|
|
7146
|
+
"declaration": {
|
|
7147
|
+
"name": "BUTTON_ICON_INTERACTION_LIGHTNESS_FACTOR",
|
|
7148
|
+
"module": "dist/button/action-state-lightness.js"
|
|
7149
|
+
}
|
|
7150
|
+
}
|
|
7151
|
+
]
|
|
7152
|
+
},
|
|
7153
|
+
{
|
|
7154
|
+
"kind": "javascript-module",
|
|
7155
|
+
"path": "dist/button/esp-button-group.js",
|
|
7100
7156
|
"declarations": [
|
|
7101
7157
|
{
|
|
7102
7158
|
"kind": "class",
|
|
7103
|
-
"description": "Groups
|
|
7104
|
-
"name": "
|
|
7159
|
+
"description": "Groups related buttons into a visually connected segmented control.\n\nChild `esp-button` elements lose their individual border-radius and\nmerge into a continuous strip; the group container provides the outer\nrounded corners and border.\n\n```html\n<esp-button-group label=\"Actions\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n <esp-button icon-only icon=\"trash\" aria-label=\"Delete\"></esp-button>\n</esp-button-group>\n```\n\nGroups can also contain labelled buttons:\n\n```html\n<esp-button-group label=\"Navigation\">\n <esp-button label=\"Back\" icon=\"arrow-big-left\" collapsed></esp-button>\n <esp-button label=\"Forward\" icon=\"arrow-big-right\" collapsed></esp-button>\n</esp-button-group>\n```\n\nButtons can be wrapped in `esp-tooltip` or `esp-popover`:\n\n```html\n<esp-button-group label=\"With tooltips\">\n <esp-tooltip text=\"Save changes\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Edit item\">\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Delete item\">\n <esp-button icon-only icon=\"trash\" aria-label=\"Delete\"></esp-button>\n </esp-tooltip>\n</esp-button-group>\n```\n\nWhen the group has a fixed width and contains more buttons than\ncan fit, horizontal scrolling kicks in:\n\n```html\n<esp-button-group label=\"Many actions\" style=\"width: 360px;\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n <esp-button icon-only icon=\"upload\" aria-label=\"Upload\"></esp-button>\n <esp-button icon-only icon=\"pin\" aria-label=\"Pin\"></esp-button>\n <esp-button icon-only icon=\"cog\" aria-label=\"Settings\"></esp-button>\n <esp-button icon-only icon=\"user\" aria-label=\"User\"></esp-button>\n <esp-button icon-only icon=\"photo\" aria-label=\"Photo\"></esp-button>\n <esp-button icon-only icon=\"rocket\" aria-label=\"Rocket\"></esp-button>\n <esp-button icon-only icon=\"code\" aria-label=\"Code\"></esp-button>\n <esp-button icon-only icon=\"palette\" aria-label=\"Palette\"></esp-button>\n <esp-button icon-only icon=\"wand\" aria-label=\"Wand\"></esp-button>\n <esp-button icon-only icon=\"tags\" aria-label=\"Tags\"></esp-button>\n</esp-button-group>\n```\n\nAdd the `toolbar` attribute to opt into the WAI-ARIA toolbar\npattern. This changes how the group sits in the tab order: instead of\nevery button being its own tab stop, the whole group becomes a *single*\ntab stop, and the arrow keys (plus `Home`/`End`) move focus between the\nbuttons inside it. Tabbing into the group lands on one button; the next\nTab leaves the group entirely. Use it when a group bundles many actions\n(for example an editor formatting bar) so keyboard users do not have to\nTab through every button.\n\nThe `esp-input` elements below sit before and after the group so the\nsingle-tab-stop behavior is easy to see: Tab from the first input lands\non one toolbar button, the arrow keys move between the buttons, and the\nnext Tab jumps straight to the second input.\n\n```html\n<esp-input value=\"Before\"></esp-input>\n<esp-button-group toolbar label=\"Document actions\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n <esp-button icon-only icon=\"upload\" aria-label=\"Upload\"></esp-button>\n <esp-button icon-only icon=\"trash\" aria-label=\"Delete\"></esp-button>\n</esp-button-group>\n<esp-input value=\"After\"></esp-input>\n```\n\nWhen a button is wrapped in an `esp-tooltip`, the group sets\n`trigger-tabindex=\"-1\"` on that tooltip automatically so its wrapper span\ndoes not reintroduce a tab stop the roving manager is removing:\n\n```html\n<esp-input value=\"Before\"></esp-input>\n<esp-button-group toolbar label=\"Document actions\">\n <esp-tooltip text=\"Save\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Edit\">\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Upload\">\n <esp-button icon-only icon=\"upload\" aria-label=\"Upload\"></esp-button>\n </esp-tooltip>\n</esp-button-group>\n<esp-input value=\"After\"></esp-input>\n```",
|
|
7160
|
+
"name": "EspalierButtonGroup",
|
|
7161
|
+
"cssProperties": [
|
|
7162
|
+
{
|
|
7163
|
+
"description": "The border style between grouped buttons. Defaults to `1px dotted var(--esp-color-border)`.",
|
|
7164
|
+
"name": "--esp-button-group-divider"
|
|
7165
|
+
}
|
|
7166
|
+
],
|
|
7105
7167
|
"slots": [
|
|
7106
7168
|
{
|
|
7107
|
-
"description": "
|
|
7169
|
+
"description": "One or more `esp-button`, `esp-tooltip`, or `esp-popover` elements containing an `esp-button`.",
|
|
7108
7170
|
"name": ""
|
|
7109
7171
|
}
|
|
7110
7172
|
],
|
|
7111
7173
|
"members": [
|
|
7112
7174
|
{
|
|
7113
7175
|
"kind": "field",
|
|
7114
|
-
"name": "
|
|
7115
|
-
"type": {
|
|
7116
|
-
"text": "boolean"
|
|
7117
|
-
},
|
|
7118
|
-
"static": true,
|
|
7119
|
-
"default": "true"
|
|
7120
|
-
},
|
|
7121
|
-
{
|
|
7122
|
-
"kind": "field",
|
|
7123
|
-
"name": "internals",
|
|
7124
|
-
"privacy": "private"
|
|
7125
|
-
},
|
|
7126
|
-
{
|
|
7127
|
-
"kind": "field",
|
|
7128
|
-
"name": "formCtrl",
|
|
7129
|
-
"privacy": "private",
|
|
7130
|
-
"default": "new FormFieldController({ host: this, internals: this.internals, getFormValue: () => { const v = this.values; return v.length > 0 ? v.join(\",\") : null; }, getValidity: () => { if (this.required && this.values.length === 0) { return { flags: { valueMissing: true }, message: this.requiredMessage || \"Please select at least one option.\", }; } return null; }, onReset: () => { for (const cb of this.getCheckboxes()) { cb.checked = false; } }, onRestore: (state: string) => { const selected = state.split(\",\"); for (const cb of this.getCheckboxes()) { cb.checked = selected.includes(cb.value); } }, onDisabled: (isDisabled: boolean) => { this.disabled = isDisabled; }, })"
|
|
7131
|
-
},
|
|
7132
|
-
{
|
|
7133
|
-
"kind": "field",
|
|
7134
|
-
"name": "itemsSlot",
|
|
7135
|
-
"privacy": "private"
|
|
7136
|
-
},
|
|
7137
|
-
{
|
|
7138
|
-
"kind": "field",
|
|
7139
|
-
"name": "formItemDescription",
|
|
7140
|
-
"type": {
|
|
7141
|
-
"text": "string | null"
|
|
7142
|
-
},
|
|
7143
|
-
"privacy": "private",
|
|
7144
|
-
"default": "null"
|
|
7145
|
-
},
|
|
7146
|
-
{
|
|
7147
|
-
"kind": "field",
|
|
7148
|
-
"name": "describedCheckboxes",
|
|
7149
|
-
"privacy": "private",
|
|
7150
|
-
"default": "new Set<EspalierCheckbox>()"
|
|
7151
|
-
},
|
|
7152
|
-
{
|
|
7153
|
-
"kind": "field",
|
|
7154
|
-
"name": "name",
|
|
7176
|
+
"name": "label",
|
|
7155
7177
|
"type": {
|
|
7156
7178
|
"text": "string"
|
|
7157
7179
|
},
|
|
7158
7180
|
"privacy": "public",
|
|
7159
7181
|
"default": "\"\"",
|
|
7160
|
-
"description": "
|
|
7161
|
-
"attribute": "
|
|
7162
|
-
"reflects": true
|
|
7182
|
+
"description": "Accessible label for the group. Screen readers announce this\nso users understand the purpose of the grouped buttons.",
|
|
7183
|
+
"attribute": "label"
|
|
7163
7184
|
},
|
|
7164
7185
|
{
|
|
7165
7186
|
"kind": "field",
|
|
7166
|
-
"name": "
|
|
7187
|
+
"name": "toolbar",
|
|
7167
7188
|
"type": {
|
|
7168
7189
|
"text": "boolean"
|
|
7169
7190
|
},
|
|
7170
7191
|
"privacy": "public",
|
|
7171
7192
|
"default": "false",
|
|
7172
|
-
"description": "When
|
|
7173
|
-
"attribute": "
|
|
7174
|
-
"reflects": true
|
|
7193
|
+
"description": "Opt into the WAI-ARIA toolbar pattern. When set, the group renders\nwith `role=\"toolbar\"`, becomes a single tab stop (roving tabindex),\nand the arrow keys, `Home`, and `End` move focus between the\nenabled buttons. When unset, every button remains an independent\ntab stop and behavior is unchanged.",
|
|
7194
|
+
"attribute": "toolbar"
|
|
7175
7195
|
},
|
|
7176
7196
|
{
|
|
7177
7197
|
"kind": "field",
|
|
7178
|
-
"name": "
|
|
7198
|
+
"name": "activeButton",
|
|
7179
7199
|
"type": {
|
|
7180
|
-
"text": "
|
|
7200
|
+
"text": "EspalierButton | null"
|
|
7181
7201
|
},
|
|
7182
|
-
"privacy": "
|
|
7183
|
-
"default": "
|
|
7184
|
-
"description": "
|
|
7185
|
-
"attribute": "required-message"
|
|
7202
|
+
"privacy": "private",
|
|
7203
|
+
"default": "null",
|
|
7204
|
+
"description": "The button that currently holds the group's single tab stop."
|
|
7186
7205
|
},
|
|
7187
7206
|
{
|
|
7188
7207
|
"kind": "field",
|
|
7189
|
-
"name": "
|
|
7190
|
-
"
|
|
7191
|
-
|
|
7192
|
-
|
|
7193
|
-
"privacy": "public",
|
|
7194
|
-
"default": "false",
|
|
7195
|
-
"description": "Disables all child checkboxes in the group.",
|
|
7196
|
-
"attribute": "disabled",
|
|
7197
|
-
"reflects": true
|
|
7208
|
+
"name": "managedButtons",
|
|
7209
|
+
"privacy": "private",
|
|
7210
|
+
"default": "new Set<EspalierButton>()",
|
|
7211
|
+
"description": "Buttons whose `tabindex` this group currently manages. Tracked so that a\nbutton leaving the group (removed or moved elsewhere) has its roving\n`tabindex` cleared instead of being stranded as untabbable."
|
|
7198
7212
|
},
|
|
7199
7213
|
{
|
|
7200
7214
|
"kind": "field",
|
|
7201
|
-
"name": "
|
|
7215
|
+
"name": "managedTooltips",
|
|
7216
|
+
"privacy": "private",
|
|
7217
|
+
"default": "new Set<Element>()",
|
|
7218
|
+
"description": "`esp-tooltip` children whose `trigger-tabindex` this group currently\nmanages. In toolbar mode the group forces each tooltip wrapper out of the\ntab order so it does not reintroduce a tab stop the roving manager is\nremoving. Tracked so a tooltip leaving the group (or toolbar mode turning\noff) gets its `trigger-tabindex` cleared and its auto-detection restored."
|
|
7219
|
+
},
|
|
7220
|
+
{
|
|
7221
|
+
"kind": "field",
|
|
7222
|
+
"name": "stateObserver",
|
|
7202
7223
|
"type": {
|
|
7203
|
-
"text": "
|
|
7224
|
+
"text": "MutationObserver | undefined"
|
|
7204
7225
|
},
|
|
7205
|
-
"privacy": "
|
|
7206
|
-
"description": "
|
|
7207
|
-
"readonly": true
|
|
7226
|
+
"privacy": "private",
|
|
7227
|
+
"description": "Watches slotted buttons for `disabled`/`loading` changes so the roving\ntab stop can move off a button that becomes unusable (and onto one that\nbecomes usable). Always attached, but its callback (`applyRovingTabindex`)\nis a no-op outside toolbar mode, so it stays inert until `toolbar` is set."
|
|
7208
7228
|
},
|
|
7209
7229
|
{
|
|
7210
7230
|
"kind": "method",
|
|
7211
|
-
"name": "
|
|
7212
|
-
"privacy": "
|
|
7231
|
+
"name": "isEnabled",
|
|
7232
|
+
"privacy": "private",
|
|
7213
7233
|
"return": {
|
|
7214
7234
|
"type": {
|
|
7215
|
-
"text": "
|
|
7235
|
+
"text": "boolean"
|
|
7216
7236
|
}
|
|
7217
7237
|
},
|
|
7218
7238
|
"parameters": [
|
|
7219
7239
|
{
|
|
7220
|
-
"name": "
|
|
7221
|
-
"optional": true,
|
|
7240
|
+
"name": "btn",
|
|
7222
7241
|
"type": {
|
|
7223
|
-
"text": "
|
|
7242
|
+
"text": "EspalierButton"
|
|
7224
7243
|
}
|
|
7225
7244
|
}
|
|
7226
7245
|
],
|
|
7227
|
-
"description": "
|
|
7246
|
+
"description": "A button is usable as a tab stop only when it is neither disabled nor\nloading. `esp-button` disables its inner control while loading, so a\nloading button must be skipped just like a disabled one."
|
|
7228
7247
|
},
|
|
7229
7248
|
{
|
|
7230
7249
|
"kind": "method",
|
|
7231
|
-
"name": "
|
|
7232
|
-
"privacy": "
|
|
7250
|
+
"name": "handleSlotChange",
|
|
7251
|
+
"privacy": "private",
|
|
7252
|
+
"parameters": [
|
|
7253
|
+
{
|
|
7254
|
+
"name": "e",
|
|
7255
|
+
"type": {
|
|
7256
|
+
"text": "Event"
|
|
7257
|
+
}
|
|
7258
|
+
}
|
|
7259
|
+
]
|
|
7260
|
+
},
|
|
7261
|
+
{
|
|
7262
|
+
"kind": "method",
|
|
7263
|
+
"name": "getButtons",
|
|
7264
|
+
"privacy": "private",
|
|
7233
7265
|
"return": {
|
|
7234
7266
|
"type": {
|
|
7235
|
-
"text": "
|
|
7267
|
+
"text": "EspalierButton[]"
|
|
7236
7268
|
}
|
|
7237
7269
|
},
|
|
7238
|
-
"description": "
|
|
7270
|
+
"description": "The `esp-button` elements in the group, unwrapping any that are\nnested in an `esp-tooltip` or used as an `esp-popover` target.\nMirrors the discovery logic in `handleSlotChange`."
|
|
7239
7271
|
},
|
|
7240
7272
|
{
|
|
7241
7273
|
"kind": "method",
|
|
7242
|
-
"name": "
|
|
7243
|
-
"privacy": "
|
|
7274
|
+
"name": "getTooltips",
|
|
7275
|
+
"privacy": "private",
|
|
7244
7276
|
"return": {
|
|
7245
7277
|
"type": {
|
|
7246
|
-
"text": "
|
|
7278
|
+
"text": "Element[]"
|
|
7247
7279
|
}
|
|
7248
7280
|
},
|
|
7249
|
-
"description": "
|
|
7281
|
+
"description": "The direct `esp-tooltip` children of the group. These are the wrappers\nwhose `trigger-tabindex` the group manages in toolbar mode so their span\ndoes not reintroduce a tab stop the roving manager is removing."
|
|
7250
7282
|
},
|
|
7251
7283
|
{
|
|
7252
7284
|
"kind": "method",
|
|
7253
|
-
"name": "
|
|
7285
|
+
"name": "applyTabindexValues",
|
|
7254
7286
|
"privacy": "private",
|
|
7255
7287
|
"return": {
|
|
7256
7288
|
"type": {
|
|
7257
|
-
"text": "
|
|
7289
|
+
"text": "void"
|
|
7258
7290
|
}
|
|
7259
|
-
}
|
|
7291
|
+
},
|
|
7292
|
+
"description": "Push the roving `tabindex` (0 on the active button, -1 on the rest) and\nclear any button that has left the group since the last pass so it does\nnot keep a stale `-1`/`0` and become untabbable elsewhere."
|
|
7260
7293
|
},
|
|
7261
7294
|
{
|
|
7262
7295
|
"kind": "method",
|
|
7263
|
-
"name": "
|
|
7296
|
+
"name": "syncTooltipOptOut",
|
|
7264
7297
|
"privacy": "private",
|
|
7265
7298
|
"return": {
|
|
7266
7299
|
"type": {
|
|
7267
7300
|
"text": "void"
|
|
7268
7301
|
}
|
|
7269
|
-
}
|
|
7302
|
+
},
|
|
7303
|
+
"description": "Force each tooltip-wrapped button's wrapper span out of the tab order by\nsetting `trigger-tabindex=\"-1\"`, and clear any tooltip that has left the\ngroup since the last pass so it does not keep a stale opt-out (its\nauto-detection takes over again once it is no longer managed here)."
|
|
7270
7304
|
},
|
|
7271
7305
|
{
|
|
7272
7306
|
"kind": "method",
|
|
7273
|
-
"name": "
|
|
7307
|
+
"name": "applyRovingTabindex",
|
|
7274
7308
|
"privacy": "private",
|
|
7275
7309
|
"return": {
|
|
7276
7310
|
"type": {
|
|
7277
7311
|
"text": "void"
|
|
7278
7312
|
}
|
|
7279
|
-
}
|
|
7313
|
+
},
|
|
7314
|
+
"description": "Establish or refresh the roving tabindex. Keeps the current active\nbutton when it is still present and usable, otherwise falls back to the\nfirst usable button. When no button is usable, every button is removed\nfrom the tab order (-1) so disabled anchors do not stay focusable.\nNo-op when not in toolbar mode."
|
|
7280
7315
|
},
|
|
7281
7316
|
{
|
|
7282
|
-
"kind": "
|
|
7283
|
-
"name": "
|
|
7284
|
-
"privacy": "private"
|
|
7317
|
+
"kind": "method",
|
|
7318
|
+
"name": "clearRovingTabindex",
|
|
7319
|
+
"privacy": "private",
|
|
7320
|
+
"return": {
|
|
7321
|
+
"type": {
|
|
7322
|
+
"text": "void"
|
|
7323
|
+
}
|
|
7324
|
+
},
|
|
7325
|
+
"description": "Tear down the roving tabindex, restoring each button's natural\ntabbability. Used when `toolbar` is toggled off so dynamic usage returns\nto the default behavior."
|
|
7285
7326
|
},
|
|
7286
7327
|
{
|
|
7287
7328
|
"kind": "method",
|
|
7288
|
-
"name": "
|
|
7329
|
+
"name": "handleKeyDown",
|
|
7289
7330
|
"privacy": "private",
|
|
7290
7331
|
"return": {
|
|
7291
7332
|
"type": {
|
|
@@ -7296,24 +7337,206 @@
|
|
|
7296
7337
|
{
|
|
7297
7338
|
"name": "ev",
|
|
7298
7339
|
"type": {
|
|
7299
|
-
"text": "
|
|
7340
|
+
"text": "KeyboardEvent"
|
|
7300
7341
|
}
|
|
7301
7342
|
}
|
|
7302
7343
|
]
|
|
7303
7344
|
},
|
|
7304
7345
|
{
|
|
7305
7346
|
"kind": "method",
|
|
7306
|
-
"name": "
|
|
7347
|
+
"name": "handleFocusIn",
|
|
7348
|
+
"privacy": "private",
|
|
7307
7349
|
"return": {
|
|
7308
7350
|
"type": {
|
|
7309
7351
|
"text": "void"
|
|
7310
7352
|
}
|
|
7311
7353
|
},
|
|
7312
|
-
"
|
|
7354
|
+
"parameters": [
|
|
7355
|
+
{
|
|
7356
|
+
"name": "ev",
|
|
7357
|
+
"type": {
|
|
7358
|
+
"text": "FocusEvent"
|
|
7359
|
+
}
|
|
7360
|
+
}
|
|
7361
|
+
]
|
|
7362
|
+
}
|
|
7363
|
+
],
|
|
7364
|
+
"attributes": [
|
|
7365
|
+
{
|
|
7366
|
+
"name": "label",
|
|
7367
|
+
"type": {
|
|
7368
|
+
"text": "string"
|
|
7369
|
+
},
|
|
7370
|
+
"default": "\"\"",
|
|
7371
|
+
"description": "Accessible label for the group. Screen readers announce this\nso users understand the purpose of the grouped buttons.",
|
|
7372
|
+
"fieldName": "label"
|
|
7373
|
+
},
|
|
7374
|
+
{
|
|
7375
|
+
"name": "toolbar",
|
|
7376
|
+
"type": {
|
|
7377
|
+
"text": "boolean"
|
|
7378
|
+
},
|
|
7379
|
+
"default": "false",
|
|
7380
|
+
"description": "Opt into the WAI-ARIA toolbar pattern. When set, the group renders\nwith `role=\"toolbar\"`, becomes a single tab stop (roving tabindex),\nand the arrow keys, `Home`, and `End` move focus between the\nenabled buttons. When unset, every button remains an independent\ntab stop and behavior is unchanged.",
|
|
7381
|
+
"fieldName": "toolbar"
|
|
7382
|
+
}
|
|
7383
|
+
],
|
|
7384
|
+
"superclass": {
|
|
7385
|
+
"name": "LitElement",
|
|
7386
|
+
"package": "lit"
|
|
7387
|
+
},
|
|
7388
|
+
"tagName": "esp-button-group",
|
|
7389
|
+
"customElement": true,
|
|
7390
|
+
"docPageTitle": {
|
|
7391
|
+
"name": "Button",
|
|
7392
|
+
"description": "Group"
|
|
7393
|
+
},
|
|
7394
|
+
"docUrl": {
|
|
7395
|
+
"name": "/components/button-group",
|
|
7396
|
+
"description": ""
|
|
7397
|
+
},
|
|
7398
|
+
"menuGroup": {
|
|
7399
|
+
"name": "Interaction",
|
|
7400
|
+
"description": ""
|
|
7401
|
+
},
|
|
7402
|
+
"menuLabel": {
|
|
7403
|
+
"name": "Button",
|
|
7404
|
+
"description": "Group"
|
|
7405
|
+
},
|
|
7406
|
+
"menuIcon": {
|
|
7407
|
+
"name": "button",
|
|
7408
|
+
"description": ""
|
|
7409
|
+
}
|
|
7410
|
+
}
|
|
7411
|
+
],
|
|
7412
|
+
"exports": [
|
|
7413
|
+
{
|
|
7414
|
+
"kind": "js",
|
|
7415
|
+
"name": "EspalierButtonGroup",
|
|
7416
|
+
"declaration": {
|
|
7417
|
+
"name": "EspalierButtonGroup",
|
|
7418
|
+
"module": "dist/button/esp-button-group.js"
|
|
7419
|
+
}
|
|
7420
|
+
},
|
|
7421
|
+
{
|
|
7422
|
+
"kind": "custom-element-definition",
|
|
7423
|
+
"name": "esp-button-group",
|
|
7424
|
+
"declaration": {
|
|
7425
|
+
"name": "EspalierButtonGroup",
|
|
7426
|
+
"module": "dist/button/esp-button-group.js"
|
|
7427
|
+
}
|
|
7428
|
+
}
|
|
7429
|
+
]
|
|
7430
|
+
},
|
|
7431
|
+
{
|
|
7432
|
+
"kind": "javascript-module",
|
|
7433
|
+
"path": "dist/button/esp-button.js",
|
|
7434
|
+
"declarations": [
|
|
7435
|
+
{
|
|
7436
|
+
"kind": "class",
|
|
7437
|
+
"description": "Used to initiate a user action or link to another page.\n\n```html\n<esp-button label=\"Hello there!\"></esp-button>\n<script>\n const theButton = findByTagName(\"esp-button\")[0];\n theButton.addEventListener(\"clicked\", () => {\n showToast({\n message: `You clicked the button!`,\n icon: \"info-i\",\n duration: 2\n });\n });\n</script>\n```\n\nHere are some different button color variants:\n\n```html\n<div style=\"display: flex; flex-wrap: wrap; gap: var(--esp-size-padding);\">\n <esp-button label=\"Analogous Left\" variant=\"analogous-left\" collapsed></esp-button>\n <esp-button label=\"Analogous Right\" variant=\"analogous-right\" collapsed></esp-button>\n <esp-button label=\"Complementary\" variant=\"complementary\" collapsed></esp-button>\n <esp-button label=\"Danger\" variant=\"danger\" collapsed></esp-button>\n <esp-button label=\"Primary\" variant=\"primary\" collapsed></esp-button>\n <esp-button label=\"Split Complementary Left\" variant=\"split-complementary-left\" collapsed></esp-button>\n <esp-button label=\"Split Complementary Right\" variant=\"split-complementary-right\" collapsed></esp-button>\n <esp-button label=\"Success\" variant=\"success\" collapsed></esp-button>\n <esp-button label=\"Triadic Left\" variant=\"triadic-left\" collapsed></esp-button>\n <esp-button label=\"Triadic Right\" variant=\"triadic-right\" collapsed></esp-button>\n <esp-button label=\"Warning\" variant=\"warning\" collapsed></esp-button>\n</div>\n```",
|
|
7438
|
+
"name": "EspalierButton",
|
|
7439
|
+
"cssProperties": [
|
|
7440
|
+
{
|
|
7441
|
+
"description": "The padding inside the button label and icon areas.",
|
|
7442
|
+
"name": "--esp-button-padding"
|
|
7443
|
+
},
|
|
7444
|
+
{
|
|
7445
|
+
"description": "The padding for the incognito button style.",
|
|
7446
|
+
"name": "--esp-button-incognito-padding"
|
|
7447
|
+
},
|
|
7448
|
+
{
|
|
7449
|
+
"description": "Background color of the shared field shell. Defaults to `var(--esp-color-layer-2)`.",
|
|
7450
|
+
"name": "--esp-field-background",
|
|
7451
|
+
"inheritedFrom": {
|
|
7452
|
+
"name": "EspalierElementBase",
|
|
7453
|
+
"module": "dist/shared/esp-element-base.js"
|
|
7454
|
+
}
|
|
7455
|
+
},
|
|
7456
|
+
{
|
|
7457
|
+
"description": "Border color of the shared field shell. Defaults to `var(--esp-color-border)`.",
|
|
7458
|
+
"name": "--esp-field-border-color",
|
|
7459
|
+
"inheritedFrom": {
|
|
7460
|
+
"name": "EspalierElementBase",
|
|
7461
|
+
"module": "dist/shared/esp-element-base.js"
|
|
7462
|
+
}
|
|
7463
|
+
},
|
|
7464
|
+
{
|
|
7465
|
+
"description": "Border width of the shared field shell. Defaults to `1px`.",
|
|
7466
|
+
"name": "--esp-field-border-width",
|
|
7467
|
+
"inheritedFrom": {
|
|
7468
|
+
"name": "EspalierElementBase",
|
|
7469
|
+
"module": "dist/shared/esp-element-base.js"
|
|
7470
|
+
}
|
|
7471
|
+
},
|
|
7472
|
+
{
|
|
7473
|
+
"description": "Text color used inside the shared field shell. Defaults to `var(--esp-color-text)`.",
|
|
7474
|
+
"name": "--esp-field-text-color",
|
|
7475
|
+
"inheritedFrom": {
|
|
7476
|
+
"name": "EspalierElementBase",
|
|
7477
|
+
"module": "dist/shared/esp-element-base.js"
|
|
7478
|
+
}
|
|
7479
|
+
},
|
|
7480
|
+
{
|
|
7481
|
+
"description": "Hover background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
7482
|
+
"name": "--esp-field-hover-bg",
|
|
7483
|
+
"inheritedFrom": {
|
|
7484
|
+
"name": "EspalierElementBase",
|
|
7485
|
+
"module": "dist/shared/esp-element-base.js"
|
|
7486
|
+
}
|
|
7487
|
+
},
|
|
7488
|
+
{
|
|
7489
|
+
"description": "Focus background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
7490
|
+
"name": "--esp-field-focus-bg",
|
|
7491
|
+
"inheritedFrom": {
|
|
7492
|
+
"name": "EspalierElementBase",
|
|
7493
|
+
"module": "dist/shared/esp-element-base.js"
|
|
7494
|
+
}
|
|
7495
|
+
},
|
|
7496
|
+
{
|
|
7497
|
+
"description": "Shadow color used for shared field focus treatment. Defaults to `var(--esp-color-shadow)`.",
|
|
7498
|
+
"name": "--esp-field-focus-shadow",
|
|
7499
|
+
"inheritedFrom": {
|
|
7500
|
+
"name": "EspalierElementBase",
|
|
7501
|
+
"module": "dist/shared/esp-element-base.js"
|
|
7502
|
+
}
|
|
7503
|
+
}
|
|
7504
|
+
],
|
|
7505
|
+
"slots": [
|
|
7506
|
+
{
|
|
7507
|
+
"description": "Optional custom SVG icon. Slotted icons override the generated SVG from the `icon` attribute. ```html <esp-button label=\"Profile\" icon=\"user-circle\"></esp-button> ```",
|
|
7508
|
+
"name": ""
|
|
7509
|
+
}
|
|
7510
|
+
],
|
|
7511
|
+
"members": [
|
|
7512
|
+
{
|
|
7513
|
+
"kind": "field",
|
|
7514
|
+
"name": "iconSlot",
|
|
7515
|
+
"privacy": "private",
|
|
7516
|
+
"default": "new SlottedIconController(this)"
|
|
7517
|
+
},
|
|
7518
|
+
{
|
|
7519
|
+
"kind": "field",
|
|
7520
|
+
"name": "innerTabindex",
|
|
7521
|
+
"type": {
|
|
7522
|
+
"text": "number | null"
|
|
7523
|
+
},
|
|
7524
|
+
"privacy": "private",
|
|
7525
|
+
"default": "null"
|
|
7526
|
+
},
|
|
7527
|
+
{
|
|
7528
|
+
"kind": "field",
|
|
7529
|
+
"name": "neutralizingTabindex",
|
|
7530
|
+
"type": {
|
|
7531
|
+
"text": "boolean"
|
|
7532
|
+
},
|
|
7533
|
+
"privacy": "private",
|
|
7534
|
+
"default": "false"
|
|
7313
7535
|
},
|
|
7314
7536
|
{
|
|
7315
7537
|
"kind": "method",
|
|
7316
|
-
"name": "
|
|
7538
|
+
"name": "writeHostTabindex",
|
|
7539
|
+
"privacy": "private",
|
|
7317
7540
|
"return": {
|
|
7318
7541
|
"type": {
|
|
7319
7542
|
"text": "void"
|
|
@@ -7321,17 +7544,36 @@
|
|
|
7321
7544
|
},
|
|
7322
7545
|
"parameters": [
|
|
7323
7546
|
{
|
|
7324
|
-
"name": "
|
|
7547
|
+
"name": "value",
|
|
7548
|
+
"type": {
|
|
7549
|
+
"text": "string | null"
|
|
7550
|
+
}
|
|
7551
|
+
}
|
|
7552
|
+
],
|
|
7553
|
+
"description": "Write the host `tabindex` without re-triggering the forwarding logic."
|
|
7554
|
+
},
|
|
7555
|
+
{
|
|
7556
|
+
"kind": "method",
|
|
7557
|
+
"name": "removeAttribute",
|
|
7558
|
+
"return": {
|
|
7559
|
+
"type": {
|
|
7560
|
+
"text": "void"
|
|
7561
|
+
}
|
|
7562
|
+
},
|
|
7563
|
+
"parameters": [
|
|
7564
|
+
{
|
|
7565
|
+
"name": "name",
|
|
7325
7566
|
"type": {
|
|
7326
7567
|
"text": "string"
|
|
7327
7568
|
}
|
|
7328
7569
|
}
|
|
7329
7570
|
],
|
|
7330
|
-
"description": "
|
|
7571
|
+
"description": "Clear forwarding when the host `tabindex` is removed. Forwarding a\nnon-negative value strips the host attribute (so the inner control is the\nsole tab stop), which means a later `removeAttribute(\"tabindex\")` changes\nnothing on the host and never reaches `attributeChangedCallback`. Catching\nthe removal here restores the inner control's natural tabbability even when\nthe host attribute was already absent. Removals we perform ourselves while\nneutralizing are skipped via the guard."
|
|
7331
7572
|
},
|
|
7332
7573
|
{
|
|
7333
7574
|
"kind": "method",
|
|
7334
|
-
"name": "
|
|
7575
|
+
"name": "focus",
|
|
7576
|
+
"privacy": "public",
|
|
7335
7577
|
"return": {
|
|
7336
7578
|
"type": {
|
|
7337
7579
|
"text": "void"
|
|
@@ -7339,13 +7581,167 @@
|
|
|
7339
7581
|
},
|
|
7340
7582
|
"parameters": [
|
|
7341
7583
|
{
|
|
7342
|
-
"name": "
|
|
7584
|
+
"name": "options",
|
|
7585
|
+
"optional": true,
|
|
7343
7586
|
"type": {
|
|
7344
|
-
"text": "
|
|
7587
|
+
"text": "FocusOptions"
|
|
7345
7588
|
}
|
|
7346
7589
|
}
|
|
7347
7590
|
],
|
|
7348
|
-
"description": "
|
|
7591
|
+
"description": "Focus the button. Forwards focus (and any `FocusOptions`) to the inner\n`<button>` (or the `<a>` when `href` is set)."
|
|
7592
|
+
},
|
|
7593
|
+
{
|
|
7594
|
+
"kind": "field",
|
|
7595
|
+
"name": "buttonType",
|
|
7596
|
+
"type": {
|
|
7597
|
+
"text": "\"button\" | \"submit\" | \"reset\""
|
|
7598
|
+
},
|
|
7599
|
+
"privacy": "public",
|
|
7600
|
+
"default": "\"button\"",
|
|
7601
|
+
"description": "Controls the [button type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#type).\nThe available options are: `button`, `submit`, or `reset`.\nThe default value is `button`. To use a link instead of a\nbutton, set the `href` attribute.\n\n```html\n<esp-button label=\"Default\"></esp-button>\n<esp-button button-type=\"submit\" label=\"Submit\"></esp-button>\n<esp-button button-type=\"reset\" label=\"Reset\"></esp-button>\n<esp-button href=\"#\" label=\"Link\"></esp-button>\n```",
|
|
7602
|
+
"attribute": "button-type"
|
|
7603
|
+
},
|
|
7604
|
+
{
|
|
7605
|
+
"kind": "field",
|
|
7606
|
+
"name": "collapsed",
|
|
7607
|
+
"type": {
|
|
7608
|
+
"text": "boolean"
|
|
7609
|
+
},
|
|
7610
|
+
"privacy": "public",
|
|
7611
|
+
"default": "false",
|
|
7612
|
+
"description": "By default, buttons take up the entire width of their parent\ncontainer. Use the `collapsed` attribute to shrink them to the\nsize of their content:\n\n```html\n<esp-button label=\"Full Width\"></esp-button>\n<esp-button collapsed label=\"Collapsed\"></esp-button>\n```",
|
|
7613
|
+
"attribute": "collapsed"
|
|
7614
|
+
},
|
|
7615
|
+
{
|
|
7616
|
+
"kind": "field",
|
|
7617
|
+
"name": "disabled",
|
|
7618
|
+
"type": {
|
|
7619
|
+
"text": "boolean"
|
|
7620
|
+
},
|
|
7621
|
+
"privacy": "public",
|
|
7622
|
+
"default": "false",
|
|
7623
|
+
"description": "Controls whether or not the button is disabled.\n\n```html\n<esp-button disabled label=\"Disabled\"></esp-button>\n<script>\n const theButton = findByTagName(\"esp-button\")[0];\n theButton.addEventListener(\"clicked\", () => {\n alert(\"We will not get here...\");\n});\n</script>\n```",
|
|
7624
|
+
"attribute": "disabled",
|
|
7625
|
+
"reflects": true
|
|
7626
|
+
},
|
|
7627
|
+
{
|
|
7628
|
+
"kind": "field",
|
|
7629
|
+
"name": "href",
|
|
7630
|
+
"type": {
|
|
7631
|
+
"text": "string"
|
|
7632
|
+
},
|
|
7633
|
+
"privacy": "public",
|
|
7634
|
+
"default": "\"\"",
|
|
7635
|
+
"description": "If href is set, the button will be rendered as an anchor link\npointing to the href value instead of a button.\n\n```html\n<esp-button href=\"#\" label=\"Link button\"></esp-button>\n```",
|
|
7636
|
+
"attribute": "href"
|
|
7637
|
+
},
|
|
7638
|
+
{
|
|
7639
|
+
"kind": "field",
|
|
7640
|
+
"name": "iconOnly",
|
|
7641
|
+
"type": {
|
|
7642
|
+
"text": "boolean"
|
|
7643
|
+
},
|
|
7644
|
+
"privacy": "public",
|
|
7645
|
+
"default": "false",
|
|
7646
|
+
"description": "If true, the button only displays the icon.\n\n```html\n<esp-button icon-only icon=\"cog\" aria-label=\"Settings\"></esp-button>\n```",
|
|
7647
|
+
"attribute": "icon-only"
|
|
7648
|
+
},
|
|
7649
|
+
{
|
|
7650
|
+
"kind": "field",
|
|
7651
|
+
"name": "incognito",
|
|
7652
|
+
"type": {
|
|
7653
|
+
"text": "boolean"
|
|
7654
|
+
},
|
|
7655
|
+
"privacy": "public",
|
|
7656
|
+
"default": "false",
|
|
7657
|
+
"description": "Renders the button with a borderless, transparent treatment for\nquiet icon or inline actions.\n\n```html\n<esp-button incognito icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n```",
|
|
7658
|
+
"attribute": "incognito",
|
|
7659
|
+
"reflects": true
|
|
7660
|
+
},
|
|
7661
|
+
{
|
|
7662
|
+
"kind": "field",
|
|
7663
|
+
"name": "icon",
|
|
7664
|
+
"type": {
|
|
7665
|
+
"text": "string"
|
|
7666
|
+
},
|
|
7667
|
+
"privacy": "public",
|
|
7668
|
+
"default": "\"\"",
|
|
7669
|
+
"description": "Optional icon name from the configured Espalier SVG sprite.\nSlotted SVG content remains supported and overrides this value.\n\n```html\n<esp-button label=\"Settings\" icon=\"cog\"></esp-button>\n```",
|
|
7670
|
+
"attribute": "icon"
|
|
7671
|
+
},
|
|
7672
|
+
{
|
|
7673
|
+
"kind": "field",
|
|
7674
|
+
"name": "label",
|
|
7675
|
+
"type": {
|
|
7676
|
+
"text": "string"
|
|
7677
|
+
},
|
|
7678
|
+
"privacy": "public",
|
|
7679
|
+
"default": "\"\"",
|
|
7680
|
+
"description": "The label of the button.\n\n```html\n<esp-button label=\"Do something\"></esp-button>\n```",
|
|
7681
|
+
"attribute": "label"
|
|
7682
|
+
},
|
|
7683
|
+
{
|
|
7684
|
+
"kind": "field",
|
|
7685
|
+
"name": "loading",
|
|
7686
|
+
"type": {
|
|
7687
|
+
"text": "boolean"
|
|
7688
|
+
},
|
|
7689
|
+
"privacy": "public",
|
|
7690
|
+
"default": "false",
|
|
7691
|
+
"description": "Controls whether or not the button is in a loading state.\nThe button will be disabled and show a spinner while loading\nis true.\n\n```html\n<esp-button label=\"Click me...\" icon=\"save\"></esp-button>\n<script>\n const theButton = findByTagName(\"esp-button\")[0];\n theButton.addEventListener(\"clicked\", async () => {\n theButton.loading = true;\n setTimeout(function() {\n theButton.loading = false;\n }, 5000);\n });\n</script>\n```",
|
|
7692
|
+
"attribute": "loading",
|
|
7693
|
+
"reflects": true
|
|
7694
|
+
},
|
|
7695
|
+
{
|
|
7696
|
+
"kind": "field",
|
|
7697
|
+
"name": "target",
|
|
7698
|
+
"type": {
|
|
7699
|
+
"text": "string"
|
|
7700
|
+
},
|
|
7701
|
+
"privacy": "public",
|
|
7702
|
+
"default": "\"\"",
|
|
7703
|
+
"description": "If the button is a link, this specifies the target browser window.\n\n```html\n<esp-button href=\"#\" target=\"_blank\" label=\"External link\"></esp-button>\n```",
|
|
7704
|
+
"attribute": "target"
|
|
7705
|
+
},
|
|
7706
|
+
{
|
|
7707
|
+
"kind": "field",
|
|
7708
|
+
"name": "rel",
|
|
7709
|
+
"type": {
|
|
7710
|
+
"text": "string"
|
|
7711
|
+
},
|
|
7712
|
+
"privacy": "public",
|
|
7713
|
+
"default": "\"\"",
|
|
7714
|
+
"description": "If the button is a link, this specifies the relationship\nbetween the current page and the linked URL. Common values\ninclude `\"noopener noreferrer\"` for external links opened\nin a new tab.\n\n```html\n<esp-button href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" label=\"External\"></esp-button>\n```",
|
|
7715
|
+
"attribute": "rel"
|
|
7716
|
+
},
|
|
7717
|
+
{
|
|
7718
|
+
"kind": "field",
|
|
7719
|
+
"name": "formNoValidate",
|
|
7720
|
+
"type": {
|
|
7721
|
+
"text": "boolean"
|
|
7722
|
+
},
|
|
7723
|
+
"privacy": "public",
|
|
7724
|
+
"default": "false",
|
|
7725
|
+
"description": "When true and `button-type` is `\"submit\"`, the enclosing\nform is submitted without running constraint validation.\n\n```html\n<esp-button button-type=\"submit\" formnovalidate label=\"Save Draft\"></esp-button>\n```",
|
|
7726
|
+
"attribute": "formnovalidate"
|
|
7727
|
+
},
|
|
7728
|
+
{
|
|
7729
|
+
"kind": "method",
|
|
7730
|
+
"name": "handleClick",
|
|
7731
|
+
"privacy": "private",
|
|
7732
|
+
"parameters": [
|
|
7733
|
+
{
|
|
7734
|
+
"name": "_",
|
|
7735
|
+
"type": {
|
|
7736
|
+
"text": "Event"
|
|
7737
|
+
}
|
|
7738
|
+
}
|
|
7739
|
+
]
|
|
7740
|
+
},
|
|
7741
|
+
{
|
|
7742
|
+
"kind": "field",
|
|
7743
|
+
"name": "buildIcon",
|
|
7744
|
+
"privacy": "private"
|
|
7349
7745
|
},
|
|
7350
7746
|
{
|
|
7351
7747
|
"kind": "field",
|
|
@@ -7841,12 +8237,18 @@
|
|
|
7841
8237
|
}
|
|
7842
8238
|
],
|
|
7843
8239
|
"events": [
|
|
8240
|
+
{
|
|
8241
|
+
"name": "clicked",
|
|
8242
|
+
"type": {
|
|
8243
|
+
"text": "CustomEvent"
|
|
8244
|
+
},
|
|
8245
|
+
"description": "Emitted when the button is clicked. ```html <esp-button label=\"Click me!\"></esp-button> <script> const theButton = findByTagName(\"esp-button\")[0]; theButton.addEventListener(\"clicked\", () => { showToast({ message: `Hi! You clicked the button. This message will self-destruct in 4 seconds...`, icon: \"info-i\", duration: 4 }); }); </script> ```"
|
|
8246
|
+
},
|
|
7844
8247
|
{
|
|
7845
8248
|
"name": "value-changed",
|
|
7846
8249
|
"type": {
|
|
7847
8250
|
"text": "CustomEvent"
|
|
7848
8251
|
},
|
|
7849
|
-
"description": "Fired when any child checkbox state changes. The detail is an array of the values of all currently checked checkboxes.",
|
|
7850
8252
|
"inheritedFrom": {
|
|
7851
8253
|
"name": "EspalierElementBase",
|
|
7852
8254
|
"module": "dist/shared/esp-element-base.js"
|
|
@@ -7855,40 +8257,115 @@
|
|
|
7855
8257
|
],
|
|
7856
8258
|
"attributes": [
|
|
7857
8259
|
{
|
|
7858
|
-
"name": "
|
|
8260
|
+
"name": "tabindex"
|
|
8261
|
+
},
|
|
8262
|
+
{
|
|
8263
|
+
"description": "Renders the button with a borderless, transparent treatment for\nquiet icon or inline actions.\n\n```html\n<esp-button incognito icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n```",
|
|
8264
|
+
"name": "incognito",
|
|
8265
|
+
"type": {
|
|
8266
|
+
"text": "boolean"
|
|
8267
|
+
},
|
|
8268
|
+
"default": "false",
|
|
8269
|
+
"fieldName": "incognito"
|
|
8270
|
+
},
|
|
8271
|
+
{
|
|
8272
|
+
"name": "button-type",
|
|
8273
|
+
"type": {
|
|
8274
|
+
"text": "\"button\" | \"submit\" | \"reset\""
|
|
8275
|
+
},
|
|
8276
|
+
"default": "\"button\"",
|
|
8277
|
+
"description": "Controls the [button type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#type).\nThe available options are: `button`, `submit`, or `reset`.\nThe default value is `button`. To use a link instead of a\nbutton, set the `href` attribute.\n\n```html\n<esp-button label=\"Default\"></esp-button>\n<esp-button button-type=\"submit\" label=\"Submit\"></esp-button>\n<esp-button button-type=\"reset\" label=\"Reset\"></esp-button>\n<esp-button href=\"#\" label=\"Link\"></esp-button>\n```",
|
|
8278
|
+
"fieldName": "buttonType"
|
|
8279
|
+
},
|
|
8280
|
+
{
|
|
8281
|
+
"name": "collapsed",
|
|
8282
|
+
"type": {
|
|
8283
|
+
"text": "boolean"
|
|
8284
|
+
},
|
|
8285
|
+
"default": "false",
|
|
8286
|
+
"description": "By default, buttons take up the entire width of their parent\ncontainer. Use the `collapsed` attribute to shrink them to the\nsize of their content:\n\n```html\n<esp-button label=\"Full Width\"></esp-button>\n<esp-button collapsed label=\"Collapsed\"></esp-button>\n```",
|
|
8287
|
+
"fieldName": "collapsed"
|
|
8288
|
+
},
|
|
8289
|
+
{
|
|
8290
|
+
"name": "disabled",
|
|
8291
|
+
"type": {
|
|
8292
|
+
"text": "boolean"
|
|
8293
|
+
},
|
|
8294
|
+
"default": "false",
|
|
8295
|
+
"description": "Controls whether or not the button is disabled.\n\n```html\n<esp-button disabled label=\"Disabled\"></esp-button>\n<script>\n const theButton = findByTagName(\"esp-button\")[0];\n theButton.addEventListener(\"clicked\", () => {\n alert(\"We will not get here...\");\n});\n</script>\n```",
|
|
8296
|
+
"fieldName": "disabled"
|
|
8297
|
+
},
|
|
8298
|
+
{
|
|
8299
|
+
"name": "href",
|
|
7859
8300
|
"type": {
|
|
7860
8301
|
"text": "string"
|
|
7861
8302
|
},
|
|
7862
8303
|
"default": "\"\"",
|
|
7863
|
-
"description": "
|
|
7864
|
-
"fieldName": "
|
|
8304
|
+
"description": "If href is set, the button will be rendered as an anchor link\npointing to the href value instead of a button.\n\n```html\n<esp-button href=\"#\" label=\"Link button\"></esp-button>\n```",
|
|
8305
|
+
"fieldName": "href"
|
|
7865
8306
|
},
|
|
7866
8307
|
{
|
|
7867
|
-
"name": "
|
|
8308
|
+
"name": "icon-only",
|
|
7868
8309
|
"type": {
|
|
7869
8310
|
"text": "boolean"
|
|
7870
8311
|
},
|
|
7871
8312
|
"default": "false",
|
|
7872
|
-
"description": "
|
|
7873
|
-
"fieldName": "
|
|
8313
|
+
"description": "If true, the button only displays the icon.\n\n```html\n<esp-button icon-only icon=\"cog\" aria-label=\"Settings\"></esp-button>\n```",
|
|
8314
|
+
"fieldName": "iconOnly"
|
|
7874
8315
|
},
|
|
7875
8316
|
{
|
|
7876
|
-
"name": "
|
|
8317
|
+
"name": "icon",
|
|
7877
8318
|
"type": {
|
|
7878
8319
|
"text": "string"
|
|
7879
8320
|
},
|
|
7880
8321
|
"default": "\"\"",
|
|
7881
|
-
"description": "
|
|
7882
|
-
"fieldName": "
|
|
8322
|
+
"description": "Optional icon name from the configured Espalier SVG sprite.\nSlotted SVG content remains supported and overrides this value.\n\n```html\n<esp-button label=\"Settings\" icon=\"cog\"></esp-button>\n```",
|
|
8323
|
+
"fieldName": "icon"
|
|
7883
8324
|
},
|
|
7884
8325
|
{
|
|
7885
|
-
"name": "
|
|
8326
|
+
"name": "label",
|
|
8327
|
+
"type": {
|
|
8328
|
+
"text": "string"
|
|
8329
|
+
},
|
|
8330
|
+
"default": "\"\"",
|
|
8331
|
+
"description": "The label of the button.\n\n```html\n<esp-button label=\"Do something\"></esp-button>\n```",
|
|
8332
|
+
"fieldName": "label"
|
|
8333
|
+
},
|
|
8334
|
+
{
|
|
8335
|
+
"name": "loading",
|
|
7886
8336
|
"type": {
|
|
7887
8337
|
"text": "boolean"
|
|
7888
8338
|
},
|
|
7889
8339
|
"default": "false",
|
|
7890
|
-
"description": "
|
|
7891
|
-
"fieldName": "
|
|
8340
|
+
"description": "Controls whether or not the button is in a loading state.\nThe button will be disabled and show a spinner while loading\nis true.\n\n```html\n<esp-button label=\"Click me...\" icon=\"save\"></esp-button>\n<script>\n const theButton = findByTagName(\"esp-button\")[0];\n theButton.addEventListener(\"clicked\", async () => {\n theButton.loading = true;\n setTimeout(function() {\n theButton.loading = false;\n }, 5000);\n });\n</script>\n```",
|
|
8341
|
+
"fieldName": "loading"
|
|
8342
|
+
},
|
|
8343
|
+
{
|
|
8344
|
+
"name": "target",
|
|
8345
|
+
"type": {
|
|
8346
|
+
"text": "string"
|
|
8347
|
+
},
|
|
8348
|
+
"default": "\"\"",
|
|
8349
|
+
"description": "If the button is a link, this specifies the target browser window.\n\n```html\n<esp-button href=\"#\" target=\"_blank\" label=\"External link\"></esp-button>\n```",
|
|
8350
|
+
"fieldName": "target"
|
|
8351
|
+
},
|
|
8352
|
+
{
|
|
8353
|
+
"name": "rel",
|
|
8354
|
+
"type": {
|
|
8355
|
+
"text": "string"
|
|
8356
|
+
},
|
|
8357
|
+
"default": "\"\"",
|
|
8358
|
+
"description": "If the button is a link, this specifies the relationship\nbetween the current page and the linked URL. Common values\ninclude `\"noopener noreferrer\"` for external links opened\nin a new tab.\n\n```html\n<esp-button href=\"#\" target=\"_blank\" rel=\"noopener noreferrer\" label=\"External\"></esp-button>\n```",
|
|
8359
|
+
"fieldName": "rel"
|
|
8360
|
+
},
|
|
8361
|
+
{
|
|
8362
|
+
"name": "formnovalidate",
|
|
8363
|
+
"type": {
|
|
8364
|
+
"text": "boolean"
|
|
8365
|
+
},
|
|
8366
|
+
"default": "false",
|
|
8367
|
+
"description": "When true and `button-type` is `\"submit\"`, the enclosing\nform is submitted without running constraint validation.\n\n```html\n<esp-button button-type=\"submit\" formnovalidate label=\"Save Draft\"></esp-button>\n```",
|
|
8368
|
+
"fieldName": "formNoValidate"
|
|
7892
8369
|
},
|
|
7893
8370
|
{
|
|
7894
8371
|
"name": "scheme",
|
|
@@ -7920,180 +8397,60 @@
|
|
|
7920
8397
|
"name": "EspalierElementBase",
|
|
7921
8398
|
"module": "dist/shared/esp-element-base.js"
|
|
7922
8399
|
},
|
|
8400
|
+
"tagName": "esp-button",
|
|
8401
|
+
"customElement": true,
|
|
7923
8402
|
"docPageTitle": {
|
|
7924
|
-
"name": "
|
|
7925
|
-
"description": "
|
|
8403
|
+
"name": "Button",
|
|
8404
|
+
"description": ""
|
|
7926
8405
|
},
|
|
7927
8406
|
"docUrl": {
|
|
7928
|
-
"name": "/components/
|
|
8407
|
+
"name": "/components/button",
|
|
7929
8408
|
"description": ""
|
|
7930
8409
|
},
|
|
7931
8410
|
"menuGroup": {
|
|
7932
|
-
"name": "
|
|
7933
|
-
"description": "
|
|
8411
|
+
"name": "Interaction",
|
|
8412
|
+
"description": ""
|
|
7934
8413
|
},
|
|
7935
|
-
"
|
|
7936
|
-
|
|
7937
|
-
|
|
7938
|
-
|
|
7939
|
-
|
|
7940
|
-
|
|
7941
|
-
|
|
7942
|
-
|
|
7943
|
-
"module": "dist/shared/esp-element-base.js"
|
|
7944
|
-
}
|
|
7945
|
-
},
|
|
7946
|
-
{
|
|
7947
|
-
"description": "Border color of the shared field shell. Defaults to `var(--esp-color-border)`.",
|
|
7948
|
-
"name": "--esp-field-border-color",
|
|
7949
|
-
"inheritedFrom": {
|
|
7950
|
-
"name": "EspalierElementBase",
|
|
7951
|
-
"module": "dist/shared/esp-element-base.js"
|
|
7952
|
-
}
|
|
7953
|
-
},
|
|
7954
|
-
{
|
|
7955
|
-
"description": "Border width of the shared field shell. Defaults to `1px`.",
|
|
7956
|
-
"name": "--esp-field-border-width",
|
|
7957
|
-
"inheritedFrom": {
|
|
7958
|
-
"name": "EspalierElementBase",
|
|
7959
|
-
"module": "dist/shared/esp-element-base.js"
|
|
7960
|
-
}
|
|
7961
|
-
},
|
|
7962
|
-
{
|
|
7963
|
-
"description": "Text color used inside the shared field shell. Defaults to `var(--esp-color-text)`.",
|
|
7964
|
-
"name": "--esp-field-text-color",
|
|
7965
|
-
"inheritedFrom": {
|
|
7966
|
-
"name": "EspalierElementBase",
|
|
7967
|
-
"module": "dist/shared/esp-element-base.js"
|
|
7968
|
-
}
|
|
7969
|
-
},
|
|
7970
|
-
{
|
|
7971
|
-
"description": "Hover background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
7972
|
-
"name": "--esp-field-hover-bg",
|
|
7973
|
-
"inheritedFrom": {
|
|
7974
|
-
"name": "EspalierElementBase",
|
|
7975
|
-
"module": "dist/shared/esp-element-base.js"
|
|
7976
|
-
}
|
|
7977
|
-
},
|
|
7978
|
-
{
|
|
7979
|
-
"description": "Focus background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
7980
|
-
"name": "--esp-field-focus-bg",
|
|
7981
|
-
"inheritedFrom": {
|
|
7982
|
-
"name": "EspalierElementBase",
|
|
7983
|
-
"module": "dist/shared/esp-element-base.js"
|
|
7984
|
-
}
|
|
7985
|
-
},
|
|
7986
|
-
{
|
|
7987
|
-
"description": "Shadow color used for shared field focus treatment. Defaults to `var(--esp-color-shadow)`.",
|
|
7988
|
-
"name": "--esp-field-focus-shadow",
|
|
7989
|
-
"inheritedFrom": {
|
|
7990
|
-
"name": "EspalierElementBase",
|
|
7991
|
-
"module": "dist/shared/esp-element-base.js"
|
|
7992
|
-
}
|
|
7993
|
-
}
|
|
7994
|
-
]
|
|
8414
|
+
"menuLabel": {
|
|
8415
|
+
"name": "Button",
|
|
8416
|
+
"description": ""
|
|
8417
|
+
},
|
|
8418
|
+
"menuIcon": {
|
|
8419
|
+
"name": "button",
|
|
8420
|
+
"description": ""
|
|
8421
|
+
}
|
|
7995
8422
|
}
|
|
7996
8423
|
],
|
|
7997
8424
|
"exports": [
|
|
7998
8425
|
{
|
|
7999
8426
|
"kind": "js",
|
|
8000
|
-
"name": "
|
|
8427
|
+
"name": "EspalierButton",
|
|
8001
8428
|
"declaration": {
|
|
8002
|
-
"name": "
|
|
8003
|
-
"module": "dist/
|
|
8429
|
+
"name": "EspalierButton",
|
|
8430
|
+
"module": "dist/button/esp-button.js"
|
|
8004
8431
|
}
|
|
8005
8432
|
},
|
|
8006
8433
|
{
|
|
8007
8434
|
"kind": "custom-element-definition",
|
|
8008
|
-
"name": "esp-
|
|
8435
|
+
"name": "esp-button",
|
|
8009
8436
|
"declaration": {
|
|
8010
|
-
"name": "
|
|
8011
|
-
"module": "dist/
|
|
8437
|
+
"name": "EspalierButton",
|
|
8438
|
+
"module": "dist/button/esp-button.js"
|
|
8012
8439
|
}
|
|
8013
8440
|
}
|
|
8014
8441
|
]
|
|
8015
8442
|
},
|
|
8016
8443
|
{
|
|
8017
8444
|
"kind": "javascript-module",
|
|
8018
|
-
"path": "dist/checkbox/esp-checkbox.js",
|
|
8445
|
+
"path": "dist/checkbox/esp-checkbox-group.js",
|
|
8019
8446
|
"declarations": [
|
|
8020
8447
|
{
|
|
8021
8448
|
"kind": "class",
|
|
8022
|
-
"description": "
|
|
8023
|
-
"name": "
|
|
8024
|
-
"cssProperties": [
|
|
8025
|
-
{
|
|
8026
|
-
"description": "The width and height of the checkbox icon. Defaults to `var(--esp-size-normal-to-medium)`.",
|
|
8027
|
-
"name": "--esp-checkbox-size"
|
|
8028
|
-
},
|
|
8029
|
-
{
|
|
8030
|
-
"description": "The stroke color of the checkbox icon. Defaults to `var(--esp-color-text)`.",
|
|
8031
|
-
"name": "--esp-checkbox-icon-color"
|
|
8032
|
-
},
|
|
8033
|
-
{
|
|
8034
|
-
"description": "The color of the focus ring shadow. Defaults to `var(--esp-color-shadow)`.",
|
|
8035
|
-
"name": "--esp-checkbox-focus-shadow"
|
|
8036
|
-
},
|
|
8037
|
-
{
|
|
8038
|
-
"description": "Background color of the shared field shell. Defaults to `var(--esp-color-layer-2)`.",
|
|
8039
|
-
"name": "--esp-field-background",
|
|
8040
|
-
"inheritedFrom": {
|
|
8041
|
-
"name": "EspalierElementBase",
|
|
8042
|
-
"module": "dist/shared/esp-element-base.js"
|
|
8043
|
-
}
|
|
8044
|
-
},
|
|
8045
|
-
{
|
|
8046
|
-
"description": "Border color of the shared field shell. Defaults to `var(--esp-color-border)`.",
|
|
8047
|
-
"name": "--esp-field-border-color",
|
|
8048
|
-
"inheritedFrom": {
|
|
8049
|
-
"name": "EspalierElementBase",
|
|
8050
|
-
"module": "dist/shared/esp-element-base.js"
|
|
8051
|
-
}
|
|
8052
|
-
},
|
|
8053
|
-
{
|
|
8054
|
-
"description": "Border width of the shared field shell. Defaults to `1px`.",
|
|
8055
|
-
"name": "--esp-field-border-width",
|
|
8056
|
-
"inheritedFrom": {
|
|
8057
|
-
"name": "EspalierElementBase",
|
|
8058
|
-
"module": "dist/shared/esp-element-base.js"
|
|
8059
|
-
}
|
|
8060
|
-
},
|
|
8061
|
-
{
|
|
8062
|
-
"description": "Text color used inside the shared field shell. Defaults to `var(--esp-color-text)`.",
|
|
8063
|
-
"name": "--esp-field-text-color",
|
|
8064
|
-
"inheritedFrom": {
|
|
8065
|
-
"name": "EspalierElementBase",
|
|
8066
|
-
"module": "dist/shared/esp-element-base.js"
|
|
8067
|
-
}
|
|
8068
|
-
},
|
|
8069
|
-
{
|
|
8070
|
-
"description": "Hover background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
8071
|
-
"name": "--esp-field-hover-bg",
|
|
8072
|
-
"inheritedFrom": {
|
|
8073
|
-
"name": "EspalierElementBase",
|
|
8074
|
-
"module": "dist/shared/esp-element-base.js"
|
|
8075
|
-
}
|
|
8076
|
-
},
|
|
8077
|
-
{
|
|
8078
|
-
"description": "Focus background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
8079
|
-
"name": "--esp-field-focus-bg",
|
|
8080
|
-
"inheritedFrom": {
|
|
8081
|
-
"name": "EspalierElementBase",
|
|
8082
|
-
"module": "dist/shared/esp-element-base.js"
|
|
8083
|
-
}
|
|
8084
|
-
},
|
|
8085
|
-
{
|
|
8086
|
-
"description": "Shadow color used for shared field focus treatment. Defaults to `var(--esp-color-shadow)`.",
|
|
8087
|
-
"name": "--esp-field-focus-shadow",
|
|
8088
|
-
"inheritedFrom": {
|
|
8089
|
-
"name": "EspalierElementBase",
|
|
8090
|
-
"module": "dist/shared/esp-element-base.js"
|
|
8091
|
-
}
|
|
8092
|
-
}
|
|
8093
|
-
],
|
|
8449
|
+
"description": "Groups multiple [esp-checkbox](/components/checkbox)\ncomponents and manages their collective state. Works with\n[esp-form-item](/components/form-item) for label and\nerror message integration.\n\n```html\n<esp-box>\n <esp-form-item label=\"Select toppings\">\n <esp-checkbox-group>\n <esp-checkbox value=\"cheese\">Cheese</esp-checkbox>\n <esp-checkbox value=\"pepperoni\">Pepperoni</esp-checkbox>\n <esp-checkbox value=\"mushrooms\">Mushrooms</esp-checkbox>\n </esp-checkbox-group>\n </esp-form-item>\n</esp-box>\n```\n\n```html\n<esp-box>\n <esp-form-item label=\"Disabled group\">\n <esp-checkbox-group disabled>\n <esp-checkbox value=\"a\">Option A</esp-checkbox>\n <esp-checkbox value=\"b\" checked>Option B</esp-checkbox>\n <esp-checkbox value=\"c\">Option C</esp-checkbox>\n </esp-checkbox-group>\n </esp-form-item>\n</esp-box>\n```",
|
|
8450
|
+
"name": "EspalierCheckboxGroup",
|
|
8094
8451
|
"slots": [
|
|
8095
8452
|
{
|
|
8096
|
-
"description": "
|
|
8453
|
+
"description": "Place `esp-checkbox` elements in the default slot.",
|
|
8097
8454
|
"name": ""
|
|
8098
8455
|
}
|
|
8099
8456
|
],
|
|
@@ -8116,36 +8473,27 @@
|
|
|
8116
8473
|
"kind": "field",
|
|
8117
8474
|
"name": "formCtrl",
|
|
8118
8475
|
"privacy": "private",
|
|
8119
|
-
"default": "new FormFieldController({ host: this, internals: this.internals, getFormValue: () =>
|
|
8120
|
-
},
|
|
8121
|
-
{
|
|
8122
|
-
"kind": "field",
|
|
8123
|
-
"name": "formItemDescription",
|
|
8124
|
-
"privacy": "private",
|
|
8125
|
-
"default": "new FormFieldDescriptionController({ host: this, getTarget: () => this.shadowRoot?.querySelector<HTMLElement>(\".checkbox-control\"), })"
|
|
8476
|
+
"default": "new FormFieldController({ host: this, internals: this.internals, getFormValue: () => { const v = this.values; return v.length > 0 ? v.join(\",\") : null; }, getValidity: () => { if (this.required && this.values.length === 0) { return { flags: { valueMissing: true }, message: this.requiredMessage || \"Please select at least one option.\", }; } return null; }, onReset: () => { for (const cb of this.getCheckboxes()) { cb.checked = false; } }, onRestore: (state: string) => { const selected = state.split(\",\"); for (const cb of this.getCheckboxes()) { cb.checked = selected.includes(cb.value); } }, onDisabled: (isDisabled: boolean) => { this.disabled = isDisabled; }, })"
|
|
8126
8477
|
},
|
|
8127
8478
|
{
|
|
8128
8479
|
"kind": "field",
|
|
8129
|
-
"name": "
|
|
8130
|
-
"
|
|
8131
|
-
"text": "boolean"
|
|
8132
|
-
},
|
|
8133
|
-
"privacy": "public",
|
|
8134
|
-
"default": "false",
|
|
8135
|
-
"description": "Whether the checkbox is in the checked state.",
|
|
8136
|
-
"attribute": "checked",
|
|
8137
|
-
"reflects": true
|
|
8480
|
+
"name": "itemsSlot",
|
|
8481
|
+
"privacy": "private"
|
|
8138
8482
|
},
|
|
8139
8483
|
{
|
|
8140
8484
|
"kind": "field",
|
|
8141
|
-
"name": "
|
|
8485
|
+
"name": "formItemDescription",
|
|
8142
8486
|
"type": {
|
|
8143
|
-
"text": "string"
|
|
8487
|
+
"text": "string | null"
|
|
8144
8488
|
},
|
|
8145
|
-
"privacy": "
|
|
8146
|
-
"default": "
|
|
8147
|
-
|
|
8148
|
-
|
|
8489
|
+
"privacy": "private",
|
|
8490
|
+
"default": "null"
|
|
8491
|
+
},
|
|
8492
|
+
{
|
|
8493
|
+
"kind": "field",
|
|
8494
|
+
"name": "describedCheckboxes",
|
|
8495
|
+
"privacy": "private",
|
|
8496
|
+
"default": "new Set<EspalierCheckbox>()"
|
|
8149
8497
|
},
|
|
8150
8498
|
{
|
|
8151
8499
|
"kind": "field",
|
|
@@ -8155,7 +8503,7 @@
|
|
|
8155
8503
|
},
|
|
8156
8504
|
"privacy": "public",
|
|
8157
8505
|
"default": "\"\"",
|
|
8158
|
-
"description": "The name used when the
|
|
8506
|
+
"description": "The name used when the group participates in a `<form>`.",
|
|
8159
8507
|
"attribute": "name",
|
|
8160
8508
|
"reflects": true
|
|
8161
8509
|
},
|
|
@@ -8167,7 +8515,7 @@
|
|
|
8167
8515
|
},
|
|
8168
8516
|
"privacy": "public",
|
|
8169
8517
|
"default": "false",
|
|
8170
|
-
"description": "When true,
|
|
8518
|
+
"description": "When true, at least one checkbox must be checked before\nthe form can be submitted.",
|
|
8171
8519
|
"attribute": "required",
|
|
8172
8520
|
"reflects": true
|
|
8173
8521
|
},
|
|
@@ -8179,7 +8527,7 @@
|
|
|
8179
8527
|
},
|
|
8180
8528
|
"privacy": "public",
|
|
8181
8529
|
"default": "\"\"",
|
|
8182
|
-
"description": "A custom message to display when the
|
|
8530
|
+
"description": "A custom message to display when the group is required but no\ncheckbox is checked. Defaults to\n`\"Please select at least one option.\"` when not set.",
|
|
8183
8531
|
"attribute": "required-message"
|
|
8184
8532
|
},
|
|
8185
8533
|
{
|
|
@@ -8190,21 +8538,19 @@
|
|
|
8190
8538
|
},
|
|
8191
8539
|
"privacy": "public",
|
|
8192
8540
|
"default": "false",
|
|
8193
|
-
"description": "
|
|
8541
|
+
"description": "Disables all child checkboxes in the group.",
|
|
8194
8542
|
"attribute": "disabled",
|
|
8195
8543
|
"reflects": true
|
|
8196
8544
|
},
|
|
8197
8545
|
{
|
|
8198
8546
|
"kind": "field",
|
|
8199
|
-
"name": "
|
|
8547
|
+
"name": "values",
|
|
8200
8548
|
"type": {
|
|
8201
|
-
"text": "
|
|
8549
|
+
"text": "Array<string>"
|
|
8202
8550
|
},
|
|
8203
8551
|
"privacy": "public",
|
|
8204
|
-
"
|
|
8205
|
-
"
|
|
8206
|
-
"attribute": "indeterminate",
|
|
8207
|
-
"reflects": true
|
|
8552
|
+
"description": "Returns the values of all currently checked checkboxes\nin the group.",
|
|
8553
|
+
"readonly": true
|
|
8208
8554
|
},
|
|
8209
8555
|
{
|
|
8210
8556
|
"kind": "method",
|
|
@@ -8224,7 +8570,7 @@
|
|
|
8224
8570
|
}
|
|
8225
8571
|
}
|
|
8226
8572
|
],
|
|
8227
|
-
"description": "Focus the checkbox
|
|
8573
|
+
"description": "Focus the first non-disabled checkbox in the group."
|
|
8228
8574
|
},
|
|
8229
8575
|
{
|
|
8230
8576
|
"kind": "method",
|
|
@@ -8250,7 +8596,17 @@
|
|
|
8250
8596
|
},
|
|
8251
8597
|
{
|
|
8252
8598
|
"kind": "method",
|
|
8253
|
-
"name": "
|
|
8599
|
+
"name": "getCheckboxes",
|
|
8600
|
+
"privacy": "private",
|
|
8601
|
+
"return": {
|
|
8602
|
+
"type": {
|
|
8603
|
+
"text": "EspalierCheckbox[]"
|
|
8604
|
+
}
|
|
8605
|
+
}
|
|
8606
|
+
},
|
|
8607
|
+
{
|
|
8608
|
+
"kind": "method",
|
|
8609
|
+
"name": "applyDisabledState",
|
|
8254
8610
|
"privacy": "private",
|
|
8255
8611
|
"return": {
|
|
8256
8612
|
"type": {
|
|
@@ -8260,7 +8616,22 @@
|
|
|
8260
8616
|
},
|
|
8261
8617
|
{
|
|
8262
8618
|
"kind": "method",
|
|
8263
|
-
"name": "
|
|
8619
|
+
"name": "applyFormItemDescription",
|
|
8620
|
+
"privacy": "private",
|
|
8621
|
+
"return": {
|
|
8622
|
+
"type": {
|
|
8623
|
+
"text": "void"
|
|
8624
|
+
}
|
|
8625
|
+
}
|
|
8626
|
+
},
|
|
8627
|
+
{
|
|
8628
|
+
"kind": "field",
|
|
8629
|
+
"name": "handleItemsSlotChange",
|
|
8630
|
+
"privacy": "private"
|
|
8631
|
+
},
|
|
8632
|
+
{
|
|
8633
|
+
"kind": "method",
|
|
8634
|
+
"name": "handleChildChanged",
|
|
8264
8635
|
"privacy": "private",
|
|
8265
8636
|
"return": {
|
|
8266
8637
|
"type": {
|
|
@@ -8271,21 +8642,11 @@
|
|
|
8271
8642
|
{
|
|
8272
8643
|
"name": "ev",
|
|
8273
8644
|
"type": {
|
|
8274
|
-
"text": "
|
|
8645
|
+
"text": "Event"
|
|
8275
8646
|
}
|
|
8276
8647
|
}
|
|
8277
8648
|
]
|
|
8278
8649
|
},
|
|
8279
|
-
{
|
|
8280
|
-
"kind": "method",
|
|
8281
|
-
"name": "getSvg",
|
|
8282
|
-
"privacy": "private",
|
|
8283
|
-
"return": {
|
|
8284
|
-
"type": {
|
|
8285
|
-
"text": "TemplateResult"
|
|
8286
|
-
}
|
|
8287
|
-
}
|
|
8288
|
-
},
|
|
8289
8650
|
{
|
|
8290
8651
|
"kind": "method",
|
|
8291
8652
|
"name": "formResetCallback",
|
|
@@ -8831,7 +9192,7 @@
|
|
|
8831
9192
|
"type": {
|
|
8832
9193
|
"text": "CustomEvent"
|
|
8833
9194
|
},
|
|
8834
|
-
"description": "Fired when
|
|
9195
|
+
"description": "Fired when any child checkbox state changes. The detail is an array of the values of all currently checked checkboxes.",
|
|
8835
9196
|
"inheritedFrom": {
|
|
8836
9197
|
"name": "EspalierElementBase",
|
|
8837
9198
|
"module": "dist/shared/esp-element-base.js"
|
|
@@ -8839,31 +9200,13 @@
|
|
|
8839
9200
|
}
|
|
8840
9201
|
],
|
|
8841
9202
|
"attributes": [
|
|
8842
|
-
{
|
|
8843
|
-
"name": "checked",
|
|
8844
|
-
"type": {
|
|
8845
|
-
"text": "boolean"
|
|
8846
|
-
},
|
|
8847
|
-
"default": "false",
|
|
8848
|
-
"description": "Whether the checkbox is in the checked state.",
|
|
8849
|
-
"fieldName": "checked"
|
|
8850
|
-
},
|
|
8851
|
-
{
|
|
8852
|
-
"name": "value",
|
|
8853
|
-
"type": {
|
|
8854
|
-
"text": "string"
|
|
8855
|
-
},
|
|
8856
|
-
"default": "\"\"",
|
|
8857
|
-
"description": "The value associated with this checkbox. Used by\n[esp-checkbox-group](/components/checkbox/group) to track\nwhich checkboxes are selected.",
|
|
8858
|
-
"fieldName": "value"
|
|
8859
|
-
},
|
|
8860
9203
|
{
|
|
8861
9204
|
"name": "name",
|
|
8862
9205
|
"type": {
|
|
8863
9206
|
"text": "string"
|
|
8864
9207
|
},
|
|
8865
9208
|
"default": "\"\"",
|
|
8866
|
-
"description": "The name used when the
|
|
9209
|
+
"description": "The name used when the group participates in a `<form>`.",
|
|
8867
9210
|
"fieldName": "name"
|
|
8868
9211
|
},
|
|
8869
9212
|
{
|
|
@@ -8872,7 +9215,7 @@
|
|
|
8872
9215
|
"text": "boolean"
|
|
8873
9216
|
},
|
|
8874
9217
|
"default": "false",
|
|
8875
|
-
"description": "When true,
|
|
9218
|
+
"description": "When true, at least one checkbox must be checked before\nthe form can be submitted.",
|
|
8876
9219
|
"fieldName": "required"
|
|
8877
9220
|
},
|
|
8878
9221
|
{
|
|
@@ -8881,7 +9224,7 @@
|
|
|
8881
9224
|
"text": "string"
|
|
8882
9225
|
},
|
|
8883
9226
|
"default": "\"\"",
|
|
8884
|
-
"description": "A custom message to display when the
|
|
9227
|
+
"description": "A custom message to display when the group is required but no\ncheckbox is checked. Defaults to\n`\"Please select at least one option.\"` when not set.",
|
|
8885
9228
|
"fieldName": "requiredMessage"
|
|
8886
9229
|
},
|
|
8887
9230
|
{
|
|
@@ -8890,18 +9233,9 @@
|
|
|
8890
9233
|
"text": "boolean"
|
|
8891
9234
|
},
|
|
8892
9235
|
"default": "false",
|
|
8893
|
-
"description": "
|
|
9236
|
+
"description": "Disables all child checkboxes in the group.",
|
|
8894
9237
|
"fieldName": "disabled"
|
|
8895
9238
|
},
|
|
8896
|
-
{
|
|
8897
|
-
"name": "indeterminate",
|
|
8898
|
-
"type": {
|
|
8899
|
-
"text": "boolean"
|
|
8900
|
-
},
|
|
8901
|
-
"default": "false",
|
|
8902
|
-
"description": "Displays the checkbox in an indeterminate (partial) state.\nClicking the checkbox clears the indeterminate state.",
|
|
8903
|
-
"fieldName": "indeterminate"
|
|
8904
|
-
},
|
|
8905
9239
|
{
|
|
8906
9240
|
"name": "scheme",
|
|
8907
9241
|
"type": {
|
|
@@ -8934,397 +9268,117 @@
|
|
|
8934
9268
|
},
|
|
8935
9269
|
"docPageTitle": {
|
|
8936
9270
|
"name": "Checkbox",
|
|
8937
|
-
"description": ""
|
|
9271
|
+
"description": "Group"
|
|
8938
9272
|
},
|
|
8939
9273
|
"docUrl": {
|
|
8940
|
-
"name": "/components/checkbox",
|
|
9274
|
+
"name": "/components/checkbox/group",
|
|
8941
9275
|
"description": ""
|
|
8942
9276
|
},
|
|
8943
9277
|
"menuGroup": {
|
|
8944
9278
|
"name": "Form",
|
|
8945
9279
|
"description": "Controls"
|
|
8946
9280
|
},
|
|
8947
|
-
"
|
|
8948
|
-
|
|
8949
|
-
"description": ""
|
|
8950
|
-
},
|
|
8951
|
-
"menuIcon": {
|
|
8952
|
-
"name": "checkbox",
|
|
8953
|
-
"description": ""
|
|
8954
|
-
},
|
|
8955
|
-
"tagName": "esp-checkbox",
|
|
8956
|
-
"customElement": true
|
|
8957
|
-
}
|
|
8958
|
-
],
|
|
8959
|
-
"exports": [
|
|
8960
|
-
{
|
|
8961
|
-
"kind": "js",
|
|
8962
|
-
"name": "EspalierCheckbox",
|
|
8963
|
-
"declaration": {
|
|
8964
|
-
"name": "EspalierCheckbox",
|
|
8965
|
-
"module": "dist/checkbox/esp-checkbox.js"
|
|
8966
|
-
}
|
|
8967
|
-
},
|
|
8968
|
-
{
|
|
8969
|
-
"kind": "custom-element-definition",
|
|
8970
|
-
"name": "esp-checkbox",
|
|
8971
|
-
"declaration": {
|
|
8972
|
-
"name": "EspalierCheckbox",
|
|
8973
|
-
"module": "dist/checkbox/esp-checkbox.js"
|
|
8974
|
-
}
|
|
8975
|
-
}
|
|
8976
|
-
]
|
|
8977
|
-
},
|
|
8978
|
-
{
|
|
8979
|
-
"kind": "javascript-module",
|
|
8980
|
-
"path": "dist/button/action-state-lightness.js",
|
|
8981
|
-
"declarations": [
|
|
8982
|
-
{
|
|
8983
|
-
"kind": "variable",
|
|
8984
|
-
"name": "BUTTON_ICON_SPLIT_LIGHTNESS_FACTOR",
|
|
8985
|
-
"type": {
|
|
8986
|
-
"text": "number"
|
|
8987
|
-
},
|
|
8988
|
-
"default": "0.9"
|
|
8989
|
-
},
|
|
8990
|
-
{
|
|
8991
|
-
"kind": "variable",
|
|
8992
|
-
"name": "BUTTON_INTERACTION_LIGHTNESS_FACTOR",
|
|
8993
|
-
"type": {
|
|
8994
|
-
"text": "number"
|
|
8995
|
-
},
|
|
8996
|
-
"default": "0.88"
|
|
8997
|
-
},
|
|
8998
|
-
{
|
|
8999
|
-
"kind": "variable",
|
|
9000
|
-
"name": "BUTTON_ICON_INTERACTION_LIGHTNESS_FACTOR",
|
|
9001
|
-
"type": {
|
|
9002
|
-
"text": "number"
|
|
9003
|
-
},
|
|
9004
|
-
"default": "0.8"
|
|
9005
|
-
}
|
|
9006
|
-
],
|
|
9007
|
-
"exports": [
|
|
9008
|
-
{
|
|
9009
|
-
"kind": "js",
|
|
9010
|
-
"name": "BUTTON_ICON_SPLIT_LIGHTNESS_FACTOR",
|
|
9011
|
-
"declaration": {
|
|
9012
|
-
"name": "BUTTON_ICON_SPLIT_LIGHTNESS_FACTOR",
|
|
9013
|
-
"module": "dist/button/action-state-lightness.js"
|
|
9014
|
-
}
|
|
9015
|
-
},
|
|
9016
|
-
{
|
|
9017
|
-
"kind": "js",
|
|
9018
|
-
"name": "BUTTON_INTERACTION_LIGHTNESS_FACTOR",
|
|
9019
|
-
"declaration": {
|
|
9020
|
-
"name": "BUTTON_INTERACTION_LIGHTNESS_FACTOR",
|
|
9021
|
-
"module": "dist/button/action-state-lightness.js"
|
|
9022
|
-
}
|
|
9023
|
-
},
|
|
9024
|
-
{
|
|
9025
|
-
"kind": "js",
|
|
9026
|
-
"name": "BUTTON_ICON_INTERACTION_LIGHTNESS_FACTOR",
|
|
9027
|
-
"declaration": {
|
|
9028
|
-
"name": "BUTTON_ICON_INTERACTION_LIGHTNESS_FACTOR",
|
|
9029
|
-
"module": "dist/button/action-state-lightness.js"
|
|
9030
|
-
}
|
|
9031
|
-
}
|
|
9032
|
-
]
|
|
9033
|
-
},
|
|
9034
|
-
{
|
|
9035
|
-
"kind": "javascript-module",
|
|
9036
|
-
"path": "dist/button/esp-button-group.js",
|
|
9037
|
-
"declarations": [
|
|
9038
|
-
{
|
|
9039
|
-
"kind": "class",
|
|
9040
|
-
"description": "Groups related buttons into a visually connected segmented control.\n\nChild `esp-button` elements lose their individual border-radius and\nmerge into a continuous strip; the group container provides the outer\nrounded corners and border.\n\n```html\n<esp-button-group label=\"Actions\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n <esp-button icon-only icon=\"trash\" aria-label=\"Delete\"></esp-button>\n</esp-button-group>\n```\n\nGroups can also contain labelled buttons:\n\n```html\n<esp-button-group label=\"Navigation\">\n <esp-button label=\"Back\" icon=\"arrow-big-left\" collapsed></esp-button>\n <esp-button label=\"Forward\" icon=\"arrow-big-right\" collapsed></esp-button>\n</esp-button-group>\n```\n\nButtons can be wrapped in `esp-tooltip` or `esp-popover`:\n\n```html\n<esp-button-group label=\"With tooltips\">\n <esp-tooltip text=\"Save changes\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Edit item\">\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Delete item\">\n <esp-button icon-only icon=\"trash\" aria-label=\"Delete\"></esp-button>\n </esp-tooltip>\n</esp-button-group>\n```\n\nWhen the group has a fixed width and contains more buttons than\ncan fit, horizontal scrolling kicks in:\n\n```html\n<esp-button-group label=\"Many actions\" style=\"width: 360px;\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n <esp-button icon-only icon=\"upload\" aria-label=\"Upload\"></esp-button>\n <esp-button icon-only icon=\"pin\" aria-label=\"Pin\"></esp-button>\n <esp-button icon-only icon=\"cog\" aria-label=\"Settings\"></esp-button>\n <esp-button icon-only icon=\"user\" aria-label=\"User\"></esp-button>\n <esp-button icon-only icon=\"photo\" aria-label=\"Photo\"></esp-button>\n <esp-button icon-only icon=\"rocket\" aria-label=\"Rocket\"></esp-button>\n <esp-button icon-only icon=\"code\" aria-label=\"Code\"></esp-button>\n <esp-button icon-only icon=\"palette\" aria-label=\"Palette\"></esp-button>\n <esp-button icon-only icon=\"wand\" aria-label=\"Wand\"></esp-button>\n <esp-button icon-only icon=\"tags\" aria-label=\"Tags\"></esp-button>\n</esp-button-group>\n```\n\nAdd the `toolbar` attribute to opt into the WAI-ARIA toolbar\npattern. This changes how the group sits in the tab order: instead of\nevery button being its own tab stop, the whole group becomes a *single*\ntab stop, and the arrow keys (plus `Home`/`End`) move focus between the\nbuttons inside it. Tabbing into the group lands on one button; the next\nTab leaves the group entirely. Use it when a group bundles many actions\n(for example an editor formatting bar) so keyboard users do not have to\nTab through every button.\n\nThe `esp-input` elements below sit before and after the group so the\nsingle-tab-stop behavior is easy to see: Tab from the first input lands\non one toolbar button, the arrow keys move between the buttons, and the\nnext Tab jumps straight to the second input.\n\n```html\n<esp-input value=\"Before\"></esp-input>\n<esp-button-group toolbar label=\"Document actions\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n <esp-button icon-only icon=\"upload\" aria-label=\"Upload\"></esp-button>\n <esp-button icon-only icon=\"trash\" aria-label=\"Delete\"></esp-button>\n</esp-button-group>\n<esp-input value=\"After\"></esp-input>\n```\n\nWhen a button is wrapped in an `esp-tooltip`, the group sets\n`trigger-tabindex=\"-1\"` on that tooltip automatically so its wrapper span\ndoes not reintroduce a tab stop the roving manager is removing:\n\n```html\n<esp-input value=\"Before\"></esp-input>\n<esp-button-group toolbar label=\"Document actions\">\n <esp-tooltip text=\"Save\">\n <esp-button icon-only icon=\"save\" aria-label=\"Save\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Edit\">\n <esp-button icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n </esp-tooltip>\n <esp-tooltip text=\"Upload\">\n <esp-button icon-only icon=\"upload\" aria-label=\"Upload\"></esp-button>\n </esp-tooltip>\n</esp-button-group>\n<esp-input value=\"After\"></esp-input>\n```",
|
|
9041
|
-
"name": "EspalierButtonGroup",
|
|
9281
|
+
"tagName": "esp-checkbox-group",
|
|
9282
|
+
"customElement": true,
|
|
9042
9283
|
"cssProperties": [
|
|
9043
9284
|
{
|
|
9044
|
-
"description": "
|
|
9045
|
-
"name": "--esp-
|
|
9046
|
-
|
|
9047
|
-
|
|
9048
|
-
|
|
9049
|
-
|
|
9050
|
-
"description": "One or more `esp-button`, `esp-tooltip`, or `esp-popover` elements containing an `esp-button`.",
|
|
9051
|
-
"name": ""
|
|
9052
|
-
}
|
|
9053
|
-
],
|
|
9054
|
-
"members": [
|
|
9055
|
-
{
|
|
9056
|
-
"kind": "field",
|
|
9057
|
-
"name": "label",
|
|
9058
|
-
"type": {
|
|
9059
|
-
"text": "string"
|
|
9060
|
-
},
|
|
9061
|
-
"privacy": "public",
|
|
9062
|
-
"default": "\"\"",
|
|
9063
|
-
"description": "Accessible label for the group. Screen readers announce this\nso users understand the purpose of the grouped buttons.",
|
|
9064
|
-
"attribute": "label"
|
|
9065
|
-
},
|
|
9066
|
-
{
|
|
9067
|
-
"kind": "field",
|
|
9068
|
-
"name": "toolbar",
|
|
9069
|
-
"type": {
|
|
9070
|
-
"text": "boolean"
|
|
9071
|
-
},
|
|
9072
|
-
"privacy": "public",
|
|
9073
|
-
"default": "false",
|
|
9074
|
-
"description": "Opt into the WAI-ARIA toolbar pattern. When set, the group renders\nwith `role=\"toolbar\"`, becomes a single tab stop (roving tabindex),\nand the arrow keys, `Home`, and `End` move focus between the\nenabled buttons. When unset, every button remains an independent\ntab stop and behavior is unchanged.",
|
|
9075
|
-
"attribute": "toolbar"
|
|
9076
|
-
},
|
|
9077
|
-
{
|
|
9078
|
-
"kind": "field",
|
|
9079
|
-
"name": "activeButton",
|
|
9080
|
-
"type": {
|
|
9081
|
-
"text": "EspalierButton | null"
|
|
9082
|
-
},
|
|
9083
|
-
"privacy": "private",
|
|
9084
|
-
"default": "null",
|
|
9085
|
-
"description": "The button that currently holds the group's single tab stop."
|
|
9086
|
-
},
|
|
9087
|
-
{
|
|
9088
|
-
"kind": "field",
|
|
9089
|
-
"name": "managedButtons",
|
|
9090
|
-
"privacy": "private",
|
|
9091
|
-
"default": "new Set<EspalierButton>()",
|
|
9092
|
-
"description": "Buttons whose `tabindex` this group currently manages. Tracked so that a\nbutton leaving the group (removed or moved elsewhere) has its roving\n`tabindex` cleared instead of being stranded as untabbable."
|
|
9093
|
-
},
|
|
9094
|
-
{
|
|
9095
|
-
"kind": "field",
|
|
9096
|
-
"name": "managedTooltips",
|
|
9097
|
-
"privacy": "private",
|
|
9098
|
-
"default": "new Set<Element>()",
|
|
9099
|
-
"description": "`esp-tooltip` children whose `trigger-tabindex` this group currently\nmanages. In toolbar mode the group forces each tooltip wrapper out of the\ntab order so it does not reintroduce a tab stop the roving manager is\nremoving. Tracked so a tooltip leaving the group (or toolbar mode turning\noff) gets its `trigger-tabindex` cleared and its auto-detection restored."
|
|
9100
|
-
},
|
|
9101
|
-
{
|
|
9102
|
-
"kind": "field",
|
|
9103
|
-
"name": "stateObserver",
|
|
9104
|
-
"type": {
|
|
9105
|
-
"text": "MutationObserver | undefined"
|
|
9106
|
-
},
|
|
9107
|
-
"privacy": "private",
|
|
9108
|
-
"description": "Watches slotted buttons for `disabled`/`loading` changes so the roving\ntab stop can move off a button that becomes unusable (and onto one that\nbecomes usable). Always attached, but its callback (`applyRovingTabindex`)\nis a no-op outside toolbar mode, so it stays inert until `toolbar` is set."
|
|
9109
|
-
},
|
|
9110
|
-
{
|
|
9111
|
-
"kind": "method",
|
|
9112
|
-
"name": "isEnabled",
|
|
9113
|
-
"privacy": "private",
|
|
9114
|
-
"return": {
|
|
9115
|
-
"type": {
|
|
9116
|
-
"text": "boolean"
|
|
9117
|
-
}
|
|
9118
|
-
},
|
|
9119
|
-
"parameters": [
|
|
9120
|
-
{
|
|
9121
|
-
"name": "btn",
|
|
9122
|
-
"type": {
|
|
9123
|
-
"text": "EspalierButton"
|
|
9124
|
-
}
|
|
9125
|
-
}
|
|
9126
|
-
],
|
|
9127
|
-
"description": "A button is usable as a tab stop only when it is neither disabled nor\nloading. `esp-button` disables its inner control while loading, so a\nloading button must be skipped just like a disabled one."
|
|
9128
|
-
},
|
|
9129
|
-
{
|
|
9130
|
-
"kind": "method",
|
|
9131
|
-
"name": "handleSlotChange",
|
|
9132
|
-
"privacy": "private",
|
|
9133
|
-
"parameters": [
|
|
9134
|
-
{
|
|
9135
|
-
"name": "e",
|
|
9136
|
-
"type": {
|
|
9137
|
-
"text": "Event"
|
|
9138
|
-
}
|
|
9139
|
-
}
|
|
9140
|
-
]
|
|
9141
|
-
},
|
|
9142
|
-
{
|
|
9143
|
-
"kind": "method",
|
|
9144
|
-
"name": "getButtons",
|
|
9145
|
-
"privacy": "private",
|
|
9146
|
-
"return": {
|
|
9147
|
-
"type": {
|
|
9148
|
-
"text": "EspalierButton[]"
|
|
9149
|
-
}
|
|
9150
|
-
},
|
|
9151
|
-
"description": "The `esp-button` elements in the group, unwrapping any that are\nnested in an `esp-tooltip` or used as an `esp-popover` target.\nMirrors the discovery logic in `handleSlotChange`."
|
|
9152
|
-
},
|
|
9153
|
-
{
|
|
9154
|
-
"kind": "method",
|
|
9155
|
-
"name": "getTooltips",
|
|
9156
|
-
"privacy": "private",
|
|
9157
|
-
"return": {
|
|
9158
|
-
"type": {
|
|
9159
|
-
"text": "Element[]"
|
|
9160
|
-
}
|
|
9161
|
-
},
|
|
9162
|
-
"description": "The direct `esp-tooltip` children of the group. These are the wrappers\nwhose `trigger-tabindex` the group manages in toolbar mode so their span\ndoes not reintroduce a tab stop the roving manager is removing."
|
|
9163
|
-
},
|
|
9164
|
-
{
|
|
9165
|
-
"kind": "method",
|
|
9166
|
-
"name": "applyTabindexValues",
|
|
9167
|
-
"privacy": "private",
|
|
9168
|
-
"return": {
|
|
9169
|
-
"type": {
|
|
9170
|
-
"text": "void"
|
|
9171
|
-
}
|
|
9172
|
-
},
|
|
9173
|
-
"description": "Push the roving `tabindex` (0 on the active button, -1 on the rest) and\nclear any button that has left the group since the last pass so it does\nnot keep a stale `-1`/`0` and become untabbable elsewhere."
|
|
9285
|
+
"description": "Background color of the shared field shell. Defaults to `var(--esp-color-layer-2)`.",
|
|
9286
|
+
"name": "--esp-field-background",
|
|
9287
|
+
"inheritedFrom": {
|
|
9288
|
+
"name": "EspalierElementBase",
|
|
9289
|
+
"module": "dist/shared/esp-element-base.js"
|
|
9290
|
+
}
|
|
9174
9291
|
},
|
|
9175
9292
|
{
|
|
9176
|
-
"
|
|
9177
|
-
"name": "
|
|
9178
|
-
"
|
|
9179
|
-
|
|
9180
|
-
"
|
|
9181
|
-
|
|
9182
|
-
}
|
|
9183
|
-
},
|
|
9184
|
-
"description": "Force each tooltip-wrapped button's wrapper span out of the tab order by\nsetting `trigger-tabindex=\"-1\"`, and clear any tooltip that has left the\ngroup since the last pass so it does not keep a stale opt-out (its\nauto-detection takes over again once it is no longer managed here)."
|
|
9293
|
+
"description": "Border color of the shared field shell. Defaults to `var(--esp-color-border)`.",
|
|
9294
|
+
"name": "--esp-field-border-color",
|
|
9295
|
+
"inheritedFrom": {
|
|
9296
|
+
"name": "EspalierElementBase",
|
|
9297
|
+
"module": "dist/shared/esp-element-base.js"
|
|
9298
|
+
}
|
|
9185
9299
|
},
|
|
9186
9300
|
{
|
|
9187
|
-
"
|
|
9188
|
-
"name": "
|
|
9189
|
-
"
|
|
9190
|
-
|
|
9191
|
-
"
|
|
9192
|
-
|
|
9193
|
-
}
|
|
9194
|
-
},
|
|
9195
|
-
"description": "Establish or refresh the roving tabindex. Keeps the current active\nbutton when it is still present and usable, otherwise falls back to the\nfirst usable button. When no button is usable, every button is removed\nfrom the tab order (-1) so disabled anchors do not stay focusable.\nNo-op when not in toolbar mode."
|
|
9301
|
+
"description": "Border width of the shared field shell. Defaults to `1px`.",
|
|
9302
|
+
"name": "--esp-field-border-width",
|
|
9303
|
+
"inheritedFrom": {
|
|
9304
|
+
"name": "EspalierElementBase",
|
|
9305
|
+
"module": "dist/shared/esp-element-base.js"
|
|
9306
|
+
}
|
|
9196
9307
|
},
|
|
9197
9308
|
{
|
|
9198
|
-
"
|
|
9199
|
-
"name": "
|
|
9200
|
-
"
|
|
9201
|
-
|
|
9202
|
-
"
|
|
9203
|
-
|
|
9204
|
-
}
|
|
9205
|
-
},
|
|
9206
|
-
"description": "Tear down the roving tabindex, restoring each button's natural\ntabbability. Used when `toolbar` is toggled off so dynamic usage returns\nto the default behavior."
|
|
9309
|
+
"description": "Text color used inside the shared field shell. Defaults to `var(--esp-color-text)`.",
|
|
9310
|
+
"name": "--esp-field-text-color",
|
|
9311
|
+
"inheritedFrom": {
|
|
9312
|
+
"name": "EspalierElementBase",
|
|
9313
|
+
"module": "dist/shared/esp-element-base.js"
|
|
9314
|
+
}
|
|
9207
9315
|
},
|
|
9208
9316
|
{
|
|
9209
|
-
"
|
|
9210
|
-
"name": "
|
|
9211
|
-
"
|
|
9212
|
-
|
|
9213
|
-
"
|
|
9214
|
-
|
|
9215
|
-
}
|
|
9216
|
-
},
|
|
9217
|
-
"parameters": [
|
|
9218
|
-
{
|
|
9219
|
-
"name": "ev",
|
|
9220
|
-
"type": {
|
|
9221
|
-
"text": "KeyboardEvent"
|
|
9222
|
-
}
|
|
9223
|
-
}
|
|
9224
|
-
]
|
|
9317
|
+
"description": "Hover background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
9318
|
+
"name": "--esp-field-hover-bg",
|
|
9319
|
+
"inheritedFrom": {
|
|
9320
|
+
"name": "EspalierElementBase",
|
|
9321
|
+
"module": "dist/shared/esp-element-base.js"
|
|
9322
|
+
}
|
|
9225
9323
|
},
|
|
9226
9324
|
{
|
|
9227
|
-
"
|
|
9228
|
-
"name": "
|
|
9229
|
-
"
|
|
9230
|
-
|
|
9231
|
-
"
|
|
9232
|
-
|
|
9233
|
-
}
|
|
9234
|
-
},
|
|
9235
|
-
"parameters": [
|
|
9236
|
-
{
|
|
9237
|
-
"name": "ev",
|
|
9238
|
-
"type": {
|
|
9239
|
-
"text": "FocusEvent"
|
|
9240
|
-
}
|
|
9241
|
-
}
|
|
9242
|
-
]
|
|
9243
|
-
}
|
|
9244
|
-
],
|
|
9245
|
-
"attributes": [
|
|
9246
|
-
{
|
|
9247
|
-
"name": "label",
|
|
9248
|
-
"type": {
|
|
9249
|
-
"text": "string"
|
|
9250
|
-
},
|
|
9251
|
-
"default": "\"\"",
|
|
9252
|
-
"description": "Accessible label for the group. Screen readers announce this\nso users understand the purpose of the grouped buttons.",
|
|
9253
|
-
"fieldName": "label"
|
|
9325
|
+
"description": "Focus background color of the shared field shell. Derived from `--esp-field-background`.",
|
|
9326
|
+
"name": "--esp-field-focus-bg",
|
|
9327
|
+
"inheritedFrom": {
|
|
9328
|
+
"name": "EspalierElementBase",
|
|
9329
|
+
"module": "dist/shared/esp-element-base.js"
|
|
9330
|
+
}
|
|
9254
9331
|
},
|
|
9255
9332
|
{
|
|
9256
|
-
"
|
|
9257
|
-
"
|
|
9258
|
-
|
|
9259
|
-
|
|
9260
|
-
|
|
9261
|
-
|
|
9262
|
-
"fieldName": "toolbar"
|
|
9333
|
+
"description": "Shadow color used for shared field focus treatment. Defaults to `var(--esp-color-shadow)`.",
|
|
9334
|
+
"name": "--esp-field-focus-shadow",
|
|
9335
|
+
"inheritedFrom": {
|
|
9336
|
+
"name": "EspalierElementBase",
|
|
9337
|
+
"module": "dist/shared/esp-element-base.js"
|
|
9338
|
+
}
|
|
9263
9339
|
}
|
|
9264
|
-
]
|
|
9265
|
-
"superclass": {
|
|
9266
|
-
"name": "LitElement",
|
|
9267
|
-
"package": "lit"
|
|
9268
|
-
},
|
|
9269
|
-
"tagName": "esp-button-group",
|
|
9270
|
-
"customElement": true,
|
|
9271
|
-
"docPageTitle": {
|
|
9272
|
-
"name": "Button",
|
|
9273
|
-
"description": "Group"
|
|
9274
|
-
},
|
|
9275
|
-
"docUrl": {
|
|
9276
|
-
"name": "/components/button-group",
|
|
9277
|
-
"description": ""
|
|
9278
|
-
},
|
|
9279
|
-
"menuGroup": {
|
|
9280
|
-
"name": "Interaction",
|
|
9281
|
-
"description": ""
|
|
9282
|
-
},
|
|
9283
|
-
"menuLabel": {
|
|
9284
|
-
"name": "Button",
|
|
9285
|
-
"description": "Group"
|
|
9286
|
-
},
|
|
9287
|
-
"menuIcon": {
|
|
9288
|
-
"name": "button",
|
|
9289
|
-
"description": ""
|
|
9290
|
-
}
|
|
9340
|
+
]
|
|
9291
9341
|
}
|
|
9292
9342
|
],
|
|
9293
9343
|
"exports": [
|
|
9294
9344
|
{
|
|
9295
9345
|
"kind": "js",
|
|
9296
|
-
"name": "
|
|
9346
|
+
"name": "EspalierCheckboxGroup",
|
|
9297
9347
|
"declaration": {
|
|
9298
|
-
"name": "
|
|
9299
|
-
"module": "dist/
|
|
9348
|
+
"name": "EspalierCheckboxGroup",
|
|
9349
|
+
"module": "dist/checkbox/esp-checkbox-group.js"
|
|
9300
9350
|
}
|
|
9301
9351
|
},
|
|
9302
9352
|
{
|
|
9303
9353
|
"kind": "custom-element-definition",
|
|
9304
|
-
"name": "esp-
|
|
9354
|
+
"name": "esp-checkbox-group",
|
|
9305
9355
|
"declaration": {
|
|
9306
|
-
"name": "
|
|
9307
|
-
"module": "dist/
|
|
9356
|
+
"name": "EspalierCheckboxGroup",
|
|
9357
|
+
"module": "dist/checkbox/esp-checkbox-group.js"
|
|
9308
9358
|
}
|
|
9309
9359
|
}
|
|
9310
9360
|
]
|
|
9311
9361
|
},
|
|
9312
9362
|
{
|
|
9313
9363
|
"kind": "javascript-module",
|
|
9314
|
-
"path": "dist/
|
|
9364
|
+
"path": "dist/checkbox/esp-checkbox.js",
|
|
9315
9365
|
"declarations": [
|
|
9316
9366
|
{
|
|
9317
9367
|
"kind": "class",
|
|
9318
|
-
"description": "
|
|
9319
|
-
"name": "
|
|
9368
|
+
"description": "A checkbox control for toggling boolean values. Uses Tabler\nSVG icons for checked, unchecked, and indeterminate states.\nWorks standalone or inside an\n[esp-checkbox-group](/components/checkbox/group) for multi-select.\n\n```html\n<esp-box>\n <esp-form-item label=\"Terms and conditions\">\n <esp-checkbox value=\"agree\">\n I agree to the terms\n </esp-checkbox>\n </esp-form-item>\n</esp-box>\n```\n\n```html\n<esp-box>\n <esp-checkbox checked value=\"newsletter\">\n Subscribe to newsletter\n </esp-checkbox>\n <esp-checkbox disabled value=\"disabled-opt\">\n Disabled option\n </esp-checkbox>\n <esp-checkbox indeterminate value=\"partial\">\n Indeterminate state\n </esp-checkbox>\n</esp-box>\n```",
|
|
9369
|
+
"name": "EspalierCheckbox",
|
|
9320
9370
|
"cssProperties": [
|
|
9321
9371
|
{
|
|
9322
|
-
"description": "The
|
|
9323
|
-
"name": "--esp-
|
|
9372
|
+
"description": "The width and height of the checkbox icon. Defaults to `var(--esp-size-normal-to-medium)`.",
|
|
9373
|
+
"name": "--esp-checkbox-size"
|
|
9324
9374
|
},
|
|
9325
9375
|
{
|
|
9326
|
-
"description": "The
|
|
9327
|
-
"name": "--esp-
|
|
9376
|
+
"description": "The stroke color of the checkbox icon. Defaults to `var(--esp-color-text)`.",
|
|
9377
|
+
"name": "--esp-checkbox-icon-color"
|
|
9378
|
+
},
|
|
9379
|
+
{
|
|
9380
|
+
"description": "The color of the focus ring shadow. Defaults to `var(--esp-color-shadow)`.",
|
|
9381
|
+
"name": "--esp-checkbox-focus-shadow"
|
|
9328
9382
|
},
|
|
9329
9383
|
{
|
|
9330
9384
|
"description": "Background color of the shared field shell. Defaults to `var(--esp-color-layer-2)`.",
|
|
@@ -9385,244 +9439,244 @@
|
|
|
9385
9439
|
],
|
|
9386
9440
|
"slots": [
|
|
9387
9441
|
{
|
|
9388
|
-
"description": "
|
|
9442
|
+
"description": "The label text for the checkbox.",
|
|
9389
9443
|
"name": ""
|
|
9390
9444
|
}
|
|
9391
9445
|
],
|
|
9392
9446
|
"members": [
|
|
9393
9447
|
{
|
|
9394
9448
|
"kind": "field",
|
|
9395
|
-
"name": "
|
|
9396
|
-
"privacy": "private",
|
|
9397
|
-
"default": "new SlottedIconController(this)"
|
|
9398
|
-
},
|
|
9399
|
-
{
|
|
9400
|
-
"kind": "field",
|
|
9401
|
-
"name": "innerTabindex",
|
|
9402
|
-
"type": {
|
|
9403
|
-
"text": "number | null"
|
|
9404
|
-
},
|
|
9405
|
-
"privacy": "private",
|
|
9406
|
-
"default": "null"
|
|
9407
|
-
},
|
|
9408
|
-
{
|
|
9409
|
-
"kind": "field",
|
|
9410
|
-
"name": "neutralizingTabindex",
|
|
9449
|
+
"name": "formAssociated",
|
|
9411
9450
|
"type": {
|
|
9412
9451
|
"text": "boolean"
|
|
9413
9452
|
},
|
|
9414
|
-
"
|
|
9415
|
-
"default": "
|
|
9416
|
-
},
|
|
9417
|
-
{
|
|
9418
|
-
"kind": "method",
|
|
9419
|
-
"name": "writeHostTabindex",
|
|
9420
|
-
"privacy": "private",
|
|
9421
|
-
"return": {
|
|
9422
|
-
"type": {
|
|
9423
|
-
"text": "void"
|
|
9424
|
-
}
|
|
9425
|
-
},
|
|
9426
|
-
"parameters": [
|
|
9427
|
-
{
|
|
9428
|
-
"name": "value",
|
|
9429
|
-
"type": {
|
|
9430
|
-
"text": "string | null"
|
|
9431
|
-
}
|
|
9432
|
-
}
|
|
9433
|
-
],
|
|
9434
|
-
"description": "Write the host `tabindex` without re-triggering the forwarding logic."
|
|
9435
|
-
},
|
|
9436
|
-
{
|
|
9437
|
-
"kind": "method",
|
|
9438
|
-
"name": "removeAttribute",
|
|
9439
|
-
"return": {
|
|
9440
|
-
"type": {
|
|
9441
|
-
"text": "void"
|
|
9442
|
-
}
|
|
9443
|
-
},
|
|
9444
|
-
"parameters": [
|
|
9445
|
-
{
|
|
9446
|
-
"name": "name",
|
|
9447
|
-
"type": {
|
|
9448
|
-
"text": "string"
|
|
9449
|
-
}
|
|
9450
|
-
}
|
|
9451
|
-
],
|
|
9452
|
-
"description": "Clear forwarding when the host `tabindex` is removed. Forwarding a\nnon-negative value strips the host attribute (so the inner control is the\nsole tab stop), which means a later `removeAttribute(\"tabindex\")` changes\nnothing on the host and never reaches `attributeChangedCallback`. Catching\nthe removal here restores the inner control's natural tabbability even when\nthe host attribute was already absent. Removals we perform ourselves while\nneutralizing are skipped via the guard."
|
|
9453
|
+
"static": true,
|
|
9454
|
+
"default": "true"
|
|
9453
9455
|
},
|
|
9454
9456
|
{
|
|
9455
|
-
"kind": "
|
|
9456
|
-
"name": "
|
|
9457
|
-
"privacy": "
|
|
9458
|
-
"return": {
|
|
9459
|
-
"type": {
|
|
9460
|
-
"text": "void"
|
|
9461
|
-
}
|
|
9462
|
-
},
|
|
9463
|
-
"parameters": [
|
|
9464
|
-
{
|
|
9465
|
-
"name": "options",
|
|
9466
|
-
"optional": true,
|
|
9467
|
-
"type": {
|
|
9468
|
-
"text": "FocusOptions"
|
|
9469
|
-
}
|
|
9470
|
-
}
|
|
9471
|
-
],
|
|
9472
|
-
"description": "Focus the button. Forwards focus (and any `FocusOptions`) to the inner\n`<button>` (or the `<a>` when `href` is set)."
|
|
9457
|
+
"kind": "field",
|
|
9458
|
+
"name": "internals",
|
|
9459
|
+
"privacy": "private"
|
|
9473
9460
|
},
|
|
9474
9461
|
{
|
|
9475
9462
|
"kind": "field",
|
|
9476
|
-
"name": "
|
|
9477
|
-
"
|
|
9478
|
-
|
|
9479
|
-
},
|
|
9480
|
-
"privacy": "public",
|
|
9481
|
-
"default": "\"button\"",
|
|
9482
|
-
"description": "Controls the [button type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#type).\nThe available options are: `button`, `submit`, or `reset`.\nThe default value is `button`. To use a link instead of a\nbutton, set the `href` attribute.\n\n```html\n<esp-button label=\"Default\"></esp-button>\n<esp-button button-type=\"submit\" label=\"Submit\"></esp-button>\n<esp-button button-type=\"reset\" label=\"Reset\"></esp-button>\n<esp-button href=\"#\" label=\"Link\"></esp-button>\n```",
|
|
9483
|
-
"attribute": "button-type"
|
|
9463
|
+
"name": "formCtrl",
|
|
9464
|
+
"privacy": "private",
|
|
9465
|
+
"default": "new FormFieldController({ host: this, internals: this.internals, getFormValue: () => (this.checked ? this.value || \"on\" : null), getValidity: () => { if (this.required && !this.checked) { return { flags: { valueMissing: true }, message: this.requiredMessage || \"Please check this box to continue.\", }; } return null; }, onReset: () => { this.checked = false; this.indeterminate = false; }, onRestore: (state: string) => { this.checked = state === \"on\" || state === this.value; }, onDisabled: (isDisabled: boolean) => { this.disabled = isDisabled; }, })"
|
|
9484
9466
|
},
|
|
9485
9467
|
{
|
|
9486
9468
|
"kind": "field",
|
|
9487
|
-
"name": "
|
|
9488
|
-
"
|
|
9489
|
-
|
|
9490
|
-
},
|
|
9491
|
-
"privacy": "public",
|
|
9492
|
-
"default": "false",
|
|
9493
|
-
"description": "By default, buttons take up the entire width of their parent\ncontainer. Use the `collapsed` attribute to shrink them to the\nsize of their content:\n\n```html\n<esp-button label=\"Full Width\"></esp-button>\n<esp-button collapsed label=\"Collapsed\"></esp-button>\n```",
|
|
9494
|
-
"attribute": "collapsed"
|
|
9469
|
+
"name": "formItemDescription",
|
|
9470
|
+
"privacy": "private",
|
|
9471
|
+
"default": "new FormFieldDescriptionController({ host: this, getTarget: () => this.shadowRoot?.querySelector<HTMLElement>(\".checkbox-control\"), })"
|
|
9495
9472
|
},
|
|
9496
9473
|
{
|
|
9497
9474
|
"kind": "field",
|
|
9498
|
-
"name": "
|
|
9475
|
+
"name": "checked",
|
|
9499
9476
|
"type": {
|
|
9500
9477
|
"text": "boolean"
|
|
9501
9478
|
},
|
|
9502
9479
|
"privacy": "public",
|
|
9503
9480
|
"default": "false",
|
|
9504
|
-
"description": "
|
|
9505
|
-
"attribute": "
|
|
9481
|
+
"description": "Whether the checkbox is in the checked state.",
|
|
9482
|
+
"attribute": "checked",
|
|
9506
9483
|
"reflects": true
|
|
9507
9484
|
},
|
|
9508
9485
|
{
|
|
9509
9486
|
"kind": "field",
|
|
9510
|
-
"name": "
|
|
9487
|
+
"name": "value",
|
|
9511
9488
|
"type": {
|
|
9512
9489
|
"text": "string"
|
|
9513
9490
|
},
|
|
9514
9491
|
"privacy": "public",
|
|
9515
9492
|
"default": "\"\"",
|
|
9516
|
-
"description": "
|
|
9517
|
-
"attribute": "
|
|
9493
|
+
"description": "The value associated with this checkbox. Used by\n[esp-checkbox-group](/components/checkbox/group) to track\nwhich checkboxes are selected.",
|
|
9494
|
+
"attribute": "value"
|
|
9518
9495
|
},
|
|
9519
9496
|
{
|
|
9520
9497
|
"kind": "field",
|
|
9521
|
-
"name": "
|
|
9498
|
+
"name": "name",
|
|
9522
9499
|
"type": {
|
|
9523
|
-
"text": "
|
|
9500
|
+
"text": "string"
|
|
9524
9501
|
},
|
|
9525
9502
|
"privacy": "public",
|
|
9526
|
-
"default": "
|
|
9527
|
-
"description": "
|
|
9528
|
-
"attribute": "
|
|
9503
|
+
"default": "\"\"",
|
|
9504
|
+
"description": "The name used when the checkbox participates in a `<form>`.",
|
|
9505
|
+
"attribute": "name",
|
|
9506
|
+
"reflects": true
|
|
9529
9507
|
},
|
|
9530
9508
|
{
|
|
9531
9509
|
"kind": "field",
|
|
9532
|
-
"name": "
|
|
9510
|
+
"name": "required",
|
|
9533
9511
|
"type": {
|
|
9534
9512
|
"text": "boolean"
|
|
9535
9513
|
},
|
|
9536
9514
|
"privacy": "public",
|
|
9537
9515
|
"default": "false",
|
|
9538
|
-
"description": "
|
|
9539
|
-
"attribute": "
|
|
9516
|
+
"description": "When true, the checkbox must be checked before the form can\nbe submitted.",
|
|
9517
|
+
"attribute": "required",
|
|
9540
9518
|
"reflects": true
|
|
9541
9519
|
},
|
|
9542
9520
|
{
|
|
9543
9521
|
"kind": "field",
|
|
9544
|
-
"name": "
|
|
9522
|
+
"name": "requiredMessage",
|
|
9545
9523
|
"type": {
|
|
9546
9524
|
"text": "string"
|
|
9547
9525
|
},
|
|
9548
9526
|
"privacy": "public",
|
|
9549
9527
|
"default": "\"\"",
|
|
9550
|
-
"description": "
|
|
9551
|
-
"attribute": "
|
|
9528
|
+
"description": "A custom message to display when the checkbox is required but\nnot checked. Defaults to `\"Please check this box to continue.\"`\nwhen not set.\n\n```html\n<esp-checkbox required required-message=\"You must accept the terms.\">\n I accept\n</esp-checkbox>\n```",
|
|
9529
|
+
"attribute": "required-message"
|
|
9552
9530
|
},
|
|
9553
9531
|
{
|
|
9554
9532
|
"kind": "field",
|
|
9555
|
-
"name": "
|
|
9533
|
+
"name": "disabled",
|
|
9556
9534
|
"type": {
|
|
9557
|
-
"text": "
|
|
9535
|
+
"text": "boolean"
|
|
9558
9536
|
},
|
|
9559
9537
|
"privacy": "public",
|
|
9560
|
-
"default": "
|
|
9561
|
-
"description": "
|
|
9562
|
-
"attribute": "
|
|
9538
|
+
"default": "false",
|
|
9539
|
+
"description": "Controls whether the checkbox is disabled.",
|
|
9540
|
+
"attribute": "disabled",
|
|
9541
|
+
"reflects": true
|
|
9563
9542
|
},
|
|
9564
9543
|
{
|
|
9565
9544
|
"kind": "field",
|
|
9566
|
-
"name": "
|
|
9545
|
+
"name": "indeterminate",
|
|
9567
9546
|
"type": {
|
|
9568
9547
|
"text": "boolean"
|
|
9569
9548
|
},
|
|
9570
9549
|
"privacy": "public",
|
|
9571
9550
|
"default": "false",
|
|
9572
|
-
"description": "
|
|
9573
|
-
"attribute": "
|
|
9551
|
+
"description": "Displays the checkbox in an indeterminate (partial) state.\nClicking the checkbox clears the indeterminate state.",
|
|
9552
|
+
"attribute": "indeterminate",
|
|
9574
9553
|
"reflects": true
|
|
9575
9554
|
},
|
|
9576
9555
|
{
|
|
9577
|
-
"kind": "
|
|
9578
|
-
"name": "
|
|
9579
|
-
"type": {
|
|
9580
|
-
"text": "string"
|
|
9581
|
-
},
|
|
9556
|
+
"kind": "method",
|
|
9557
|
+
"name": "focus",
|
|
9582
9558
|
"privacy": "public",
|
|
9583
|
-
"
|
|
9584
|
-
|
|
9585
|
-
|
|
9559
|
+
"return": {
|
|
9560
|
+
"type": {
|
|
9561
|
+
"text": "void"
|
|
9562
|
+
}
|
|
9563
|
+
},
|
|
9564
|
+
"parameters": [
|
|
9565
|
+
{
|
|
9566
|
+
"name": "options",
|
|
9567
|
+
"optional": true,
|
|
9568
|
+
"type": {
|
|
9569
|
+
"text": "FocusOptions"
|
|
9570
|
+
}
|
|
9571
|
+
}
|
|
9572
|
+
],
|
|
9573
|
+
"description": "Focus the checkbox control."
|
|
9586
9574
|
},
|
|
9587
9575
|
{
|
|
9588
|
-
"kind": "
|
|
9589
|
-
"name": "
|
|
9590
|
-
"type": {
|
|
9591
|
-
"text": "string"
|
|
9592
|
-
},
|
|
9576
|
+
"kind": "method",
|
|
9577
|
+
"name": "validate",
|
|
9593
9578
|
"privacy": "public",
|
|
9594
|
-
"
|
|
9595
|
-
|
|
9596
|
-
|
|
9579
|
+
"return": {
|
|
9580
|
+
"type": {
|
|
9581
|
+
"text": "void"
|
|
9582
|
+
}
|
|
9583
|
+
},
|
|
9584
|
+
"description": "Re-run constraint validation and dispatch `validity-changed`."
|
|
9597
9585
|
},
|
|
9598
9586
|
{
|
|
9599
|
-
"kind": "
|
|
9600
|
-
"name": "
|
|
9601
|
-
"type": {
|
|
9602
|
-
"text": "boolean"
|
|
9603
|
-
},
|
|
9587
|
+
"kind": "method",
|
|
9588
|
+
"name": "checkValidity",
|
|
9604
9589
|
"privacy": "public",
|
|
9605
|
-
"
|
|
9606
|
-
|
|
9607
|
-
|
|
9590
|
+
"return": {
|
|
9591
|
+
"type": {
|
|
9592
|
+
"text": "boolean"
|
|
9593
|
+
}
|
|
9594
|
+
},
|
|
9595
|
+
"description": "Check whether the current state is valid (delegates to ElementInternals)."
|
|
9608
9596
|
},
|
|
9609
9597
|
{
|
|
9610
9598
|
"kind": "method",
|
|
9611
|
-
"name": "
|
|
9599
|
+
"name": "toggle",
|
|
9600
|
+
"privacy": "private",
|
|
9601
|
+
"return": {
|
|
9602
|
+
"type": {
|
|
9603
|
+
"text": "void"
|
|
9604
|
+
}
|
|
9605
|
+
}
|
|
9606
|
+
},
|
|
9607
|
+
{
|
|
9608
|
+
"kind": "method",
|
|
9609
|
+
"name": "handleKeyDown",
|
|
9612
9610
|
"privacy": "private",
|
|
9611
|
+
"return": {
|
|
9612
|
+
"type": {
|
|
9613
|
+
"text": "void"
|
|
9614
|
+
}
|
|
9615
|
+
},
|
|
9613
9616
|
"parameters": [
|
|
9614
9617
|
{
|
|
9615
|
-
"name": "
|
|
9618
|
+
"name": "ev",
|
|
9616
9619
|
"type": {
|
|
9617
|
-
"text": "
|
|
9620
|
+
"text": "KeyboardEvent"
|
|
9618
9621
|
}
|
|
9619
9622
|
}
|
|
9620
9623
|
]
|
|
9621
9624
|
},
|
|
9622
9625
|
{
|
|
9623
|
-
"kind": "
|
|
9624
|
-
"name": "
|
|
9625
|
-
"privacy": "private"
|
|
9626
|
+
"kind": "method",
|
|
9627
|
+
"name": "getSvg",
|
|
9628
|
+
"privacy": "private",
|
|
9629
|
+
"return": {
|
|
9630
|
+
"type": {
|
|
9631
|
+
"text": "TemplateResult"
|
|
9632
|
+
}
|
|
9633
|
+
}
|
|
9634
|
+
},
|
|
9635
|
+
{
|
|
9636
|
+
"kind": "method",
|
|
9637
|
+
"name": "formResetCallback",
|
|
9638
|
+
"return": {
|
|
9639
|
+
"type": {
|
|
9640
|
+
"text": "void"
|
|
9641
|
+
}
|
|
9642
|
+
},
|
|
9643
|
+
"description": "Called by the browser when the owning `<form>` is reset."
|
|
9644
|
+
},
|
|
9645
|
+
{
|
|
9646
|
+
"kind": "method",
|
|
9647
|
+
"name": "formStateRestoreCallback",
|
|
9648
|
+
"return": {
|
|
9649
|
+
"type": {
|
|
9650
|
+
"text": "void"
|
|
9651
|
+
}
|
|
9652
|
+
},
|
|
9653
|
+
"parameters": [
|
|
9654
|
+
{
|
|
9655
|
+
"name": "state",
|
|
9656
|
+
"type": {
|
|
9657
|
+
"text": "string"
|
|
9658
|
+
}
|
|
9659
|
+
}
|
|
9660
|
+
],
|
|
9661
|
+
"description": "Called by the browser to restore form state (bfcache, etc.)."
|
|
9662
|
+
},
|
|
9663
|
+
{
|
|
9664
|
+
"kind": "method",
|
|
9665
|
+
"name": "formDisabledCallback",
|
|
9666
|
+
"return": {
|
|
9667
|
+
"type": {
|
|
9668
|
+
"text": "void"
|
|
9669
|
+
}
|
|
9670
|
+
},
|
|
9671
|
+
"parameters": [
|
|
9672
|
+
{
|
|
9673
|
+
"name": "isDisabled",
|
|
9674
|
+
"type": {
|
|
9675
|
+
"text": "boolean"
|
|
9676
|
+
}
|
|
9677
|
+
}
|
|
9678
|
+
],
|
|
9679
|
+
"description": "Called by the browser when a parent `<fieldset>` is enabled or disabled."
|
|
9626
9680
|
},
|
|
9627
9681
|
{
|
|
9628
9682
|
"kind": "field",
|
|
@@ -10118,18 +10172,12 @@
|
|
|
10118
10172
|
}
|
|
10119
10173
|
],
|
|
10120
10174
|
"events": [
|
|
10121
|
-
{
|
|
10122
|
-
"name": "clicked",
|
|
10123
|
-
"type": {
|
|
10124
|
-
"text": "CustomEvent"
|
|
10125
|
-
},
|
|
10126
|
-
"description": "Emitted when the button is clicked. ```html <esp-button label=\"Click me!\"></esp-button> <script> const theButton = findByTagName(\"esp-button\")[0]; theButton.addEventListener(\"clicked\", () => { showToast({ message: `Hi! You clicked the button. This message will self-destruct in 4 seconds...`, icon: \"info-i\", duration: 4 }); }); </script> ```"
|
|
10127
|
-
},
|
|
10128
10175
|
{
|
|
10129
10176
|
"name": "value-changed",
|
|
10130
10177
|
"type": {
|
|
10131
10178
|
"text": "CustomEvent"
|
|
10132
10179
|
},
|
|
10180
|
+
"description": "Fired when the checkbox is toggled. The detail contains the new `checked` state and the checkbox `value`.",
|
|
10133
10181
|
"inheritedFrom": {
|
|
10134
10182
|
"name": "EspalierElementBase",
|
|
10135
10183
|
"module": "dist/shared/esp-element-base.js"
|
|
@@ -10138,115 +10186,67 @@
|
|
|
10138
10186
|
],
|
|
10139
10187
|
"attributes": [
|
|
10140
10188
|
{
|
|
10141
|
-
"name": "
|
|
10142
|
-
},
|
|
10143
|
-
{
|
|
10144
|
-
"description": "Renders the button with a borderless, transparent treatment for\nquiet icon or inline actions.\n\n```html\n<esp-button incognito icon-only icon=\"edit\" aria-label=\"Edit\"></esp-button>\n```",
|
|
10145
|
-
"name": "incognito",
|
|
10146
|
-
"type": {
|
|
10147
|
-
"text": "boolean"
|
|
10148
|
-
},
|
|
10149
|
-
"default": "false",
|
|
10150
|
-
"fieldName": "incognito"
|
|
10151
|
-
},
|
|
10152
|
-
{
|
|
10153
|
-
"name": "button-type",
|
|
10154
|
-
"type": {
|
|
10155
|
-
"text": "\"button\" | \"submit\" | \"reset\""
|
|
10156
|
-
},
|
|
10157
|
-
"default": "\"button\"",
|
|
10158
|
-
"description": "Controls the [button type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/button#type).\nThe available options are: `button`, `submit`, or `reset`.\nThe default value is `button`. To use a link instead of a\nbutton, set the `href` attribute.\n\n```html\n<esp-button label=\"Default\"></esp-button>\n<esp-button button-type=\"submit\" label=\"Submit\"></esp-button>\n<esp-button button-type=\"reset\" label=\"Reset\"></esp-button>\n<esp-button href=\"#\" label=\"Link\"></esp-button>\n```",
|
|
10159
|
-
"fieldName": "buttonType"
|
|
10160
|
-
},
|
|
10161
|
-
{
|
|
10162
|
-
"name": "collapsed",
|
|
10163
|
-
"type": {
|
|
10164
|
-
"text": "boolean"
|
|
10165
|
-
},
|
|
10166
|
-
"default": "false",
|
|
10167
|
-
"description": "By default, buttons take up the entire width of their parent\ncontainer. Use the `collapsed` attribute to shrink them to the\nsize of their content:\n\n```html\n<esp-button label=\"Full Width\"></esp-button>\n<esp-button collapsed label=\"Collapsed\"></esp-button>\n```",
|
|
10168
|
-
"fieldName": "collapsed"
|
|
10169
|
-
},
|
|
10170
|
-
{
|
|
10171
|
-
"name": "disabled",
|
|
10172
|
-
"type": {
|
|
10173
|
-
"text": "boolean"
|
|
10174
|
-
},
|
|
10175
|
-
"default": "false",
|
|
10176
|
-
"description": "Controls whether or not the button is disabled.\n\n```html\n<esp-button disabled label=\"Disabled\"></esp-button>\n<script>\n const theButton = findByTagName(\"esp-button\")[0];\n theButton.addEventListener(\"clicked\", () => {\n alert(\"We will not get here...\");\n});\n</script>\n```",
|
|
10177
|
-
"fieldName": "disabled"
|
|
10178
|
-
},
|
|
10179
|
-
{
|
|
10180
|
-
"name": "href",
|
|
10181
|
-
"type": {
|
|
10182
|
-
"text": "string"
|
|
10183
|
-
},
|
|
10184
|
-
"default": "\"\"",
|
|
10185
|
-
"description": "If href is set, the button will be rendered as an anchor link\npointing to the href value instead of a button.\n\n```html\n<esp-button href=\"#\" label=\"Link button\"></esp-button>\n```",
|
|
10186
|
-
"fieldName": "href"
|
|
10187
|
-
},
|
|
10188
|
-
{
|
|
10189
|
-
"name": "icon-only",
|
|
10189
|
+
"name": "checked",
|
|
10190
10190
|
"type": {
|
|
10191
10191
|
"text": "boolean"
|
|
10192
10192
|
},
|
|
10193
10193
|
"default": "false",
|
|
10194
|
-
"description": "
|
|
10195
|
-
"fieldName": "
|
|
10194
|
+
"description": "Whether the checkbox is in the checked state.",
|
|
10195
|
+
"fieldName": "checked"
|
|
10196
10196
|
},
|
|
10197
10197
|
{
|
|
10198
|
-
"name": "
|
|
10198
|
+
"name": "value",
|
|
10199
10199
|
"type": {
|
|
10200
10200
|
"text": "string"
|
|
10201
10201
|
},
|
|
10202
10202
|
"default": "\"\"",
|
|
10203
|
-
"description": "
|
|
10204
|
-
"fieldName": "
|
|
10203
|
+
"description": "The value associated with this checkbox. Used by\n[esp-checkbox-group](/components/checkbox/group) to track\nwhich checkboxes are selected.",
|
|
10204
|
+
"fieldName": "value"
|
|
10205
10205
|
},
|
|
10206
10206
|
{
|
|
10207
|
-
"name": "
|
|
10207
|
+
"name": "name",
|
|
10208
10208
|
"type": {
|
|
10209
10209
|
"text": "string"
|
|
10210
10210
|
},
|
|
10211
10211
|
"default": "\"\"",
|
|
10212
|
-
"description": "The
|
|
10213
|
-
"fieldName": "
|
|
10212
|
+
"description": "The name used when the checkbox participates in a `<form>`.",
|
|
10213
|
+
"fieldName": "name"
|
|
10214
10214
|
},
|
|
10215
10215
|
{
|
|
10216
|
-
"name": "
|
|
10216
|
+
"name": "required",
|
|
10217
10217
|
"type": {
|
|
10218
10218
|
"text": "boolean"
|
|
10219
10219
|
},
|
|
10220
10220
|
"default": "false",
|
|
10221
|
-
"description": "
|
|
10222
|
-
"fieldName": "
|
|
10221
|
+
"description": "When true, the checkbox must be checked before the form can\nbe submitted.",
|
|
10222
|
+
"fieldName": "required"
|
|
10223
10223
|
},
|
|
10224
10224
|
{
|
|
10225
|
-
"name": "
|
|
10225
|
+
"name": "required-message",
|
|
10226
10226
|
"type": {
|
|
10227
10227
|
"text": "string"
|
|
10228
10228
|
},
|
|
10229
10229
|
"default": "\"\"",
|
|
10230
|
-
"description": "
|
|
10231
|
-
"fieldName": "
|
|
10230
|
+
"description": "A custom message to display when the checkbox is required but\nnot checked. Defaults to `\"Please check this box to continue.\"`\nwhen not set.\n\n```html\n<esp-checkbox required required-message=\"You must accept the terms.\">\n I accept\n</esp-checkbox>\n```",
|
|
10231
|
+
"fieldName": "requiredMessage"
|
|
10232
10232
|
},
|
|
10233
10233
|
{
|
|
10234
|
-
"name": "
|
|
10234
|
+
"name": "disabled",
|
|
10235
10235
|
"type": {
|
|
10236
|
-
"text": "
|
|
10236
|
+
"text": "boolean"
|
|
10237
10237
|
},
|
|
10238
|
-
"default": "
|
|
10239
|
-
"description": "
|
|
10240
|
-
"fieldName": "
|
|
10238
|
+
"default": "false",
|
|
10239
|
+
"description": "Controls whether the checkbox is disabled.",
|
|
10240
|
+
"fieldName": "disabled"
|
|
10241
10241
|
},
|
|
10242
10242
|
{
|
|
10243
|
-
"name": "
|
|
10243
|
+
"name": "indeterminate",
|
|
10244
10244
|
"type": {
|
|
10245
10245
|
"text": "boolean"
|
|
10246
10246
|
},
|
|
10247
10247
|
"default": "false",
|
|
10248
|
-
"description": "
|
|
10249
|
-
"fieldName": "
|
|
10248
|
+
"description": "Displays the checkbox in an indeterminate (partial) state.\nClicking the checkbox clears the indeterminate state.",
|
|
10249
|
+
"fieldName": "indeterminate"
|
|
10250
10250
|
},
|
|
10251
10251
|
{
|
|
10252
10252
|
"name": "scheme",
|
|
@@ -10278,45 +10278,45 @@
|
|
|
10278
10278
|
"name": "EspalierElementBase",
|
|
10279
10279
|
"module": "dist/shared/esp-element-base.js"
|
|
10280
10280
|
},
|
|
10281
|
-
"tagName": "esp-button",
|
|
10282
|
-
"customElement": true,
|
|
10283
10281
|
"docPageTitle": {
|
|
10284
|
-
"name": "
|
|
10282
|
+
"name": "Checkbox",
|
|
10285
10283
|
"description": ""
|
|
10286
10284
|
},
|
|
10287
10285
|
"docUrl": {
|
|
10288
|
-
"name": "/components/
|
|
10286
|
+
"name": "/components/checkbox",
|
|
10289
10287
|
"description": ""
|
|
10290
10288
|
},
|
|
10291
10289
|
"menuGroup": {
|
|
10292
|
-
"name": "
|
|
10293
|
-
"description": ""
|
|
10290
|
+
"name": "Form",
|
|
10291
|
+
"description": "Controls"
|
|
10294
10292
|
},
|
|
10295
10293
|
"menuLabel": {
|
|
10296
|
-
"name": "
|
|
10294
|
+
"name": "Checkbox",
|
|
10297
10295
|
"description": ""
|
|
10298
10296
|
},
|
|
10299
10297
|
"menuIcon": {
|
|
10300
|
-
"name": "
|
|
10298
|
+
"name": "checkbox",
|
|
10301
10299
|
"description": ""
|
|
10302
|
-
}
|
|
10300
|
+
},
|
|
10301
|
+
"tagName": "esp-checkbox",
|
|
10302
|
+
"customElement": true
|
|
10303
10303
|
}
|
|
10304
10304
|
],
|
|
10305
10305
|
"exports": [
|
|
10306
10306
|
{
|
|
10307
10307
|
"kind": "js",
|
|
10308
|
-
"name": "
|
|
10308
|
+
"name": "EspalierCheckbox",
|
|
10309
10309
|
"declaration": {
|
|
10310
|
-
"name": "
|
|
10311
|
-
"module": "dist/
|
|
10310
|
+
"name": "EspalierCheckbox",
|
|
10311
|
+
"module": "dist/checkbox/esp-checkbox.js"
|
|
10312
10312
|
}
|
|
10313
10313
|
},
|
|
10314
10314
|
{
|
|
10315
10315
|
"kind": "custom-element-definition",
|
|
10316
|
-
"name": "esp-
|
|
10316
|
+
"name": "esp-checkbox",
|
|
10317
10317
|
"declaration": {
|
|
10318
|
-
"name": "
|
|
10319
|
-
"module": "dist/
|
|
10318
|
+
"name": "EspalierCheckbox",
|
|
10319
|
+
"module": "dist/checkbox/esp-checkbox.js"
|
|
10320
10320
|
}
|
|
10321
10321
|
}
|
|
10322
10322
|
]
|
|
@@ -14669,8 +14669,9 @@
|
|
|
14669
14669
|
{
|
|
14670
14670
|
"name": "esp-dialog-closed",
|
|
14671
14671
|
"type": {
|
|
14672
|
-
"text": "CustomEvent"
|
|
14673
|
-
}
|
|
14672
|
+
"text": "CustomEvent<{ reason: \"escape\" | \"close-dialog\" | \"api\" }>"
|
|
14673
|
+
},
|
|
14674
|
+
"description": "Fired after the dialog has fully closed, inert state has been restored, and focus has returned to the previously focused element. Safe to tear down resources."
|
|
14674
14675
|
},
|
|
14675
14676
|
{
|
|
14676
14677
|
"name": "esp-dialog-opened",
|
|
@@ -14683,13 +14684,8 @@
|
|
|
14683
14684
|
"type": {
|
|
14684
14685
|
"text": "CustomEvent<{ reason: \"escape\" | \"close-dialog\" | \"api\" }>"
|
|
14685
14686
|
},
|
|
14686
|
-
"description": "
|
|
14687
|
-
|
|
14688
|
-
{
|
|
14689
|
-
"type": {
|
|
14690
|
-
"text": "CustomEvent<{ reason: \"escape\" | \"close-dialog\" | \"api\" }>"
|
|
14691
|
-
},
|
|
14692
|
-
"description": "esp-dialog-closed - Fired after the dialog has fully closed, inert state has been restored, and focus has returned to the previously focused element. Safe to tear down resources."
|
|
14687
|
+
"description": "Fired before the dialog begins closing. Call `event.preventDefault()` to cancel the close (e.g. for unsaved-changes confirmation). The `reason` indicates what triggered the close: `\"escape\"` for the Escape key, `\"close-dialog\"` for a `closeDialog` event from slotted content (typically `<esp-form method=\"dialog\">`), or `\"api\"` for a direct `toggleOpen()` call.",
|
|
14688
|
+
"name": "esp-dialog-closing"
|
|
14693
14689
|
}
|
|
14694
14690
|
],
|
|
14695
14691
|
"attributes": [
|
|
@@ -28767,8 +28763,17 @@
|
|
|
28767
28763
|
"events": [
|
|
28768
28764
|
{
|
|
28769
28765
|
"type": {
|
|
28770
|
-
"text": "CustomEvent"
|
|
28771
|
-
}
|
|
28766
|
+
"text": "CustomEvent<EspalierImagePreview>"
|
|
28767
|
+
},
|
|
28768
|
+
"description": "Fired when the user requests removal of this preview.",
|
|
28769
|
+
"name": "remove-image"
|
|
28770
|
+
},
|
|
28771
|
+
{
|
|
28772
|
+
"type": {
|
|
28773
|
+
"text": "CustomEvent<EspalierImagePreview>"
|
|
28774
|
+
},
|
|
28775
|
+
"description": "Fired when the user requests another upload attempt for this preview.",
|
|
28776
|
+
"name": "retry-upload"
|
|
28772
28777
|
},
|
|
28773
28778
|
{
|
|
28774
28779
|
"name": "value-changed",
|
|
@@ -29936,11 +29941,6 @@
|
|
|
29936
29941
|
}
|
|
29937
29942
|
],
|
|
29938
29943
|
"events": [
|
|
29939
|
-
{
|
|
29940
|
-
"type": {
|
|
29941
|
-
"text": "CustomEvent"
|
|
29942
|
-
}
|
|
29943
|
-
},
|
|
29944
29944
|
{
|
|
29945
29945
|
"type": {
|
|
29946
29946
|
"text": "CustomEvent<EspalierUploadImage>"
|
|
@@ -37001,11 +37001,6 @@
|
|
|
37001
37001
|
}
|
|
37002
37002
|
],
|
|
37003
37003
|
"events": [
|
|
37004
|
-
{
|
|
37005
|
-
"type": {
|
|
37006
|
-
"text": "CustomEvent"
|
|
37007
|
-
}
|
|
37008
|
-
},
|
|
37009
37004
|
{
|
|
37010
37005
|
"type": {
|
|
37011
37006
|
"text": "CustomEvent"
|
|
@@ -50351,20 +50346,15 @@
|
|
|
50351
50346
|
],
|
|
50352
50347
|
"events": [
|
|
50353
50348
|
{
|
|
50354
|
-
"
|
|
50355
|
-
"text": "CustomEvent"
|
|
50356
|
-
}
|
|
50357
|
-
},
|
|
50358
|
-
{
|
|
50359
|
-
"description": "— The user changed the query input. Fires on every keystroke (not debounced) so consumers can track the latest query and discard stale async results. Consumers that need debouncing should apply it themselves (e.g. Pagefind's `debouncedSearch()`). `detail: { query: string }`",
|
|
50349
|
+
"description": "The user changed the query input. Fires on every keystroke (not debounced) so consumers can track the latest query and discard stale async results. Consumers that need debouncing should apply it themselves (e.g. Pagefind's `debouncedSearch()`). `detail: { query: string }`",
|
|
50360
50350
|
"name": "search-requested"
|
|
50361
50351
|
},
|
|
50362
50352
|
{
|
|
50363
|
-
"description": "
|
|
50353
|
+
"description": "The user chose a result. `detail: { url: string }`",
|
|
50364
50354
|
"name": "result-selected"
|
|
50365
50355
|
},
|
|
50366
50356
|
{
|
|
50367
|
-
"description": "
|
|
50357
|
+
"description": "The overlay was closed (Escape, backdrop click, or result selection). Consumers should use this to cancel in-flight searches or discard pending results. `detail: {}`",
|
|
50368
50358
|
"name": "search-closed"
|
|
50369
50359
|
},
|
|
50370
50360
|
{
|