@sky.ui/core 0.0.23 → 0.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/custom-elements.json +1299 -1299
- package/dist/helper/controllers/animation-controller.js.map +1 -1
- package/dist/helper/controllers/index.js +2 -0
- package/dist/helper/controllers/index.js.map +1 -0
- package/dist/helper/controllers/popover-controller.js +1 -1
- package/dist/helper/controllers/popover-controller.js.map +1 -1
- package/dist/helper/form-control-base.js +2 -0
- package/dist/helper/form-control-base.js.map +1 -0
- package/dist/helper/iconify-offline.js.map +1 -1
- package/dist/helper/index.js +2 -0
- package/dist/helper/index.js.map +1 -0
- package/dist/helper/internals/form-control-base.js +1 -1
- package/dist/helper/internals/form-control-base.js.map +1 -1
- package/dist/helper/internals/index.js +2 -0
- package/dist/helper/internals/index.js.map +1 -0
- package/dist/helper/utils/color-resolver.js.map +1 -1
- package/dist/helper/utils/index.js +2 -0
- package/dist/helper/utils/index.js.map +1 -0
- package/dist/helper/utils/size-resolver.js.map +1 -1
- package/dist/sky-alert/index.js.map +1 -0
- package/dist/sky-alert/sky-alert.js +45 -45
- package/dist/sky-alert/sky-alert.js.map +1 -1
- package/dist/sky-appbar/index.js.map +1 -0
- package/dist/sky-appbar/sky-appbar.js +30 -30
- package/dist/sky-appbar/sky-appbar.js.map +1 -1
- package/dist/sky-avatar/index.js.map +1 -0
- package/dist/sky-avatar/sky-avatar.js +25 -25
- package/dist/sky-avatar/sky-avatar.js.map +1 -1
- package/dist/sky-badge/index.js.map +1 -0
- package/dist/sky-badge/sky-badge.d.ts +1 -1
- package/dist/sky-badge/sky-badge.js +27 -27
- package/dist/sky-badge/sky-badge.js.map +1 -1
- package/dist/sky-button/index.js.map +1 -0
- package/dist/sky-button/sky-button.js +25 -25
- package/dist/sky-button/sky-button.js.map +1 -1
- package/dist/sky-card/index.js.map +1 -0
- package/dist/sky-card/sky-card.js +22 -22
- package/dist/sky-card/sky-card.js.map +1 -1
- package/dist/sky-checkbox/index.js.map +1 -0
- package/dist/sky-checkbox/sky-checkbox.d.ts +2 -2
- package/dist/sky-checkbox/sky-checkbox.js +43 -43
- package/dist/sky-checkbox/sky-checkbox.js.map +1 -1
- package/dist/sky-chip/index.js.map +1 -0
- package/dist/sky-chip/sky-chip.js +35 -35
- package/dist/sky-chip/sky-chip.js.map +1 -1
- package/dist/sky-col/index.js.map +1 -0
- package/dist/sky-col/sky-col.js +7 -7
- package/dist/sky-col/sky-col.js.map +1 -1
- package/dist/sky-combobox/index.js.map +1 -0
- package/dist/sky-combobox/sky-combobox.d.ts +2 -2
- package/dist/sky-combobox/sky-combobox.js +244 -244
- package/dist/sky-combobox/sky-combobox.js.map +1 -1
- package/dist/sky-dialog/index.js.map +1 -0
- package/dist/sky-dialog/sky-dialog.js +43 -43
- package/dist/sky-dialog/sky-dialog.js.map +1 -1
- package/dist/sky-divider/index.js.map +1 -0
- package/dist/sky-divider/sky-divider.js +16 -16
- package/dist/sky-divider/sky-divider.js.map +1 -1
- package/dist/sky-flexbox/index.js.map +1 -0
- package/dist/sky-flexbox/sky-flexbox.js +9 -9
- package/dist/sky-flexbox/sky-flexbox.js.map +1 -1
- package/dist/sky-flexcol/index.js.map +1 -0
- package/dist/sky-flexcol/sky-flexcol.js +2 -2
- package/dist/sky-flexcol/sky-flexcol.js.map +1 -1
- package/dist/sky-form/index.js.map +1 -0
- package/dist/sky-form/sky-form.js +12 -12
- package/dist/sky-form/sky-form.js.map +1 -1
- package/dist/sky-grid/index.js.map +1 -0
- package/dist/sky-grid/sky-grid.js +6 -6
- package/dist/sky-grid/sky-grid.js.map +1 -1
- package/dist/sky-icon/index.js.map +1 -0
- package/dist/sky-icon/sky-icon.js +13 -13
- package/dist/sky-icon/sky-icon.js.map +1 -1
- package/dist/sky-image/index.js.map +1 -0
- package/dist/sky-image/sky-image.js +21 -21
- package/dist/sky-image/sky-image.js.map +1 -1
- package/dist/sky-image/srcset-utils.js.map +1 -1
- package/dist/sky-input/index.js.map +1 -0
- package/dist/sky-input/sky-input.d.ts +2 -2
- package/dist/sky-input/sky-input.js +225 -225
- package/dist/sky-input/sky-input.js.map +1 -1
- package/dist/sky-list/index.js.map +1 -0
- package/dist/sky-list/sky-list.js +6 -6
- package/dist/sky-list/sky-list.js.map +1 -1
- package/dist/sky-listitem/index.js.map +1 -0
- package/dist/sky-listitem/sky-listitem.js +31 -31
- package/dist/sky-listitem/sky-listitem.js.map +1 -1
- package/dist/sky-radio/index.js.map +1 -0
- package/dist/sky-radio/sky-radio.d.ts +2 -2
- package/dist/sky-radio/sky-radio.js +27 -27
- package/dist/sky-radio/sky-radio.js.map +1 -1
- package/dist/sky-row/index.js.map +1 -0
- package/dist/sky-row/sky-row.js +2 -2
- package/dist/sky-row/sky-row.js.map +1 -1
- package/dist/sky-sheet/index.js.map +1 -0
- package/dist/sky-sheet/sky-sheet.js +2 -2
- package/dist/sky-sheet/sky-sheet.js.map +1 -1
- package/dist/sky-simple-table/index.js.map +1 -0
- package/dist/sky-simple-table/sky-simple-table.js +34 -34
- package/dist/sky-simple-table/sky-simple-table.js.map +1 -1
- package/dist/sky-theme-provider/index.js.map +1 -0
- package/dist/sky-theme-provider/sky-theme-provider.js +2 -2
- package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -1
- package/package.json +2 -2
- package/plugins/rollup-plugin.d.ts +5 -8
- package/plugins/vite-plugin.d.ts +5 -8
- package/plugins/webpack-plugin.d.ts +3 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sky-button.js","sources":["../../src/sky-button/sky-button.ts"],"sourcesContent":[null],"names":["SkyButton","LitElement","this","dependencies","SkyIcon","formAssociated","styles","css","constructor","super","variant","color","type","form","size","radius","label","disabled","loading","iconL","iconR","iconOnly","colors","animation","inGroup","_hasMeaningfulSlot","_styleVars","_onSlotChange","e","slot","target","next","_slotHasMeaningfulContent","internals","attachInternals","slotEl","assignedNodes","flatten","some","n","nodeType","Node","ELEMENT_NODE","textContent","trim","length","_toSquarePadding","padding","py","parseFloat","split","Number","isFinite","_resolveSize","input","presets","xs","fontSize","gap","icon","spinner","sm","md","lg","xl","m","String","match","unit","fsNum","fs","to","Math","round","clamp","min","max","px","_isThemeBorderShorthand","border","test","_borderColorFromShorthand","willUpdate","changedProperties","p","has","Object","keys","baseColor","resolveColor","textColor","resolveTextColorForToken","variantDefaults","solid","bg","shadow","hoverBg","hoverColor","hoverShadow","faded","hoverBorder","bordered","hoverShade","transparent","fadeMix","flat","ghost","skyBorderPrimaryShorthand","relief","darkShade","gradient","createGradient","link","current","v","assign","tuneSurfaceVariantForDefaultColor","semanticKey","resolveSemanticSurfaceKey","soft","semanticSoftSurfaceTokens","animationMode","chosen","hover","active","presetToTransform","hoverTransform","activeTransform","s","basePadding","baseGap","borderWidth","hasBorder2","hasBorder1","includes","parseInt","hoverBorderWidth","adjustedPadding","paddingParts","all","vertical","horizontal","adjustedVertical","top","right","bottom","left","iconPx","btnMinHeight","btnMinWidth","side","paddingValues","hoverBorderShorthand","usesThemeBorder","borderColor","borderColorHover","vars","resolveRadius","focusButton","renderRoot","querySelector","focus","clickButton","click","_createRipple","event","button","currentTarget","rect","getBoundingClientRect","ripple","document","createElement","offsetWidth","offsetHeight","x","clientX","y","clientY","style","width","height","getComputedStyle","backgroundColor","isLightBg","background","className","existing","querySelectorAll","remove","appendChild","addEventListener","formDisabledCallback","formOwner","formId","getElementById","closest","_handleClick","preventDefault","reset","requestSubmit","_iconOnlyName","render","iconOnlyName","ariaLabel","undefined","html","styleMap","ifDefined","when","nothing","__decorate","property","reflect","prototype","Boolean","state","eventOptions","passive","MouseEvent","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sky-button.js","sources":["../../src/sky-button/sky-button.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from \"lit\";\r\nimport { customElement, property, state, eventOptions } from \"lit/decorators.js\";\r\nimport { when } from \"lit/directives/when.js\";\r\nimport { styleMap } from \"lit/directives/style-map.js\";\r\nimport {\r\n createGradient,\r\n darkShade,\r\n fadeMix,\r\n hoverShade,\r\n resolveColor,\r\n resolveTextColorForToken,\r\n resolveSemanticSurfaceKey,\r\n semanticSoftSurfaceTokens,\r\n skyBorderPrimaryShorthand,\r\n tuneSurfaceVariantForDefaultColor,\r\n} from \"../helper/utils/color-resolver\";\r\nimport { resolveRadius } from \"../helper/utils/size-resolver\";\r\nimport { ifDefined } from \"lit/directives/if-defined.js\";\r\nimport { SkyIcon } from \"../sky-icon/sky-icon.js\";\r\n\r\nexport type SkyButtonVariant =\r\n | \"solid\"\r\n | \"faded\"\r\n | \"bordered\"\r\n | \"transparent\"\r\n | \"flat\"\r\n | \"ghost\"\r\n | \"relief\"\r\n | \"gradient\"\r\n | \"shadow\"\r\n | \"link\";\r\nexport type SkyButtonType = \"button\" | \"submit\" | \"reset\";\r\nexport type SkyButtonAnimation =\r\n | \"auto\"\r\n | \"none\"\r\n | \"lift\"\r\n | \"push\"\r\n | \"scale\"\r\n | \"rotate\"\r\n | \"custom\";\r\n\r\n/**\r\n * @element sky-button\r\n *\r\n * @summary Styled button supporting variants, icons, loading state, ripple feedback, and form-associated behavior.\r\n *\r\n * @status stable\r\n * @since 1.0.0\r\n *\r\n * @documentation https://library.sky-ui.com/components/button\r\n * @dependency sky-icon\r\n *\r\n * @slot - Default slot for the button label (replaces `label` property if used).\r\n *\r\n * @csspart button - The native `<button>` element.\r\n * @csspart icon - The optional left/right icons.\r\n * @csspart loading-overlay - Overlay displayed when loading.\r\n * @csspart spinner - Spinner displayed when loading.\r\n *\r\n * @property {SkyButtonVariant} variant - Visual variant of the button. Use `\"link\"` for text-only control with underline on hover. Default: `\"solid\"`.\r\n * @property {string} color - Base color token or custom CSS color. Default: `\"primary\"`.\r\n * @property {SkyButtonType} type - Button type attribute. Default: `\"button\"`.\r\n * @property {string} form - Associated form ID for custom submit handling.\r\n * @property {string} size - Preset size token (`xs…xl`) or CSS size (e.g., `\"15px\"`, `\"1rem\"`). Default: `\"md\"`.\r\n * @property {string} radius - Preset radius token (`none…full`) or CSS radius (e.g., `\"12px\"`). Default: `\"md\"`.\r\n * @property {string} label - Text label for the button. Ignored if default slot is used. Default: `\"Button\"`.\r\n * @property {boolean} disabled - Whether the button is disabled. Default: `false`.\r\n * @property {boolean} loading - Shows a loading overlay when true. Default: `false`.\r\n * @property {string} iconL - Optional left-side icon (Iconify name). Default: `\"\"`.\r\n * @property {string} iconR - Optional right-side icon (Iconify name). Default: `\"\"`.\r\n * @property {boolean} iconOnly - Square padding for icon-only buttons; hides label text. Default: `false`.\r\n * @property {string} colors - Comma-separated color stops for gradient variant. Default: `\"\"`.\r\n * @property {SkyButtonAnimation} animation - Transform animation style. Default: `\"auto\"`.\r\n * @method focusButton Focuses the internal native button.\r\n * @method clickButton Triggers a click on the internal native button when enabled.\r\n *\r\n * @example\r\n * ```html\r\n * <sky-button variant=\"gradient\" colors=\"linear@90deg: primary, secondary\" iconl=\"ion:add\" label=\"Create\"></sky-button>\r\n * ```\r\n * ```vue\r\n * <template>\r\n * <sky-button variant=\"gradient\" colors=\"linear@90deg: primary, secondary\" iconl=\"ion:add\" label=\"Create\"></sky-button>\r\n * </template>\r\n * ```\r\n * ```jsx\r\n * export default function Demo() {\r\n * return <sky-button variant=\"gradient\" colors=\"linear@90deg: primary, secondary\" iconl=\"ion:add\" label=\"Create\"></sky-button>;\r\n * }\r\n * ```\r\n */\r\n@customElement(\"sky-button\")\r\nexport class SkyButton extends LitElement {\r\n\r\n static dependencies: Record<string, CustomElementConstructor> = {\r\n \"sky-icon\": SkyIcon,\r\n };\r\n\r\n static formAssociated = true;\r\n\r\n private internals: ElementInternals;\r\n /** Visual variant of the button. */\r\n @property({ type: String, reflect: true }) variant: SkyButtonVariant = \"solid\";\r\n\r\n /** Accepts preset tokens OR any valid CSS color (e.g., #0af, rgb(), var(--x)). */\r\n @property({ type: String }) color: string = \"primary\";\r\n\r\n /** Button type attribute. */\r\n @property({ type: String }) type: SkyButtonType = \"button\";\r\n\r\n /** Associated form ID for custom form handling. */\r\n @property({ type: String }) form = \"\";\r\n\r\n /** Preset tokens (`xs…xl`) OR CSS size like `\"15px\"`. */\r\n @property({ type: String }) size: string = \"md\";\r\n\r\n /** Preset tokens (`none…full`) OR any CSS border radius. */\r\n @property({ type: String }) radius: string = \"md\";\r\n\r\n /** Text label for the button. */\r\n @property({ type: String }) label = \"Button\";\r\n\r\n /** Disables the button. */\r\n @property({ type: Boolean, reflect: true }) disabled = false;\r\n\r\n /** Shows a loading spinner overlay. */\r\n @property({ type: Boolean, reflect: true }) loading = false;\r\n\r\n /** Left-side icon (Iconify icon name). */\r\n @property({ type: String }) iconL = \"\";\r\n\r\n /** Right-side icon (Iconify icon name). */\r\n @property({ type: String }) iconR = \"\";\r\n\r\n /** Square padding and compact layout when the button shows only an icon. */\r\n @property({ type: Boolean, reflect: true }) iconOnly = false;\r\n\r\n /** Colors for gradient variant. */\r\n @property({ type: String }) colors: string = \"\";\r\n\r\n /** Animation style for hover/active transforms. */\r\n @property({ type: String, reflect: true }) animation: SkyButtonAnimation = \"auto\";\r\n\r\n /** @internal Set by `sky-button-group` to flatten grouped button visuals. */\r\n @property({ type: Boolean, reflect: true }) inGroup = false;\r\n\r\n @state() private _hasMeaningfulSlot = false;\r\n\r\n /** Inline CSS variable cache. */\r\n private _styleVars: Record<string, string> = {};\r\n\r\n static styles = css`\r\n :host {\r\n display: inline-block;\r\n }\r\n\r\n :host([disabled]) {\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n :host([in-group]) {\r\n align-self: stretch;\r\n }\r\n\r\n :host([iconOnly]) button {\r\n width: auto;\r\n min-width: var(--btn-min-width, auto);\r\n aspect-ratio: 1;\r\n gap: 0;\r\n }\r\n\r\n :host([variant=\"link\"]) button {\r\n width: auto;\r\n border-radius: 0;\r\n text-decoration: none;\r\n background-color: transparent;\r\n background-image: linear-gradient(currentColor, currentColor);\r\n background-position: 0 100%;\r\n background-repeat: no-repeat;\r\n background-size: 0% 1px;\r\n transition:\r\n background-size var(--sky-duration-normal, 200ms) var(--sky-ease-default, ease),\r\n color var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease),\r\n box-shadow var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease),\r\n border-color var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease),\r\n transform var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease);\r\n }\r\n :host([variant=\"link\"]) button:hover:not(:disabled),\r\n :host([variant=\"link\"]) button:focus-visible:not(:disabled) {\r\n background-color: transparent;\r\n background-image: linear-gradient(currentColor, currentColor);\r\n background-position: 0 100%;\r\n background-repeat: no-repeat;\r\n background-size: 100% 1px;\r\n }\r\n\r\n button {\r\n position: relative;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n overflow: hidden;\r\n border-radius: var(--btn-radius, var(--sky-radius-primary));\r\n font: inherit;\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n outline: none;\r\n border: var(\r\n --btn-border,\r\n var(--btn-border-width, 0) solid var(--btn-border-color, transparent)\r\n );\r\n background-color: var(--btn-bg-color, transparent);\r\n background-image: none;\r\n color: var(--btn-color);\r\n box-shadow: var(--btn-shadow, none);\r\n transform: var(--btn-transform, none);\r\n gap: var(--btn-gap, var(--sky-space-1, 4px));\r\n padding: var(--btn-padding, var(--sky-space-2, 8px) var(--sky-space-3, 14px));\r\n font-size: var(--btn-font-size, var(--sky-font-size-md, 1rem));\r\n font-family: var(--sky-font);\r\n white-space: nowrap;\r\n text-align: center;\r\n text-decoration: var(--btn-text-decoration, none);\r\n width: 100%;\r\n height: auto;\r\n min-height: var(--btn-min-height, auto);\r\n backdrop-filter: none;\r\n -webkit-backdrop-filter: none;\r\n transition:\r\n background-color var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease),\r\n border-color var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease),\r\n color var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease),\r\n box-shadow var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease),\r\n transform var(--sky-duration-fast, 120ms) var(--sky-ease-out, ease),\r\n opacity var(--sky-duration-fast, 120ms) var(--sky-ease-default, ease);\r\n\r\n /* Ensure button doesn't shrink */\r\n flex-shrink: 0;\r\n }\r\n\r\n :host([variant=\"gradient\"]) button {\r\n background: var(--btn-bg);\r\n background-color: transparent;\r\n }\r\n\r\n button:hover:not(:disabled),\r\n button:focus-visible:not(:disabled) {\r\n background-color: var(--btn-bg-color-hover, var(--btn-bg-color, transparent));\r\n color: var(--btn-color-hover, var(--btn-color));\r\n box-shadow: var(--btn-shadow-hover, var(--btn-shadow));\r\n border: var(\r\n --btn-border-hover,\r\n var(\r\n --btn-border,\r\n var(--btn-border-width, 0) solid\r\n var(--btn-border-color-hover, var(--btn-border-color, transparent))\r\n )\r\n );\r\n text-decoration: var(\r\n --btn-text-decoration-hover,\r\n var(--btn-text-decoration, none)\r\n );\r\n transform: var(--btn-transform-hover, var(--btn-transform, none));\r\n height: auto;\r\n min-height: var(--btn-min-height, auto);\r\n }\r\n\r\n :host([variant=\"gradient\"]) button:hover:not(:disabled),\r\n :host([variant=\"gradient\"]) button:focus-visible:not(:disabled) {\r\n background: var(--btn-bg-hover, var(--btn-bg));\r\n }\r\n button:focus-visible:not(:disabled) {\r\n box-shadow:\r\n var(--sky-focus-ring),\r\n var(--btn-shadow-hover, var(--btn-shadow, none));\r\n }\r\n button:active:not(:disabled) {\r\n transform: var(\r\n --btn-transform-active,\r\n var(--btn-transform-hover, var(--btn-transform, none))\r\n );\r\n }\r\n button:disabled {\r\n opacity: var(--sky-opacity-disabled, 0.5);\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n button,\r\n :host([variant=\"link\"]) button {\r\n transition: none;\r\n }\r\n\r\n button:active:not(:disabled) {\r\n transform: none;\r\n }\r\n\r\n .ripple {\r\n animation: none;\r\n }\r\n\r\n .spinner {\r\n animation: none;\r\n }\r\n }\r\n\r\n .ripple {\r\n position: absolute;\r\n border-radius: 50%;\r\n background: rgba(255, 255, 255, 0.5);\r\n transform: scale(0);\r\n animation: ripple-animation 0.6s linear;\r\n pointer-events: none;\r\n }\r\n @keyframes ripple-animation {\r\n to {\r\n transform: scale(4);\r\n opacity: 0;\r\n }\r\n }\r\n sky-icon {\r\n display: inline-block;\r\n width: 1em;\r\n height: 1em;\r\n font-size: var(--icon-size, 18px);\r\n backdrop-filter: none;\r\n -webkit-backdrop-filter: none;\r\n }\r\n .loading-overlay {\r\n position: absolute;\r\n inset: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n background: var(--sky-overlay-secondary);\r\n visibility: hidden;\r\n backdrop-filter: none;\r\n -webkit-backdrop-filter: none;\r\n }\r\n button[loading] .loading-overlay {\r\n visibility: visible;\r\n }\r\n .spinner {\r\n width: var(--spinner-size, 18px);\r\n height: var(--spinner-size, 18px);\r\n border: 2px solid currentColor;\r\n border-top-color: transparent;\r\n border-radius: 50%;\r\n animation: spin 1s linear infinite;\r\n }\r\n @keyframes spin {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n }\r\n `;\r\n\r\n constructor() {\r\n super();\r\n // @ts-ignore\r\n this.internals = this.attachInternals();\r\n }\r\n\r\n private _slotHasMeaningfulContent(slotEl: HTMLSlotElement): boolean {\r\n const nodes = slotEl.assignedNodes({ flatten: true });\r\n return nodes.some((n) =>\r\n n.nodeType === Node.ELEMENT_NODE\r\n ? true\r\n : (n.textContent ?? \"\").trim().length > 0\r\n );\r\n }\r\n\r\n // ✅ Event handler update (allowed). Not a lifecycle hook.\r\n private _onSlotChange = (e: Event) => {\r\n const slot = e.target as HTMLSlotElement;\r\n const next = this._slotHasMeaningfulContent(slot);\r\n // Only set state if it actually changed to avoid extra updates\r\n if (next !== this._hasMeaningfulSlot) this._hasMeaningfulSlot = next;\r\n };\r\n\r\n /** Uses vertical padding for equal sides (icon-only square control). */\r\n private _toSquarePadding(padding: string): string {\r\n const py = parseFloat(padding.trim().split(/\\s+/)[0]);\r\n const n = Number.isFinite(py) ? py : 8;\r\n return `${n}px`;\r\n }\r\n\r\n private _resolveSize(input: string): {\r\n padding: string;\r\n fontSize: string;\r\n gap: string;\r\n icon: string;\r\n spinner: string;\r\n } {\r\n const presets: Record<\r\n string,\r\n {\r\n padding: string;\r\n fontSize: string;\r\n gap: string;\r\n icon: string;\r\n spinner: string;\r\n }\r\n > = {\r\n xs: {\r\n padding: \"3px 7px\",\r\n fontSize: \"12px\",\r\n gap: \"3px\",\r\n icon: \"14px\",\r\n spinner: \"14px\",\r\n },\r\n sm: {\r\n padding: \"5px 9px\",\r\n fontSize: \"14px\",\r\n gap: \"4px\",\r\n icon: \"16px\",\r\n spinner: \"16px\",\r\n },\r\n md: {\r\n padding: \"8px 14px\",\r\n fontSize: \"16px\",\r\n gap: \"5px\",\r\n icon: \"18px\",\r\n spinner: \"18px\",\r\n },\r\n lg: {\r\n padding: \"10px 18px\",\r\n fontSize: \"18px\",\r\n gap: \"6px\",\r\n icon: \"20px\",\r\n spinner: \"20px\",\r\n },\r\n xl: {\r\n padding: \"14px 24px\",\r\n fontSize: \"20px\",\r\n gap: \"8px\",\r\n icon: \"24px\",\r\n spinner: \"24px\",\r\n },\r\n };\r\n if (presets[input]) return presets[input];\r\n\r\n const m = String(input)\r\n .trim()\r\n .match(/^([\\d.]+)(px|rem|em)?$/i);\r\n const unit = m?.[2] || \"px\";\r\n const fsNum = m ? parseFloat(m[1]) : 16;\r\n const fs = `${fsNum}${unit}`;\r\n\r\n const to = (n: number) => `${Math.round(n * 100) / 100}${unit}`;\r\n const clamp = (n: number, min: number, max: number) =>\r\n Math.max(min, Math.min(max, n));\r\n\r\n const py = clamp(fsNum * 0.55, 4, 18);\r\n const px = clamp(fsNum * 0.9, 8, 28);\r\n const gap = clamp(fsNum * 0.3, 3, 10);\r\n const icon = clamp(fsNum * 1.125, 12, 28);\r\n const spinner = icon;\r\n\r\n return {\r\n padding: `${to(py)} ${to(px)}`,\r\n fontSize: fs,\r\n gap: to(gap),\r\n icon: to(icon),\r\n spinner: to(spinner),\r\n };\r\n }\r\n\r\n /** Theme tokens like `var(--sky-border-primary)` are full border shorthands, not colors. */\r\n private _isThemeBorderShorthand(border: string | undefined): boolean {\r\n if (!border || border === \"none\") return false;\r\n return /^var\\(--sky-border-/.test(border.trim());\r\n }\r\n\r\n /** Extracts the color token from a `Npx solid …` border shorthand. */\r\n private _borderColorFromShorthand(border: string | undefined): string {\r\n if (!border || border === \"none\" || this._isThemeBorderShorthand(border)) {\r\n return \"transparent\";\r\n }\r\n const match = border.match(/solid\\s+(.+)$/);\r\n return match?.[1]?.trim() ?? \"transparent\";\r\n }\r\n\r\n protected override willUpdate(changedProperties: Map<string, unknown>): void {\r\n const styleProps = [\r\n \"color\",\r\n \"variant\",\r\n \"size\",\r\n \"radius\",\r\n \"animation\",\r\n \"inGroup\",\r\n \"disabled\",\r\n \"loading\",\r\n \"colors\",\r\n \"iconOnly\",\r\n ];\r\n const needsStyleUpdate = styleProps.some((p) => changedProperties.has(p));\r\n if (!needsStyleUpdate && Object.keys(this._styleVars).length > 0) {\r\n return;\r\n }\r\n\r\n const baseColor = resolveColor(this.color);\r\n const textColor = resolveTextColorForToken(this.color);\r\n\r\n const variantDefaults = {\r\n solid: {\r\n bg: baseColor,\r\n color: textColor,\r\n border: \"none\",\r\n shadow: \"none\",\r\n hoverBg: baseColor,\r\n hoverColor: textColor,\r\n hoverShadow: \"var(--sky-box-shadow-hover)\",\r\n },\r\n faded: {\r\n bg: \"var(--sky-hover-tertiary)\",\r\n color: baseColor,\r\n border: \"1px solid var(--sky-text-tertiary)\",\r\n shadow: \"none\",\r\n hoverBg: \"var(--sky-hover-secondary)\",\r\n hoverColor: baseColor,\r\n hoverShadow: \"none\",\r\n hoverBorder: \"1px solid var(--sky-text-secondary)\",\r\n },\r\n bordered: {\r\n bg: \"transparent\",\r\n color: baseColor,\r\n border: `2px solid ${baseColor}`,\r\n shadow: \"none\",\r\n hoverBg: \"transparent\",\r\n hoverColor: baseColor,\r\n hoverShadow: \"none\",\r\n hoverBorder: `2px solid ${hoverShade(baseColor, 25)}`,\r\n },\r\n transparent: {\r\n bg: \"transparent\",\r\n color: baseColor,\r\n border: \"none\",\r\n shadow: \"none\",\r\n hoverBg: fadeMix(baseColor, 15),\r\n hoverColor: baseColor,\r\n hoverShadow: \"none\",\r\n },\r\n flat: {\r\n bg: fadeMix(baseColor, 20),\r\n color: hoverShade(baseColor, 30),\r\n border: \"none\",\r\n shadow: \"none\",\r\n hoverBg: fadeMix(baseColor, 25),\r\n hoverColor: hoverShade(baseColor, 35),\r\n hoverShadow: \"none\",\r\n },\r\n ghost: {\r\n bg: \"transparent\",\r\n color: baseColor,\r\n border: `2px solid ${baseColor}`,\r\n shadow: \"none\",\r\n hoverBg: baseColor,\r\n hoverColor: textColor,\r\n hoverShadow: \"none\",\r\n },\r\n shadow: {\r\n bg: \"var(--sky-glass-primary)\",\r\n color: \"var(--sky-text-primary)\",\r\n border: skyBorderPrimaryShorthand(),\r\n shadow: \"none\",\r\n hoverBg: \"var(--sky-glass-primary)\",\r\n hoverColor: baseColor,\r\n hoverShadow: \"var(--sky-box-shadow-hover)\",\r\n hoverBorder: skyBorderPrimaryShorthand(),\r\n },\r\n relief: {\r\n bg: baseColor,\r\n color: textColor,\r\n border: \"none\",\r\n shadow: `\r\n inset 0 1px 0 rgba(255,255,255,0.4),\r\n 0 3px 0 ${darkShade(baseColor, 40)},\r\n 0 4px 6px -1px ${fadeMix(baseColor, 40)}\r\n `,\r\n hoverBg: baseColor,\r\n hoverColor: textColor,\r\n hoverShadow: \"none\",\r\n },\r\n gradient: {\r\n bg: createGradient(this.colors, baseColor),\r\n color: textColor,\r\n border: \"none\",\r\n shadow: \"none\",\r\n hoverBg: createGradient(this.colors, baseColor),\r\n hoverColor: textColor,\r\n hoverShadow: \"none\",\r\n },\r\n link: {\r\n bg: \"transparent\",\r\n color: baseColor,\r\n border: \"none\",\r\n shadow: \"none\",\r\n hoverBg: \"transparent\",\r\n hoverColor: baseColor,\r\n hoverShadow: \"none\",\r\n },\r\n } as const;\r\n\r\n const transformsAuto = {\r\n solid: { hover: \"translateY(-3px)\", active: \"translateY(-3px)\" },\r\n faded: {},\r\n bordered: {},\r\n transparent: {},\r\n flat: {},\r\n ghost: {},\r\n shadow: { hover: \"translateY(-3px)\", active: \"translateY(-3px)\" },\r\n gradient: {},\r\n relief: { hover: \"translateY(2px)\", active: \"translateY(2px)\" },\r\n link: {},\r\n } as const;\r\n\r\n const presetToTransform = (p: typeof this.animation) => {\r\n switch (p) {\r\n case \"none\":\r\n return { hover: \"none\", active: \"none\" };\r\n case \"lift\":\r\n return { hover: \"translateY(-2px)\", active: \"translateY(-1px)\" };\r\n case \"push\":\r\n return { hover: \"translateY(2px)\", active: \"translateY(2px)\" };\r\n case \"scale\":\r\n return { hover: \"scale(1.05)\", active: \"scale(1.02)\" };\r\n case \"rotate\":\r\n return { hover: \"rotate(3deg)\", active: \"rotate(2deg)\" };\r\n case \"custom\":\r\n return {\r\n hover: \"var(--btn-hover-transform, none)\",\r\n active:\r\n \"var(--btn-active-transform, var(--btn-hover-transform, none))\",\r\n };\r\n default:\r\n return {};\r\n }\r\n };\r\n\r\n const current = (\r\n this.variant in variantDefaults ? this.variant : \"solid\"\r\n ) as keyof typeof variantDefaults;\r\n let v = { ...variantDefaults[current] };\r\n Object.assign(\r\n v,\r\n tuneSurfaceVariantForDefaultColor(this.color, current, variantDefaults[current]),\r\n );\r\n\r\n const semanticKey = resolveSemanticSurfaceKey(this.color);\r\n if (semanticKey && (current === \"flat\" || current === \"faded\")) {\r\n const soft = semanticSoftSurfaceTokens(semanticKey, {\r\n bordered: current === \"faded\",\r\n });\r\n Object.assign(v, {\r\n bg: soft.bg,\r\n color: soft.color,\r\n border: current === \"faded\" ? soft.border : \"none\",\r\n hoverBg: \"var(--sky-hover-primary)\",\r\n hoverColor: soft.color,\r\n hoverShadow: \"none\",\r\n ...(current === \"faded\" ? { hoverBorder: soft.border } : {}),\r\n });\r\n }\r\n\r\n const animationMode = this.inGroup ? \"none\" : this.animation;\r\n const chosen =\r\n animationMode === \"auto\"\r\n ? transformsAuto[current]\r\n : presetToTransform(animationMode);\r\n const hoverTransform = (chosen as any).hover ?? \"none\";\r\n const activeTransform = (chosen as any).active ?? hoverTransform ?? \"none\";\r\n\r\n const s = this._resolveSize(this.size);\r\n const basePadding = this.iconOnly ? this._toSquarePadding(s.padding) : s.padding;\r\n const baseGap = this.iconOnly ? \"0\" : s.gap;\r\n\r\n // Determine border width for current variant\r\n let borderWidth = 0;\r\n const hasBorder2 = this.variant === \"bordered\" || this.variant === \"ghost\";\r\n const hasBorder1 = this.variant === \"faded\" || this.variant === \"shadow\";\r\n\r\n if (hasBorder2) {\r\n borderWidth = 2;\r\n } else if (hasBorder1) {\r\n borderWidth = 1;\r\n } else if (v.border && v.border.includes(\"px\")) {\r\n const match = v.border.match(/(\\d+)px/);\r\n borderWidth = match ? parseInt(match[1]) : 0;\r\n }\r\n\r\n // For hover border width\r\n let hoverBorderWidth = borderWidth;\r\n if ((v as any).hoverBorder && (v as any).hoverBorder.includes(\"px\")) {\r\n const match = (v as any).hoverBorder.match(/(\\d+)px/);\r\n hoverBorderWidth = match ? parseInt(match[1]) : borderWidth;\r\n }\r\n\r\n // ADJUST PADDING for bordered variants to maintain same visual height\r\n let adjustedPadding = this.variant === \"link\" ? \"0\" : basePadding;\r\n if (borderWidth > 0) {\r\n // Parse the original padding\r\n const paddingParts = basePadding.split(\" \");\r\n if (paddingParts.length === 1) {\r\n const all = parseFloat(paddingParts[0]);\r\n const adjusted = Math.max(all - borderWidth, 2);\r\n adjustedPadding = `${adjusted}px`;\r\n } else if (paddingParts.length === 2) {\r\n // Format: \"vertical horizontal\"\r\n const vertical = parseFloat(paddingParts[0]);\r\n const horizontal = parseFloat(paddingParts[1]);\r\n\r\n // Reduce vertical padding by border width to maintain same content height\r\n const adjustedVertical = Math.max(vertical - borderWidth, 2);\r\n adjustedPadding = this.iconOnly\r\n ? `${adjustedVertical}px`\r\n : `${adjustedVertical}px ${horizontal}px`;\r\n } else if (paddingParts.length === 4) {\r\n // Format: \"top right bottom left\"\r\n const top = parseFloat(paddingParts[0]);\r\n const right = parseFloat(paddingParts[1]);\r\n const bottom = parseFloat(paddingParts[2]);\r\n const left = parseFloat(paddingParts[3]);\r\n\r\n // Reduce top/bottom padding by border width\r\n const adjustedTop = Math.max(top - borderWidth, 2);\r\n const adjustedBottom = Math.max(bottom - borderWidth, 2);\r\n adjustedPadding = `${adjustedTop}px ${right}px ${adjustedBottom}px ${left}px`;\r\n }\r\n }\r\n\r\n // Calculate base height using ADJUSTED padding\r\n const fontSize = parseFloat(s.fontSize);\r\n const iconPx = parseFloat(s.icon);\r\n let btnMinHeight: string;\r\n let btnMinWidth: string | undefined;\r\n if (this.variant === \"link\") {\r\n btnMinHeight = \"auto\";\r\n } else if (this.iconOnly) {\r\n const pad = parseFloat(adjustedPadding) || 0;\r\n const side = pad * 2 + iconPx + borderWidth * 2;\r\n btnMinHeight = `${side}px`;\r\n btnMinWidth = `${side}px`;\r\n } else {\r\n const paddingValues = adjustedPadding.split(\" \");\r\n const verticalPadding =\r\n paddingValues.length >= 2\r\n ? parseFloat(paddingValues[0]) +\r\n parseFloat(paddingValues[2] || paddingValues[0])\r\n : parseFloat(paddingValues[0]) * 2 || 16;\r\n const baseHeight = verticalPadding + fontSize + 4 + borderWidth * 2;\r\n btnMinHeight = `${baseHeight}px`;\r\n }\r\n\r\n const hoverBorderShorthand = (v as { hoverBorder?: string }).hoverBorder;\r\n const usesThemeBorder =\r\n this._isThemeBorderShorthand(v.border) ||\r\n this._isThemeBorderShorthand(hoverBorderShorthand);\r\n const borderColor = this._borderColorFromShorthand(v.border);\r\n const borderColorHover = this._borderColorFromShorthand(\r\n hoverBorderShorthand ?? v.border,\r\n );\r\n\r\n const vars: Record<string, string> = {\r\n \"--btn-color\": v.color,\r\n \"--btn-shadow\": v.shadow,\r\n \"--btn-radius\":\r\n this.variant === \"link\" ? \"0\" : resolveRadius(this.radius),\r\n \"--btn-color-hover\": v.hoverColor,\r\n \"--btn-shadow-hover\": v.hoverShadow,\r\n \"--btn-transform\": \"none\",\r\n \"--btn-transform-hover\": hoverTransform,\r\n \"--btn-transform-active\": activeTransform,\r\n \"--btn-padding\": adjustedPadding, // Use adjusted padding!\r\n \"--btn-font-size\": s.fontSize,\r\n \"--btn-gap\": baseGap,\r\n \"--icon-size\": s.icon,\r\n \"--spinner-size\": s.spinner,\r\n\r\n // Set min-height to maintain consistent visual height\r\n \"--btn-min-height\": btnMinHeight,\r\n ...(btnMinWidth ? { \"--btn-min-width\": btnMinWidth } : {}),\r\n\r\n // Keep border width variables\r\n \"--btn-border-width\": `${borderWidth}px`,\r\n \"--btn-border-width-hover\": `${hoverBorderWidth}px`,\r\n };\r\n\r\n if (usesThemeBorder) {\r\n vars[\"--btn-border\"] = v.border;\r\n vars[\"--btn-border-hover\"] = hoverBorderShorthand ?? v.border;\r\n } else {\r\n vars[\"--btn-border-color\"] = borderColor;\r\n vars[\"--btn-border-color-hover\"] = borderColorHover;\r\n }\r\n\r\n if (this.variant === \"gradient\") {\r\n vars[\"--btn-bg\"] = v.bg;\r\n vars[\"--btn-bg-hover\"] = v.hoverBg;\r\n } else {\r\n vars[\"--btn-bg-color\"] = v.bg;\r\n vars[\"--btn-bg-color-hover\"] = v.hoverBg;\r\n }\r\n\r\n if (this.inGroup) {\r\n // In grouped mode, do not apply sky-button's own hover skin.\r\n // The container group controls visual interaction consistency.\r\n if (this.variant === \"gradient\") {\r\n // One gradient is painted on sky-button-group's `.group`; segments stay clear\r\n // (same idea as `::slotted(button)` transparent fills for native buttons).\r\n vars[\"--btn-bg\"] = \"transparent\";\r\n vars[\"--btn-bg-hover\"] = \"color-mix(in srgb, white 8%, transparent)\";\r\n } else {\r\n vars[\"--btn-bg-color-hover\"] = vars[\"--btn-bg-color\"] ?? \"transparent\";\r\n }\r\n vars[\"--btn-color-hover\"] = vars[\"--btn-color\"];\r\n if (usesThemeBorder) {\r\n vars[\"--btn-border-hover\"] = vars[\"--btn-border\"] ?? v.border;\r\n } else {\r\n vars[\"--btn-border-color-hover\"] = vars[\"--btn-border-color\"] ?? borderColor;\r\n }\r\n vars[\"--btn-shadow-hover\"] = \"none\";\r\n if (this.variant === \"relief\") {\r\n vars[\"--btn-transform-hover\"] = \"translateY(2px)\";\r\n vars[\"--btn-transform-active\"] = \"translateY(2px)\";\r\n } else {\r\n vars[\"--btn-transform-hover\"] = \"none\";\r\n vars[\"--btn-transform-active\"] = \"none\";\r\n }\r\n }\r\n\r\n this._styleVars = vars;\r\n }\r\n\r\n /**\r\n * Focuses the internal native button.\r\n *\r\n * @returns {void}\r\n */\r\n public focusButton(): void {\r\n this.renderRoot.querySelector<HTMLButtonElement>(\"button\")?.focus();\r\n }\r\n\r\n /**\r\n * Triggers a click on the internal native button when enabled.\r\n *\r\n * @returns {void}\r\n */\r\n public clickButton(): void {\r\n if (this.disabled || this.loading) return;\r\n this.renderRoot.querySelector<HTMLButtonElement>(\"button\")?.click();\r\n }\r\n\r\n private _createRipple(event: MouseEvent): void {\r\n const button = event.currentTarget as HTMLElement;\r\n const rect = button.getBoundingClientRect();\r\n const ripple = document.createElement(\"span\");\r\n\r\n const size = Math.max(button.offsetWidth, button.offsetHeight);\r\n const x = event.clientX - rect.left - size / 2;\r\n const y = event.clientY - rect.top - size / 2;\r\n\r\n ripple.style.width = ripple.style.height = `${size}px`;\r\n ripple.style.left = `${x}px`;\r\n ripple.style.top = `${y}px`;\r\n\r\n const bg = getComputedStyle(button).backgroundColor || \"\";\r\n const isLightBg =\r\n bg.includes(\"255, 255, 255\") || bg.includes(\"rgba(0, 0, 0, 0)\");\r\n ripple.style.background = isLightBg\r\n ? \"rgba(0, 0, 0, 0.2)\"\r\n : \"rgba(255, 255, 255, 0.3)\";\r\n\r\n ripple.className = \"ripple\";\r\n const existing = button.querySelectorAll(\".ripple\");\r\n const maxRipples = 3;\r\n if (existing.length >= maxRipples && existing[0]) {\r\n existing[0].remove();\r\n }\r\n button.appendChild(ripple);\r\n ripple.addEventListener(\"animationend\", () => ripple.remove());\r\n }\r\n\r\n formDisabledCallback(disabled: boolean): void {\r\n this.disabled = disabled;\r\n }\r\n\r\n get formOwner(): HTMLFormElement | null {\r\n if (typeof document === \"undefined\") return null;\r\n const formId = typeof this.form === \"string\" ? this.form.trim() : \"\";\r\n return (\r\n this.internals.form ||\r\n (formId ? (document.getElementById(formId) as HTMLFormElement | null) : null) ||\r\n this.closest(\"form\")\r\n );\r\n }\r\n\r\n @eventOptions({ passive: false })\r\n private _handleClick(event: MouseEvent): void {\r\n if (this.disabled || this.loading) {\r\n event.preventDefault();\r\n return;\r\n }\r\n\r\n // If button type is \"button\", prevent any default navigation-like behavior\r\n if (this.type === \"button\") {\r\n event.preventDefault();\r\n }\r\n\r\n this._createRipple(event);\r\n\r\n const form = this.formOwner;\r\n if (this.type === \"submit\") {\r\n form?.requestSubmit();\r\n return;\r\n }\r\n if (this.type === \"reset\") {\r\n form?.reset();\r\n return;\r\n }\r\n }\r\n\r\n private _iconOnlyName(): string {\r\n return this.iconL || this.iconR;\r\n }\r\n\r\n override render() {\r\n const iconOnlyName = this._iconOnlyName();\r\n const ariaLabel =\r\n this.iconOnly && (this.label || iconOnlyName)\r\n ? this.label || iconOnlyName\r\n : undefined;\r\n\r\n return html`\r\n <button\r\n part=\"button\"\r\n style=${styleMap(this._styleVars)}\r\n type=${this.type}\r\n form=${ifDefined(this.form ?? undefined)}\r\n aria-label=${ifDefined(ariaLabel)}\r\n ?disabled=${this.disabled || this.loading}\r\n ?loading=${this.loading}\r\n @click=${this._handleClick}\r\n >\r\n ${when(\r\n this.iconOnly,\r\n () =>\r\n when(\r\n iconOnlyName,\r\n () => html`<sky-icon part=\"icon\" icon=\"${iconOnlyName}\"></sky-icon>`,\r\n ),\r\n () => html`\r\n ${when(this.iconL, () => html`<sky-icon part=\"icon\" icon=\"${this.iconL}\"></sky-icon>`)}\r\n <slot @slotchange=${this._onSlotChange}></slot>\r\n ${this._hasMeaningfulSlot ? nothing : this.label}\r\n ${when(this.iconR, () => html`<sky-icon part=\"icon\" icon=\"${this.iconR}\"></sky-icon>`)}\r\n `,\r\n )}\r\n ${when(\r\n this.loading,\r\n () => html`\r\n <div class=\"loading-overlay\" part=\"loading-overlay\">\r\n <div class=\"spinner\" part=\"spinner\"></div>\r\n </div>\r\n `,\r\n )}\r\n </button>\r\n `;\r\n }\r\n}\r\n"],"names":["SkyButton","LitElement","constructor","super","this","variant","color","type","form","size","radius","label","disabled","loading","iconL","iconR","iconOnly","colors","animation","inGroup","_hasMeaningfulSlot","_styleVars","_onSlotChange","e","slot","target","next","_slotHasMeaningfulContent","internals","attachInternals","slotEl","assignedNodes","flatten","some","n","nodeType","Node","ELEMENT_NODE","textContent","trim","length","_toSquarePadding","padding","py","parseFloat","split","Number","isFinite","_resolveSize","input","presets","xs","fontSize","gap","icon","spinner","sm","md","lg","xl","m","String","match","unit","fsNum","fs","to","Math","round","clamp","min","max","px","_isThemeBorderShorthand","border","test","_borderColorFromShorthand","willUpdate","changedProperties","p","has","Object","keys","baseColor","resolveColor","textColor","resolveTextColorForToken","variantDefaults","solid","bg","shadow","hoverBg","hoverColor","hoverShadow","faded","hoverBorder","bordered","hoverShade","transparent","fadeMix","flat","ghost","skyBorderPrimaryShorthand","relief","darkShade","gradient","createGradient","link","current","v","assign","tuneSurfaceVariantForDefaultColor","semanticKey","resolveSemanticSurfaceKey","soft","semanticSoftSurfaceTokens","animationMode","chosen","hover","active","presetToTransform","hoverTransform","activeTransform","s","basePadding","baseGap","borderWidth","hasBorder2","hasBorder1","includes","parseInt","hoverBorderWidth","adjustedPadding","paddingParts","all","vertical","horizontal","adjustedVertical","top","right","bottom","left","iconPx","btnMinHeight","btnMinWidth","side","paddingValues","hoverBorderShorthand","usesThemeBorder","borderColor","borderColorHover","vars","resolveRadius","focusButton","renderRoot","querySelector","focus","clickButton","click","_createRipple","event","button","currentTarget","rect","getBoundingClientRect","ripple","document","createElement","offsetWidth","offsetHeight","x","clientX","y","clientY","style","width","height","getComputedStyle","backgroundColor","isLightBg","background","className","existing","querySelectorAll","remove","appendChild","addEventListener","formDisabledCallback","formOwner","formId","getElementById","closest","_handleClick","preventDefault","reset","requestSubmit","_iconOnlyName","render","iconOnlyName","ariaLabel","html","styleMap","ifDefined","when","nothing","dependencies","SkyIcon","formAssociated","styles","css","__decorateClass","property","reflect","prototype","Boolean","state","eventOptions","passive","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,4 +1,24 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{css as e,LitElement as t,html as r}from"lit";import{property as o,customElement as a}from"lit/decorators.js";import{classMap as s}from"lit/directives/class-map.js";import{resolveRadius as i}from"../helper/utils/size-resolver.js";import{resolveColor as n}from"../helper/utils/color-resolver.js";var d=Object.defineProperty,l=Object.getOwnPropertyDescriptor,h=(e,t,r,o)=>{for(var a,s=o>1?void 0:o?l(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(o?a(t,r,s):a(s))||s);return o&&s&&d(t,r,s),s};let p=class extends t{constructor(){super(...arguments),this.bg="primary",this.blurLevel="none",this.radius="md",this.bodyPadding="none",this.elevation="md",this.outlined=!1,this.clickable=!1,this.headerBg="transparent",this.headerBlur="none",this.headerPadding="md",this.headerLayout="inline",this.headerInsetGap="sm",this.headerRadius="md",this.headerSeparatorColor="border-light",this.footerBg="transparent",this.footerBlur="none",this.footerPadding="md",this.footerLayout="inline",this.footerInsetGap="sm",this.footerRadius="md",this.footerSeparatorColor="border-light",this.padRatio=1,this.separators="none",this.overlays="none",this.insets="none",this._effHeaderSeparator=!1,this._effFooterSeparator=!1,this._effHeaderOverlay=!1,this._effFooterOverlay=!1,this._effHeaderInset=!1,this._effFooterInset=!1,this._varsCache={}}static _composeBackdrop(e){const t=p.BLUR_MAP[e]??e;return"none"===t?"none":`${t} var(--sky-saturation-secondary) var(--sky-brightness-secondary)`}static _composeElevation(e){const t={none:null,sm:"var(--sky-box-shadow-primary)",md:"var(--sky-box-shadow-secondary)",lg:"var(--sky-box-shadow-tertiary)"}[e];return null===t?"none":void 0===t?e:`var(--sky-box-shadow-inset), ${t}`}firstUpdated(){this._wireSlotChangeHandlers(),this._syncHeader(),this._syncFooter()}willUpdate(e){(e.has("separators")||e.has("overlays")||e.has("insets"))&&this._computeEffectiveFlags(),(e.has("bg")||e.has("blurLevel")||e.has("radius")||e.has("elevation"))&&this._applyCardVars(),(e.has("headerPadding")||e.has("bodyPadding")||e.has("footerPadding")||e.has("padRatio"))&&this._applyPaddingVars(),(e.has("headerBg")||e.has("footerBg")||e.has("headerBlur")||e.has("footerBlur")||e.has("headerRadius")||e.has("footerRadius")||e.has("headerInsetGap")||e.has("footerInsetGap")||e.has("headerSeparatorColor")||e.has("footerSeparatorColor")||e.has("separators")||e.has("insets")||e.has("overlays"))&&this._applySectionChrome()}_wireSlotChangeHandlers(){this.renderRoot.querySelector("#slot-title")?.addEventListener("slotchange",()=>this._syncHeader()),this.renderRoot.querySelector("#slot-subtitle")?.addEventListener("slotchange",()=>this._syncHeader()),this.renderRoot.querySelector("#slot-actions")?.addEventListener("slotchange",()=>this._syncHeader()),this.renderRoot.querySelector("#slot-f-title")?.addEventListener("slotchange",()=>this._syncFooter()),this.renderRoot.querySelector("#slot-f-subtitle")?.addEventListener("slotchange",()=>this._syncFooter()),this.renderRoot.querySelector("#slot-f-actions")?.addEventListener("slotchange",()=>this._syncFooter())}_syncHeader(){const e=this.renderRoot.querySelector("#hdr"),t=[this.renderRoot.querySelector("#slot-title"),this.renderRoot.querySelector("#slot-subtitle"),this.renderRoot.querySelector("#slot-actions")].filter(Boolean),r=t.some(e=>e.assignedNodes({flatten:!0}).length>0);e?.toggleAttribute("has-content",r),t.forEach(e=>e.toggleAttribute("empty",0===e.assignedNodes({flatten:!0}).length))}_syncFooter(){const e=this.renderRoot.querySelector("#ftr"),t=[this.renderRoot.querySelector("#slot-f-title"),this.renderRoot.querySelector("#slot-f-subtitle"),this.renderRoot.querySelector("#slot-f-actions")].filter(Boolean),r=t.some(e=>e.assignedNodes({flatten:!0}).length>0);e?.toggleAttribute("has-content",r),t.forEach(e=>e.toggleAttribute("empty",0===e.assignedNodes({flatten:!0}).length))}_expandPair(e){switch(e){case"both":return[!0,!0];case"header":return[!0,!1];case"footer":return[!1,!0];default:return[!1,!1]}}_computeEffectiveFlags(){[this._effHeaderSeparator,this._effFooterSeparator]=this._expandPair(this.separators),[this._effHeaderOverlay,this._effFooterOverlay]=this._expandPair(this.overlays),[this._effHeaderInset,this._effFooterInset]=this._expandPair(this.insets)}_setVar(e,t){this._varsCache[e]!==t&&(this.style.setProperty(e,t),this._varsCache[e]=t)}_resolveSectionBg(e,t,r){return t&&!r?p.SECTION_INSET_BG_MAP[e]??e:p.BG_MAP[e]??e}_resolveSectionGlassSurface(e){return p.GLASS_BG_TIERS.has(e)?"var(--sky-glass-surface)":"none"}_applyCardVars(){this._setVar("--_card-bg",p.BG_MAP[this.bg]??this.bg),this._setVar("--_card-glass-surface",p.GLASS_BG_TIERS.has(this.bg)?"var(--sky-glass-surface)":"none"),this._setVar("--_card-backdrop",p._composeBackdrop(this.blurLevel)),this._setVar("--_card-radius",i(this.radius)),this._setVar("--_card-shadow",p._composeElevation(this.elevation)),this._setVar("--_card-shadow-hover","var(--sky-box-shadow-inset), var(--sky-box-shadow-hover)")}_applyPaddingVars(){const e=p.SIZE_MAP[this.headerPadding]??this.headerPadding,t=p.SIZE_MAP[this.bodyPadding]??this.bodyPadding,r=p.SIZE_MAP[this.footerPadding]??this.footerPadding,o=Number.isFinite(this.padRatio)?Math.max(0,this.padRatio):1;this._setVar("--_header-pad-y",e),this._setVar("--_header-pad-x",`calc(${e} * ${o})`),this._setVar("--_body-pad-y",t),this._setVar("--_body-pad-x",`calc(${t} * ${o})`),this._setVar("--_footer-pad-y",r),this._setVar("--_footer-pad-x",`calc(${r} * ${o})`)}_applySectionChrome(){const e=this._effHeaderInset?"0px":this._effHeaderSeparator?"1px":"0px",t=this._effFooterInset?"0px":this._effFooterSeparator?"1px":"0px";this._setVar("--_header-separator",e),this._setVar("--_footer-separator",t),this._setVar("--_header-separator-color",n(this.headerSeparatorColor)),this._setVar("--_footer-separator-color",n(this.footerSeparatorColor));const r=this._effHeaderInset&&this._effHeaderSeparator?"1px solid var(--sky-border-light)":"0 solid transparent",o=this._effFooterInset&&this._effFooterSeparator?"1px solid var(--sky-border-light)":"0 solid transparent";this._setVar("--_header-inset-border",r),this._setVar("--_footer-inset-border",o),this._setVar("--_header-bg",this._resolveSectionBg(this.headerBg,this._effHeaderInset,this._effHeaderOverlay)),this._setVar("--_footer-bg",this._resolveSectionBg(this.footerBg,this._effFooterInset,this._effFooterOverlay)),this._setVar("--_header-glass-surface",this._effHeaderOverlay?this._resolveSectionGlassSurface(this.headerBg):"none"),this._setVar("--_footer-glass-surface",this._effFooterOverlay?this._resolveSectionGlassSurface(this.footerBg):"none"),this._setVar("--_header-backdrop",this._effHeaderOverlay?p._composeBackdrop(this.headerBlur):"none"),this._setVar("--_footer-backdrop",this._effFooterOverlay?p._composeBackdrop(this.footerBlur):"none"),this._setVar("--_header-radius",i(this.headerRadius)),this._setVar("--_footer-radius",i(this.footerRadius)),this._setVar("--_header-inset-gap",p.SIZE_MAP[this.headerInsetGap]??this.headerInsetGap),this._setVar("--_footer-inset-gap",p.SIZE_MAP[this.footerInsetGap]??this.footerInsetGap)}refreshLayout(){this._computeEffectiveFlags(),this._applyCardVars(),this._applyPaddingVars(),this._applySectionChrome(),this._syncHeader(),this._syncFooter()}render(){const e="inline"===this.headerLayout?"row":"stack",t="inline"===this.footerLayout?"row":"stack",o=s({section:!0,[e]:!0,"overlay-top":!!this._effHeaderOverlay,inset:!!this._effHeaderInset}),a=s({section:!0,[t]:!0,"overlay-bottom":!!this._effFooterOverlay,inset:!!this._effFooterInset});return r`
|
|
2
|
+
<div class="card" part="card">
|
|
3
|
+
<div class=${o} part="header" id="hdr">
|
|
4
|
+
<div class="main">
|
|
5
|
+
<slot name="title" id="slot-title"></slot>
|
|
6
|
+
<slot name="subtitle" id="slot-subtitle"></slot>
|
|
7
|
+
</div>
|
|
8
|
+
<slot name="actions" id="slot-actions"></slot>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<slot></slot>
|
|
12
|
+
|
|
13
|
+
<div class=${a} part="footer" id="ftr">
|
|
14
|
+
<div class="main">
|
|
15
|
+
<slot name="footer-title" id="slot-f-title"></slot>
|
|
16
|
+
<slot name="footer-subtitle" id="slot-f-subtitle"></slot>
|
|
17
|
+
</div>
|
|
18
|
+
<slot name="footer-actions" id="slot-f-actions"></slot>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
`}};p.BG_MAP={primary:"var(--sky-glass-primary)",secondary:"var(--sky-glass-secondary)",tertiary:"var(--sky-glass-tertiary)",transparent:"transparent"},p.BLUR_MAP={none:"none",xs:"blur(2px)",sm:"var(--sky-blur-secondary)",md:"var(--sky-blur-secondary)",lg:"var(--sky-blur-tertiary)"},p.SIZE_MAP={none:"0",sm:"var(--sky-space-1\\.5, 6px)",md:"var(--sky-space-4, 16px)",lg:"var(--sky-space-6, 24px)",xl:"var(--sky-space-8, 32px)"},p.GLASS_BG_TIERS=new Set(["primary","secondary","tertiary"]),p.SECTION_INSET_BG_MAP={primary:"var(--sky-hover-primary)",secondary:"var(--sky-hover-secondary)",tertiary:"var(--sky-hover-tertiary)",transparent:"transparent"},p.styles=e`
|
|
2
22
|
:host {
|
|
3
23
|
display: block;
|
|
4
24
|
}
|
|
@@ -194,25 +214,5 @@ import{__decorate as e,__metadata as t}from"tslib";import{LitElement as r,css as
|
|
|
194
214
|
transition: none;
|
|
195
215
|
}
|
|
196
216
|
}
|
|
197
|
-
|
|
198
|
-
<div class="card" part="card">
|
|
199
|
-
<div class=${r} part="header" id="hdr">
|
|
200
|
-
<div class="main">
|
|
201
|
-
<slot name="title" id="slot-title"></slot>
|
|
202
|
-
<slot name="subtitle" id="slot-subtitle"></slot>
|
|
203
|
-
</div>
|
|
204
|
-
<slot name="actions" id="slot-actions"></slot>
|
|
205
|
-
</div>
|
|
206
|
-
|
|
207
|
-
<slot></slot>
|
|
208
|
-
|
|
209
|
-
<div class=${o} part="footer" id="ftr">
|
|
210
|
-
<div class="main">
|
|
211
|
-
<slot name="footer-title" id="slot-f-title"></slot>
|
|
212
|
-
<slot name="footer-subtitle" id="slot-f-subtitle"></slot>
|
|
213
|
-
</div>
|
|
214
|
-
<slot name="footer-actions" id="slot-f-actions"></slot>
|
|
215
|
-
</div>
|
|
216
|
-
</div>
|
|
217
|
-
`}};e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"bg",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"blurLevel",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"radius",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"bodyPadding",void 0),e([a({type:String,reflect:!0}),t("design:type",String)],h.prototype,"elevation",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],h.prototype,"outlined",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Object)],h.prototype,"clickable",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"headerBg",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"headerBlur",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"headerPadding",void 0),e([a({type:String}),t("design:type",String)],h.prototype,"headerLayout",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"headerInsetGap",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"headerRadius",void 0),e([a({type:String}),t("design:type",Object)],h.prototype,"headerSeparatorColor",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"footerBg",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"footerBlur",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"footerPadding",void 0),e([a({type:String}),t("design:type",String)],h.prototype,"footerLayout",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"footerInsetGap",void 0),e([a({type:String,reflect:!0}),t("design:type",Object)],h.prototype,"footerRadius",void 0),e([a({type:String}),t("design:type",Object)],h.prototype,"footerSeparatorColor",void 0),e([a({type:Number}),t("design:type",Object)],h.prototype,"padRatio",void 0),e([a({type:String}),t("design:type",String)],h.prototype,"separators",void 0),e([a({type:String}),t("design:type",String)],h.prototype,"overlays",void 0),e([a({type:String}),t("design:type",String)],h.prototype,"insets",void 0),h=l=e([i("sky-card")],h);export{h as SkyCard};
|
|
217
|
+
`,h([o({type:String,reflect:!0})],p.prototype,"bg",2),h([o({type:String,reflect:!0})],p.prototype,"blurLevel",2),h([o({type:String,reflect:!0})],p.prototype,"radius",2),h([o({type:String,reflect:!0})],p.prototype,"bodyPadding",2),h([o({type:String,reflect:!0})],p.prototype,"elevation",2),h([o({type:Boolean,reflect:!0})],p.prototype,"outlined",2),h([o({type:Boolean,reflect:!0})],p.prototype,"clickable",2),h([o({type:String,reflect:!0})],p.prototype,"headerBg",2),h([o({type:String,reflect:!0})],p.prototype,"headerBlur",2),h([o({type:String,reflect:!0})],p.prototype,"headerPadding",2),h([o({type:String})],p.prototype,"headerLayout",2),h([o({type:String,reflect:!0})],p.prototype,"headerInsetGap",2),h([o({type:String,reflect:!0})],p.prototype,"headerRadius",2),h([o({type:String})],p.prototype,"headerSeparatorColor",2),h([o({type:String,reflect:!0})],p.prototype,"footerBg",2),h([o({type:String,reflect:!0})],p.prototype,"footerBlur",2),h([o({type:String,reflect:!0})],p.prototype,"footerPadding",2),h([o({type:String})],p.prototype,"footerLayout",2),h([o({type:String,reflect:!0})],p.prototype,"footerInsetGap",2),h([o({type:String,reflect:!0})],p.prototype,"footerRadius",2),h([o({type:String})],p.prototype,"footerSeparatorColor",2),h([o({type:Number})],p.prototype,"padRatio",2),h([o({type:String})],p.prototype,"separators",2),h([o({type:String})],p.prototype,"overlays",2),h([o({type:String})],p.prototype,"insets",2),p=h([a("sky-card")],p);export{p as SkyCard};
|
|
218
218
|
//# sourceMappingURL=sky-card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sky-card.js","sources":["../../src/sky-card/sky-card.ts"],"sourcesContent":[null],"names":["SkyCard","LitElement","constructor","this","bg","blurLevel","radius","bodyPadding","elevation","outlined","clickable","headerBg","headerBlur","headerPadding","headerLayout","headerInsetGap","headerRadius","headerSeparatorColor","footerBg","footerBlur","footerPadding","footerLayout","footerInsetGap","footerRadius","footerSeparatorColor","padRatio","separators","overlays","insets","_effHeaderSeparator","_effFooterSeparator","_effHeaderOverlay","_effFooterOverlay","_effHeaderInset","_effFooterInset","_varsCache","BG_MAP","primary","secondary","tertiary","transparent","BLUR_MAP","none","xs","sm","md","lg","SIZE_MAP","xl","GLASS_BG_TIERS","Set","SECTION_INSET_BG_MAP","_composeBackdrop","blur","SkyCard_1","_composeElevation","level","depth","undefined","styles","css","firstUpdated","_wireSlotChangeHandlers","_syncHeader","_syncFooter","willUpdate","changed","has","_computeEffectiveFlags","_applyCardVars","_applyPaddingVars","_applySectionChrome","renderRoot","querySelector","addEventListener","hdr","slots","filter","Boolean","some","s","assignedNodes","flatten","length","toggleAttribute","forEach","ftr","_expandPair","sh","_setVar","name","value","style","setProperty","_resolveSectionBg","token","isInset","isOverlay","_resolveSectionGlassSurface","resolveRadius","h","b","f","ratio","Number","isFinite","Math","max","headerSep","footerSep","resolveColor","headerInsetBorder","footerInsetBorder","refreshLayout","render","headerLayoutClass","footerLayoutClass","headerClasses","classMap","section","inset","footerClasses","html","__decorate","property","type","String","reflect","prototype","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sky-card.js","sources":["../../src/sky-card/sky-card.ts"],"sourcesContent":["import { LitElement, html, css, PropertyValues } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { resolveRadius } from \"../helper/utils/size-resolver\";\nimport { resolveColor } from \"../helper/utils/color-resolver\";\n\nexport type SkyCardElevation = \"none\" | \"sm\" | \"md\" | \"lg\";\nexport type SkyCardSectionLayout = \"inline\" | \"stack\";\nexport type SkyCardSectionTarget = \"both\" | \"header\" | \"footer\" | \"none\";\n\n/**\n * @element sky-card\n *\n * @summary Customizable card with configurable header/footer sections, blur/background styles, elevation, insets, overlays, and separators.\n *\n * @status stable\n * @since 1.0.0\n *\n * @documentation https://library.sky-ui.com/components/card\n *\n * @slot - Default slot for the card body content (replaces `bodyPadding` property if used).\n * @slot title - Slot for the card title.\n * @slot subtitle - Slot for the card subtitle.\n * @slot actions - Slot for the card actions (usually buttons).\n * @slot footer-title - Slot for the footer title.\n * @slot footer-subtitle - Slot for the footer subtitle.\n * @slot footer-actions - Slot for the footer actions (usually buttons).\n *\n * @csspart card - The main card container element.\n * @csspart header - The card header section.\n * @csspart footer - The card footer section.\n * @csspart ripple - The ripple animation element injected when the card is clicked.\n *\n * @property {string} bg - Background color of the card. Accepts color tokens or custom CSS colors. Default: `\"primary\"`.\n * @property {string} blurLevel - Level of blur applied to the background. Default: `\"none\"`.\n * @property {string} radius - Border radius of the card. Default: `\"md\"`.\n * @property {string} bodyPadding - Padding for the card body. Default: `\"none\"`.\n * @property {SkyCardElevation} elevation - Shadow depth of the card. Default: `\"md\"`.\n * @property {boolean} outlined - Whether the card has an outline. Default: `false`.\n * @property {boolean} clickable - Whether the card is clickable. Default: `false`.\n * @property {string} headerBg - Background color of the header. Default: `\"transparent\"`.\n * @property {string} headerBlur - Blur level for the header background. Default: `\"none\"`.\n * @property {string} headerPadding - Padding for the header. Default: `\"md\"`.\n * @property {SkyCardSectionLayout} headerLayout - Layout of the header content. Default: `\"inline\"`.\n * @property {string} headerInsetGap - Inset gap for the header section. Default: `\"sm\"`.\n * @property {string} headerRadius - Border radius for the header. Default: `\"md\"`.\n * @property {string} headerSeparatorColor - Color for the header separator. Default: `\"border-light\"`.\n * @property {string} footerBg - Background color of the footer. Default: `\"transparent\"`.\n * @property {string} footerBlur - Blur level for the footer background. Default: `\"none\"`.\n * @property {string} footerPadding - Padding for the footer. Default: `\"md\"`.\n * @property {SkyCardSectionLayout} footerLayout - Layout of the footer content. Default: `\"inline\"`.\n * @property {string} footerInsetGap - Inset gap for the footer section. Default: `\"sm\"`.\n * @property {string} footerRadius - Border radius for the footer. Default: `\"md\"`.\n * @property {string} footerSeparatorColor - Color for the footer separator. Default: `\"border-light\"`.\n * @property {number} padRatio - Ratio to adjust padding. Default: `1`.\n * @property {SkyCardSectionTarget} separators - Determines where separators should appear. Default: `\"none\"`.\n * @property {SkyCardSectionTarget} overlays - Determines where overlays should appear. Default: `\"none\"`.\n * @property {SkyCardSectionTarget} insets - Determines where insets should appear. Default: `\"none\"`.\n * @method refreshLayout Recomputes card variables and section synchronization.\n *\n * @example\n * ```html\n * <sky-card bg=\"primary\" elevation=\"lg\" headerpadding=\"md\">\n * <span slot=\"title\">Monthly Report</span>\n * <span slot=\"subtitle\">April 2026</span>\n * <div>Total revenue increased by 18%.</div>\n * <button slot=\"actions\">View Details</button>\n * </sky-card>\n * ```\n * ```vue\n * <template>\n * <sky-card bg=\"primary\" elevation=\"lg\" headerpadding=\"md\">\n * <span slot=\"title\">Monthly Report</span>\n * <span slot=\"subtitle\">April 2026</span>\n * <div>Total revenue increased by 18%.</div>\n * <button slot=\"actions\">View Details</button>\n * </sky-card>\n * </template>\n * ```\n * ```jsx\n * export default function Demo() {\n * return (\n * <sky-card bg=\"primary\" elevation=\"lg\" headerpadding=\"md\">\n * <span slot=\"title\">Monthly Report</span>\n * <span slot=\"subtitle\">April 2026</span>\n * <div>Total revenue increased by 18%.</div>\n * <button slot=\"actions\">View Details</button>\n * </sky-card>\n * );\n * }\n * ```\n */\n@customElement(\"sky-card\")\nexport class SkyCard extends LitElement {\n @property({ type: String, reflect: true }) bg = \"primary\";\n @property({ type: String, reflect: true }) blurLevel = \"none\";\n @property({ type: String, reflect: true }) radius = \"md\";\n @property({ type: String, reflect: true }) bodyPadding = \"none\";\n @property({ type: String, reflect: true }) elevation: SkyCardElevation = \"md\";\n @property({ type: Boolean, reflect: true }) outlined = false;\n @property({ type: Boolean, reflect: true }) clickable = false;\n\n @property({ type: String, reflect: true }) headerBg =\n \"transparent\";\n @property({ type: String, reflect: true })\n headerBlur = \"none\";\n @property({ type: String, reflect: true })\n headerPadding = \"md\";\n @property({ type: String }) headerLayout: SkyCardSectionLayout = \"inline\";\n @property({ type: String, reflect: true })\n headerInsetGap = \"sm\";\n @property({ type: String, reflect: true })\n headerRadius = \"md\";\n @property({ type: String })\n headerSeparatorColor = \"border-light\";\n\n @property({ type: String, reflect: true }) footerBg =\n \"transparent\";\n @property({ type: String, reflect: true })\n footerBlur = \"none\";\n @property({ type: String, reflect: true })\n footerPadding = \"md\";\n @property({ type: String }) footerLayout: SkyCardSectionLayout = \"inline\";\n @property({ type: String, reflect: true })\n footerInsetGap = \"sm\";\n @property({ type: String, reflect: true })\n footerRadius = \"md\";\n @property({ type: String })\n footerSeparatorColor = \"border-light\";\n\n @property({ type: Number }) padRatio = 1;\n\n @property({ type: String }) separators: SkyCardSectionTarget = \"none\";\n @property({ type: String }) overlays: SkyCardSectionTarget = \"none\";\n @property({ type: String }) insets: SkyCardSectionTarget = \"none\";\n\n private _effHeaderSeparator = false;\n private _effFooterSeparator = false;\n private _effHeaderOverlay = false;\n private _effFooterOverlay = false;\n private _effHeaderInset = false;\n private _effFooterInset = false;\n private _varsCache: Record<string, string> = {};\n\n private static readonly BG_MAP = {\n primary: \"var(--sky-glass-primary)\",\n secondary: \"var(--sky-glass-secondary)\",\n tertiary: \"var(--sky-glass-tertiary)\",\n transparent: \"transparent\",\n } as const;\n\n private static readonly BLUR_MAP = {\n none: \"none\",\n xs: \"blur(2px)\",\n sm: \"var(--sky-blur-secondary)\",\n md: \"var(--sky-blur-secondary)\",\n lg: \"var(--sky-blur-tertiary)\",\n } as const;\n\n private static readonly SIZE_MAP = {\n none: \"0\",\n sm: \"var(--sky-space-1\\\\.5, 6px)\",\n md: \"var(--sky-space-4, 16px)\",\n lg: \"var(--sky-space-6, 24px)\",\n xl: \"var(--sky-space-8, 32px)\",\n } as const;\n\n private static readonly GLASS_BG_TIERS = new Set([\n \"primary\",\n \"secondary\",\n \"tertiary\",\n ]);\n\n /** Non-overlay inset bars use hover tints — overlay sections own their own blur. */\n private static readonly SECTION_INSET_BG_MAP = {\n primary: \"var(--sky-hover-primary)\",\n secondary: \"var(--sky-hover-secondary)\",\n tertiary: \"var(--sky-hover-tertiary)\",\n transparent: \"transparent\",\n } as const;\n\n private static _composeBackdrop(blurLevel: string): string {\n const blur =\n SkyCard.BLUR_MAP[blurLevel as keyof typeof SkyCard.BLUR_MAP] ?? blurLevel;\n if (blur === \"none\") return \"none\";\n return `${blur} var(--sky-saturation-secondary) var(--sky-brightness-secondary)`;\n }\n\n private static _composeElevation(level: SkyCardElevation | string): string {\n const depthMap: Record<SkyCardElevation, string | null> = {\n none: null,\n sm: \"var(--sky-box-shadow-primary)\",\n md: \"var(--sky-box-shadow-secondary)\",\n lg: \"var(--sky-box-shadow-tertiary)\",\n };\n const depth = depthMap[level as SkyCardElevation];\n if (depth === null) return \"none\";\n if (depth === undefined) return level;\n return `var(--sky-box-shadow-inset), ${depth}`;\n }\n\n static styles = css`\n :host {\n display: block;\n }\n\n .card {\n display: flex;\n flex-direction: column;\n width: 100%;\n position: relative;\n overflow: hidden;\n box-sizing: border-box;\n color: var(--sky-text-primary);\n background: var(--_card-bg, var(--sky-glass-primary));\n background-image: var(--_card-glass-surface, var(--sky-glass-surface));\n border-radius: var(--_card-radius, var(--sky-radius-secondary));\n backdrop-filter: var(--_card-backdrop, none);\n -webkit-backdrop-filter: var(--_card-backdrop, none);\n box-shadow: var(\n --_card-shadow,\n var(--sky-box-shadow-inset),\n var(--sky-box-shadow-primary)\n );\n border: var(--_card-border, var(--sky-border-primary));\n transition: var(--sky-transition-default);\n }\n\n :host([outlined]) .card {\n box-shadow: none;\n border: var(--sky-border-primary);\n }\n :host([clickable]) .card {\n cursor: pointer;\n }\n :host([clickable]) .card:hover {\n box-shadow: var(\n --_card-shadow-hover,\n var(--sky-box-shadow-inset),\n var(--sky-box-shadow-hover)\n );\n }\n\n .section {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--sky-space-1\\\\.5, 6px);\n box-sizing: border-box;\n min-width: 0;\n background: transparent;\n backdrop-filter: none;\n -webkit-backdrop-filter: none;\n }\n .section.stack {\n flex-direction: column;\n align-items: stretch;\n gap: var(--sky-space-1\\\\.5, 6px);\n }\n .section.row {\n flex-direction: row;\n }\n\n .overlay-top {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1;\n }\n .overlay-bottom {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: 1;\n }\n\n .inset {\n overflow: hidden;\n box-shadow: none;\n }\n .section.inset[part=\"header\"] {\n border: var(--_header-inset-border, 0 solid transparent);\n border-radius: var(--_header-radius, var(--sky-radius-secondary));\n }\n .section.inset[part=\"footer\"] {\n border: var(--_footer-inset-border, 0 solid transparent);\n border-radius: var(--_footer-radius, var(--sky-radius-secondary));\n }\n .overlay-top.inset {\n top: var(--_header-inset-gap, var(--sky-space-2, 8px));\n left: var(--_header-inset-gap, var(--sky-space-2, 8px));\n right: var(--_header-inset-gap, var(--sky-space-2, 8px));\n }\n .overlay-bottom.inset {\n bottom: var(--_footer-inset-gap, var(--sky-space-2, 8px));\n left: var(--_footer-inset-gap, var(--sky-space-2, 8px));\n right: var(--_footer-inset-gap, var(--sky-space-2, 8px));\n }\n\n .section[part=\"header\"]:has(slot:not([empty])),\n .section[part=\"header\"][has-content] {\n background: var(--_header-bg);\n background-image: var(--_header-glass-surface, none);\n padding-block: var(--_header-pad-y, var(--sky-space-3, 12px));\n padding-inline: var(--_header-pad-x, var(--sky-space-4, 16px));\n }\n .section[part=\"footer\"]:has(slot:not([empty])),\n .section[part=\"footer\"][has-content] {\n background: var(--_footer-bg);\n background-image: var(--_footer-glass-surface, none);\n padding-block: var(--_footer-pad-y, var(--sky-space-3, 12px));\n padding-inline: var(--_footer-pad-x, var(--sky-space-4, 16px));\n }\n\n .section[part=\"header\"].overlay-top:has(slot:not([empty])),\n .section[part=\"header\"].overlay-top[has-content] {\n backdrop-filter: var(--_header-backdrop, none);\n -webkit-backdrop-filter: var(--_header-backdrop, none);\n }\n .section[part=\"footer\"].overlay-bottom:has(slot:not([empty])),\n .section[part=\"footer\"].overlay-bottom[has-content] {\n backdrop-filter: var(--_footer-backdrop, none);\n -webkit-backdrop-filter: var(--_footer-backdrop, none);\n }\n\n .section[part=\"header\"]:not(.inset):has(slot:not([empty])),\n .section[part=\"header\"]:not(.inset)[has-content] {\n border-bottom: var(--_header-separator, 0px) solid\n var(--_header-separator-color, var(--sky-border-light));\n }\n .section[part=\"footer\"]:not(.inset):has(slot:not([empty])),\n .section[part=\"footer\"]:not(.inset)[has-content] {\n border-top: var(--_footer-separator, 0px) solid\n var(--_footer-separator-color, var(--sky-border-light));\n }\n\n ::slotted(:not([slot])) {\n box-sizing: border-box;\n padding-block: var(--_body-pad-y, var(--sky-space-3, 12px));\n padding-inline: var(--_body-pad-x, var(--sky-space-4, 16px));\n }\n slot[empty] {\n display: none;\n }\n\n ::slotted([slot=\"title\"]) {\n font-size: var(--sky-font-size-lg, 18px);\n font-weight: var(--sky-font-weight-semibold, 600);\n margin: 0;\n color: var(--sky-text-primary);\n text-align: start;\n text-shadow: var(--sky-text-shadow-on-glass, none);\n }\n ::slotted([slot=\"subtitle\"]) {\n font-size: var(--sky-font-size-sm, 14px);\n margin: 0;\n color: var(--sky-text-secondary);\n text-align: start;\n text-shadow: var(--sky-text-shadow-on-glass, none);\n }\n ::slotted([slot=\"actions\"]) {\n display: inline-flex;\n gap: var(--sky-space-1\\\\.5, 6px);\n align-items: center;\n margin-left: auto;\n }\n ::slotted([slot=\"footer-title\"]) {\n font-size: var(--sky-font-size-md, 16px);\n font-weight: var(--sky-font-weight-medium, 500);\n margin: 0;\n color: var(--sky-text-primary);\n text-align: start;\n }\n ::slotted([slot=\"footer-subtitle\"]) {\n font-size: var(--sky-font-size-xs, 12px);\n margin: 0;\n color: var(--sky-text-secondary);\n text-align: start;\n }\n ::slotted([slot=\"footer-actions\"]) {\n display: inline-flex;\n gap: var(--sky-space-1\\\\.5, 6px);\n align-items: center;\n margin-left: auto;\n }\n\n .main {\n width: 100%;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .card {\n transition: none;\n }\n }\n `;\n\n override firstUpdated(): void {\n this._wireSlotChangeHandlers();\n\n this._syncHeader();\n this._syncFooter();\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n if (\n changed.has(\"separators\") ||\n changed.has(\"overlays\") ||\n changed.has(\"insets\")\n ) {\n this._computeEffectiveFlags();\n }\n\n if (\n changed.has(\"bg\") ||\n changed.has(\"blurLevel\") ||\n changed.has(\"radius\") ||\n changed.has(\"elevation\")\n ) {\n this._applyCardVars();\n }\n if (\n changed.has(\"headerPadding\") ||\n changed.has(\"bodyPadding\") ||\n changed.has(\"footerPadding\") ||\n changed.has(\"padRatio\")\n ) {\n this._applyPaddingVars();\n }\n if (\n changed.has(\"headerBg\") ||\n changed.has(\"footerBg\") ||\n changed.has(\"headerBlur\") ||\n changed.has(\"footerBlur\") ||\n changed.has(\"headerRadius\") ||\n changed.has(\"footerRadius\") ||\n changed.has(\"headerInsetGap\") ||\n changed.has(\"footerInsetGap\") ||\n changed.has(\"headerSeparatorColor\") ||\n changed.has(\"footerSeparatorColor\") ||\n changed.has(\"separators\") ||\n changed.has(\"insets\") ||\n changed.has(\"overlays\")\n ) {\n this._applySectionChrome();\n }\n }\n\n private _wireSlotChangeHandlers(): void {\n this.renderRoot\n .querySelector(\"#slot-title\")\n ?.addEventListener(\"slotchange\", () => this._syncHeader());\n this.renderRoot\n .querySelector(\"#slot-subtitle\")\n ?.addEventListener(\"slotchange\", () => this._syncHeader());\n this.renderRoot\n .querySelector(\"#slot-actions\")\n ?.addEventListener(\"slotchange\", () => this._syncHeader());\n\n this.renderRoot\n .querySelector(\"#slot-f-title\")\n ?.addEventListener(\"slotchange\", () => this._syncFooter());\n this.renderRoot\n .querySelector(\"#slot-f-subtitle\")\n ?.addEventListener(\"slotchange\", () => this._syncFooter());\n this.renderRoot\n .querySelector(\"#slot-f-actions\")\n ?.addEventListener(\"slotchange\", () => this._syncFooter());\n }\n\n private _syncHeader(): void {\n const hdr = this.renderRoot.querySelector(\"#hdr\");\n const slots = [\n this.renderRoot.querySelector(\"#slot-title\") as HTMLSlotElement | null,\n this.renderRoot.querySelector(\"#slot-subtitle\") as HTMLSlotElement | null,\n this.renderRoot.querySelector(\"#slot-actions\") as HTMLSlotElement | null,\n ].filter(Boolean) as HTMLSlotElement[];\n\n const has = slots.some(\n (s) => s.assignedNodes({ flatten: true }).length > 0\n );\n hdr?.toggleAttribute(\"has-content\", has);\n\n slots.forEach((s) =>\n s.toggleAttribute(\n \"empty\",\n s.assignedNodes({ flatten: true }).length === 0\n )\n );\n }\n\n private _syncFooter(): void {\n const ftr = this.renderRoot.querySelector(\"#ftr\");\n const slots = [\n this.renderRoot.querySelector(\"#slot-f-title\") as HTMLSlotElement | null,\n this.renderRoot.querySelector(\n \"#slot-f-subtitle\"\n ) as HTMLSlotElement | null,\n this.renderRoot.querySelector(\n \"#slot-f-actions\"\n ) as HTMLSlotElement | null,\n ].filter(Boolean) as HTMLSlotElement[];\n\n const has = slots.some(\n (s) => s.assignedNodes({ flatten: true }).length > 0\n );\n ftr?.toggleAttribute(\"has-content\", has);\n slots.forEach((s) =>\n s.toggleAttribute(\n \"empty\",\n s.assignedNodes({ flatten: true }).length === 0\n )\n );\n }\n\n private _expandPair(sh: SkyCardSectionTarget): [boolean, boolean] {\n switch (sh) {\n case \"both\":\n return [true, true];\n case \"header\":\n return [true, false];\n case \"footer\":\n return [false, true];\n case \"none\":\n default:\n return [false, false];\n }\n }\n\n private _computeEffectiveFlags(): void {\n [this._effHeaderSeparator, this._effFooterSeparator] = this._expandPair(\n this.separators\n );\n [this._effHeaderOverlay, this._effFooterOverlay] = this._expandPair(\n this.overlays\n );\n [this._effHeaderInset, this._effFooterInset] = this._expandPair(\n this.insets\n );\n }\n\n private _setVar(name: string, value: string): void {\n if (this._varsCache[name] === value) return;\n this.style.setProperty(name, value);\n this._varsCache[name] = value;\n }\n\n private _resolveSectionBg(\n token: string,\n isInset: boolean,\n isOverlay: boolean\n ): string {\n if (isInset && !isOverlay) {\n return (\n SkyCard.SECTION_INSET_BG_MAP[\n token as keyof typeof SkyCard.SECTION_INSET_BG_MAP\n ] ?? token\n );\n }\n return SkyCard.BG_MAP[token as keyof typeof SkyCard.BG_MAP] ?? token;\n }\n\n private _resolveSectionGlassSurface(token: string): string {\n return SkyCard.GLASS_BG_TIERS.has(token)\n ? \"var(--sky-glass-surface)\"\n : \"none\";\n }\n\n private _applyCardVars(): void {\n this._setVar(\n \"--_card-bg\",\n SkyCard.BG_MAP[this.bg as keyof typeof SkyCard.BG_MAP] ?? this.bg\n );\n this._setVar(\n \"--_card-glass-surface\",\n SkyCard.GLASS_BG_TIERS.has(this.bg)\n ? \"var(--sky-glass-surface)\"\n : \"none\"\n );\n\n this._setVar(\n \"--_card-backdrop\",\n SkyCard._composeBackdrop(this.blurLevel)\n );\n\n this._setVar(\"--_card-radius\", resolveRadius(this.radius));\n this._setVar(\n \"--_card-shadow\",\n SkyCard._composeElevation(this.elevation)\n );\n this._setVar(\n \"--_card-shadow-hover\",\n \"var(--sky-box-shadow-inset), var(--sky-box-shadow-hover)\"\n );\n }\n\n private _applyPaddingVars(): void {\n const h =\n SkyCard.SIZE_MAP[this.headerPadding as keyof typeof SkyCard.SIZE_MAP] ??\n this.headerPadding;\n const b =\n SkyCard.SIZE_MAP[this.bodyPadding as keyof typeof SkyCard.SIZE_MAP] ??\n this.bodyPadding;\n const f =\n SkyCard.SIZE_MAP[this.footerPadding as keyof typeof SkyCard.SIZE_MAP] ??\n this.footerPadding;\n\n const ratio = Number.isFinite(this.padRatio)\n ? Math.max(0, this.padRatio)\n : 1;\n\n this._setVar(\"--_header-pad-y\", h);\n this._setVar(\"--_header-pad-x\", `calc(${h} * ${ratio})`);\n\n this._setVar(\"--_body-pad-y\", b);\n this._setVar(\"--_body-pad-x\", `calc(${b} * ${ratio})`);\n\n this._setVar(\"--_footer-pad-y\", f);\n this._setVar(\"--_footer-pad-x\", `calc(${f} * ${ratio})`);\n }\n\n private _applySectionChrome(): void {\n const headerSep = this._effHeaderInset\n ? \"0px\"\n : this._effHeaderSeparator\n ? \"1px\"\n : \"0px\";\n const footerSep = this._effFooterInset\n ? \"0px\"\n : this._effFooterSeparator\n ? \"1px\"\n : \"0px\";\n this._setVar(\"--_header-separator\", headerSep);\n this._setVar(\"--_footer-separator\", footerSep);\n\n this._setVar(\"--_header-separator-color\", resolveColor(this.headerSeparatorColor));\n this._setVar(\"--_footer-separator-color\", resolveColor(this.footerSeparatorColor));\n\n const headerInsetBorder =\n this._effHeaderInset && this._effHeaderSeparator\n ? \"1px solid var(--sky-border-light)\"\n : \"0 solid transparent\";\n const footerInsetBorder =\n this._effFooterInset && this._effFooterSeparator\n ? \"1px solid var(--sky-border-light)\"\n : \"0 solid transparent\";\n this._setVar(\"--_header-inset-border\", headerInsetBorder);\n this._setVar(\"--_footer-inset-border\", footerInsetBorder);\n\n this._setVar(\n \"--_header-bg\",\n this._resolveSectionBg(\n this.headerBg,\n this._effHeaderInset,\n this._effHeaderOverlay\n )\n );\n this._setVar(\n \"--_footer-bg\",\n this._resolveSectionBg(\n this.footerBg,\n this._effFooterInset,\n this._effFooterOverlay\n )\n );\n this._setVar(\n \"--_header-glass-surface\",\n this._effHeaderOverlay\n ? this._resolveSectionGlassSurface(this.headerBg)\n : \"none\"\n );\n this._setVar(\n \"--_footer-glass-surface\",\n this._effFooterOverlay\n ? this._resolveSectionGlassSurface(this.footerBg)\n : \"none\"\n );\n this._setVar(\n \"--_header-backdrop\",\n this._effHeaderOverlay\n ? SkyCard._composeBackdrop(this.headerBlur)\n : \"none\"\n );\n this._setVar(\n \"--_footer-backdrop\",\n this._effFooterOverlay\n ? SkyCard._composeBackdrop(this.footerBlur)\n : \"none\"\n );\n\n this._setVar(\n \"--_header-radius\",\n resolveRadius(this.headerRadius)\n );\n this._setVar(\n \"--_footer-radius\",\n resolveRadius(this.footerRadius)\n );\n this._setVar(\n \"--_header-inset-gap\",\n SkyCard.SIZE_MAP[this.headerInsetGap as keyof typeof SkyCard.SIZE_MAP] ??\n this.headerInsetGap\n );\n this._setVar(\n \"--_footer-inset-gap\",\n SkyCard.SIZE_MAP[this.footerInsetGap as keyof typeof SkyCard.SIZE_MAP] ??\n this.footerInsetGap\n );\n }\n /**\n * Recomputes card variables and section synchronization.\n *\n * @returns {void}\n */\n public refreshLayout(): void {\n this._computeEffectiveFlags();\n this._applyCardVars();\n this._applyPaddingVars();\n this._applySectionChrome();\n this._syncHeader();\n this._syncFooter();\n }\n\n override render() {\n const headerLayoutClass = this.headerLayout === \"inline\" ? \"row\" : \"stack\";\n const footerLayoutClass = this.footerLayout === \"inline\" ? \"row\" : \"stack\";\n const headerClasses = classMap({\n section: true,\n [headerLayoutClass]: true,\n \"overlay-top\": !!this._effHeaderOverlay,\n inset: !!this._effHeaderInset,\n });\n const footerClasses = classMap({\n section: true,\n [footerLayoutClass]: true,\n \"overlay-bottom\": !!this._effFooterOverlay,\n inset: !!this._effFooterInset,\n });\n\n return html`\n <div class=\"card\" part=\"card\">\n <div class=${headerClasses} part=\"header\" id=\"hdr\">\n <div class=\"main\">\n <slot name=\"title\" id=\"slot-title\"></slot>\n <slot name=\"subtitle\" id=\"slot-subtitle\"></slot>\n </div>\n <slot name=\"actions\" id=\"slot-actions\"></slot>\n </div>\n\n <slot></slot>\n\n <div class=${footerClasses} part=\"footer\" id=\"ftr\">\n <div class=\"main\">\n <slot name=\"footer-title\" id=\"slot-f-title\"></slot>\n <slot name=\"footer-subtitle\" id=\"slot-f-subtitle\"></slot>\n </div>\n <slot name=\"footer-actions\" id=\"slot-f-actions\"></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["SkyCard","LitElement","constructor","super","arguments","this","bg","blurLevel","radius","bodyPadding","elevation","outlined","clickable","headerBg","headerBlur","headerPadding","headerLayout","headerInsetGap","headerRadius","headerSeparatorColor","footerBg","footerBlur","footerPadding","footerLayout","footerInsetGap","footerRadius","footerSeparatorColor","padRatio","separators","overlays","insets","_effHeaderSeparator","_effFooterSeparator","_effHeaderOverlay","_effFooterOverlay","_effHeaderInset","_effFooterInset","_varsCache","_composeBackdrop","blur","BLUR_MAP","_composeElevation","level","depth","none","sm","md","lg","firstUpdated","_wireSlotChangeHandlers","_syncHeader","_syncFooter","willUpdate","changed","has","_computeEffectiveFlags","_applyCardVars","_applyPaddingVars","_applySectionChrome","renderRoot","querySelector","addEventListener","hdr","slots","filter","Boolean","some","s","assignedNodes","flatten","length","toggleAttribute","forEach","ftr","_expandPair","sh","_setVar","name","value","style","setProperty","_resolveSectionBg","token","isInset","isOverlay","SECTION_INSET_BG_MAP","BG_MAP","_resolveSectionGlassSurface","GLASS_BG_TIERS","resolveRadius","h","SIZE_MAP","b","f","ratio","Number","isFinite","Math","max","headerSep","footerSep","resolveColor","headerInsetBorder","footerInsetBorder","refreshLayout","render","headerLayoutClass","footerLayoutClass","headerClasses","classMap","section","inset","footerClasses","html","primary","secondary","tertiary","transparent","xs","xl","Set","styles","css","__decorateClass","property","type","String","reflect","prototype","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -91,12 +91,12 @@ export type SkyCheckboxValueClearedDetail = {
|
|
|
91
91
|
*/
|
|
92
92
|
export declare class SkyCheckbox extends FormControlBase {
|
|
93
93
|
static shadowRootOptions: {
|
|
94
|
-
delegatesFocus: boolean;
|
|
95
94
|
clonable?: boolean;
|
|
96
|
-
customElementRegistry?: CustomElementRegistry;
|
|
95
|
+
customElementRegistry?: CustomElementRegistry | null;
|
|
97
96
|
mode: ShadowRootMode;
|
|
98
97
|
serializable?: boolean;
|
|
99
98
|
slotAssignment?: SlotAssignmentMode;
|
|
99
|
+
delegatesFocus: boolean;
|
|
100
100
|
};
|
|
101
101
|
label: string;
|
|
102
102
|
id: string;
|
|
@@ -1,4 +1,45 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{LitElement as e,css as t,nothing as i,html as s}from"lit";import{property as r,state as a,customElement as o}from"lit/decorators.js";import{when as n}from"lit/directives/when.js";import{classMap as c}from"lit/directives/class-map.js";import{styleMap as h}from"lit/directives/style-map.js";import{resolveColor as l}from"../helper/utils/color-resolver.js";import{FormControlBase as d}from"../helper/internals/form-control-base.js";var p=Object.defineProperty,u=Object.getOwnPropertyDescriptor,v=(e,t,i,s)=>{for(var r,a=s>1?void 0:s?u(t,i):t,o=e.length-1;o>=0;o--)(r=e[o])&&(a=(s?r(t,i,a):r(a))||a);return s&&a&&p(t,i,a),a};let y=class extends d{constructor(){super(...arguments),this.label="",this.id="",this.value="",this.color="primary",this.defaultChecked=!1,this.showErrors=!1,this.prefix="",this.suffix="",this.prefixColor="",this.suffixColor="",this.validationActive=!1,this.invalid=!1,this._checked=!1,this._indeterminate=!1,this.validationErrors=[],this._hasMeaningfulSlot=!1,this._inputId=`sky-cb-${Math.random().toString(36).slice(2)}`,this._onSlotChange=e=>{const t=e.target,i=this._slotHasMeaningfulContent(t);i!==this._hasMeaningfulSlot&&(this._hasMeaningfulSlot=i)},this.handleBlur=e=>{this.validationActive=!0,this.validateInput();const t=this.shadowRoot?.querySelector(".cbx");t?.classList.remove("active"),this.syncValidity()},this._onKeyDown=e=>{this.disabled||this.readonly||" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),this._inputElement?.click())}}get checked(){return this._checked}set checked(e){const t=this._checked;this._checked=e,e&&this.indeterminate&&(this.indeterminate=!1,this._inputElement&&(this._inputElement.indeterminate=!1)),this.requestUpdate("checked",t),this._inputElement&&(this._inputElement.checked=e,this._inputElement.indeterminate=this.indeterminate),this._updateVisualState(),this.syncFormValue(),this.syncValidity()}get indeterminate(){return this._indeterminate}set indeterminate(e){const t=this._indeterminate;this._indeterminate=e,e&&this.checked&&(this.checked=!1),this.requestUpdate("indeterminate",t),this._inputElement&&(this._inputElement.indeterminate=e),this._updateVisualState(),this.syncValidity()}getFormValue(){return this.name?this.disabled?null:this.checked?this.value&&""!==this.value.trim()?this.value:"on":null:null}setValueFromFormState(e){if(null===e)return this.checked=!1,void(this.indeterminate=!1);"string"==typeof e&&(this.value&&""!==this.value.trim()?this.checked=e===this.value:this.checked="on"===e||"true"===e||"1"===e,this.indeterminate=!1)}getValidityAnchor(){return this.shadowRoot?.querySelector('input[type="checkbox"]')??void 0}isEmpty(){return!this.checked}getNativeControl(){return this.shadowRoot?.querySelector('input[type="checkbox"]')}onFormReset(){this.checked=this.defaultChecked,this.indeterminate=!1,this.validationErrors=[],this.invalid=!1,this.validationActive=!1}willUpdate(e){e.has("color")&&this.style.setProperty("--checkbox-color",l(this.color))}updated(e){super.updated(e),this._inputElement||(this._inputElement=this.shadowRoot?.querySelector('input[type="checkbox"]')),this._inputElement&&(this._inputElement.checked=this.checked,this._inputElement.indeterminate=this.indeterminate,this._inputElement.disabled=this.disabled||this.readonly),this._updateVisualState(),(e.has("checked")||e.has("name")||e.has("disabled")||e.has("readonly")||e.has("required")||e.has("value"))&&(this.syncFormValue(),this.syncValidity())}handleChange(e){const t=e.target;if(this.disabled||this.readonly)return this._inputElement&&(this._inputElement.checked=this.checked,this._inputElement.indeterminate=this.indeterminate),e.preventDefault(),void e.stopPropagation();this.checked=t.checked,this.validateInput();const i=this.value&&""!==this.value.trim()?this.checked?this.value:void 0:this.checked;this.dispatchEvent(new CustomEvent("value-changed",{detail:{checked:this.checked,value:i},bubbles:!0,composed:!0}))}validateInput(){if(!this.validationActive)return!0;this.validationErrors=[],this.required&&!this.checked&&(this.validationErrors=[this.requiredMessage]),this.dispatchEvent(new CustomEvent("validation-error",{detail:{errors:[...this.validationErrors]},bubbles:!0,composed:!0}));const e=this.shadowRoot?.querySelector(".cbx");this.validationErrors.length?e?.classList.add("invalid"):e?.classList.remove("invalid");const t=0===this.validationErrors.length;return this.invalid=!t,t}check(){this.disabled||this.readonly||(this.checked=!0,this.indeterminate=!1)}uncheck(){this.disabled||this.readonly||(this.checked=!1,this.indeterminate=!1)}toggle(){this.disabled||this.readonly||(this.checked=!this.checked,this.indeterminate=!1)}reset(){this.onFormReset(),this.syncFormValue(),this.syncValidity(),this.dispatchEvent(new CustomEvent("value-cleared",{detail:{value:this.value,checked:this.checked},bubbles:!0,composed:!0}))}_updateVisualState(){const e=this.shadowRoot?.querySelector(".cbx");e&&(this.checked?(e.classList.add("checked"),e.classList.remove("indeterminate")):this.indeterminate?(e.classList.add("indeterminate"),e.classList.remove("checked")):e.classList.remove("checked","indeterminate"))}_slotHasMeaningfulContent(e){return e.assignedNodes({flatten:!0}).some(e=>e.nodeType===Node.ELEMENT_NODE||(e.textContent??"").trim().length>0)}get _hasTextContent(){return!!this.prefix||!!this.suffix||!!this.label||this._hasMeaningfulSlot}render(){const e=this._hasTextContent,t=c({"checkbox-wrapper":!0,"no-text":!e}),r=c({cbx:!0,checked:this.checked,indeterminate:this.indeterminate}),a=c({box:!0,"box--checked":this.checked,"box--indeterminate":this.indeterminate,"box--invalid":this.validationErrors.length>0}),o="box"+(this.checked?" box--checked":"")+(this.indeterminate?" box--indeterminate":"")+(this.validationErrors.length?" box--invalid":"");return s`
|
|
2
|
+
<div class=${t} part="wrapper">
|
|
3
|
+
<input
|
|
4
|
+
type="checkbox"
|
|
5
|
+
id="${this._inputId}"
|
|
6
|
+
class="inp-cbx"
|
|
7
|
+
part="input"
|
|
8
|
+
.checked="${this.checked}"
|
|
9
|
+
@blur=${this.handleBlur}
|
|
10
|
+
@keydown=${this._onKeyDown}
|
|
11
|
+
.disabled="${this.disabled||this.readonly}"
|
|
12
|
+
.value="${this.value}"
|
|
13
|
+
@change=${this.handleChange}
|
|
14
|
+
aria-checked=${this.indeterminate?"mixed":this.checked}
|
|
15
|
+
aria-invalid="${this.validationErrors.length>0}"
|
|
16
|
+
aria-readonly="${this.readonly}"
|
|
17
|
+
/>
|
|
18
|
+
<label class=${r} part="label" for="${this._inputId}">
|
|
19
|
+
<span part=${o} class=${a}>
|
|
20
|
+
<svg viewBox="0 0 12 10" class="checkmark" part="checkmark">
|
|
21
|
+
<polyline points="1.5 6 4.5 9 10.5 1"></polyline>
|
|
22
|
+
</svg>
|
|
23
|
+
<div class="indeterminate-line" part="indeterminate-line"></div>
|
|
24
|
+
</span>
|
|
25
|
+
<slot @slotchange=${this._onSlotChange}></slot>
|
|
26
|
+
${n(e,()=>{const e=h({textAlign:"start",color:"var(--sky-text-primary)"}),t=h({color:this.prefixColor,display:"inline-block"}),r=h({color:this.suffixColor,display:"inline-block"});return s`
|
|
27
|
+
<span style=${e} part="text">
|
|
28
|
+
<div style=${t} part="prefix">
|
|
29
|
+
${this.prefix}
|
|
30
|
+
</div>
|
|
31
|
+
${this._hasMeaningfulSlot?i:this.label}
|
|
32
|
+
<div style=${r} part="suffix">
|
|
33
|
+
${this.suffix}
|
|
34
|
+
</div>
|
|
35
|
+
</span>
|
|
36
|
+
`})}
|
|
37
|
+
</label>
|
|
38
|
+
</div>
|
|
39
|
+
${n(this.showErrors&&this.validationErrors.length>0&&this.validationActive,()=>s`<div class="error-message" part="error-message">
|
|
40
|
+
${this.validationErrors[0]}
|
|
41
|
+
</div>`)}
|
|
42
|
+
`}};y.shadowRootOptions={...e.shadowRootOptions,delegatesFocus:!0},y.styles=t`
|
|
2
43
|
:host {
|
|
3
44
|
display: block;
|
|
4
45
|
position: relative;
|
|
@@ -242,46 +283,5 @@ input[type="checkbox"]:checked + .cbx span:first-child {
|
|
|
242
283
|
transition: none;
|
|
243
284
|
}
|
|
244
285
|
}
|
|
245
|
-
|
|
246
|
-
<div class=${t} part="wrapper">
|
|
247
|
-
<input
|
|
248
|
-
type="checkbox"
|
|
249
|
-
id="${this._inputId}"
|
|
250
|
-
class="inp-cbx"
|
|
251
|
-
part="input"
|
|
252
|
-
.checked="${this.checked}"
|
|
253
|
-
@blur=${this.handleBlur}
|
|
254
|
-
@keydown=${this._onKeyDown}
|
|
255
|
-
.disabled="${this.disabled||this.readonly}"
|
|
256
|
-
.value="${this.value}"
|
|
257
|
-
@change=${this.handleChange}
|
|
258
|
-
aria-checked=${this.indeterminate?"mixed":this.checked}
|
|
259
|
-
aria-invalid="${this.validationErrors.length>0}"
|
|
260
|
-
aria-readonly="${this.readonly}"
|
|
261
|
-
/>
|
|
262
|
-
<label class=${i} part="label" for="${this._inputId}">
|
|
263
|
-
<span part=${a} class=${s}>
|
|
264
|
-
<svg viewBox="0 0 12 10" class="checkmark" part="checkmark">
|
|
265
|
-
<polyline points="1.5 6 4.5 9 10.5 1"></polyline>
|
|
266
|
-
</svg>
|
|
267
|
-
<div class="indeterminate-line" part="indeterminate-line"></div>
|
|
268
|
-
</span>
|
|
269
|
-
<slot @slotchange=${this._onSlotChange}></slot>
|
|
270
|
-
${h(e,()=>{const e=l({textAlign:"start",color:"var(--sky-text-primary)"}),t=l({color:this.prefixColor,display:"inline-block"}),i=l({color:this.suffixColor,display:"inline-block"});return o`
|
|
271
|
-
<span style=${e} part="text">
|
|
272
|
-
<div style=${t} part="prefix">
|
|
273
|
-
${this.prefix}
|
|
274
|
-
</div>
|
|
275
|
-
${this._hasMeaningfulSlot?r:this.label}
|
|
276
|
-
<div style=${i} part="suffix">
|
|
277
|
-
${this.suffix}
|
|
278
|
-
</div>
|
|
279
|
-
</span>
|
|
280
|
-
`})}
|
|
281
|
-
</label>
|
|
282
|
-
</div>
|
|
283
|
-
${h(this.showErrors&&this.validationErrors.length>0&&this.validationActive,()=>o`<div class="error-message" part="error-message">
|
|
284
|
-
${this.validationErrors[0]}
|
|
285
|
-
</div>`)}
|
|
286
|
-
`}};e([a({type:String}),t("design:type",Object)],v.prototype,"label",void 0),e([a({type:String}),t("design:type",Object)],v.prototype,"id",void 0),e([a({type:String}),t("design:type",Object)],v.prototype,"value",void 0),e([a({type:String}),t("design:type",Object)],v.prototype,"color",void 0),e([a({type:Boolean}),t("design:type",Object)],v.prototype,"defaultChecked",void 0),e([a({type:Boolean}),t("design:type",Object)],v.prototype,"showErrors",void 0),e([a({type:String}),t("design:type",Object)],v.prototype,"prefix",void 0),e([a({type:String}),t("design:type",Object)],v.prototype,"suffix",void 0),e([a({type:String}),t("design:type",Object)],v.prototype,"prefixColor",void 0),e([a({type:String}),t("design:type",Object)],v.prototype,"suffixColor",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Boolean)],v.prototype,"validationActive",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Boolean)],v.prototype,"invalid",void 0),e([n(),t("design:type",Object)],v.prototype,"_checked",void 0),e([n(),t("design:type",Object)],v.prototype,"_indeterminate",void 0),e([n(),t("design:type",Array)],v.prototype,"validationErrors",void 0),e([n(),t("design:type",Object)],v.prototype,"_hasMeaningfulSlot",void 0),e([a({type:Boolean,reflect:!0}),t("design:type",Boolean),t("design:paramtypes",[Boolean])],v.prototype,"checked",null),e([a({type:Boolean,reflect:!0}),t("design:type",Boolean),t("design:paramtypes",[Boolean])],v.prototype,"indeterminate",null),v=e([c("sky-checkbox")],v);export{v as SkyCheckbox};
|
|
286
|
+
`,v([r({type:String})],y.prototype,"label",2),v([r({type:String})],y.prototype,"id",2),v([r({type:String})],y.prototype,"value",2),v([r({type:String})],y.prototype,"color",2),v([r({type:Boolean})],y.prototype,"defaultChecked",2),v([r({type:Boolean})],y.prototype,"showErrors",2),v([r({type:String})],y.prototype,"prefix",2),v([r({type:String})],y.prototype,"suffix",2),v([r({type:String})],y.prototype,"prefixColor",2),v([r({type:String})],y.prototype,"suffixColor",2),v([r({type:Boolean,reflect:!0})],y.prototype,"validationActive",2),v([r({type:Boolean,reflect:!0})],y.prototype,"invalid",2),v([a()],y.prototype,"_checked",2),v([a()],y.prototype,"_indeterminate",2),v([a()],y.prototype,"validationErrors",2),v([a()],y.prototype,"_hasMeaningfulSlot",2),v([r({type:Boolean,reflect:!0})],y.prototype,"checked",1),v([r({type:Boolean,reflect:!0})],y.prototype,"indeterminate",1),y=v([o("sky-checkbox")],y);export{y as SkyCheckbox};
|
|
287
287
|
//# sourceMappingURL=sky-checkbox.js.map
|