@sky.ui/core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +139 -0
- package/README.md +113 -0
- package/auto-import-loader.js +60 -0
- package/auto-import.js +93 -0
- package/dist/custom-elements.json +27051 -0
- package/dist/helper/controllers/animation-controller.d.ts +120 -0
- package/dist/helper/controllers/animation-controller.js +2 -0
- package/dist/helper/controllers/animation-controller.js.map +1 -0
- package/dist/helper/controllers/index.d.ts +2 -0
- package/dist/helper/controllers/popover-controller.d.ts +162 -0
- package/dist/helper/controllers/popover-controller.js +2 -0
- package/dist/helper/controllers/popover-controller.js.map +1 -0
- package/dist/helper/form-control-base.d.ts +1 -0
- package/dist/helper/iconify-offline.d.ts +73 -0
- package/dist/helper/iconify-offline.js +2 -0
- package/dist/helper/iconify-offline.js.map +1 -0
- package/dist/helper/index.d.ts +5 -0
- package/dist/helper/internals/form-control-base.d.ts +81 -0
- package/dist/helper/internals/form-control-base.js +2 -0
- package/dist/helper/internals/form-control-base.js.map +1 -0
- package/dist/helper/internals/index.d.ts +1 -0
- package/dist/helper/utils/color-resolver.d.ts +139 -0
- package/dist/helper/utils/color-resolver.js +2 -0
- package/dist/helper/utils/color-resolver.js.map +1 -0
- package/dist/helper/utils/index.d.ts +2 -0
- package/dist/helper/utils/size-resolver.d.ts +6 -0
- package/dist/helper/utils/size-resolver.js +2 -0
- package/dist/helper/utils/size-resolver.js.map +1 -0
- package/dist/index.d.ts +58 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/sky-accordion/index.d.ts +1 -0
- package/dist/sky-accordion/index.js +1 -0
- package/dist/sky-accordion/sky-accordion.d.ts +201 -0
- package/dist/sky-accordion/sky-accordion.js +85 -0
- package/dist/sky-accordion/sky-accordion.js.map +1 -0
- package/dist/sky-accordion-item/index.d.ts +1 -0
- package/dist/sky-accordion-item/index.js +1 -0
- package/dist/sky-accordion-item/sky-accordion-item.d.ts +161 -0
- package/dist/sky-accordion-item/sky-accordion-item.js +191 -0
- package/dist/sky-accordion-item/sky-accordion-item.js.map +1 -0
- package/dist/sky-alert/index.d.ts +1 -0
- package/dist/sky-alert/index.js +1 -0
- package/dist/sky-alert/sky-alert.d.ts +136 -0
- package/dist/sky-alert/sky-alert.js +292 -0
- package/dist/sky-alert/sky-alert.js.map +1 -0
- package/dist/sky-appbar/index.d.ts +1 -0
- package/dist/sky-appbar/index.js +1 -0
- package/dist/sky-appbar/sky-appbar.d.ts +84 -0
- package/dist/sky-appbar/sky-appbar.js +173 -0
- package/dist/sky-appbar/sky-appbar.js.map +1 -0
- package/dist/sky-avatar/index.d.ts +1 -0
- package/dist/sky-avatar/index.js +1 -0
- package/dist/sky-avatar/sky-avatar.d.ts +104 -0
- package/dist/sky-avatar/sky-avatar.js +152 -0
- package/dist/sky-avatar/sky-avatar.js.map +1 -0
- package/dist/sky-badge/index.d.ts +1 -0
- package/dist/sky-badge/index.js +1 -0
- package/dist/sky-badge/sky-badge.d.ts +154 -0
- package/dist/sky-badge/sky-badge.js +148 -0
- package/dist/sky-badge/sky-badge.js.map +1 -0
- package/dist/sky-breadcrumb/index.d.ts +1 -0
- package/dist/sky-breadcrumb/index.js +1 -0
- package/dist/sky-breadcrumb/sky-breadcrumb.d.ts +111 -0
- package/dist/sky-breadcrumb/sky-breadcrumb.js +230 -0
- package/dist/sky-breadcrumb/sky-breadcrumb.js.map +1 -0
- package/dist/sky-button/index.d.ts +1 -0
- package/dist/sky-button/index.js +1 -0
- package/dist/sky-button/sky-button.d.ts +118 -0
- package/dist/sky-button/sky-button.js +172 -0
- package/dist/sky-button/sky-button.js.map +1 -0
- package/dist/sky-button-group/index.d.ts +1 -0
- package/dist/sky-button-group/index.js +1 -0
- package/dist/sky-button-group/sky-button-group.d.ts +93 -0
- package/dist/sky-button-group/sky-button-group.js +281 -0
- package/dist/sky-button-group/sky-button-group.js.map +1 -0
- package/dist/sky-card/index.d.ts +1 -0
- package/dist/sky-card/index.js +1 -0
- package/dist/sky-card/sky-card.d.ts +143 -0
- package/dist/sky-card/sky-card.js +186 -0
- package/dist/sky-card/sky-card.js.map +1 -0
- package/dist/sky-carousel/index.d.ts +1 -0
- package/dist/sky-carousel/index.js +1 -0
- package/dist/sky-carousel/sky-carousel.d.ts +265 -0
- package/dist/sky-carousel/sky-carousel.js +211 -0
- package/dist/sky-carousel/sky-carousel.js.map +1 -0
- package/dist/sky-checkbox/index.d.ts +1 -0
- package/dist/sky-checkbox/index.js +1 -0
- package/dist/sky-checkbox/sky-checkbox.d.ts +165 -0
- package/dist/sky-checkbox/sky-checkbox.js +276 -0
- package/dist/sky-checkbox/sky-checkbox.js.map +1 -0
- package/dist/sky-chip/index.d.ts +1 -0
- package/dist/sky-chip/index.js +1 -0
- package/dist/sky-chip/sky-chip.d.ts +95 -0
- package/dist/sky-chip/sky-chip.js +210 -0
- package/dist/sky-chip/sky-chip.js.map +1 -0
- package/dist/sky-col/index.d.ts +1 -0
- package/dist/sky-col/index.js +1 -0
- package/dist/sky-col/sky-col.d.ts +84 -0
- package/dist/sky-col/sky-col.js +46 -0
- package/dist/sky-col/sky-col.js.map +1 -0
- package/dist/sky-combobox/index.d.ts +1 -0
- package/dist/sky-combobox/index.js +1 -0
- package/dist/sky-combobox/sky-combobox.d.ts +313 -0
- package/dist/sky-combobox/sky-combobox.js +1146 -0
- package/dist/sky-combobox/sky-combobox.js.map +1 -0
- package/dist/sky-counter/index.d.ts +1 -0
- package/dist/sky-counter/index.js +1 -0
- package/dist/sky-counter/sky-counter.d.ts +130 -0
- package/dist/sky-counter/sky-counter.js +101 -0
- package/dist/sky-counter/sky-counter.js.map +1 -0
- package/dist/sky-dialog/index.d.ts +1 -0
- package/dist/sky-dialog/index.js +1 -0
- package/dist/sky-dialog/sky-dialog.d.ts +237 -0
- package/dist/sky-dialog/sky-dialog.js +265 -0
- package/dist/sky-dialog/sky-dialog.js.map +1 -0
- package/dist/sky-divider/index.d.ts +1 -0
- package/dist/sky-divider/index.js +1 -0
- package/dist/sky-divider/sky-divider.d.ts +120 -0
- package/dist/sky-divider/sky-divider.js +42 -0
- package/dist/sky-divider/sky-divider.js.map +1 -0
- package/dist/sky-drawer/index.d.ts +1 -0
- package/dist/sky-drawer/index.js +1 -0
- package/dist/sky-drawer/sky-drawer.d.ts +161 -0
- package/dist/sky-drawer/sky-drawer.js +177 -0
- package/dist/sky-drawer/sky-drawer.js.map +1 -0
- package/dist/sky-dropdown/index.d.ts +1 -0
- package/dist/sky-dropdown/index.js +1 -0
- package/dist/sky-dropdown/sky-dropdown.d.ts +252 -0
- package/dist/sky-dropdown/sky-dropdown.js +58 -0
- package/dist/sky-dropdown/sky-dropdown.js.map +1 -0
- package/dist/sky-dropdown-item/index.d.ts +1 -0
- package/dist/sky-dropdown-item/index.js +1 -0
- package/dist/sky-dropdown-item/sky-dropdown-item.d.ts +207 -0
- package/dist/sky-dropdown-item/sky-dropdown-item.js +341 -0
- package/dist/sky-dropdown-item/sky-dropdown-item.js.map +1 -0
- package/dist/sky-flexbar/index.d.ts +1 -0
- package/dist/sky-flexbar/index.js +1 -0
- package/dist/sky-flexbar/sky-flexbar.d.ts +189 -0
- package/dist/sky-flexbar/sky-flexbar.js +148 -0
- package/dist/sky-flexbar/sky-flexbar.js.map +1 -0
- package/dist/sky-flexbox/index.d.ts +1 -0
- package/dist/sky-flexbox/index.js +1 -0
- package/dist/sky-flexbox/sky-flexbox.d.ts +156 -0
- package/dist/sky-flexbox/sky-flexbox.js +40 -0
- package/dist/sky-flexbox/sky-flexbox.js.map +1 -0
- package/dist/sky-flexcol/index.d.ts +1 -0
- package/dist/sky-flexcol/index.js +1 -0
- package/dist/sky-flexcol/sky-flexcol.d.ts +154 -0
- package/dist/sky-flexcol/sky-flexcol.js +14 -0
- package/dist/sky-flexcol/sky-flexcol.js.map +1 -0
- package/dist/sky-flexitem/index.d.ts +1 -0
- package/dist/sky-flexitem/index.js +1 -0
- package/dist/sky-flexitem/sky-flexitem.d.ts +114 -0
- package/dist/sky-flexitem/sky-flexitem.js +45 -0
- package/dist/sky-flexitem/sky-flexitem.js.map +1 -0
- package/dist/sky-form/index.d.ts +1 -0
- package/dist/sky-form/index.js +1 -0
- package/dist/sky-form/sky-form.d.ts +286 -0
- package/dist/sky-form/sky-form.js +66 -0
- package/dist/sky-form/sky-form.js.map +1 -0
- package/dist/sky-grid/index.d.ts +1 -0
- package/dist/sky-grid/index.js +1 -0
- package/dist/sky-grid/sky-grid.d.ts +78 -0
- package/dist/sky-grid/sky-grid.js +40 -0
- package/dist/sky-grid/sky-grid.js.map +1 -0
- package/dist/sky-icon/index.d.ts +1 -0
- package/dist/sky-icon/index.js +1 -0
- package/dist/sky-icon/ion-local.json.js +2 -0
- package/dist/sky-icon/ion-local.json.js.map +1 -0
- package/dist/sky-icon/sky-icon.d.ts +123 -0
- package/dist/sky-icon/sky-icon.js +40 -0
- package/dist/sky-icon/sky-icon.js.map +1 -0
- package/dist/sky-image/index.d.ts +1 -0
- package/dist/sky-image/index.js +1 -0
- package/dist/sky-image/sky-image.d.ts +102 -0
- package/dist/sky-image/sky-image.js +29 -0
- package/dist/sky-image/sky-image.js.map +1 -0
- package/dist/sky-input/index.d.ts +1 -0
- package/dist/sky-input/index.js +1 -0
- package/dist/sky-input/sky-input.d.ts +345 -0
- package/dist/sky-input/sky-input.js +820 -0
- package/dist/sky-input/sky-input.js.map +1 -0
- package/dist/sky-list/index.d.ts +1 -0
- package/dist/sky-list/index.js +1 -0
- package/dist/sky-list/sky-list.d.ts +85 -0
- package/dist/sky-list/sky-list.js +41 -0
- package/dist/sky-list/sky-list.js.map +1 -0
- package/dist/sky-listitem/index.d.ts +1 -0
- package/dist/sky-listitem/index.js +1 -0
- package/dist/sky-listitem/sky-listitem.d.ts +76 -0
- package/dist/sky-listitem/sky-listitem.js +104 -0
- package/dist/sky-listitem/sky-listitem.js.map +1 -0
- package/dist/sky-navbar/index.d.ts +1 -0
- package/dist/sky-navbar/index.js +1 -0
- package/dist/sky-navbar/sky-navbar.d.ts +207 -0
- package/dist/sky-navbar/sky-navbar.js +521 -0
- package/dist/sky-navbar/sky-navbar.js.map +1 -0
- package/dist/sky-navpanel/index.d.ts +1 -0
- package/dist/sky-navpanel/index.js +1 -0
- package/dist/sky-navpanel/sky-navpanel.d.ts +186 -0
- package/dist/sky-navpanel/sky-navpanel.js +404 -0
- package/dist/sky-navpanel/sky-navpanel.js.map +1 -0
- package/dist/sky-notification/index.d.ts +1 -0
- package/dist/sky-notification/index.js +1 -0
- package/dist/sky-notification/sky-notification.d.ts +152 -0
- package/dist/sky-notification/sky-notification.js +456 -0
- package/dist/sky-notification/sky-notification.js.map +1 -0
- package/dist/sky-otp/index.d.ts +1 -0
- package/dist/sky-otp/index.js +1 -0
- package/dist/sky-otp/sky-otp.d.ts +101 -0
- package/dist/sky-otp/sky-otp.js +96 -0
- package/dist/sky-otp/sky-otp.js.map +1 -0
- package/dist/sky-overlay/index.d.ts +1 -0
- package/dist/sky-overlay/index.js +1 -0
- package/dist/sky-overlay/sky-overlay.d.ts +71 -0
- package/dist/sky-overlay/sky-overlay.js +26 -0
- package/dist/sky-overlay/sky-overlay.js.map +1 -0
- package/dist/sky-pagination/index.d.ts +1 -0
- package/dist/sky-pagination/index.js +1 -0
- package/dist/sky-pagination/sky-pagination.d.ts +167 -0
- package/dist/sky-pagination/sky-pagination.js +453 -0
- package/dist/sky-pagination/sky-pagination.js.map +1 -0
- package/dist/sky-progress/index.d.ts +1 -0
- package/dist/sky-progress/index.js +1 -0
- package/dist/sky-progress/sky-progress.d.ts +70 -0
- package/dist/sky-progress/sky-progress.js +87 -0
- package/dist/sky-progress/sky-progress.js.map +1 -0
- package/dist/sky-radio/index.d.ts +1 -0
- package/dist/sky-radio/index.js +1 -0
- package/dist/sky-radio/sky-radio.d.ts +118 -0
- package/dist/sky-radio/sky-radio.js +109 -0
- package/dist/sky-radio/sky-radio.js.map +1 -0
- package/dist/sky-radio-group/index.d.ts +1 -0
- package/dist/sky-radio-group/index.js +1 -0
- package/dist/sky-radio-group/sky-radio-group.d.ts +186 -0
- package/dist/sky-radio-group/sky-radio-group.js +239 -0
- package/dist/sky-radio-group/sky-radio-group.js.map +1 -0
- package/dist/sky-range/index.d.ts +1 -0
- package/dist/sky-range/index.js +1 -0
- package/dist/sky-range/sky-range.d.ts +110 -0
- package/dist/sky-range/sky-range.js +196 -0
- package/dist/sky-range/sky-range.js.map +1 -0
- package/dist/sky-row/index.d.ts +1 -0
- package/dist/sky-row/index.js +1 -0
- package/dist/sky-row/sky-row.d.ts +57 -0
- package/dist/sky-row/sky-row.js +6 -0
- package/dist/sky-row/sky-row.js.map +1 -0
- package/dist/sky-serial/index.d.ts +1 -0
- package/dist/sky-serial/index.js +1 -0
- package/dist/sky-serial/sky-serial.d.ts +127 -0
- package/dist/sky-serial/sky-serial.js +133 -0
- package/dist/sky-serial/sky-serial.js.map +1 -0
- package/dist/sky-sheet/index.d.ts +1 -0
- package/dist/sky-sheet/index.js +1 -0
- package/dist/sky-sheet/sky-sheet.d.ts +70 -0
- package/dist/sky-sheet/sky-sheet.js +47 -0
- package/dist/sky-sheet/sky-sheet.js.map +1 -0
- package/dist/sky-skeleton/index.d.ts +1 -0
- package/dist/sky-skeleton/index.js +1 -0
- package/dist/sky-skeleton/sky-skeleton.d.ts +80 -0
- package/dist/sky-skeleton/sky-skeleton.js +233 -0
- package/dist/sky-skeleton/sky-skeleton.js.map +1 -0
- package/dist/sky-slider/index.d.ts +1 -0
- package/dist/sky-slider/index.js +1 -0
- package/dist/sky-slider/sky-slider.d.ts +96 -0
- package/dist/sky-slider/sky-slider.js +139 -0
- package/dist/sky-slider/sky-slider.js.map +1 -0
- package/dist/sky-speeddial/index.d.ts +1 -0
- package/dist/sky-speeddial/index.js +1 -0
- package/dist/sky-speeddial/sky-speeddial.d.ts +86 -0
- package/dist/sky-speeddial/sky-speeddial.js +154 -0
- package/dist/sky-speeddial/sky-speeddial.js.map +1 -0
- package/dist/sky-spinner/index.d.ts +1 -0
- package/dist/sky-spinner/index.js +1 -0
- package/dist/sky-spinner/sky-spinner.d.ts +87 -0
- package/dist/sky-spinner/sky-spinner.js +334 -0
- package/dist/sky-spinner/sky-spinner.js.map +1 -0
- package/dist/sky-steps/index.d.ts +1 -0
- package/dist/sky-steps/index.js +1 -0
- package/dist/sky-steps/sky-steps.d.ts +170 -0
- package/dist/sky-steps/sky-steps.js +455 -0
- package/dist/sky-steps/sky-steps.js.map +1 -0
- package/dist/sky-switch/index.d.ts +1 -0
- package/dist/sky-switch/index.js +1 -0
- package/dist/sky-switch/sky-switch.d.ts +116 -0
- package/dist/sky-switch/sky-switch.js +191 -0
- package/dist/sky-switch/sky-switch.js.map +1 -0
- package/dist/sky-tab/index.d.ts +1 -0
- package/dist/sky-tab/index.js +1 -0
- package/dist/sky-tab/sky-tab.d.ts +188 -0
- package/dist/sky-tab/sky-tab.js +390 -0
- package/dist/sky-tab/sky-tab.js.map +1 -0
- package/dist/sky-tab-button/index.d.ts +1 -0
- package/dist/sky-tab-button/index.js +1 -0
- package/dist/sky-tab-button/sky-tab-button.d.ts +114 -0
- package/dist/sky-tab-button/sky-tab-button.js +167 -0
- package/dist/sky-tab-button/sky-tab-button.js.map +1 -0
- package/dist/sky-theme-provider/index.d.ts +1 -0
- package/dist/sky-theme-provider/index.js +1 -0
- package/dist/sky-theme-provider/sky-theme-provider.d.ts +169 -0
- package/dist/sky-theme-provider/sky-theme-provider.js +12 -0
- package/dist/sky-theme-provider/sky-theme-provider.js.map +1 -0
- package/dist/sky-theme-switcher/index.d.ts +1 -0
- package/dist/sky-theme-switcher/index.js +1 -0
- package/dist/sky-theme-switcher/sky-theme-switcher.d.ts +92 -0
- package/dist/sky-theme-switcher/sky-theme-switcher.js +43 -0
- package/dist/sky-theme-switcher/sky-theme-switcher.js.map +1 -0
- package/dist/sky-tooltip/index.d.ts +1 -0
- package/dist/sky-tooltip/index.js +1 -0
- package/dist/sky-tooltip/sky-tooltip.d.ts +156 -0
- package/dist/sky-tooltip/sky-tooltip.js +242 -0
- package/dist/sky-tooltip/sky-tooltip.js.map +1 -0
- package/package.json +475 -0
- package/plugins/rollup-plugin.d.ts +19 -0
- package/plugins/rollup-plugin.js +129 -0
- package/plugins/vite-plugin.d.ts +22 -0
- package/plugins/vite-plugin.js +116 -0
- package/plugins/webpack-plugin.d.ts +12 -0
- package/plugins/webpack-plugin.js +46 -0
|
@@ -0,0 +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","willUpdate","changedProperties","p","has","Object","keys","baseColor","resolveColor","textColor","resolveTextColorForToken","variantDefaults","solid","bg","border","shadow","hoverBg","hoverColor","hoverShadow","faded","hoverBorder","bordered","hoverShade","transparent","fadeMix","flat","ghost","skyBorderPrimaryShorthand","relief","darkShade","gradient","createGradient","link","current","v","tuneSurfaceVariantForDefaultColor","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","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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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-button-group";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-button-group.js';
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { LitElement, PropertyValues, TemplateResult } from "lit";
|
|
2
|
+
export type SkyButtonGroupVariant = "solid" | "faded" | "bordered" | "transparent" | "flat" | "ghost" | "relief" | "gradient" | "shadow";
|
|
3
|
+
export type SkyButtonGroupLayout = "segmented" | "stacked";
|
|
4
|
+
/**
|
|
5
|
+
* @element sky-button-group
|
|
6
|
+
*
|
|
7
|
+
* @summary Group wrapper that applies shared styling, sizing, and interaction behavior to grouped buttons.
|
|
8
|
+
*
|
|
9
|
+
* @status stable
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*
|
|
12
|
+
* @documentation https://library.sky-ui.com/components/button-group
|
|
13
|
+
*
|
|
14
|
+
* @slot - Default slot for grouped controls (`<button>`, `<sky-button>`, or `<sky-dropdown>`).
|
|
15
|
+
*
|
|
16
|
+
* @csspart group - The group container wrapping the slotted buttons.
|
|
17
|
+
* @csspart button - Each individual `<button>` element styled inside the group.
|
|
18
|
+
* @csspart ripple - The ripple animation element injected when a button is clicked.
|
|
19
|
+
*
|
|
20
|
+
* @property {SkyButtonGroupVariant} variant - Visual style variant. Default: `"solid"`.
|
|
21
|
+
* @property {string} color - Base color for buttons (accepts preset tokens or custom CSS color). Default: `"primary"`.
|
|
22
|
+
* @property {string} size - Size of buttons (preset token `"xs"…"xl"` or CSS size like `"16px"`). Default: `"md"`.
|
|
23
|
+
* @property {string} radius - Border radius for group/buttons (preset token or CSS radius). Default: `"lg"`.
|
|
24
|
+
* @property {string} colors - Comma-separated gradient stops (tokens or raw colors). Used when `variant="gradient"`. Example: `"linear@90deg: primary, secondary 60%, warning"`.
|
|
25
|
+
* @property {SkyButtonGroupLayout} layout - Layout direction: inline (segmented) or vertical (stacked). Default: `"segmented"`.
|
|
26
|
+
* @method refreshLayout Reapplies group geometry, visual tokens, and child synchronization.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```html
|
|
30
|
+
* <sky-button-group variant="solid" layout="segmented" color="primary" size="md">
|
|
31
|
+
* <button>Day</button>
|
|
32
|
+
* <button>Week</button>
|
|
33
|
+
* <button>Month</button>
|
|
34
|
+
* </sky-button-group>
|
|
35
|
+
* ```
|
|
36
|
+
* ```vue
|
|
37
|
+
* <template>
|
|
38
|
+
* <sky-button-group variant="solid" layout="segmented" color="primary" size="md">
|
|
39
|
+
* <button>Day</button>
|
|
40
|
+
* <button>Week</button>
|
|
41
|
+
* <button>Month</button>
|
|
42
|
+
* </sky-button-group>
|
|
43
|
+
* </template>
|
|
44
|
+
* ```
|
|
45
|
+
* ```jsx
|
|
46
|
+
* export default function Demo() {
|
|
47
|
+
* return (
|
|
48
|
+
* <sky-button-group variant="solid" layout="segmented" color="primary" size="md">
|
|
49
|
+
* <button>Day</button>
|
|
50
|
+
* <button>Week</button>
|
|
51
|
+
* <button>Month</button>
|
|
52
|
+
* </sky-button-group>
|
|
53
|
+
* );
|
|
54
|
+
* }
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export declare class SkyButtonGroup extends LitElement {
|
|
58
|
+
/** Visual style variant for the group. */
|
|
59
|
+
variant: SkyButtonGroupVariant;
|
|
60
|
+
/** Base color (token or CSS value). */
|
|
61
|
+
color: string;
|
|
62
|
+
/** Button size (preset token or CSS size). */
|
|
63
|
+
size: string;
|
|
64
|
+
/** Border radius (preset token or CSS radius). */
|
|
65
|
+
radius: string;
|
|
66
|
+
/** Gradient stops, only applied when `variant="gradient"`. */
|
|
67
|
+
colors: string;
|
|
68
|
+
/** Layout: inline (segmented) or vertical (stacked). */
|
|
69
|
+
layout: SkyButtonGroupLayout;
|
|
70
|
+
static styles: import("lit").CSSResult;
|
|
71
|
+
firstUpdated(): void;
|
|
72
|
+
updated(changed: PropertyValues): void;
|
|
73
|
+
private _resolveSize;
|
|
74
|
+
private _buildGradient;
|
|
75
|
+
private _applyGeometry;
|
|
76
|
+
private _groupItems;
|
|
77
|
+
private _radiusForIndex;
|
|
78
|
+
private _syncSkyButton;
|
|
79
|
+
private _syncChildComponents;
|
|
80
|
+
private _paintDesignTokens;
|
|
81
|
+
private _slotEl;
|
|
82
|
+
private _onClick;
|
|
83
|
+
private _onKeyDown;
|
|
84
|
+
private _rippleColorFor;
|
|
85
|
+
private _createRipple;
|
|
86
|
+
/**
|
|
87
|
+
* Reapplies group geometry, visual tokens, and child synchronization.
|
|
88
|
+
*
|
|
89
|
+
* @returns {void}
|
|
90
|
+
*/
|
|
91
|
+
refreshLayout(): void;
|
|
92
|
+
render(): TemplateResult;
|
|
93
|
+
}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
import{__decorate as t,__metadata as r}from"tslib";import{LitElement as o,css as e,html as s}from"lit";import{property as n,customElement as i}from"lit/decorators.js";import{classMap as a}from"lit/directives/class-map.js";import{createGradient as d,resolveColor as l,resolveTextColorForToken as h,tuneSurfaceVariantForDefaultColor as p,fadeMix as b,skyBorderPrimaryShorthand as c,darkShade as g,isDefaultColorToken as u,hoverShade as v,skyBorderWidthSolid as y}from"../helper/utils/color-resolver.js";import{resolveRadius as f}from"../helper/utils/size-resolver.js";let m=class extends o{constructor(){super(...arguments),this.variant="solid",this.color="primary",this.size="md",this.radius="lg",this.colors="",this.layout="segmented",this._onClick=t=>{const r=t.target.closest("button");r&&!r.hasAttribute("disabled")&&this._createRipple(t,r)},this._onKeyDown=t=>{if("Enter"!==t.key&&" "!==t.key)return;const r=this.shadowRoot.activeElement||document.activeElement,o=r?.closest?.("button");if(o&&!o.hasAttribute("disabled")){const t=o.getBoundingClientRect(),r={clientX:t.left+t.width/2,clientY:t.top+t.height/2};this._createRipple(r,o)}}}static{this.styles=e`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
--btn-group-radius: 12px;
|
|
5
|
+
|
|
6
|
+
--btn-bg: var(--sky-glass-primary);
|
|
7
|
+
--btn-color: var(--sky-text-primary);
|
|
8
|
+
--btn-border: var(--sky-border-primary);
|
|
9
|
+
--btn-shadow: none;
|
|
10
|
+
|
|
11
|
+
--btn-bg-hover: var(--btn-bg);
|
|
12
|
+
--btn-color-hover: var(--btn-color);
|
|
13
|
+
--btn-border-hover: var(--btn-border);
|
|
14
|
+
--btn-shadow-hover: var(--btn-shadow);
|
|
15
|
+
--btn-border-width: 1px;
|
|
16
|
+
|
|
17
|
+
--btn-padding: 8px 12px;
|
|
18
|
+
--btn-font-size: 14px;
|
|
19
|
+
--btn-gap: 5px;
|
|
20
|
+
--icon-size: 18px;
|
|
21
|
+
--spinner-size: 18px;
|
|
22
|
+
|
|
23
|
+
--btn-radius: 10px;
|
|
24
|
+
--group-bg: transparent;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.group {
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
border-radius: var(--btn-group-radius);
|
|
30
|
+
background: transparent;
|
|
31
|
+
padding: 0;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.group.group--stacked {
|
|
35
|
+
flex-direction: column;
|
|
36
|
+
display: inline-flex;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.group.group--stacked ::slotted(button:first-child) {
|
|
40
|
+
border-radius: var(--btn-radius) var(--btn-radius) 0 0;
|
|
41
|
+
}
|
|
42
|
+
.group.group--stacked ::slotted(button:last-child) {
|
|
43
|
+
border-radius: 0 0 var(--btn-radius) var(--btn-radius);
|
|
44
|
+
}
|
|
45
|
+
.group.group--stacked ::slotted(button:only-child) {
|
|
46
|
+
border-radius: var(--btn-group-radius);
|
|
47
|
+
}
|
|
48
|
+
.group.group--stacked ::slotted(button:not(:first-child)) {
|
|
49
|
+
margin-left: 0;
|
|
50
|
+
margin-top: calc(-1 * var(--btn-border-width));
|
|
51
|
+
}
|
|
52
|
+
.group.group--stacked ::slotted(sky-button:not(:first-child)),
|
|
53
|
+
.group.group--stacked ::slotted(sky-dropdown:not(:first-child)) {
|
|
54
|
+
margin-left: 0;
|
|
55
|
+
margin-top: calc(-1 * var(--btn-border-width));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* Base button styling */
|
|
59
|
+
::slotted(button) {
|
|
60
|
+
position: relative;
|
|
61
|
+
overflow: hidden;
|
|
62
|
+
margin: 0;
|
|
63
|
+
padding: var(--btn-padding);
|
|
64
|
+
background: var(--btn-bg);
|
|
65
|
+
color: var(--btn-color);
|
|
66
|
+
border: var(--btn-border, var(--btn-border-width) solid transparent);
|
|
67
|
+
box-sizing: border-box;
|
|
68
|
+
box-shadow: var(--btn-shadow);
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
display: inline-flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
gap: var(--btn-gap);
|
|
73
|
+
font-size: var(--btn-font-size);
|
|
74
|
+
line-height: 1;
|
|
75
|
+
border-radius: 0;
|
|
76
|
+
transition: background-color 0.2s ease, color 0.2s ease,
|
|
77
|
+
box-shadow 0.2s ease, transform 0.15s ease, border-color 0.2s ease,
|
|
78
|
+
filter 0.2s ease;
|
|
79
|
+
user-select: none;
|
|
80
|
+
-webkit-tap-highlight-color: transparent;
|
|
81
|
+
|
|
82
|
+
/* Exact outer height for uniformity */
|
|
83
|
+
block-size: var(--btn-min-height, auto);
|
|
84
|
+
}
|
|
85
|
+
::slotted(sky-button),
|
|
86
|
+
::slotted(sky-dropdown) {
|
|
87
|
+
margin: 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.group ::slotted(sky-button[in-group]) {
|
|
91
|
+
align-self: stretch;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
::slotted(button:hover) {
|
|
95
|
+
background: var(--btn-bg-hover);
|
|
96
|
+
color: var(--btn-color-hover);
|
|
97
|
+
box-shadow: var(--btn-shadow-hover);
|
|
98
|
+
border: var(--btn-border-hover, var(--btn-border));
|
|
99
|
+
filter: brightness(0.96);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
::slotted(button.active) {
|
|
103
|
+
background: var(--btn-bg-hover);
|
|
104
|
+
color: var(--btn-color-hover);
|
|
105
|
+
box-shadow: var(--btn-shadow-hover);
|
|
106
|
+
border: var(--btn-border-hover, var(--btn-border));
|
|
107
|
+
filter: brightness(0.92);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
::slotted(button[disabled]) {
|
|
111
|
+
opacity: 0.6;
|
|
112
|
+
pointer-events: none;
|
|
113
|
+
cursor: not-allowed;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/* Rounded ends */
|
|
117
|
+
::slotted(button:first-child) {
|
|
118
|
+
border-top-left-radius: var(--btn-radius);
|
|
119
|
+
border-bottom-left-radius: var(--btn-radius);
|
|
120
|
+
}
|
|
121
|
+
::slotted(button:last-child) {
|
|
122
|
+
border-top-right-radius: var(--btn-radius);
|
|
123
|
+
border-bottom-right-radius: var(--btn-radius);
|
|
124
|
+
}
|
|
125
|
+
::slotted(button:only-child) {
|
|
126
|
+
border-radius: var(--btn-group-radius);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* Seam overlap (negative margin) only for non-ghost and non-gradient */
|
|
130
|
+
:host(:not([variant="ghost"]):not([variant="gradient"]))
|
|
131
|
+
::slotted(button:not(:first-child)) {
|
|
132
|
+
margin-left: calc(-1 * var(--btn-border-width));
|
|
133
|
+
}
|
|
134
|
+
:host(:not([variant="ghost"]):not([variant="gradient"]))
|
|
135
|
+
::slotted(sky-button:not(:first-child)),
|
|
136
|
+
:host(:not([variant="ghost"]):not([variant="gradient"]))
|
|
137
|
+
::slotted(sky-dropdown:not(:first-child)) {
|
|
138
|
+
margin-left: calc(-1 * var(--btn-border-width));
|
|
139
|
+
}
|
|
140
|
+
:host(:dir(rtl):not([variant="ghost"]):not([variant="gradient"]))
|
|
141
|
+
::slotted(button:not(:first-child)) {
|
|
142
|
+
margin-left: 0;
|
|
143
|
+
margin-right: calc(-1 * var(--btn-border-width));
|
|
144
|
+
}
|
|
145
|
+
:host(:dir(rtl):not([variant="ghost"]):not([variant="gradient"]))
|
|
146
|
+
::slotted(sky-button:not(:first-child)),
|
|
147
|
+
:host(:dir(rtl):not([variant="ghost"]):not([variant="gradient"]))
|
|
148
|
+
::slotted(sky-dropdown:not(:first-child)) {
|
|
149
|
+
margin-left: 0;
|
|
150
|
+
margin-right: calc(-1 * var(--btn-border-width));
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* RTL: swap rounded ends */
|
|
154
|
+
:host(:dir(rtl)) ::slotted(button:first-child) {
|
|
155
|
+
border-top-left-radius: 0;
|
|
156
|
+
border-bottom-left-radius: 0;
|
|
157
|
+
border-top-right-radius: var(--btn-radius);
|
|
158
|
+
border-bottom-right-radius: var(--btn-radius);
|
|
159
|
+
}
|
|
160
|
+
:host(:dir(rtl)) ::slotted(button:last-child) {
|
|
161
|
+
border-top-right-radius: 0;
|
|
162
|
+
border-bottom-right-radius: 0;
|
|
163
|
+
border-top-left-radius: var(--btn-radius);
|
|
164
|
+
border-bottom-left-radius: var(--btn-radius);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* Variant: relief removes borders (uses shadows) */
|
|
168
|
+
:host([variant="relief"]) ::slotted(button) {
|
|
169
|
+
border: none;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/* Icons inside buttons */
|
|
173
|
+
sky-icon {
|
|
174
|
+
display: inline-block;
|
|
175
|
+
width: 1em;
|
|
176
|
+
height: 1em;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
/* Ripple placeholder keyframes (for UA fallback when Web Animations is missing) */
|
|
180
|
+
.ripple {
|
|
181
|
+
position: absolute;
|
|
182
|
+
pointer-events: none;
|
|
183
|
+
inset: 0;
|
|
184
|
+
width: 0;
|
|
185
|
+
height: 0;
|
|
186
|
+
border-radius: 9999px;
|
|
187
|
+
clip-path: circle(50%);
|
|
188
|
+
transform: translate(-50%, -50%) scale(0);
|
|
189
|
+
animation: ripple 480ms ease-out forwards;
|
|
190
|
+
opacity: 0.35;
|
|
191
|
+
will-change: transform, opacity;
|
|
192
|
+
}
|
|
193
|
+
@keyframes ripple {
|
|
194
|
+
to {
|
|
195
|
+
transform: translate(-50%, -50%) scale(1);
|
|
196
|
+
opacity: 0;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/* Variant: ghost — no layout border; crisp outline with inset shadow */
|
|
201
|
+
:host([variant="ghost"]) ::slotted(button) {
|
|
202
|
+
border: 0;
|
|
203
|
+
box-shadow: inset 0 0 0 var(--ghost-outline, 2px)
|
|
204
|
+
var(--ghost-color, currentColor);
|
|
205
|
+
background-clip: padding-box;
|
|
206
|
+
background: transparent;
|
|
207
|
+
color: var(--btn-color, currentColor);
|
|
208
|
+
}
|
|
209
|
+
:host([variant="ghost"]) ::slotted(button:hover),
|
|
210
|
+
:host([variant="ghost"]) ::slotted(button.active) {
|
|
211
|
+
background: var(--ghost-fill, currentColor);
|
|
212
|
+
color: var(--ghost-color, currentColor);
|
|
213
|
+
box-shadow: inset 0 0 0 var(--ghost-outline, 2px)
|
|
214
|
+
var(--ghost-color, currentColor),
|
|
215
|
+
0 8px 18px -10px color-mix(in srgb, var(--ghost-color, currentColor) 55%, transparent);
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
/* Divider for ghost & gradient (logical props + RTL-aware) */
|
|
219
|
+
:host([variant="ghost"]) ::slotted(button:not(:first-child))::before,
|
|
220
|
+
:host([variant="gradient"]) ::slotted(button:not(:first-child))::before {
|
|
221
|
+
content: "";
|
|
222
|
+
position: absolute;
|
|
223
|
+
inset-block-start: 18%;
|
|
224
|
+
inset-block-end: 18%;
|
|
225
|
+
inline-size: 1px;
|
|
226
|
+
pointer-events: none;
|
|
227
|
+
}
|
|
228
|
+
/* Place the divider edge */
|
|
229
|
+
:host(:not(:dir(rtl))[variant="ghost"])
|
|
230
|
+
::slotted(button:not(:first-child))::before,
|
|
231
|
+
:host(:not(:dir(rtl))[variant="gradient"])
|
|
232
|
+
::slotted(button:not(:first-child))::before {
|
|
233
|
+
inset-inline-start: 0;
|
|
234
|
+
}
|
|
235
|
+
:host(:dir(rtl)[variant="ghost"])
|
|
236
|
+
::slotted(button:not(:first-child))::before,
|
|
237
|
+
:host(:dir(rtl)[variant="gradient"])
|
|
238
|
+
::slotted(button:not(:first-child))::before {
|
|
239
|
+
inset-inline-end: 0;
|
|
240
|
+
}
|
|
241
|
+
/* Divider colors per variant */
|
|
242
|
+
:host([variant="ghost"]) ::slotted(button:not(:first-child))::before {
|
|
243
|
+
background: color-mix(
|
|
244
|
+
in srgb,
|
|
245
|
+
var(--ghost-color, currentColor) 55%,
|
|
246
|
+
transparent
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
:host([variant="gradient"]) ::slotted(button:not(:first-child))::before {
|
|
250
|
+
background: color-mix(in srgb, white 35%, transparent);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* Variant: gradient — gradient on the group wrapper, clear inner borders */
|
|
254
|
+
:host([variant="gradient"]) .group {
|
|
255
|
+
background: var(--group-bg);
|
|
256
|
+
padding: 1px;
|
|
257
|
+
border-radius: var(--btn-group-radius);
|
|
258
|
+
}
|
|
259
|
+
:host([variant="gradient"]) ::slotted(button) {
|
|
260
|
+
background: transparent;
|
|
261
|
+
color: var(--btn-color, var(--sky-text-white));
|
|
262
|
+
border: none;
|
|
263
|
+
box-shadow: none;
|
|
264
|
+
}
|
|
265
|
+
:host([variant="gradient"]) ::slotted(button:hover) {
|
|
266
|
+
background: color-mix(in srgb, white 8%, transparent);
|
|
267
|
+
}
|
|
268
|
+
:host([variant="gradient"]) ::slotted(button.active) {
|
|
269
|
+
background: color-mix(in srgb, white 12%, transparent);
|
|
270
|
+
}
|
|
271
|
+
`}firstUpdated(){this._applyGeometry(),this._paintDesignTokens(),this._syncChildComponents();const t=this._slotEl();t?.addEventListener("slotchange",()=>{this._applyGeometry(),this._syncChildComponents()})}updated(t){["variant","color","size","radius","colors","layout"].some(r=>t.has(r))&&(this._applyGeometry(),this._paintDesignTokens(),this._syncChildComponents())}_resolveSize(t){const r={xs:{padding:"3px 7px",fontSize:"12px",gap:"3px",icon:"14px",spinner:"14px"},sm:{padding:"5px 9px",fontSize:"14px",gap:"4px",icon:"16px",spinner:"16px"},md:{padding:"8px 14px",fontSize:"16px",gap:"5px",icon:"18px",spinner:"18px"},lg:{padding:"10px 18px",fontSize:"18px",gap:"6px",icon:"20px",spinner:"20px"},xl:{padding:"14px 24px",fontSize:"20px",gap:"8px",icon:"24px",spinner:"24px"}};if(r[t])return r[t];const o=String(t).trim().match(/^([\d.]+)(px|rem|em)?$/i),e=o?.[2]||"px",s=o?parseFloat(o[1]):16,n=`${s}${e}`,i=t=>`${Math.round(100*t)/100}${e}`,a=(t,r,o)=>Math.max(r,Math.min(o,t)),d=a(.55*s,4,18),l=a(.9*s,8,28),h=a(.3*s,3,10),p=a(1.125*s,12,28),b=p;return{padding:`${i(d)} ${i(l)}`,fontSize:n,gap:i(h),icon:i(p),spinner:i(b)}}_buildGradient(t){return d(this.colors,t)}_applyGeometry(){const t=f(this.radius);this.style.setProperty("--btn-group-radius",t),this.style.setProperty("--btn-radius",t);const r=this._resolveSize(this.size);this.style.setProperty("--btn-padding",r.padding),this.style.setProperty("--btn-font-size",r.fontSize),this.style.setProperty("--btn-gap",r.gap),this.style.setProperty("--icon-size",r.icon),this.style.setProperty("--spinner-size",r.spinner);const o=r.padding.split(" "),e=(o.length>=2?parseFloat(o[0])+parseFloat(o[2]||o[0]):16)+parseFloat(r.fontSize)+4;this.style.setProperty("--btn-min-height",`${e}px`)}_groupItems(){const t=this._slotEl();return t?t.assignedElements({flatten:!0}).filter(t=>{if(!(t instanceof HTMLElement))return!1;const r=t.tagName.toLowerCase();return"button"===r||"sky-button"===r||"sky-dropdown"===r}):[]}_radiusForIndex(t,r){const o=f(this.radius);return r<=1?o:"stacked"===this.layout?0===t?`${o} ${o} 0 0`:t===r-1?`0 0 ${o} ${o}`:"0":0===t?`${o} 0 0 ${o}`:t===r-1?`0 ${o} ${o} 0`:"0"}_syncSkyButton(t,r,o){const e=t;e.variant=this.variant,e.color=this.color,e.size=this.size,e.radius=this._radiusForIndex(r,o),e.inGroup=!0,e.colors=""}_syncChildComponents(){const t=this._groupItems(),r=t.length;if(r)for(const[o,e]of t.entries()){const t=e.tagName.toLowerCase();if("sky-button"===t){this._syncSkyButton(e,o,r);continue}if("sky-dropdown"!==t)continue;const s=e.querySelectorAll('[slot="trigger"]');for(const t of Array.from(s))t instanceof HTMLElement&&"sky-button"===t.tagName.toLowerCase()&&this._syncSkyButton(t,o,r)}}_paintDesignTokens(){const t=l(this.color),r=h(this.color),o={bg:t,color:r,border:"var(--btn-border-width) solid transparent",shadow:"none",hbg:t,hcolor:r,hshadow:"none",borderHover:void 0,groupBg:void 0,borderWidth:"1px"},e=(e=>{switch(e){case"solid":return{...o,bg:t,color:r,hbg:t,hcolor:r};case"faded":return{...o,bg:"var(--sky-hover-tertiary)",color:t,border:"var(--btn-border-width) solid var(--sky-text-tertiary)",hbg:"var(--sky-hover-secondary)",hcolor:t};case"bordered":return{...o,bg:"transparent",color:t,border:u(this.color)?y(2):`var(--btn-border-width) solid ${t}`,hbg:"transparent",hcolor:t,borderHover:u(this.color)?"2px solid var(--sky-text-tertiary)":`var(--btn-border-width) solid ${v(t,25)}`,borderWidth:"2px"};case"transparent":return{...o,bg:"transparent",color:t,hbg:b(t,15),hcolor:t};case"flat":return{...o,bg:b(t,20),color:v(t,30),hbg:b(t,25),hcolor:v(t,35)};case"ghost":{const e=u(this.color)?"var(--sky-border-light)":t;return{...o,bg:"transparent",color:t,border:"var(--btn-border-width) solid transparent",shadow:`inset 0 0 0 2px ${e}`,hbg:t,hcolor:r,hshadow:`\n inset 0 0 0 2px ${e},\n 0 8px 18px -10px ${b(t,40)}\n `,borderWidth:"0px"}}case"relief":return{...o,bg:t,color:r,shadow:`\n inset 0 1px 0 rgba(255,255,255,0.4),\n 0 3px 0 ${g(t,40)},\n 0 4px 6px -1px ${b(t,40)}\n `,hbg:t,hcolor:r,hshadow:`\n inset 0 1px 0 rgba(255,255,255,0.3),\n 0 2px 0 ${g(t,35)},\n 0 10px 20px -12px ${b(t,40)}\n `};case"gradient":return{...o,bg:"transparent",color:r,hbg:"transparent",hcolor:r,groupBg:this._buildGradient(t)};case"shadow":return{...o,bg:"var(--sky-glass-primary)",color:"var(--sky-text-primary)",border:c(),shadow:"var(--sky-box-shadow-primary)",hbg:"var(--sky-glass-primary)",hcolor:t,hshadow:"var(--sky-box-shadow-secondary)",borderHover:c(),borderWidth:"1px"};default:return o}})(this.variant),s=p(this.color,this.variant,{bg:e.bg,color:e.color,border:e.border,shadow:e.shadow,hoverBg:e.hbg,hoverColor:e.hcolor,hoverShadow:e.hshadow,hoverBorder:e.borderHover}),n={...e,bg:s.bg??e.bg,color:s.color??e.color,border:s.border??e.border,shadow:s.shadow??e.shadow,hbg:s.hoverBg??e.hbg,hcolor:s.hoverColor??e.hcolor,hshadow:s.hoverShadow??e.hshadow,borderHover:s.hoverBorder??e.borderHover};this.style.setProperty("--btn-border-width",n.borderWidth),this.style.setProperty("--btn-bg",n.bg),this.style.setProperty("--btn-color",n.color),this.style.setProperty("--btn-border",n.border),this.style.setProperty("--btn-shadow",n.shadow),this.style.setProperty("--btn-bg-hover",n.hbg),this.style.setProperty("--btn-color-hover",n.hcolor),this.style.setProperty("--btn-shadow-hover",n.hshadow),"ghost"===this.variant?(this.style.setProperty("--ghost-outline","2px"),this.style.setProperty("--ghost-color",t),this.style.setProperty("--ghost-fill",b(t,20))):(this.style.removeProperty("--ghost-outline"),this.style.removeProperty("--ghost-color"),this.style.removeProperty("--ghost-fill")),"gradient"===this.variant&&n.groupBg?(this.style.setProperty("--group-bg",n.groupBg),this.style.removeProperty("--btn-border-hover")):"bordered"===this.variant&&n.borderHover?(this.style.setProperty("--btn-border-hover",n.borderHover),this.style.removeProperty("--group-bg")):(this.style.removeProperty("--btn-border-hover"),this.style.removeProperty("--group-bg"))}_slotEl(){return this.shadowRoot?.querySelector("slot")??null}_rippleColorFor(t){const r=getComputedStyle(t),o=(r.backgroundColor&&"rgba(0, 0, 0, 0)"!==r.backgroundColor?r.backgroundColor:r.color).match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/i);if(!o)return"rgba(255,255,255,0.35)";const[e,s,n]=[parseInt(o[1]),parseInt(o[2]),parseInt(o[3])],i=t=>{const r=t/255;return r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)};return.2126*i(e)+.7152*i(s)+.0722*i(n)>.5?"rgba(0,0,0,0.25)":"rgba(255,255,255,0.35)"}_createRipple(t,r){const o=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches,e=r.getBoundingClientRect(),s=e.width,n=e.height,i=Math.ceil(Math.hypot(s,n)),a=t.clientX-e.left,d=t.clientY-e.top,l=document.createElement("span");if(l.part.add("ripple"),Object.assign(l.style,{position:"absolute",left:`${a}px`,top:`${d}px`,width:`${i}px`,height:`${i}px`,borderRadius:"9999px",transform:"translate(-50%, -50%) scale(0)",pointerEvents:"none",opacity:"0.35",willChange:"transform, opacity",zIndex:"1",background:this._rippleColorFor(r)}),r.appendChild(l),o||!("animate"in l))return l.style.opacity="0.15",void setTimeout(()=>l.remove(),150);const h=l.animate([{transform:"translate(-50%, -50%) scale(0)",opacity:.35},{transform:"translate(-50%, -50%) scale(1)",opacity:0}],{duration:480,easing:"ease-out",fill:"forwards"});h.addEventListener?.("finish",()=>l.remove()),h.onfinish=()=>l.remove()}refreshLayout(){this._applyGeometry(),this._paintDesignTokens(),this._syncChildComponents()}render(){return s`
|
|
272
|
+
<div
|
|
273
|
+
class=${a({group:!0,"group--stacked":"stacked"===this.layout})}
|
|
274
|
+
part="group"
|
|
275
|
+
role="group"
|
|
276
|
+
@keydown=${this._onKeyDown}
|
|
277
|
+
>
|
|
278
|
+
<slot @click=${this._onClick}></slot>
|
|
279
|
+
</div>
|
|
280
|
+
`}};t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"variant",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"color",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"size",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"radius",void 0),t([n({type:String}),r("design:type",String)],m.prototype,"colors",void 0),t([n({type:String,reflect:!0}),r("design:type",String)],m.prototype,"layout",void 0),m=t([i("sky-button-group")],m);export{m as SkyButtonGroup};
|
|
281
|
+
//# sourceMappingURL=sky-button-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sky-button-group.js","sources":["../../src/sky-button-group/sky-button-group.ts"],"sourcesContent":[null],"names":["SkyButtonGroup","LitElement","constructor","this","variant","color","size","radius","colors","layout","_onClick","event","button","target","closest","hasAttribute","_createRipple","_onKeyDown","e","key","active","shadowRoot","activeElement","document","rect","getBoundingClientRect","fake","clientX","left","width","clientY","top","height","styles","css","firstUpdated","_applyGeometry","_paintDesignTokens","_syncChildComponents","slot","_slotEl","addEventListener","updated","changed","some","k","has","_resolveSize","input","presets","xs","padding","fontSize","gap","icon","spinner","sm","md","lg","xl","m","String","trim","match","unit","fsNum","parseFloat","fs","to","n","Math","round","clamp","min","max","py","px","_buildGradient","baseColor","createGradient","R","resolveRadius","style","setProperty","S","parts","split","baseHeight","length","_groupItems","assignedElements","flatten","filter","el","HTMLElement","tag","tagName","toLowerCase","_radiusForIndex","index","total","_syncSkyButton","buttonLike","host","inGroup","items","item","entries","triggerNodes","querySelectorAll","triggerEl","Array","from","resolveColor","textColor","resolveTextColorForToken","defaultConfig","bg","border","shadow","hbg","hcolor","hshadow","borderHover","undefined","groupBg","borderWidth","rawCfg","v","isDefaultColorToken","skyBorderWidthSolid","hoverShade","fadeMix","ghostOutline","darkShade","skyBorderPrimaryShorthand","variantConfig","tuned","tuneSurfaceVariantForDefaultColor","hoverBg","hoverColor","hoverShadow","hoverBorder","cfg","removeProperty","querySelector","_rippleColorFor","cs","getComputedStyle","rgb","backgroundColor","r","g","b","parseInt","toLin","c","pow","prefersReduced","window","matchMedia","matches","w","h","diameter","ceil","hypot","x","y","ripple","createElement","part","add","Object","assign","position","borderRadius","transform","pointerEvents","opacity","willChange","zIndex","background","appendChild","setTimeout","remove","anim","animate","duration","easing","fill","onfinish","refreshLayout","render","html","classMap","group","__decorate","property","type","reflect","prototype","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-card";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-card.js';
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { LitElement, PropertyValues } from "lit";
|
|
2
|
+
export type SkyCardElevation = "none" | "sm" | "md" | "lg";
|
|
3
|
+
export type SkyCardSectionLayout = "inline" | "stack";
|
|
4
|
+
export type SkyCardSectionTarget = "both" | "header" | "footer" | "none";
|
|
5
|
+
/**
|
|
6
|
+
* @element sky-card
|
|
7
|
+
*
|
|
8
|
+
* @summary Customizable card with configurable header/footer sections, blur/background styles, elevation, insets, overlays, and separators.
|
|
9
|
+
*
|
|
10
|
+
* @status stable
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*
|
|
13
|
+
* @documentation https://library.sky-ui.com/components/card
|
|
14
|
+
*
|
|
15
|
+
* @slot - Default slot for the card body content (replaces `bodyPadding` property if used).
|
|
16
|
+
* @slot title - Slot for the card title.
|
|
17
|
+
* @slot subtitle - Slot for the card subtitle.
|
|
18
|
+
* @slot actions - Slot for the card actions (usually buttons).
|
|
19
|
+
* @slot footer-title - Slot for the footer title.
|
|
20
|
+
* @slot footer-subtitle - Slot for the footer subtitle.
|
|
21
|
+
* @slot footer-actions - Slot for the footer actions (usually buttons).
|
|
22
|
+
*
|
|
23
|
+
* @csspart card - The main card container element.
|
|
24
|
+
* @csspart header - The card header section.
|
|
25
|
+
* @csspart footer - The card footer section.
|
|
26
|
+
* @csspart ripple - The ripple animation element injected when the card is clicked.
|
|
27
|
+
*
|
|
28
|
+
* @property {string} bg - Background color of the card. Accepts color tokens or custom CSS colors. Default: `"primary"`.
|
|
29
|
+
* @property {string} blurLevel - Level of blur applied to the background. Default: `"none"`.
|
|
30
|
+
* @property {string} radius - Border radius of the card. Default: `"md"`.
|
|
31
|
+
* @property {string} bodyPadding - Padding for the card body. Default: `"none"`.
|
|
32
|
+
* @property {SkyCardElevation} elevation - Shadow depth of the card. Default: `"md"`.
|
|
33
|
+
* @property {boolean} outlined - Whether the card has an outline. Default: `false`.
|
|
34
|
+
* @property {boolean} clickable - Whether the card is clickable. Default: `false`.
|
|
35
|
+
* @property {string} headerBg - Background color of the header. Default: `"transparent"`.
|
|
36
|
+
* @property {string} headerBlur - Blur level for the header background. Default: `"none"`.
|
|
37
|
+
* @property {string} headerPadding - Padding for the header. Default: `"md"`.
|
|
38
|
+
* @property {SkyCardSectionLayout} headerLayout - Layout of the header content. Default: `"inline"`.
|
|
39
|
+
* @property {string} headerInsetGap - Inset gap for the header section. Default: `"sm"`.
|
|
40
|
+
* @property {string} headerRadius - Border radius for the header. Default: `"md"`.
|
|
41
|
+
* @property {string} headerSeparatorColor - Color for the header separator. Default: `"border-light"`.
|
|
42
|
+
* @property {string} footerBg - Background color of the footer. Default: `"transparent"`.
|
|
43
|
+
* @property {string} footerBlur - Blur level for the footer background. Default: `"none"`.
|
|
44
|
+
* @property {string} footerPadding - Padding for the footer. Default: `"md"`.
|
|
45
|
+
* @property {SkyCardSectionLayout} footerLayout - Layout of the footer content. Default: `"inline"`.
|
|
46
|
+
* @property {string} footerInsetGap - Inset gap for the footer section. Default: `"sm"`.
|
|
47
|
+
* @property {string} footerRadius - Border radius for the footer. Default: `"md"`.
|
|
48
|
+
* @property {string} footerSeparatorColor - Color for the footer separator. Default: `"border-light"`.
|
|
49
|
+
* @property {number} padRatio - Ratio to adjust padding. Default: `1`.
|
|
50
|
+
* @property {SkyCardSectionTarget} separators - Determines where separators should appear. Default: `"none"`.
|
|
51
|
+
* @property {SkyCardSectionTarget} overlays - Determines where overlays should appear. Default: `"none"`.
|
|
52
|
+
* @property {SkyCardSectionTarget} insets - Determines where insets should appear. Default: `"none"`.
|
|
53
|
+
* @method refreshLayout Recomputes card variables and section synchronization.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```html
|
|
57
|
+
* <sky-card bg="primary" elevation="lg" headerpadding="md">
|
|
58
|
+
* <span slot="title">Monthly Report</span>
|
|
59
|
+
* <span slot="subtitle">April 2026</span>
|
|
60
|
+
* <div>Total revenue increased by 18%.</div>
|
|
61
|
+
* <button slot="actions">View Details</button>
|
|
62
|
+
* </sky-card>
|
|
63
|
+
* ```
|
|
64
|
+
* ```vue
|
|
65
|
+
* <template>
|
|
66
|
+
* <sky-card bg="primary" elevation="lg" headerpadding="md">
|
|
67
|
+
* <span slot="title">Monthly Report</span>
|
|
68
|
+
* <span slot="subtitle">April 2026</span>
|
|
69
|
+
* <div>Total revenue increased by 18%.</div>
|
|
70
|
+
* <button slot="actions">View Details</button>
|
|
71
|
+
* </sky-card>
|
|
72
|
+
* </template>
|
|
73
|
+
* ```
|
|
74
|
+
* ```jsx
|
|
75
|
+
* export default function Demo() {
|
|
76
|
+
* return (
|
|
77
|
+
* <sky-card bg="primary" elevation="lg" headerpadding="md">
|
|
78
|
+
* <span slot="title">Monthly Report</span>
|
|
79
|
+
* <span slot="subtitle">April 2026</span>
|
|
80
|
+
* <div>Total revenue increased by 18%.</div>
|
|
81
|
+
* <button slot="actions">View Details</button>
|
|
82
|
+
* </sky-card>
|
|
83
|
+
* );
|
|
84
|
+
* }
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare class SkyCard extends LitElement {
|
|
88
|
+
bg: string;
|
|
89
|
+
blurLevel: string;
|
|
90
|
+
radius: string;
|
|
91
|
+
bodyPadding: string;
|
|
92
|
+
elevation: SkyCardElevation;
|
|
93
|
+
outlined: boolean;
|
|
94
|
+
clickable: boolean;
|
|
95
|
+
headerBg: string;
|
|
96
|
+
headerBlur: string;
|
|
97
|
+
headerPadding: string;
|
|
98
|
+
headerLayout: SkyCardSectionLayout;
|
|
99
|
+
headerInsetGap: string;
|
|
100
|
+
headerRadius: string;
|
|
101
|
+
headerSeparatorColor: string;
|
|
102
|
+
footerBg: string;
|
|
103
|
+
footerBlur: string;
|
|
104
|
+
footerPadding: string;
|
|
105
|
+
footerLayout: SkyCardSectionLayout;
|
|
106
|
+
footerInsetGap: string;
|
|
107
|
+
footerRadius: string;
|
|
108
|
+
footerSeparatorColor: string;
|
|
109
|
+
padRatio: number;
|
|
110
|
+
separators: SkyCardSectionTarget;
|
|
111
|
+
overlays: SkyCardSectionTarget;
|
|
112
|
+
insets: SkyCardSectionTarget;
|
|
113
|
+
private _effHeaderSeparator;
|
|
114
|
+
private _effFooterSeparator;
|
|
115
|
+
private _effHeaderOverlay;
|
|
116
|
+
private _effFooterOverlay;
|
|
117
|
+
private _effHeaderInset;
|
|
118
|
+
private _effFooterInset;
|
|
119
|
+
private _varsCache;
|
|
120
|
+
private static readonly BG_MAP;
|
|
121
|
+
private static readonly BLUR_MAP;
|
|
122
|
+
private static readonly SIZE_MAP;
|
|
123
|
+
private static readonly ELEVATION_MAP;
|
|
124
|
+
static styles: import("lit").CSSResult;
|
|
125
|
+
firstUpdated(): void;
|
|
126
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
127
|
+
private _wireSlotChangeHandlers;
|
|
128
|
+
private _syncHeader;
|
|
129
|
+
private _syncFooter;
|
|
130
|
+
private _expandPair;
|
|
131
|
+
private _computeEffectiveFlags;
|
|
132
|
+
private _setVar;
|
|
133
|
+
private _applyCardVars;
|
|
134
|
+
private _applyPaddingVars;
|
|
135
|
+
private _applySectionChrome;
|
|
136
|
+
/**
|
|
137
|
+
* Recomputes card variables and section synchronization.
|
|
138
|
+
*
|
|
139
|
+
* @returns {void}
|
|
140
|
+
*/
|
|
141
|
+
refreshLayout(): void;
|
|
142
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
143
|
+
}
|