kanto-ds 1.2.0 → 1.3.0
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/README.md +21 -3
- package/dist/chunks/index-fzPIgxe2.js +74 -0
- package/dist/chunks/index-fzPIgxe2.js.map +1 -0
- package/dist/chunks/kt-element-mdd5cXZX.js +52 -0
- package/dist/chunks/kt-element-mdd5cXZX.js.map +1 -0
- package/dist/components/core/kt-avatar/kt-avatar.js +8 -7
- package/dist/components/core/kt-avatar/kt-avatar.js.map +1 -1
- package/dist/components/core/kt-badge/kt-badge.js +7 -6
- package/dist/components/core/kt-badge/kt-badge.js.map +1 -1
- package/dist/components/core/kt-button/kt-button.js +1 -1
- package/dist/components/core/kt-card/kt-card.js +1 -1
- package/dist/components/core/kt-code/kt-code.js +31 -30
- package/dist/components/core/kt-code/kt-code.js.map +1 -1
- package/dist/components/core/kt-icon/kt-icon.js +1 -1
- package/dist/components/core/kt-kbd/kt-kbd.js +1 -1
- package/dist/components/core/kt-split-button/kt-split-button.d.ts +2 -2
- package/dist/components/core/kt-split-button/kt-split-button.js +27 -26
- package/dist/components/core/kt-split-button/kt-split-button.js.map +1 -1
- package/dist/components/data/kt-chart/kt-chart.d.ts +2 -2
- package/dist/components/data/kt-chart/kt-chart.js +205 -204
- package/dist/components/data/kt-chart/kt-chart.js.map +1 -1
- package/dist/components/data/kt-meter/kt-meter.js +1 -1
- package/dist/components/data/kt-pagination/kt-pagination.d.ts +1 -1
- package/dist/components/data/kt-pagination/kt-pagination.js +29 -28
- package/dist/components/data/kt-pagination/kt-pagination.js.map +1 -1
- package/dist/components/data/kt-stat/kt-stat.js +1 -1
- package/dist/components/data/kt-table/kt-table.d.ts +2 -2
- package/dist/components/data/kt-table/kt-table.js +30 -29
- package/dist/components/data/kt-table/kt-table.js.map +1 -1
- package/dist/components/data/kt-timeline/kt-timeline.js +1 -1
- package/dist/components/feedback/kt-alert/kt-alert.js +17 -16
- package/dist/components/feedback/kt-alert/kt-alert.js.map +1 -1
- package/dist/components/feedback/kt-empty-state/kt-empty-state.js +1 -1
- package/dist/components/feedback/kt-progress-bar/kt-progress-bar.js +1 -1
- package/dist/components/feedback/kt-skeleton/kt-skeleton.js +1 -1
- package/dist/components/feedback/kt-toast/kt-toast.js +25 -19
- package/dist/components/feedback/kt-toast/kt-toast.js.map +1 -1
- package/dist/components/feedback/kt-toast-container/kt-toast-container.js +1 -1
- package/dist/components/feedback/kt-tooltip/kt-tooltip.js +1 -1
- package/dist/components/forms/kt-drag-drop/kt-drag-drop.d.ts +2 -2
- package/dist/components/forms/kt-drag-drop/kt-drag-drop.js +60 -57
- package/dist/components/forms/kt-drag-drop/kt-drag-drop.js.map +1 -1
- package/dist/components/forms/kt-form/kt-form.js +1 -1
- package/dist/components/forms/kt-input/kt-input.js +56 -55
- package/dist/components/forms/kt-input/kt-input.js.map +1 -1
- package/dist/components/forms/kt-input-menu/kt-input-menu.d.ts +1 -1
- package/dist/components/forms/kt-input-menu/kt-input-menu.js +57 -56
- package/dist/components/forms/kt-input-menu/kt-input-menu.js.map +1 -1
- package/dist/components/forms/kt-label-input/kt-label-input.js +1 -1
- package/dist/components/forms/kt-select/kt-select.d.ts +2 -2
- package/dist/components/forms/kt-select/kt-select.js +62 -61
- package/dist/components/forms/kt-select/kt-select.js.map +1 -1
- package/dist/components/forms/kt-textarea/kt-textarea.js +9 -8
- package/dist/components/forms/kt-textarea/kt-textarea.js.map +1 -1
- package/dist/components/forms/kt-toggle/kt-toggle.js +1 -1
- package/dist/components/navigation/kt-breadcrumb/kt-breadcrumb.d.ts +1 -1
- package/dist/components/navigation/kt-breadcrumb/kt-breadcrumb.js +6 -5
- package/dist/components/navigation/kt-breadcrumb/kt-breadcrumb.js.map +1 -1
- package/dist/components/navigation/kt-header/kt-header.js +11 -10
- package/dist/components/navigation/kt-header/kt-header.js.map +1 -1
- package/dist/components/navigation/kt-page-header/kt-page-header.js +1 -1
- package/dist/components/navigation/kt-segmented-control/kt-segmented-control.js +44 -43
- package/dist/components/navigation/kt-segmented-control/kt-segmented-control.js.map +1 -1
- package/dist/components/navigation/kt-sub-menu-navigation/kt-sub-menu-navigation.d.ts +1 -1
- package/dist/components/navigation/kt-sub-menu-navigation/kt-sub-menu-navigation.js +6 -5
- package/dist/components/navigation/kt-sub-menu-navigation/kt-sub-menu-navigation.js.map +1 -1
- package/dist/components/navigation/kt-tabs/kt-tabs.js +1 -1
- package/dist/components/navigation/kt-toggle-button/kt-toggle-button.js +1 -1
- package/dist/components/navigation/kt-toggle-button-group/kt-toggle-button-group.js +1 -1
- package/dist/components/overlays/kt-collapsible/kt-collapsible.js +1 -1
- package/dist/components/overlays/kt-confirm-dialog/kt-confirm-dialog.d.ts +3 -3
- package/dist/components/overlays/kt-confirm-dialog/kt-confirm-dialog.js +30 -27
- package/dist/components/overlays/kt-confirm-dialog/kt-confirm-dialog.js.map +1 -1
- package/dist/components/overlays/kt-dropdown/kt-dropdown.d.ts +1 -1
- package/dist/components/overlays/kt-dropdown/kt-dropdown.js +8 -7
- package/dist/components/overlays/kt-dropdown/kt-dropdown.js.map +1 -1
- package/dist/components/overlays/kt-modal/kt-modal.js +5 -4
- package/dist/components/overlays/kt-modal/kt-modal.js.map +1 -1
- package/dist/components/overlays/kt-side-panel/kt-side-panel.d.ts +1 -1
- package/dist/components/overlays/kt-side-panel/kt-side-panel.js +24 -23
- package/dist/components/overlays/kt-side-panel/kt-side-panel.js.map +1 -1
- package/dist/custom-elements.json +76 -76
- package/dist/index.d.ts +1 -0
- package/dist/index.js +24 -19
- package/dist/index.js.map +1 -1
- package/dist/internal/kt-element.d.ts +6 -1
- package/dist/internal/strings.d.ts +93 -0
- package/dist/strings/index.d.ts +11 -0
- package/dist/strings/index.js +8 -0
- package/dist/strings/index.js.map +1 -0
- package/dist/tokens/base.css +53 -0
- package/dist/web-types.json +39 -39
- package/package.json +11 -3
- package/dist/chunks/kt-element-B_jjQDhg.js +0 -38
- package/dist/chunks/kt-element-B_jjQDhg.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kt-modal.js","sources":["../../../../src/components/overlays/kt-modal/kt-modal.ts"],"sourcesContent":["import { css, html, nothing, type PropertyValues, type TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { KtElement, defineElement } from '#internal/kt-element';\nimport { emit } from '#internal/events';\nimport { hasAssignedContent } from '#internal/slots';\nimport { closeDialog, isBackdropClick, openModal } from '#internal/dialog';\nimport '../../core/kt-button/kt-button.js';\n\nexport type KtModalSize = 'small' | 'medium' | 'large' | 'full';\n\n/**\n * A centred dialog for anything that is not a yes/no question.\n *\n * `<kt-confirm-dialog>` asks one thing and offers two answers. This one holds\n * content — a compose window, a command palette, a picker — and lets you put\n * whatever you like in the footer.\n *\n * Built on the native `<dialog>`, so the top layer, focus containment, page\n * inertness and Escape all come from the platform rather than from a focus trap\n * that leaks.\n *\n * @element kt-modal\n *\n * @slot - The body.\n * @slot header - Replaces the `heading` attribute.\n * @slot footer - Actions. Hidden when empty.\n *\n * @csspart dialog - The `<dialog>`.\n * @csspart header - The header row.\n * @csspart body - The scrolling body.\n * @csspart footer - The action row.\n *\n * @fires kt-close - Dismissal requested. Cancelable, for an unsaved-changes guard.\n *\n * @example\n * ```html\n * <kt-modal open heading=\"Compose\">\n * <kt-textarea rows=\"6\"></kt-textarea>\n * <kt-button slot=\"footer\" type=\"submit\">Send</kt-button>\n * </kt-modal>\n * ```\n */\nexport class KtModal extends KtElement {\n static override styles = [\n KtElement.styles,\n css`\n :host {\n display: contents;\n }\n\n /* Closed by default — see kt-confirm-dialog.ts's identical comment: an unconditional \\`display: flex\\` here left a never-opened dialog occupying its centred box (\\`opacity: 0\\`, but still in flow and hit-testable), silently eating clicks meant for whatever sat underneath it on the page. */\n dialog {\n display: none;\n flex-direction: column;\n gap: var(--gap-modal);\n box-sizing: border-box;\n width: 560px;\n max-width: calc(100vw - 48px);\n max-height: calc(100vh - 96px);\n padding: var(--padding-modal);\n color: var(--text-body);\n background: var(--surface-card);\n border: var(--border-width) solid var(--border-subtle);\n border-radius: var(--radius-modal);\n opacity: 0;\n transform: translateY(8px);\n transition:\n transform var(--duration-normal) var(--easing-standard),\n opacity var(--duration-normal) var(--easing-standard),\n overlay var(--duration-normal) allow-discrete,\n display var(--duration-normal) allow-discrete;\n }\n\n :host([size='small']) dialog {\n width: 400px;\n }\n :host([size='large']) dialog {\n width: 760px;\n }\n :host([size='full']) dialog {\n width: calc(100vw - 48px);\n height: calc(100vh - 96px);\n }\n\n dialog[open] {\n display: flex;\n opacity: 1;\n transform: translateY(0);\n }\n\n @starting-style {\n dialog[open] {\n opacity: 0;\n transform: translateY(8px);\n }\n }\n\n dialog::backdrop {\n background: var(--color-backdrop, rgba(0, 0, 0, 0.45));\n }\n\n .header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--gap-card);\n }\n\n .titles {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n }\n\n h2 {\n margin: 0;\n color: var(--text-body);\n font: var(--font-title-h6);\n }\n\n .description {\n margin: 0;\n color: var(--text-muted);\n font: var(--font-normal-regular);\n }\n\n .body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n scrollbar-width: thin;\n }\n\n .footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--gap-button);\n }\n\n .footer.empty {\n display: none;\n }\n\n @media (prefers-reduced-motion: reduce) {\n dialog {\n transition: none;\n }\n }\n `,\n ];\n\n @query('dialog')\n private dialog!: HTMLDialogElement;\n\n @property({ type: Boolean, reflect: true })\n open = false;\n\n @property({ type: String })\n heading = '';\n\n @property({ type: String })\n description = '';\n\n @property({ type: String, reflect: true })\n size: KtModalSize = 'medium';\n\n /** Hides the close button. Escape still works — a modal you cannot leave is a trap. */\n @property({ type: Boolean, attribute: 'no-close-button' })\n noCloseButton = false;\n\n /** Stops a backdrop click from dismissing. */\n @property({ type: Boolean, attribute: 'no-backdrop-close' })\n noBackdropClose = false;\n\n private hasFooter = false;\n\n override updated(changed: PropertyValues<this>): void {\n if (changed.has('open')) {\n if (this.open) openModal(this.dialog);\n else closeDialog(this.dialog);\n }\n this.readFooter();\n }\n\n private readFooter(): void {\n const next = hasAssignedContent(\n this.shadowRoot?.querySelector<HTMLSlotElement>('slot[name=\"footer\"]'),\n );\n if (next === this.hasFooter) return;\n this.hasFooter = next;\n this.requestUpdate();\n }\n\n /** Asks to close. A cancelled `kt-close` keeps the modal open. */\n requestClose(): void {\n const proceed = emit(this, 'kt-close');\n if (proceed.defaultPrevented) {\n if (!this.dialog.open) openModal(this.dialog);\n return;\n }\n this.open = false;\n }\n\n private onDialogClose(): void {\n if (this.open) this.requestClose();\n }\n\n private onDialogClick(event: MouseEvent): void {\n if (this.noBackdropClose) return;\n if (isBackdropClick(this.dialog, event)) this.requestClose();\n }\n\n override render(): TemplateResult {\n const hasHeader = Boolean(this.heading) || Boolean(this.description);\n\n return html`<dialog\n part=\"dialog\"\n aria-label=${this.heading || nothing}\n @close=${this.onDialogClose}\n @click=${this.onDialogClick}\n >\n ${\n hasHeader || !this.noCloseButton\n ? html`<div part=\"header\" class=\"header\">\n <div class=\"titles\">\n <slot name=\"header\">\n ${this.heading ? html`<h2>${this.heading}</h2>` : nothing}\n </slot>\n ${this.description ? html`<p class=\"description\">${this.description}</p>` : nothing}\n </div>\n ${\n this.noCloseButton\n ? nothing\n : html`<kt-button\n variant=\"secondary-no-bg\"\n size=\"small\"\n icon=\"x\"\n label=\"Close\"\n @click=${this.requestClose}\n ></kt-button>`\n }\n </div>`\n : nothing\n }\n\n <div part=\"body\" class=\"body\"><slot></slot></div>\n\n <div part=\"footer\" class=${this.hasFooter ? 'footer' : 'footer empty'}>\n <slot name=\"footer\" @slotchange=${this.readFooter}></slot>\n </div>\n </dialog>`;\n }\n}\n\ndefineElement('kt-modal', KtModal);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kt-modal': KtModal;\n }\n}\n"],"names":["KtModal","KtElement","css","changed","openModal","closeDialog","next","hasAssignedContent","emit","event","isBackdropClick","hasHeader","html","nothing","__decorateClass","query","property","defineElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kt-modal.js","sources":["../../../../src/components/overlays/kt-modal/kt-modal.ts"],"sourcesContent":["import { css, html, nothing, type PropertyValues, type TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { KtElement, defineElement } from '#internal/kt-element';\nimport { emit } from '#internal/events';\nimport { hasAssignedContent } from '#internal/slots';\nimport { closeDialog, isBackdropClick, openModal } from '#internal/dialog';\nimport { strings } from '#internal/strings';\nimport '../../core/kt-button/kt-button.js';\n\nexport type KtModalSize = 'small' | 'medium' | 'large' | 'full';\n\n/**\n * A centred dialog for anything that is not a yes/no question.\n *\n * `<kt-confirm-dialog>` asks one thing and offers two answers. This one holds\n * content — a compose window, a command palette, a picker — and lets you put\n * whatever you like in the footer.\n *\n * Built on the native `<dialog>`, so the top layer, focus containment, page\n * inertness and Escape all come from the platform rather than from a focus trap\n * that leaks.\n *\n * @element kt-modal\n *\n * @slot - The body.\n * @slot header - Replaces the `heading` attribute.\n * @slot footer - Actions. Hidden when empty.\n *\n * @csspart dialog - The `<dialog>`.\n * @csspart header - The header row.\n * @csspart body - The scrolling body.\n * @csspart footer - The action row.\n *\n * @fires kt-close - Dismissal requested. Cancelable, for an unsaved-changes guard.\n *\n * @example\n * ```html\n * <kt-modal open heading=\"Compose\">\n * <kt-textarea rows=\"6\"></kt-textarea>\n * <kt-button slot=\"footer\" type=\"submit\">Send</kt-button>\n * </kt-modal>\n * ```\n */\nexport class KtModal extends KtElement {\n static override styles = [\n KtElement.styles,\n css`\n :host {\n display: contents;\n }\n\n /* Closed by default — see kt-confirm-dialog.ts's identical comment: an unconditional \\`display: flex\\` here left a never-opened dialog occupying its centred box (\\`opacity: 0\\`, but still in flow and hit-testable), silently eating clicks meant for whatever sat underneath it on the page. */\n dialog {\n display: none;\n flex-direction: column;\n gap: var(--gap-modal);\n box-sizing: border-box;\n width: 560px;\n max-width: calc(100vw - 48px);\n max-height: calc(100vh - 96px);\n padding: var(--padding-modal);\n color: var(--text-body);\n background: var(--surface-card);\n border: var(--border-width) solid var(--border-subtle);\n border-radius: var(--radius-modal);\n opacity: 0;\n transform: translateY(8px);\n transition:\n transform var(--duration-normal) var(--easing-standard),\n opacity var(--duration-normal) var(--easing-standard),\n overlay var(--duration-normal) allow-discrete,\n display var(--duration-normal) allow-discrete;\n }\n\n :host([size='small']) dialog {\n width: 400px;\n }\n :host([size='large']) dialog {\n width: 760px;\n }\n :host([size='full']) dialog {\n width: calc(100vw - 48px);\n height: calc(100vh - 96px);\n }\n\n dialog[open] {\n display: flex;\n opacity: 1;\n transform: translateY(0);\n }\n\n @starting-style {\n dialog[open] {\n opacity: 0;\n transform: translateY(8px);\n }\n }\n\n dialog::backdrop {\n background: var(--color-backdrop, rgba(0, 0, 0, 0.45));\n }\n\n .header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: var(--gap-card);\n }\n\n .titles {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n }\n\n h2 {\n margin: 0;\n color: var(--text-body);\n font: var(--font-title-h6);\n }\n\n .description {\n margin: 0;\n color: var(--text-muted);\n font: var(--font-normal-regular);\n }\n\n .body {\n flex: 1 1 auto;\n min-height: 0;\n overflow: auto;\n scrollbar-width: thin;\n }\n\n .footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n gap: var(--gap-button);\n }\n\n .footer.empty {\n display: none;\n }\n\n @media (prefers-reduced-motion: reduce) {\n dialog {\n transition: none;\n }\n }\n `,\n ];\n\n @query('dialog')\n private dialog!: HTMLDialogElement;\n\n @property({ type: Boolean, reflect: true })\n open = false;\n\n @property({ type: String })\n heading = '';\n\n @property({ type: String })\n description = '';\n\n @property({ type: String, reflect: true })\n size: KtModalSize = 'medium';\n\n /** Hides the close button. Escape still works — a modal you cannot leave is a trap. */\n @property({ type: Boolean, attribute: 'no-close-button' })\n noCloseButton = false;\n\n /** Stops a backdrop click from dismissing. */\n @property({ type: Boolean, attribute: 'no-backdrop-close' })\n noBackdropClose = false;\n\n private hasFooter = false;\n\n override updated(changed: PropertyValues<this>): void {\n if (changed.has('open')) {\n if (this.open) openModal(this.dialog);\n else closeDialog(this.dialog);\n }\n this.readFooter();\n }\n\n private readFooter(): void {\n const next = hasAssignedContent(\n this.shadowRoot?.querySelector<HTMLSlotElement>('slot[name=\"footer\"]'),\n );\n if (next === this.hasFooter) return;\n this.hasFooter = next;\n this.requestUpdate();\n }\n\n /** Asks to close. A cancelled `kt-close` keeps the modal open. */\n requestClose(): void {\n const proceed = emit(this, 'kt-close');\n if (proceed.defaultPrevented) {\n if (!this.dialog.open) openModal(this.dialog);\n return;\n }\n this.open = false;\n }\n\n private onDialogClose(): void {\n if (this.open) this.requestClose();\n }\n\n private onDialogClick(event: MouseEvent): void {\n if (this.noBackdropClose) return;\n if (isBackdropClick(this.dialog, event)) this.requestClose();\n }\n\n override render(): TemplateResult {\n const hasHeader = Boolean(this.heading) || Boolean(this.description);\n\n return html`<dialog\n part=\"dialog\"\n aria-label=${this.heading || nothing}\n @close=${this.onDialogClose}\n @click=${this.onDialogClick}\n >\n ${\n hasHeader || !this.noCloseButton\n ? html`<div part=\"header\" class=\"header\">\n <div class=\"titles\">\n <slot name=\"header\">\n ${this.heading ? html`<h2>${this.heading}</h2>` : nothing}\n </slot>\n ${this.description ? html`<p class=\"description\">${this.description}</p>` : nothing}\n </div>\n ${\n this.noCloseButton\n ? nothing\n : html`<kt-button\n variant=\"secondary-no-bg\"\n size=\"small\"\n icon=\"x\"\n label=${strings().close}\n @click=${this.requestClose}\n ></kt-button>`\n }\n </div>`\n : nothing\n }\n\n <div part=\"body\" class=\"body\"><slot></slot></div>\n\n <div part=\"footer\" class=${this.hasFooter ? 'footer' : 'footer empty'}>\n <slot name=\"footer\" @slotchange=${this.readFooter}></slot>\n </div>\n </dialog>`;\n }\n}\n\ndefineElement('kt-modal', KtModal);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kt-modal': KtModal;\n }\n}\n"],"names":["KtModal","KtElement","css","changed","openModal","closeDialog","next","hasAssignedContent","emit","event","isBackdropClick","hasHeader","html","nothing","strings","__decorateClass","query","property","defineElement"],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export declare class KtSidePanel extends KtElement {
|
|
|
33
33
|
private dialog;
|
|
34
34
|
open: boolean;
|
|
35
35
|
/** Small uppercase label above the heading — "Details", "Editing". */
|
|
36
|
-
eyebrow: string;
|
|
36
|
+
eyebrow: string | undefined;
|
|
37
37
|
heading: string;
|
|
38
38
|
/** Suppresses dismissal by backdrop click. Escape still works, by design. */
|
|
39
39
|
noBackdropClose: boolean;
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { css as
|
|
2
|
-
import { query as
|
|
3
|
-
import { K as
|
|
4
|
-
import { e as
|
|
5
|
-
import { o as
|
|
1
|
+
import { css as f, nothing as p, html as c } from "lit";
|
|
2
|
+
import { query as m, property as a } from "lit/decorators.js";
|
|
3
|
+
import { K as h, d as u } from "../../../chunks/kt-element-mdd5cXZX.js";
|
|
4
|
+
import { e as v } from "../../../chunks/events-Bjl5Zmmq.js";
|
|
5
|
+
import { o as g, c as b, i as y } from "../../../chunks/dialog-CPIfFIlF.js";
|
|
6
|
+
import { s as l } from "../../../chunks/index-fzPIgxe2.js";
|
|
6
7
|
import "../../core/kt-button/kt-button.js";
|
|
7
|
-
var
|
|
8
|
-
for (var o = void 0, s = i.length - 1,
|
|
9
|
-
(
|
|
10
|
-
return o &&
|
|
8
|
+
var x = Object.defineProperty, r = (i, e, n, k) => {
|
|
9
|
+
for (var o = void 0, s = i.length - 1, d; s >= 0; s--)
|
|
10
|
+
(d = i[s]) && (o = d(e, n, o) || o);
|
|
11
|
+
return o && x(e, n, o), o;
|
|
11
12
|
};
|
|
12
|
-
class t extends
|
|
13
|
+
class t extends h {
|
|
13
14
|
constructor() {
|
|
14
|
-
super(...arguments), this.open = !1, this.eyebrow =
|
|
15
|
+
super(...arguments), this.open = !1, this.eyebrow = void 0, this.heading = "", this.noBackdropClose = !1;
|
|
15
16
|
}
|
|
16
17
|
static {
|
|
17
18
|
this.styles = [
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
h.styles,
|
|
20
|
+
f`
|
|
20
21
|
:host {
|
|
21
22
|
display: contents;
|
|
22
23
|
}
|
|
@@ -111,12 +112,12 @@ class t extends c {
|
|
|
111
112
|
];
|
|
112
113
|
}
|
|
113
114
|
updated(e) {
|
|
114
|
-
e.has("open") && (this.open ?
|
|
115
|
+
e.has("open") && (this.open ? g(this.dialog) : b(this.dialog));
|
|
115
116
|
}
|
|
116
117
|
/** Asks to close. A cancelled `kt-close` keeps the panel open. */
|
|
117
118
|
requestClose() {
|
|
118
|
-
if (
|
|
119
|
-
this.dialog.open ||
|
|
119
|
+
if (v(this, "kt-close").defaultPrevented) {
|
|
120
|
+
this.dialog.open || g(this.dialog);
|
|
120
121
|
return;
|
|
121
122
|
}
|
|
122
123
|
this.open = !1;
|
|
@@ -126,25 +127,25 @@ class t extends c {
|
|
|
126
127
|
this.open && this.requestClose();
|
|
127
128
|
}
|
|
128
129
|
onDialogClick(e) {
|
|
129
|
-
this.noBackdropClose ||
|
|
130
|
+
this.noBackdropClose || y(this.dialog, e) && this.requestClose();
|
|
130
131
|
}
|
|
131
132
|
render() {
|
|
132
|
-
return
|
|
133
|
+
return c`<dialog
|
|
133
134
|
part="dialog"
|
|
134
|
-
aria-label=${this.heading ||
|
|
135
|
+
aria-label=${this.heading || p}
|
|
135
136
|
@close=${this.onDialogClose}
|
|
136
137
|
@click=${this.onDialogClick}
|
|
137
138
|
>
|
|
138
139
|
<div part="header" class="header">
|
|
139
140
|
<div class="titles">
|
|
140
|
-
${this.eyebrow ?
|
|
141
|
+
${this.eyebrow ?? l().details ? c`<div class="eyebrow">${this.eyebrow ?? l().details}</div>` : p}
|
|
141
142
|
<h2>${this.heading}</h2>
|
|
142
143
|
</div>
|
|
143
144
|
<kt-button
|
|
144
145
|
variant="secondary"
|
|
145
146
|
size="small"
|
|
146
147
|
icon="x"
|
|
147
|
-
label
|
|
148
|
+
label=${l().close}
|
|
148
149
|
@click=${this.requestClose}
|
|
149
150
|
></kt-button>
|
|
150
151
|
</div>
|
|
@@ -157,7 +158,7 @@ class t extends c {
|
|
|
157
158
|
}
|
|
158
159
|
}
|
|
159
160
|
r([
|
|
160
|
-
|
|
161
|
+
m("dialog")
|
|
161
162
|
], t.prototype, "dialog");
|
|
162
163
|
r([
|
|
163
164
|
a({ type: Boolean, reflect: !0 })
|
|
@@ -171,7 +172,7 @@ r([
|
|
|
171
172
|
r([
|
|
172
173
|
a({ type: Boolean, attribute: "no-backdrop-close" })
|
|
173
174
|
], t.prototype, "noBackdropClose");
|
|
174
|
-
|
|
175
|
+
u("kt-side-panel", t);
|
|
175
176
|
export {
|
|
176
177
|
t as KtSidePanel
|
|
177
178
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kt-side-panel.js","sources":["../../../../src/components/overlays/kt-side-panel/kt-side-panel.ts"],"sourcesContent":["import { css, html, nothing, type PropertyValues, type TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { KtElement, defineElement } from '#internal/kt-element';\nimport { emit } from '#internal/events';\nimport { closeDialog, isBackdropClick, openModal } from '#internal/dialog';\nimport '../../core/kt-button/kt-button.js';\n\n/**\n * A drawer that slides in from the right, for viewing or editing one record\n * without leaving the list behind it.\n *\n * Built on the native `<dialog>`: the panel lands in the top layer, focus is\n * trapped inside it, the page behind goes inert, and Escape closes it — none of\n * which the fixed-position div this replaces did.\n *\n * @element kt-side-panel\n *\n * @slot - The panel body.\n * @slot footer - Pinned below the body.\n *\n * @csspart dialog - The `<dialog>`.\n * @csspart header - The header row.\n * @csspart body - The scrolling body.\n *\n * @fires kt-close - The panel was dismissed. Cancelable: cancel it to keep the\n * panel open, for an unsaved-changes prompt.\n *\n * @example\n * ```html\n * <kt-side-panel open eyebrow=\"Details\" heading=\"Entity 4812\">\n * <p>…</p>\n * </kt-side-panel>\n * ```\n */\nexport class KtSidePanel extends KtElement {\n static override styles = [\n KtElement.styles,\n css`\n :host {\n display: contents;\n }\n\n dialog {\n position: fixed;\n top: 0;\n right: 0;\n left: auto;\n display: flex;\n flex-direction: column;\n gap: var(--gap-drag-drop);\n box-sizing: border-box;\n width: 308px;\n max-width: 100%;\n height: 100vh;\n max-height: 100vh;\n margin: 0;\n padding: var(--padding-card);\n overflow: hidden;\n color: var(--text-body);\n background-color: var(--surface-card);\n border: none;\n transform: translateX(100%);\n transition:\n transform var(--duration-normal) var(--easing-standard),\n overlay var(--duration-normal) allow-discrete,\n display var(--duration-normal) allow-discrete;\n }\n\n dialog[open] {\n transform: translateX(0);\n }\n\n /* The panel starts off-screen on open, so the slide runs the first time\n too rather than only on close. */\n @starting-style {\n dialog[open] {\n transform: translateX(100%);\n }\n }\n\n dialog::backdrop {\n background: var(--color-backdrop, rgba(0, 0, 0, 0.45));\n }\n\n .header {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: space-between;\n gap: var(--gap-drag-drop);\n }\n\n .titles {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .eyebrow {\n color: var(--text-muted);\n font: var(--font-normal-small);\n letter-spacing: 1px;\n text-transform: uppercase;\n }\n\n h2 {\n margin: 0;\n color: var(--text-body);\n font: var(--font-title-h6);\n }\n\n .divider {\n width: 100%;\n margin: 0;\n border: 0;\n border-bottom: var(--border-width) solid var(--border-subtle);\n }\n\n .body {\n flex: 1 1 auto;\n overflow: auto;\n }\n\n @media (prefers-reduced-motion: reduce) {\n dialog {\n transition: none;\n }\n }\n `,\n ];\n\n @query('dialog')\n private dialog!: HTMLDialogElement;\n\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /** Small uppercase label above the heading — \"Details\", \"Editing\". */\n @property({ type: String })\n eyebrow =
|
|
1
|
+
{"version":3,"file":"kt-side-panel.js","sources":["../../../../src/components/overlays/kt-side-panel/kt-side-panel.ts"],"sourcesContent":["import { css, html, nothing, type PropertyValues, type TemplateResult } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { KtElement, defineElement } from '#internal/kt-element';\nimport { emit } from '#internal/events';\nimport { closeDialog, isBackdropClick, openModal } from '#internal/dialog';\nimport { strings } from '#internal/strings';\nimport '../../core/kt-button/kt-button.js';\n\n/**\n * A drawer that slides in from the right, for viewing or editing one record\n * without leaving the list behind it.\n *\n * Built on the native `<dialog>`: the panel lands in the top layer, focus is\n * trapped inside it, the page behind goes inert, and Escape closes it — none of\n * which the fixed-position div this replaces did.\n *\n * @element kt-side-panel\n *\n * @slot - The panel body.\n * @slot footer - Pinned below the body.\n *\n * @csspart dialog - The `<dialog>`.\n * @csspart header - The header row.\n * @csspart body - The scrolling body.\n *\n * @fires kt-close - The panel was dismissed. Cancelable: cancel it to keep the\n * panel open, for an unsaved-changes prompt.\n *\n * @example\n * ```html\n * <kt-side-panel open eyebrow=\"Details\" heading=\"Entity 4812\">\n * <p>…</p>\n * </kt-side-panel>\n * ```\n */\nexport class KtSidePanel extends KtElement {\n static override styles = [\n KtElement.styles,\n css`\n :host {\n display: contents;\n }\n\n dialog {\n position: fixed;\n top: 0;\n right: 0;\n left: auto;\n display: flex;\n flex-direction: column;\n gap: var(--gap-drag-drop);\n box-sizing: border-box;\n width: 308px;\n max-width: 100%;\n height: 100vh;\n max-height: 100vh;\n margin: 0;\n padding: var(--padding-card);\n overflow: hidden;\n color: var(--text-body);\n background-color: var(--surface-card);\n border: none;\n transform: translateX(100%);\n transition:\n transform var(--duration-normal) var(--easing-standard),\n overlay var(--duration-normal) allow-discrete,\n display var(--duration-normal) allow-discrete;\n }\n\n dialog[open] {\n transform: translateX(0);\n }\n\n /* The panel starts off-screen on open, so the slide runs the first time\n too rather than only on close. */\n @starting-style {\n dialog[open] {\n transform: translateX(100%);\n }\n }\n\n dialog::backdrop {\n background: var(--color-backdrop, rgba(0, 0, 0, 0.45));\n }\n\n .header {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: space-between;\n gap: var(--gap-drag-drop);\n }\n\n .titles {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .eyebrow {\n color: var(--text-muted);\n font: var(--font-normal-small);\n letter-spacing: 1px;\n text-transform: uppercase;\n }\n\n h2 {\n margin: 0;\n color: var(--text-body);\n font: var(--font-title-h6);\n }\n\n .divider {\n width: 100%;\n margin: 0;\n border: 0;\n border-bottom: var(--border-width) solid var(--border-subtle);\n }\n\n .body {\n flex: 1 1 auto;\n overflow: auto;\n }\n\n @media (prefers-reduced-motion: reduce) {\n dialog {\n transition: none;\n }\n }\n `,\n ];\n\n @query('dialog')\n private dialog!: HTMLDialogElement;\n\n @property({ type: Boolean, reflect: true })\n open = false;\n\n /** Small uppercase label above the heading — \"Details\", \"Editing\". */\n @property({ type: String })\n eyebrow: string | undefined = undefined;\n\n @property({ type: String })\n heading = '';\n\n /** Suppresses dismissal by backdrop click. Escape still works, by design. */\n @property({ type: Boolean, attribute: 'no-backdrop-close' })\n noBackdropClose = false;\n\n override updated(changed: PropertyValues<this>): void {\n if (!changed.has('open')) return;\n if (this.open) openModal(this.dialog);\n else closeDialog(this.dialog);\n }\n\n /** Asks to close. A cancelled `kt-close` keeps the panel open. */\n requestClose(): void {\n const proceed = emit(this, 'kt-close');\n if (proceed.defaultPrevented) {\n // The dialog may already have closed itself — Escape does that natively.\n if (!this.dialog.open) openModal(this.dialog);\n return;\n }\n this.open = false;\n }\n\n /** Escape and the native close both land here. */\n private onDialogClose(): void {\n if (this.open) this.requestClose();\n }\n\n private onDialogClick(event: MouseEvent): void {\n if (this.noBackdropClose) return;\n if (isBackdropClick(this.dialog, event)) this.requestClose();\n }\n\n override render(): TemplateResult {\n return html`<dialog\n part=\"dialog\"\n aria-label=${this.heading || nothing}\n @close=${this.onDialogClose}\n @click=${this.onDialogClick}\n >\n <div part=\"header\" class=\"header\">\n <div class=\"titles\">\n ${(this.eyebrow ?? strings().details) ? html`<div class=\"eyebrow\">${this.eyebrow ?? strings().details}</div>` : nothing}\n <h2>${this.heading}</h2>\n </div>\n <kt-button\n variant=\"secondary\"\n size=\"small\"\n icon=\"x\"\n label=${strings().close}\n @click=${this.requestClose}\n ></kt-button>\n </div>\n\n <hr class=\"divider\" />\n\n <div part=\"body\" class=\"body\"><slot></slot></div>\n <slot name=\"footer\"></slot>\n </dialog>`;\n }\n}\n\ndefineElement('kt-side-panel', KtSidePanel);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kt-side-panel': KtSidePanel;\n }\n}\n"],"names":["KtSidePanel","KtElement","css","changed","openModal","closeDialog","emit","event","isBackdropClick","html","nothing","strings","__decorateClass","query","property","defineElement"],"mappings":";;;;;;;;;;;;AAmCO,MAAMA,UAAoBC,EAAU;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA,GAqGL,KAAA,OAAO,IAIP,KAAA,UAA8B,QAG9B,KAAA,UAAU,IAIV,KAAA,kBAAkB;AAAA,EAAA;AAAA,EA/GlB,OAAA;AAAA,SAAgB,SAAS;AAAA,MACvBA,EAAU;AAAA,MACVC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAAA,EA4FF;AAAA,EAmBS,QAAQC,GAAqC;AACpD,IAAKA,EAAQ,IAAI,MAAM,MACnB,KAAK,OAAMC,EAAU,KAAK,MAAM,IAC/BC,EAAY,KAAK,MAAM;AAAA,EAC9B;AAAA;AAAA,EAGA,eAAqB;AAEnB,QADgBC,EAAK,MAAM,UAAU,EACzB,kBAAkB;AAE5B,MAAK,KAAK,OAAO,QAAMF,EAAU,KAAK,MAAM;AAC5C;AAAA,IACF;AACA,SAAK,OAAO;AAAA,EACd;AAAA;AAAA,EAGQ,gBAAsB;AAC5B,IAAI,KAAK,QAAM,KAAK,aAAA;AAAA,EACtB;AAAA,EAEQ,cAAcG,GAAyB;AAC7C,IAAI,KAAK,mBACLC,EAAgB,KAAK,QAAQD,CAAK,UAAQ,aAAA;AAAA,EAChD;AAAA,EAES,SAAyB;AAChC,WAAOE;AAAA;AAAA,mBAEQ,KAAK,WAAWC,CAAO;AAAA,eAC3B,KAAK,aAAa;AAAA,eAClB,KAAK,aAAa;AAAA;AAAA;AAAA;AAAA,YAIpB,KAAK,WAAWC,EAAA,EAAU,UAAWF,yBAA4B,KAAK,WAAWE,EAAA,EAAU,OAAO,WAAWD,CAAO;AAAA,gBACjH,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMVC,EAAA,EAAU,KAAK;AAAA,mBACd,KAAK,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlC;AACF;AAtEUC,EAAA;AAAA,EADPC,EAAM,QAAQ;AAAA,GAjGJb,EAkGH,WAAA,QAAA;AAGRY,EAAA;AAAA,EADCE,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GApG/Bd,EAqGX,WAAA,MAAA;AAIAY,EAAA;AAAA,EADCE,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAxGfd,EAyGX,WAAA,SAAA;AAGAY,EAAA;AAAA,EADCE,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GA3Gfd,EA4GX,WAAA,SAAA;AAIAY,EAAA;AAAA,EADCE,EAAS,EAAE,MAAM,SAAS,WAAW,qBAAqB;AAAA,GA/GhDd,EAgHX,WAAA,iBAAA;AA0DFe,EAAc,iBAAiBf,CAAW;"}
|
|
@@ -1572,9 +1572,9 @@
|
|
|
1572
1572
|
"kind": "field",
|
|
1573
1573
|
"name": "menuLabel",
|
|
1574
1574
|
"type": {
|
|
1575
|
-
"text": "string"
|
|
1575
|
+
"text": "string | undefined"
|
|
1576
1576
|
},
|
|
1577
|
-
"default": "
|
|
1577
|
+
"default": "undefined",
|
|
1578
1578
|
"description": "Accessible name of the caret, which has no text of its own.",
|
|
1579
1579
|
"attribute": "menu-label"
|
|
1580
1580
|
},
|
|
@@ -1592,9 +1592,9 @@
|
|
|
1592
1592
|
"kind": "field",
|
|
1593
1593
|
"name": "emptyText",
|
|
1594
1594
|
"type": {
|
|
1595
|
-
"text": "string"
|
|
1595
|
+
"text": "string | undefined"
|
|
1596
1596
|
},
|
|
1597
|
-
"default": "
|
|
1597
|
+
"default": "undefined",
|
|
1598
1598
|
"attribute": "empty-text"
|
|
1599
1599
|
},
|
|
1600
1600
|
{
|
|
@@ -1842,9 +1842,9 @@
|
|
|
1842
1842
|
{
|
|
1843
1843
|
"name": "menu-label",
|
|
1844
1844
|
"type": {
|
|
1845
|
-
"text": "string"
|
|
1845
|
+
"text": "string | undefined"
|
|
1846
1846
|
},
|
|
1847
|
-
"default": "
|
|
1847
|
+
"default": "undefined",
|
|
1848
1848
|
"description": "Accessible name of the caret, which has no text of its own.",
|
|
1849
1849
|
"fieldName": "menuLabel"
|
|
1850
1850
|
},
|
|
@@ -1860,9 +1860,9 @@
|
|
|
1860
1860
|
{
|
|
1861
1861
|
"name": "empty-text",
|
|
1862
1862
|
"type": {
|
|
1863
|
-
"text": "string"
|
|
1863
|
+
"text": "string | undefined"
|
|
1864
1864
|
},
|
|
1865
|
-
"default": "
|
|
1865
|
+
"default": "undefined",
|
|
1866
1866
|
"fieldName": "emptyText"
|
|
1867
1867
|
}
|
|
1868
1868
|
],
|
|
@@ -2579,9 +2579,9 @@
|
|
|
2579
2579
|
"kind": "field",
|
|
2580
2580
|
"name": "centerLabel",
|
|
2581
2581
|
"type": {
|
|
2582
|
-
"text": "string"
|
|
2582
|
+
"text": "string | undefined"
|
|
2583
2583
|
},
|
|
2584
|
-
"default": "
|
|
2584
|
+
"default": "undefined",
|
|
2585
2585
|
"description": "Names the total in the middle of a doughnut.",
|
|
2586
2586
|
"attribute": "center-label"
|
|
2587
2587
|
},
|
|
@@ -2589,9 +2589,9 @@
|
|
|
2589
2589
|
"kind": "field",
|
|
2590
2590
|
"name": "totalLabel",
|
|
2591
2591
|
"type": {
|
|
2592
|
-
"text": "string"
|
|
2592
|
+
"text": "string | undefined"
|
|
2593
2593
|
},
|
|
2594
|
-
"default": "
|
|
2594
|
+
"default": "undefined",
|
|
2595
2595
|
"description": "Names the sum in a stacked chart's tooltip and table.",
|
|
2596
2596
|
"attribute": "total-label"
|
|
2597
2597
|
},
|
|
@@ -2982,18 +2982,18 @@
|
|
|
2982
2982
|
{
|
|
2983
2983
|
"name": "center-label",
|
|
2984
2984
|
"type": {
|
|
2985
|
-
"text": "string"
|
|
2985
|
+
"text": "string | undefined"
|
|
2986
2986
|
},
|
|
2987
|
-
"default": "
|
|
2987
|
+
"default": "undefined",
|
|
2988
2988
|
"description": "Names the total in the middle of a doughnut.",
|
|
2989
2989
|
"fieldName": "centerLabel"
|
|
2990
2990
|
},
|
|
2991
2991
|
{
|
|
2992
2992
|
"name": "total-label",
|
|
2993
2993
|
"type": {
|
|
2994
|
-
"text": "string"
|
|
2994
|
+
"text": "string | undefined"
|
|
2995
2995
|
},
|
|
2996
|
-
"default": "
|
|
2996
|
+
"default": "undefined",
|
|
2997
2997
|
"description": "Names the sum in a stacked chart's tooltip and table.",
|
|
2998
2998
|
"fieldName": "totalLabel"
|
|
2999
2999
|
},
|
|
@@ -3889,9 +3889,9 @@
|
|
|
3889
3889
|
"kind": "field",
|
|
3890
3890
|
"name": "label",
|
|
3891
3891
|
"type": {
|
|
3892
|
-
"text": "string"
|
|
3892
|
+
"text": "string | undefined"
|
|
3893
3893
|
},
|
|
3894
|
-
"default": "
|
|
3894
|
+
"default": "undefined",
|
|
3895
3895
|
"attribute": "label"
|
|
3896
3896
|
},
|
|
3897
3897
|
{
|
|
@@ -3940,9 +3940,9 @@
|
|
|
3940
3940
|
{
|
|
3941
3941
|
"name": "label",
|
|
3942
3942
|
"type": {
|
|
3943
|
-
"text": "string"
|
|
3943
|
+
"text": "string | undefined"
|
|
3944
3944
|
},
|
|
3945
|
-
"default": "
|
|
3945
|
+
"default": "undefined",
|
|
3946
3946
|
"fieldName": "label"
|
|
3947
3947
|
}
|
|
3948
3948
|
],
|
|
@@ -4327,18 +4327,18 @@
|
|
|
4327
4327
|
"kind": "field",
|
|
4328
4328
|
"name": "emptyText",
|
|
4329
4329
|
"type": {
|
|
4330
|
-
"text": "string"
|
|
4330
|
+
"text": "string | undefined"
|
|
4331
4331
|
},
|
|
4332
|
-
"default": "
|
|
4332
|
+
"default": "undefined",
|
|
4333
4333
|
"attribute": "empty-text"
|
|
4334
4334
|
},
|
|
4335
4335
|
{
|
|
4336
4336
|
"kind": "field",
|
|
4337
4337
|
"name": "loadingText",
|
|
4338
4338
|
"type": {
|
|
4339
|
-
"text": "string"
|
|
4339
|
+
"text": "string | undefined"
|
|
4340
4340
|
},
|
|
4341
|
-
"default": "
|
|
4341
|
+
"default": "undefined",
|
|
4342
4342
|
"attribute": "loading-text"
|
|
4343
4343
|
},
|
|
4344
4344
|
{
|
|
@@ -4597,17 +4597,17 @@
|
|
|
4597
4597
|
{
|
|
4598
4598
|
"name": "empty-text",
|
|
4599
4599
|
"type": {
|
|
4600
|
-
"text": "string"
|
|
4600
|
+
"text": "string | undefined"
|
|
4601
4601
|
},
|
|
4602
|
-
"default": "
|
|
4602
|
+
"default": "undefined",
|
|
4603
4603
|
"fieldName": "emptyText"
|
|
4604
4604
|
},
|
|
4605
4605
|
{
|
|
4606
4606
|
"name": "loading-text",
|
|
4607
4607
|
"type": {
|
|
4608
|
-
"text": "string"
|
|
4608
|
+
"text": "string | undefined"
|
|
4609
4609
|
},
|
|
4610
|
-
"default": "
|
|
4610
|
+
"default": "undefined",
|
|
4611
4611
|
"fieldName": "loadingText"
|
|
4612
4612
|
},
|
|
4613
4613
|
{
|
|
@@ -6134,9 +6134,9 @@
|
|
|
6134
6134
|
"kind": "field",
|
|
6135
6135
|
"name": "heading",
|
|
6136
6136
|
"type": {
|
|
6137
|
-
"text": "string"
|
|
6137
|
+
"text": "string | undefined"
|
|
6138
6138
|
},
|
|
6139
|
-
"default": "
|
|
6139
|
+
"default": "undefined",
|
|
6140
6140
|
"description": "The prompt above the browse link.\n\nNamed `heading`, not `title`: an element already has a `title`, and\nreusing it would put the prompt in a native tooltip on the whole zone.",
|
|
6141
6141
|
"attribute": "heading"
|
|
6142
6142
|
},
|
|
@@ -6144,9 +6144,9 @@
|
|
|
6144
6144
|
"kind": "field",
|
|
6145
6145
|
"name": "linkText",
|
|
6146
6146
|
"type": {
|
|
6147
|
-
"text": "string"
|
|
6147
|
+
"text": "string | undefined"
|
|
6148
6148
|
},
|
|
6149
|
-
"default": "
|
|
6149
|
+
"default": "undefined",
|
|
6150
6150
|
"description": "The clickable-looking part of the prompt.",
|
|
6151
6151
|
"attribute": "link-text"
|
|
6152
6152
|
},
|
|
@@ -6408,18 +6408,18 @@
|
|
|
6408
6408
|
{
|
|
6409
6409
|
"name": "heading",
|
|
6410
6410
|
"type": {
|
|
6411
|
-
"text": "string"
|
|
6411
|
+
"text": "string | undefined"
|
|
6412
6412
|
},
|
|
6413
|
-
"default": "
|
|
6413
|
+
"default": "undefined",
|
|
6414
6414
|
"description": "The prompt above the browse link.\n\nNamed `heading`, not `title`: an element already has a `title`, and\nreusing it would put the prompt in a native tooltip on the whole zone.",
|
|
6415
6415
|
"fieldName": "heading"
|
|
6416
6416
|
},
|
|
6417
6417
|
{
|
|
6418
6418
|
"name": "link-text",
|
|
6419
6419
|
"type": {
|
|
6420
|
-
"text": "string"
|
|
6420
|
+
"text": "string | undefined"
|
|
6421
6421
|
},
|
|
6422
|
-
"default": "
|
|
6422
|
+
"default": "undefined",
|
|
6423
6423
|
"description": "The clickable-looking part of the prompt.",
|
|
6424
6424
|
"fieldName": "linkText"
|
|
6425
6425
|
},
|
|
@@ -7556,9 +7556,9 @@
|
|
|
7556
7556
|
"kind": "field",
|
|
7557
7557
|
"name": "emptyText",
|
|
7558
7558
|
"type": {
|
|
7559
|
-
"text": "string"
|
|
7559
|
+
"text": "string | undefined"
|
|
7560
7560
|
},
|
|
7561
|
-
"default": "
|
|
7561
|
+
"default": "undefined",
|
|
7562
7562
|
"attribute": "empty-text"
|
|
7563
7563
|
},
|
|
7564
7564
|
{
|
|
@@ -7819,9 +7819,9 @@
|
|
|
7819
7819
|
{
|
|
7820
7820
|
"name": "empty-text",
|
|
7821
7821
|
"type": {
|
|
7822
|
-
"text": "string"
|
|
7822
|
+
"text": "string | undefined"
|
|
7823
7823
|
},
|
|
7824
|
-
"default": "
|
|
7824
|
+
"default": "undefined",
|
|
7825
7825
|
"fieldName": "emptyText"
|
|
7826
7826
|
}
|
|
7827
7827
|
],
|
|
@@ -8062,9 +8062,9 @@
|
|
|
8062
8062
|
"kind": "field",
|
|
8063
8063
|
"name": "placeholder",
|
|
8064
8064
|
"type": {
|
|
8065
|
-
"text": "string"
|
|
8065
|
+
"text": "string | undefined"
|
|
8066
8066
|
},
|
|
8067
|
-
"default": "
|
|
8067
|
+
"default": "undefined",
|
|
8068
8068
|
"attribute": "placeholder"
|
|
8069
8069
|
},
|
|
8070
8070
|
{
|
|
@@ -8141,9 +8141,9 @@
|
|
|
8141
8141
|
"kind": "field",
|
|
8142
8142
|
"name": "emptyText",
|
|
8143
8143
|
"type": {
|
|
8144
|
-
"text": "string"
|
|
8144
|
+
"text": "string | undefined"
|
|
8145
8145
|
},
|
|
8146
|
-
"default": "
|
|
8146
|
+
"default": "undefined",
|
|
8147
8147
|
"description": "Shown when `options` is empty.",
|
|
8148
8148
|
"attribute": "empty-text"
|
|
8149
8149
|
},
|
|
@@ -8327,9 +8327,9 @@
|
|
|
8327
8327
|
{
|
|
8328
8328
|
"name": "placeholder",
|
|
8329
8329
|
"type": {
|
|
8330
|
-
"text": "string"
|
|
8330
|
+
"text": "string | undefined"
|
|
8331
8331
|
},
|
|
8332
|
-
"default": "
|
|
8332
|
+
"default": "undefined",
|
|
8333
8333
|
"fieldName": "placeholder"
|
|
8334
8334
|
},
|
|
8335
8335
|
{
|
|
@@ -8394,9 +8394,9 @@
|
|
|
8394
8394
|
{
|
|
8395
8395
|
"name": "empty-text",
|
|
8396
8396
|
"type": {
|
|
8397
|
-
"text": "string"
|
|
8397
|
+
"text": "string | undefined"
|
|
8398
8398
|
},
|
|
8399
|
-
"default": "
|
|
8399
|
+
"default": "undefined",
|
|
8400
8400
|
"description": "Shown when `options` is empty.",
|
|
8401
8401
|
"fieldName": "emptyText"
|
|
8402
8402
|
}
|
|
@@ -9094,9 +9094,9 @@
|
|
|
9094
9094
|
"kind": "field",
|
|
9095
9095
|
"name": "label",
|
|
9096
9096
|
"type": {
|
|
9097
|
-
"text": "string"
|
|
9097
|
+
"text": "string | undefined"
|
|
9098
9098
|
},
|
|
9099
|
-
"default": "
|
|
9099
|
+
"default": "undefined",
|
|
9100
9100
|
"description": "Accessible name for the navigation landmark.",
|
|
9101
9101
|
"attribute": "label"
|
|
9102
9102
|
},
|
|
@@ -9141,9 +9141,9 @@
|
|
|
9141
9141
|
{
|
|
9142
9142
|
"name": "label",
|
|
9143
9143
|
"type": {
|
|
9144
|
-
"text": "string"
|
|
9144
|
+
"text": "string | undefined"
|
|
9145
9145
|
},
|
|
9146
|
-
"default": "
|
|
9146
|
+
"default": "undefined",
|
|
9147
9147
|
"description": "Accessible name for the navigation landmark.",
|
|
9148
9148
|
"fieldName": "label"
|
|
9149
9149
|
}
|
|
@@ -9844,9 +9844,9 @@
|
|
|
9844
9844
|
"kind": "field",
|
|
9845
9845
|
"name": "label",
|
|
9846
9846
|
"type": {
|
|
9847
|
-
"text": "string"
|
|
9847
|
+
"text": "string | undefined"
|
|
9848
9848
|
},
|
|
9849
|
-
"default": "
|
|
9849
|
+
"default": "undefined",
|
|
9850
9850
|
"attribute": "label"
|
|
9851
9851
|
},
|
|
9852
9852
|
{
|
|
@@ -10075,9 +10075,9 @@
|
|
|
10075
10075
|
{
|
|
10076
10076
|
"name": "label",
|
|
10077
10077
|
"type": {
|
|
10078
|
-
"text": "string"
|
|
10078
|
+
"text": "string | undefined"
|
|
10079
10079
|
},
|
|
10080
|
-
"default": "
|
|
10080
|
+
"default": "undefined",
|
|
10081
10081
|
"fieldName": "label"
|
|
10082
10082
|
},
|
|
10083
10083
|
{
|
|
@@ -10898,9 +10898,9 @@
|
|
|
10898
10898
|
"kind": "field",
|
|
10899
10899
|
"name": "heading",
|
|
10900
10900
|
"type": {
|
|
10901
|
-
"text": "string"
|
|
10901
|
+
"text": "string | undefined"
|
|
10902
10902
|
},
|
|
10903
|
-
"default": "
|
|
10903
|
+
"default": "undefined",
|
|
10904
10904
|
"attribute": "heading"
|
|
10905
10905
|
},
|
|
10906
10906
|
{
|
|
@@ -10916,18 +10916,18 @@
|
|
|
10916
10916
|
"kind": "field",
|
|
10917
10917
|
"name": "confirmLabel",
|
|
10918
10918
|
"type": {
|
|
10919
|
-
"text": "string"
|
|
10919
|
+
"text": "string | undefined"
|
|
10920
10920
|
},
|
|
10921
|
-
"default": "
|
|
10921
|
+
"default": "undefined",
|
|
10922
10922
|
"attribute": "confirm-label"
|
|
10923
10923
|
},
|
|
10924
10924
|
{
|
|
10925
10925
|
"kind": "field",
|
|
10926
10926
|
"name": "cancelLabel",
|
|
10927
10927
|
"type": {
|
|
10928
|
-
"text": "string"
|
|
10928
|
+
"text": "string | undefined"
|
|
10929
10929
|
},
|
|
10930
|
-
"default": "
|
|
10930
|
+
"default": "undefined",
|
|
10931
10931
|
"attribute": "cancel-label"
|
|
10932
10932
|
},
|
|
10933
10933
|
{
|
|
@@ -11013,9 +11013,9 @@
|
|
|
11013
11013
|
{
|
|
11014
11014
|
"name": "heading",
|
|
11015
11015
|
"type": {
|
|
11016
|
-
"text": "string"
|
|
11016
|
+
"text": "string | undefined"
|
|
11017
11017
|
},
|
|
11018
|
-
"default": "
|
|
11018
|
+
"default": "undefined",
|
|
11019
11019
|
"fieldName": "heading"
|
|
11020
11020
|
},
|
|
11021
11021
|
{
|
|
@@ -11029,17 +11029,17 @@
|
|
|
11029
11029
|
{
|
|
11030
11030
|
"name": "confirm-label",
|
|
11031
11031
|
"type": {
|
|
11032
|
-
"text": "string"
|
|
11032
|
+
"text": "string | undefined"
|
|
11033
11033
|
},
|
|
11034
|
-
"default": "
|
|
11034
|
+
"default": "undefined",
|
|
11035
11035
|
"fieldName": "confirmLabel"
|
|
11036
11036
|
},
|
|
11037
11037
|
{
|
|
11038
11038
|
"name": "cancel-label",
|
|
11039
11039
|
"type": {
|
|
11040
|
-
"text": "string"
|
|
11040
|
+
"text": "string | undefined"
|
|
11041
11041
|
},
|
|
11042
|
-
"default": "
|
|
11042
|
+
"default": "undefined",
|
|
11043
11043
|
"fieldName": "cancelLabel"
|
|
11044
11044
|
},
|
|
11045
11045
|
{
|
|
@@ -11201,9 +11201,9 @@
|
|
|
11201
11201
|
"kind": "field",
|
|
11202
11202
|
"name": "emptyText",
|
|
11203
11203
|
"type": {
|
|
11204
|
-
"text": "string"
|
|
11204
|
+
"text": "string | undefined"
|
|
11205
11205
|
},
|
|
11206
|
-
"default": "
|
|
11206
|
+
"default": "undefined",
|
|
11207
11207
|
"attribute": "empty-text"
|
|
11208
11208
|
},
|
|
11209
11209
|
{
|
|
@@ -11339,9 +11339,9 @@
|
|
|
11339
11339
|
{
|
|
11340
11340
|
"name": "empty-text",
|
|
11341
11341
|
"type": {
|
|
11342
|
-
"text": "string"
|
|
11342
|
+
"text": "string | undefined"
|
|
11343
11343
|
},
|
|
11344
|
-
"default": "
|
|
11344
|
+
"default": "undefined",
|
|
11345
11345
|
"fieldName": "emptyText"
|
|
11346
11346
|
}
|
|
11347
11347
|
],
|
|
@@ -11661,9 +11661,9 @@
|
|
|
11661
11661
|
"kind": "field",
|
|
11662
11662
|
"name": "eyebrow",
|
|
11663
11663
|
"type": {
|
|
11664
|
-
"text": "string"
|
|
11664
|
+
"text": "string | undefined"
|
|
11665
11665
|
},
|
|
11666
|
-
"default": "
|
|
11666
|
+
"default": "undefined",
|
|
11667
11667
|
"description": "Small uppercase label above the heading — \"Details\", \"Editing\".",
|
|
11668
11668
|
"attribute": "eyebrow"
|
|
11669
11669
|
},
|
|
@@ -11744,9 +11744,9 @@
|
|
|
11744
11744
|
{
|
|
11745
11745
|
"name": "eyebrow",
|
|
11746
11746
|
"type": {
|
|
11747
|
-
"text": "string"
|
|
11747
|
+
"text": "string | undefined"
|
|
11748
11748
|
},
|
|
11749
|
-
"default": "
|
|
11749
|
+
"default": "undefined",
|
|
11750
11750
|
"description": "Small uppercase label above the heading — \"Details\", \"Editing\".",
|
|
11751
11751
|
"fieldName": "eyebrow"
|
|
11752
11752
|
},
|