@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-input.js","sources":["../../src/sky-input/sky-input.ts"],"sourcesContent":[null],"names":["SkyInput","FormControlBase","constructor","this","value","placeholder","label","type","suffix","prefix","prefixColor","suffixColor","color","validations","compact","loading","showErrors","clearable","errorDisplayMode","required","step","min","max","autocapitalize","autocomplete","spellcheck","dir","rows","resizable","accept","multiple","inputmode","enterkeyhint","pattern","minlength","maxlength","list","size","cols","autofocus","capture","inputRole","ariaLabel","ariaLabelledby","ariaDescribedby","showNumberButtons","showPasswordToggle","passwordVisibleIcon","passwordHiddenIcon","validationActive","invalid","variant","selectedFileName","selectedFiles","focused","validationStatus","validationErrors","typingStarted","autofillIconSlot","showPassword","totalFileSize","selectedFileCount","filePreview","keepInputFocused","e","preventDefault","stopPropagation","refocusInput","dependencies","SkyIcon","styles","css","shadowRootOptions","LitElement","delegatesFocus","connectedCallback","super","hasAttribute","tabIndex","disabled","firstUpdated","_changedProperties","captureDefaultValue","syncFormValue","syncValidity","leftSlot","shadowRoot","querySelector","rightSlot","handleSlotChange","slotName","slot","addEventListener","assignedNodes","flatten","forEach","node","HTMLElement","handleIconClick","willUpdate","changedProperties","has","Array","isArray","map","String","trim","updated","style","setProperty","resolveColor","inputWrapper","inputWrapperEl","getFormValue","name","length","fd","FormData","f","append","setValueFromFormState","state","getValidityAnchor","isEmpty","toString","getCustomErrorMessage","join","getNativeControl","onNativeValueMutated","native","validateInput","reset","nativeRequiredMessage","requiredMessage","getEmittedValue","n","Number","isFinite","handleClear","readonly","dispatchEvent","CustomEvent","detail","bubbles","composed","handleFileChange","event","files","target","fileList","from","file","totalSize","reduce","total","startsWith","reader","FileReader","onload","result","readAsDataURL","reemitNativeEvent","fileName","fileCount","handleKeydown","key","triggerNativeDropdown","preview","handleInput","handleFocus","onFormReset","defaultValue","handleBlur","validateForForm","payload","v","r","isFileInput","validation","index","Error","push","error","message","errors","isValid","getErrorMessages","slice","position","eventType","eventData","formatFileSize","bytes","i","Math","floor","log","parseFloat","pow","toFixed","incrementValue","currentValue","Infinity","decrementValue","renderValidationErrors","requiredMsg","customMsgs","msgs","errId","id","html","m","togglePasswordVisibility","focusInput","input","nativeInputEl","focus","handleWrapperClick","isInvalid","matches","describedById","undefined","el","preventScroll","click","showPicker","render","isTextarea","isNumberInput","isPassword","hasLeftSlot","hasRightSlot","autoIcon","showFilePreview","showAutoIconInLeft","showAutoIconInRight","ImagePreview","ifDefined","FileControl","TextareaControl","live","TextInputControl","Boolean","LeftIconSlot","NumberButtons","PasswordToggle","ClearButton","RightIconSlot","FileInfo","__decorate","property","prototype","reflect","query","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-list";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-list.js';
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { LitElement, PropertyValues } from "lit";
|
|
2
|
+
import type { SkyListitem } from "../sky-listitem/sky-listitem.js";
|
|
3
|
+
export type SkyListSelectionMode = "none" | "single" | "multiple";
|
|
4
|
+
export type SkyListChangeDetail = {
|
|
5
|
+
selectedItems: SkyListitem[];
|
|
6
|
+
/** Values from each selected item's `value` (empty string if unset). */
|
|
7
|
+
selectedValues: string[];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* @element sky-list
|
|
11
|
+
*
|
|
12
|
+
* @summary Styled list container for `sky-listitem` with selection modes and keyboard navigation.
|
|
13
|
+
*
|
|
14
|
+
* @status stable
|
|
15
|
+
* @since 1.0.0
|
|
16
|
+
*
|
|
17
|
+
* @documentation https://library.sky-ui.com/components/list
|
|
18
|
+
*
|
|
19
|
+
* @uiVModel selectedValues list-change detail=selectedValues
|
|
20
|
+
*
|
|
21
|
+
* @slot - Default slot for `<sky-listitem>` children.
|
|
22
|
+
* @property {SkyListSelectionMode} selection - Selection mode (`none`, `single`, `multiple`).
|
|
23
|
+
* @property {string[]} selectedValues - Selected item `value`s (mirror for `v-model`; set each `<sky-listitem value="…">`). Default: `[]`.
|
|
24
|
+
* @fires {CustomEvent<SkyListChangeDetail>} list-change - Fired when selected items change.
|
|
25
|
+
* @method focusListItem Focuses a list item by index.
|
|
26
|
+
* @method getItems Returns current slotted list items.
|
|
27
|
+
*
|
|
28
|
+
* @csspart list-container - The main container wrapping slotted list items.
|
|
29
|
+
*
|
|
30
|
+
* @Behavior
|
|
31
|
+
* - Manages activation and selection state for slotted `sky-listitem` children.
|
|
32
|
+
* - Supports keyboard navigation (`ArrowUp/Down`, `Home/End`, `Enter`, `Space`).
|
|
33
|
+
* - Emits a normalized selected-items payload on each selection update.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```html
|
|
37
|
+
* <sky-list selection="single">
|
|
38
|
+
* <sky-listitem>Option A</sky-listitem>
|
|
39
|
+
* <sky-listitem>Option B</sky-listitem>
|
|
40
|
+
* <sky-listitem>Option C</sky-listitem>
|
|
41
|
+
* </sky-list>
|
|
42
|
+
* ```
|
|
43
|
+
* ```vue
|
|
44
|
+
* <template>
|
|
45
|
+
* <sky-list selection="single" @list-change="onListChange">
|
|
46
|
+
* <sky-listitem>Option A</sky-listitem>
|
|
47
|
+
* <sky-listitem>Option B</sky-listitem>
|
|
48
|
+
* <sky-listitem>Option C</sky-listitem>
|
|
49
|
+
* </sky-list>
|
|
50
|
+
* </template>
|
|
51
|
+
* ```
|
|
52
|
+
* ```jsx
|
|
53
|
+
* export default function Demo() {
|
|
54
|
+
* return (
|
|
55
|
+
* <sky-list selection="single">
|
|
56
|
+
* <sky-listitem>Option A</sky-listitem>
|
|
57
|
+
* <sky-listitem>Option B</sky-listitem>
|
|
58
|
+
* <sky-listitem>Option C</sky-listitem>
|
|
59
|
+
* </sky-list>
|
|
60
|
+
* );
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare class SkyList extends LitElement {
|
|
65
|
+
static styles: import("lit").CSSResult;
|
|
66
|
+
selection: SkyListSelectionMode;
|
|
67
|
+
/** Bound selection as item `value` strings (requires `value` on items). */
|
|
68
|
+
selectedValues: string[];
|
|
69
|
+
private items;
|
|
70
|
+
private currentIndex;
|
|
71
|
+
/** Avoid feedback when syncing selection from the `selectedValues` prop. */
|
|
72
|
+
private _syncingSelectedValues;
|
|
73
|
+
private _onItemActivate;
|
|
74
|
+
firstUpdated(): void;
|
|
75
|
+
disconnectedCallback(): void;
|
|
76
|
+
private onItemActivate;
|
|
77
|
+
/** Applies `selectedValues` from the host to child items. */
|
|
78
|
+
private _applySelectedValuesFromProp;
|
|
79
|
+
updated(changed: PropertyValues): void;
|
|
80
|
+
private onKeydown;
|
|
81
|
+
private focusItem;
|
|
82
|
+
focusListItem(index: number): void;
|
|
83
|
+
getItems(): SkyListitem[];
|
|
84
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
85
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{__decorate as e,__metadata as t}from"tslib";import{LitElement as s,css as i,html as r}from"lit";import{property as n,queryAssignedElements as o,customElement as a}from"lit/decorators.js";let l=class extends s{constructor(){super(...arguments),this.selection="none",this.selectedValues=[],this.currentIndex=0,this._syncingSelectedValues=!1,this._onItemActivate=e=>this.onItemActivate(e)}static{this.styles=i`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
font-family: var(--sky-font, sans-serif);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.list-container {
|
|
8
|
+
width: 100%;
|
|
9
|
+
border-radius: var(--sky-radius-secondary, 8px);
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
box-shadow: var(--sky-box-shadow-primary, 0 2px 6px rgba(0,0,0,0.1));
|
|
12
|
+
background-color: var(--sky-glass-primary, rgba(255,255,255,0.6));
|
|
13
|
+
position: relative;
|
|
14
|
+
border: var(--sky-border-primary, 1px solid rgba(0,0,0,0.1));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.list-container::before {
|
|
18
|
+
content: "";
|
|
19
|
+
position: absolute;
|
|
20
|
+
inset: 0;
|
|
21
|
+
backdrop-filter: var(--sky-blur-primary, blur(12px))
|
|
22
|
+
var(--sky-brightness-primary, brightness(1.05))
|
|
23
|
+
var(--sky-saturation-primary, saturate(1.2));
|
|
24
|
+
-webkit-backdrop-filter: var(--sky-blur-primary, blur(12px))
|
|
25
|
+
var(--sky-brightness-primary, brightness(1.05))
|
|
26
|
+
var(--sky-saturation-primary, saturate(1.2));
|
|
27
|
+
z-index: -1;
|
|
28
|
+
border-radius: inherit;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
::slotted(sky-listitem[subheader]) {
|
|
32
|
+
position: sticky;
|
|
33
|
+
top: 0;
|
|
34
|
+
z-index: 1;
|
|
35
|
+
}
|
|
36
|
+
`}firstUpdated(){this.setAttribute("role","listbox"),this.addEventListener("keydown",this.onKeydown),this.addEventListener("item-activate",this._onItemActivate),this.focusItem(0)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("keydown",this.onKeydown),this.removeEventListener("item-activate",this._onItemActivate)}onItemActivate(e){const t=e.detail.item;"single"===this.selection?(this.items.forEach(e=>e.setSelected(!1)),t.setSelected(!0)):"multiple"===this.selection&&t.setSelected(!t.selected);const s=this.items.filter(e=>e.selected),i=s.map(e=>e.value||"");this._syncingSelectedValues=!0,this.selectedValues=[...i],this._syncingSelectedValues=!1,this.dispatchEvent(new CustomEvent("list-change",{detail:{selectedItems:s,selectedValues:i},bubbles:!0,composed:!0}))}_applySelectedValuesFromProp(){if(!this.items?.length||"none"===this.selection)return;const e=new Set(this.selectedValues??[]);if("single"===this.selection){const t=[...e][0];for(const e of this.items)e.setSelected(void 0!==t&&e.value===t);return}for(const t of this.items)t.setSelected(e.has(t.value))}updated(e){super.updated(e),!e.has("selectedValues")&&!e.has("selection")||this._syncingSelectedValues||this._applySelectedValuesFromProp()}onKeydown(e){const t=this.items.length-1;switch(e.key){case"ArrowDown":e.preventDefault(),this.focusItem(Math.min(this.currentIndex+1,t));break;case"ArrowUp":e.preventDefault(),this.focusItem(Math.max(this.currentIndex-1,0));break;case"Home":e.preventDefault(),this.focusItem(0);break;case"End":e.preventDefault(),this.focusItem(t);break;case" ":case"Enter":e.preventDefault(),this.items[this.currentIndex]?.dispatchEvent(new CustomEvent("item-activate",{detail:{item:this.items[this.currentIndex]},bubbles:!0,composed:!0}))}}focusItem(e){if(!this.items?.length)return;const t=this.items[this.currentIndex];t&&t.shadowRoot?.querySelector(".list-item")?.setAttribute("tabindex","-1"),this.currentIndex=e;const s=this.items[this.currentIndex];if(s&&!s.disabled){const e=s.shadowRoot?.querySelector(".list-item");e&&(e.setAttribute("tabindex","0"),e.focus())}}focusListItem(e){this.focusItem(e)}getItems(){return[...this.items??[]]}render(){return r`
|
|
37
|
+
<div class="list-container">
|
|
38
|
+
<slot></slot>
|
|
39
|
+
</div>
|
|
40
|
+
`}};e([n({type:String}),t("design:type",String)],l.prototype,"selection",void 0),e([n({type:Array}),t("design:type",Array)],l.prototype,"selectedValues",void 0),e([o({flatten:!0}),t("design:type",Array)],l.prototype,"items",void 0),l=e([a("sky-list")],l);export{l as SkyList};
|
|
41
|
+
//# sourceMappingURL=sky-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sky-list.js","sources":["../../src/sky-list/sky-list.ts"],"sourcesContent":[null],"names":["SkyList","LitElement","constructor","this","selection","selectedValues","currentIndex","_syncingSelectedValues","_onItemActivate","e","onItemActivate","styles","css","firstUpdated","setAttribute","addEventListener","onKeydown","focusItem","disconnectedCallback","super","removeEventListener","item","detail","items","forEach","i","setSelected","selected","selectedItems","filter","map","value","dispatchEvent","CustomEvent","bubbles","composed","_applySelectedValuesFromProp","length","want","Set","first","undefined","has","updated","changed","max","key","preventDefault","Math","min","index","prev","shadowRoot","querySelector","current","disabled","el","focus","focusListItem","getItems","render","html","__decorate","property","type","String","prototype","Array","queryAssignedElements","flatten","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-listitem";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-listitem.js';
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
export type SkyListitemActivateDetail = {
|
|
3
|
+
item: SkyListitem;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* @element sky-listitem
|
|
7
|
+
*
|
|
8
|
+
* @summary List item with optional avatar, actions, subheader mode, and selectable state.
|
|
9
|
+
*
|
|
10
|
+
* @status stable
|
|
11
|
+
* @since 1.0.0
|
|
12
|
+
*
|
|
13
|
+
* @documentation https://library.sky-ui.com/components/list
|
|
14
|
+
*
|
|
15
|
+
* @slot content - Main content of the list item (usually label or text).
|
|
16
|
+
* @slot actions - Trailing action elements (e.g., icons, buttons).
|
|
17
|
+
* @property {string} avatar - Optional avatar image URL.
|
|
18
|
+
* @property {string} value - Stable id for selection (`sky-list` `selectedValues` / `list-change`). Default: `""`.
|
|
19
|
+
* @property {string} subheader - Subheader text; when set, item renders as a section header.
|
|
20
|
+
* @property {boolean} selected - Whether item is selected.
|
|
21
|
+
* @property {boolean} dense - Whether compact spacing is used.
|
|
22
|
+
* @property {boolean} disabled - Whether interaction is disabled.
|
|
23
|
+
* @fires {CustomEvent<SkyListitemActivateDetail>} item-activate - Fired when the item is activated.
|
|
24
|
+
* @method setSelected Sets selection state programmatically.
|
|
25
|
+
*
|
|
26
|
+
* @csspart list-item - The main list item container.
|
|
27
|
+
* @csspart leading - The leading section (avatar container).
|
|
28
|
+
* @csspart avatar - The avatar image element.
|
|
29
|
+
* @csspart content - The content wrapper for the main slot.
|
|
30
|
+
* @csspart actions - The trailing actions container.
|
|
31
|
+
* @csspart subheader - The subheader divider element.
|
|
32
|
+
*
|
|
33
|
+
* @Behavior
|
|
34
|
+
* - Renders either a selectable list row or a non-interactive subheader variant.
|
|
35
|
+
* - Emits `item-activate` for parent list orchestration.
|
|
36
|
+
* - Supports compact and disabled display variants.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```html
|
|
40
|
+
* <sky-listitem avatar="https://example.com/avatar.jpg" selected>
|
|
41
|
+
* <span slot="content">John Doe</span>
|
|
42
|
+
* <button slot="actions" type="button">Action</button>
|
|
43
|
+
* </sky-listitem>
|
|
44
|
+
* ```
|
|
45
|
+
* ```vue
|
|
46
|
+
* <template>
|
|
47
|
+
* <sky-listitem avatar="https://example.com/avatar.jpg" selected @item-activate="onActivate">
|
|
48
|
+
* <span slot="content">John Doe</span>
|
|
49
|
+
* <button slot="actions" type="button">Action</button>
|
|
50
|
+
* </sky-listitem>
|
|
51
|
+
* </template>
|
|
52
|
+
* ```
|
|
53
|
+
* ```jsx
|
|
54
|
+
* export default function Demo() {
|
|
55
|
+
* return (
|
|
56
|
+
* <sky-listitem avatar="https://example.com/avatar.jpg" selected>
|
|
57
|
+
* <span slot="content">John Doe</span>
|
|
58
|
+
* <button slot="actions" type="button">Action</button>
|
|
59
|
+
* </sky-listitem>
|
|
60
|
+
* );
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare class SkyListitem extends LitElement {
|
|
65
|
+
avatar: string;
|
|
66
|
+
/** Optional stable value for list selection (`sky-list` binding). */
|
|
67
|
+
value: string;
|
|
68
|
+
subheader: string;
|
|
69
|
+
selected: boolean;
|
|
70
|
+
dense: boolean;
|
|
71
|
+
disabled: boolean;
|
|
72
|
+
static styles: import("lit").CSSResult;
|
|
73
|
+
private onClick;
|
|
74
|
+
setSelected(selected: boolean): void;
|
|
75
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
76
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import{__decorate as t,__metadata as e}from"tslib";import{LitElement as i,css as s,html as r,nothing as a}from"lit";import{property as o,customElement as d}from"lit/decorators.js";import{when as l}from"lit/directives/when.js";let n=class extends i{constructor(){super(...arguments),this.avatar="",this.value="",this.subheader="",this.selected=!1,this.dense=!1,this.disabled=!1}static{this.styles=s`
|
|
2
|
+
:host {
|
|
3
|
+
display: block;
|
|
4
|
+
cursor: pointer;
|
|
5
|
+
outline: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
:host([disabled]) {
|
|
9
|
+
opacity: 0.6;
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
cursor: not-allowed;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.list-item {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: center;
|
|
17
|
+
padding: 10px 14px;
|
|
18
|
+
border-bottom: 1px solid var(--sky-border-light, #e0e0e0);
|
|
19
|
+
transition: background 0.25s ease;
|
|
20
|
+
color: var(--sky-text-primary, #222);
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
:host(:hover) .list-item,
|
|
25
|
+
:host(:focus-visible) .list-item {
|
|
26
|
+
background: var(--sky-hover-primary, rgba(0, 0, 0, 0.05));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
:host([selected]) .list-item {
|
|
30
|
+
background: var(--sky-hover-secondary);
|
|
31
|
+
border-left: 3px solid var(--sky-active-primary);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
:host(:last-child) .list-item {
|
|
35
|
+
border-bottom: none;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.leading {
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
margin-right: 12px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.avatar {
|
|
45
|
+
width: 40px;
|
|
46
|
+
height: 40px;
|
|
47
|
+
border-radius: 50%;
|
|
48
|
+
object-fit: cover;
|
|
49
|
+
background: var(--sky-hover-primary);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
:host([dense]) .list-item {
|
|
53
|
+
padding: 6px 10px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.content {
|
|
57
|
+
flex: 1;
|
|
58
|
+
text-align: start;
|
|
59
|
+
min-width: 0;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.actions {
|
|
63
|
+
display: flex;
|
|
64
|
+
margin-left: 12px;
|
|
65
|
+
gap: 8px;
|
|
66
|
+
flex-shrink: 0;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.subheader {
|
|
70
|
+
font-size: 16px;
|
|
71
|
+
text-align: start;
|
|
72
|
+
color: var(--sky-text-secondary, #666);
|
|
73
|
+
padding: 6px 14px;
|
|
74
|
+
font-weight: 600;
|
|
75
|
+
background: var(--sky-hover-primary);
|
|
76
|
+
}
|
|
77
|
+
`}onClick(){this.disabled||this.dispatchEvent(new CustomEvent("item-activate",{detail:{item:this},bubbles:!0,composed:!0}))}setSelected(t){this.selected=t,this.requestUpdate()}render(){return this.subheader?r`
|
|
78
|
+
<div class="subheader" role="presentation">${this.subheader}</div>
|
|
79
|
+
`:r`
|
|
80
|
+
<div
|
|
81
|
+
class="list-item"
|
|
82
|
+
part="list-item"
|
|
83
|
+
role="option"
|
|
84
|
+
aria-selected="${this.hasAttribute("selected")}"
|
|
85
|
+
tabindex="-1"
|
|
86
|
+
@click=${this.onClick}
|
|
87
|
+
>
|
|
88
|
+
${l(this.avatar,()=>r`
|
|
89
|
+
<div class="leading" part="leading">
|
|
90
|
+
<img
|
|
91
|
+
class="avatar"
|
|
92
|
+
src=${this.avatar}
|
|
93
|
+
alt="Avatar"
|
|
94
|
+
part="avatar"
|
|
95
|
+
/>
|
|
96
|
+
</div>
|
|
97
|
+
`)}
|
|
98
|
+
|
|
99
|
+
<div class="content" part="content"><slot name="content"></slot></div>
|
|
100
|
+
|
|
101
|
+
<slot name="actions" part="actions">${a}</slot>
|
|
102
|
+
</div>
|
|
103
|
+
`}};t([o({type:String}),e("design:type",Object)],n.prototype,"avatar",void 0),t([o({type:String}),e("design:type",Object)],n.prototype,"value",void 0),t([o({type:String}),e("design:type",Object)],n.prototype,"subheader",void 0),t([o({type:Boolean,reflect:!0}),e("design:type",Object)],n.prototype,"selected",void 0),t([o({type:Boolean,reflect:!0}),e("design:type",Object)],n.prototype,"dense",void 0),t([o({type:Boolean,reflect:!0}),e("design:type",Object)],n.prototype,"disabled",void 0),n=t([d("sky-listitem")],n);export{n as SkyListitem};
|
|
104
|
+
//# sourceMappingURL=sky-listitem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sky-listitem.js","sources":["../../src/sky-listitem/sky-listitem.ts"],"sourcesContent":[null],"names":["SkyListitem","LitElement","constructor","this","avatar","value","subheader","selected","dense","disabled","styles","css","onClick","dispatchEvent","CustomEvent","detail","item","bubbles","composed","setSelected","requestUpdate","render","html","hasAttribute","when","nothing","__decorate","property","type","String","prototype","Boolean","reflect","customElement"],"mappings":"kOAkEO,IAAMA,EAAN,cAA0BC,EAA1B,WAAAC,uBACuBC,KAAAC,OAAS,GAETD,KAAAE,MAAQ,GACRF,KAAAG,UAAY,GACIH,KAAAI,UAAW,EACXJ,KAAAK,OAAQ,EACRL,KAAAM,UAAW,CAoIzD,QAlIkBN,KAAAO,OAASC,CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4E1B,CAEM,OAAAC,GACFT,KAAKM,UACTN,KAAKU,cACH,IAAIC,YAAuC,gBAAiB,CAC1DC,OAAQ,CAAEC,KAAMb,MAChBc,SAAS,EACTC,UAAU,IAGhB,CAEA,WAAAC,CAAYZ,GACVJ,KAAKI,SAAWA,EAChBJ,KAAKiB,eACP,CAES,MAAAC,GACP,OAAIlB,KAAKG,UACAgB,CAAI;qDACoCnB,KAAKG;QAI/CgB,CAAI;;;;;yBAKUnB,KAAKoB,aAAa;;iBAE1BpB,KAAKS;;UAEZY,EACArB,KAAKC,OACL,IAAMkB,CAAI;;;;sBAIEnB,KAAKC;;;;;;;;;8CAUmBqB;;KAG5C,GAzI4BC,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAAsB7B,EAAA8B,UAAA,iBAEZJ,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAAqB7B,EAAA8B,UAAA,gBACXJ,EAAA,CAA3BC,EAAS,CAAEC,KAAMC,kCAAyB7B,EAAA8B,UAAA,oBACCJ,EAAA,CAA3CC,EAAS,CAAEC,KAAMG,QAASC,SAAS,6BAAyBhC,EAAA8B,UAAA,mBACjBJ,EAAA,CAA3CC,EAAS,CAAEC,KAAMG,QAASC,SAAS,6BAAsBhC,EAAA8B,UAAA,gBACdJ,EAAA,CAA3CC,EAAS,CAAEC,KAAMG,QAASC,SAAS,6BAAyBhC,EAAA8B,UAAA,mBAPlD9B,EAAW0B,EAAA,CADvBO,EAAc,iBACFjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./sky-navbar";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './sky-navbar.js';
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { LitElement, TemplateResult } from "lit";
|
|
2
|
+
export type NavIcon = string | TemplateResult | HTMLElement | {
|
|
3
|
+
icon: string;
|
|
4
|
+
inline?: boolean;
|
|
5
|
+
flip?: string;
|
|
6
|
+
rotate?: number;
|
|
7
|
+
};
|
|
8
|
+
export type NavAction = string | ((ctx: {
|
|
9
|
+
item: NavItem;
|
|
10
|
+
path: string | null;
|
|
11
|
+
host: SkyNavbar;
|
|
12
|
+
event?: Event;
|
|
13
|
+
}) => any);
|
|
14
|
+
export type NavItem = {
|
|
15
|
+
id?: string;
|
|
16
|
+
label?: string;
|
|
17
|
+
sublabel?: string;
|
|
18
|
+
iconL?: NavIcon;
|
|
19
|
+
iconR?: NavIcon;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
route?: string;
|
|
22
|
+
submenu?: NavItem[];
|
|
23
|
+
divider?: boolean;
|
|
24
|
+
action?: NavAction;
|
|
25
|
+
};
|
|
26
|
+
export type SkyNavbarItemActivateDetail = {
|
|
27
|
+
item: NavItem;
|
|
28
|
+
path: string | null;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @element sky-navbar
|
|
32
|
+
*
|
|
33
|
+
* @summary Responsive navbar with desktop/mobile layouts, nested menus, and overflow handling.
|
|
34
|
+
*
|
|
35
|
+
* @status stable
|
|
36
|
+
* @since 1.0.0
|
|
37
|
+
*
|
|
38
|
+
* @documentation https://library.sky-ui.com/components/navbar
|
|
39
|
+
* @dependency sky-icon
|
|
40
|
+
* @dependency sky-button
|
|
41
|
+
* @dependency sky-drawer
|
|
42
|
+
* @dependency sky-navpanel
|
|
43
|
+
*
|
|
44
|
+
* @uiVModel activeRoute route-change
|
|
45
|
+
*
|
|
46
|
+
* @slot prepend - Content placed before the navigation items on desktop.
|
|
47
|
+
* @slot append - Content placed after the navigation items on desktop.
|
|
48
|
+
* @slot prepend-mobile - Content placed before navigation items in mobile mode.
|
|
49
|
+
* @slot append-mobile - Content placed after navigation items in mobile mode.
|
|
50
|
+
* @slot header - Header content for mobile drawer.
|
|
51
|
+
* @slot footer - Footer content for mobile drawer.
|
|
52
|
+
*
|
|
53
|
+
* @csspart nav-desktop - Desktop navigation container.
|
|
54
|
+
* @csspart nav-mobile - Mobile navigation container.
|
|
55
|
+
* @csspart nav-bar - Navigation bar container.
|
|
56
|
+
*
|
|
57
|
+
* @property {NavItem[]} items - Full menu item model.
|
|
58
|
+
* @property {string | null} activeRoute - Active route used for highlighting.
|
|
59
|
+
* @property {number} breakpoint - Mobile breakpoint in pixels.
|
|
60
|
+
* @property {boolean} isMobile - Whether the navbar is currently in mobile layout.
|
|
61
|
+
* @property {number} overflowThreshold - Minimum visible desktop items before full overflow mode.
|
|
62
|
+
* @property {string} justifyBar - CSS `justify-content` for the outer bar.
|
|
63
|
+
* @property {string} justifyBarItems - CSS `justify-content` for the main item row.
|
|
64
|
+
* @property {boolean} pwaOverlay - Enables window-controls-overlay placement behavior.
|
|
65
|
+
* @property {boolean} customEvent - Uses item activation events instead of route navigation flow.
|
|
66
|
+
*
|
|
67
|
+
* @fires {CustomEvent<string>} route-change - Dispatched when a route is changed.
|
|
68
|
+
* @fires {CustomEvent<SkyNavbarItemActivateDetail>} item-activate - Dispatched when an item is activated.
|
|
69
|
+
* @method openMenu Opens the mobile drawer menu.
|
|
70
|
+
* @method closeMenu Closes mobile drawer and desktop submenus.
|
|
71
|
+
* @method toggleMenu Toggles mobile drawer menu.
|
|
72
|
+
* @method closeMenus Closes all open menus.
|
|
73
|
+
*
|
|
74
|
+
* @Behavior
|
|
75
|
+
* - Switches desktop/mobile rendering based on viewport width and `breakpoint`.
|
|
76
|
+
* - Mobile menu uses `sky-drawer` + `sky-navpanel` (maps `items` to navpanel rows).
|
|
77
|
+
* - Supports nested submenu navigation with keyboard and pointer interaction.
|
|
78
|
+
* - Applies overflow collapsing when top-level items exceed available space.
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```html
|
|
82
|
+
* <sky-navbar breakpoint="1024" pwa-overlay>
|
|
83
|
+
* <div slot="prepend">Logo</div>
|
|
84
|
+
* <div slot="append">User Menu</div>
|
|
85
|
+
* </sky-navbar>
|
|
86
|
+
* ```
|
|
87
|
+
* ```vue
|
|
88
|
+
* <template>
|
|
89
|
+
* <sky-navbar :items="items" @route-change="onRouteChange">
|
|
90
|
+
* <div slot="prepend">Logo</div>
|
|
91
|
+
* <div slot="append">User Menu</div>
|
|
92
|
+
* </sky-navbar>
|
|
93
|
+
* </template>
|
|
94
|
+
* ```
|
|
95
|
+
* ```jsx
|
|
96
|
+
* export default function Demo({ items }) {
|
|
97
|
+
* return (
|
|
98
|
+
* <sky-navbar items={items}>
|
|
99
|
+
* <div slot="prepend">Logo</div>
|
|
100
|
+
* <div slot="append">User Menu</div>
|
|
101
|
+
* </sky-navbar>
|
|
102
|
+
* );
|
|
103
|
+
* }
|
|
104
|
+
* ```
|
|
105
|
+
*/
|
|
106
|
+
export declare class SkyNavbar extends LitElement {
|
|
107
|
+
openMenu(): void;
|
|
108
|
+
closeMenu(): void;
|
|
109
|
+
toggleMenu(): void;
|
|
110
|
+
closeMenus(): void;
|
|
111
|
+
static dependencies: Record<string, CustomElementConstructor>;
|
|
112
|
+
/** Full menu model */
|
|
113
|
+
items: NavItem[];
|
|
114
|
+
/** Current active route for styling */
|
|
115
|
+
activeRoute: string | null;
|
|
116
|
+
/** Mobile breakpoint */
|
|
117
|
+
breakpoint: number;
|
|
118
|
+
/** Whether we are in mobile mode */
|
|
119
|
+
isMobile: boolean;
|
|
120
|
+
/** Minimum visible items on desktop before collapsing all into ⋯ */
|
|
121
|
+
overflowThreshold: number;
|
|
122
|
+
justifyBar: string;
|
|
123
|
+
justifyBarItems: string;
|
|
124
|
+
/** Keep existing prop only — no new props added */
|
|
125
|
+
pwaOverlay: boolean;
|
|
126
|
+
/** Desktop open path (topId[/childId[/...]]). Also drives which nested panels are open */
|
|
127
|
+
private activePath;
|
|
128
|
+
private isSubmenuOpen;
|
|
129
|
+
/** Desktop overflow split */
|
|
130
|
+
private visibleItems;
|
|
131
|
+
private overflowItems;
|
|
132
|
+
customEvent: boolean;
|
|
133
|
+
/** Desktop thumb highlight */
|
|
134
|
+
private focusedIndex;
|
|
135
|
+
/** Persist last top submenu host for animated repositioning */
|
|
136
|
+
private lastTopId;
|
|
137
|
+
private lastTopHadSubmenuOpen;
|
|
138
|
+
/** Mobile drawer open */
|
|
139
|
+
private drawerOpen;
|
|
140
|
+
/** Geometry caches for nested flyouts */
|
|
141
|
+
private anchorRects;
|
|
142
|
+
private anchorOffsets;
|
|
143
|
+
private _submenuPosition;
|
|
144
|
+
private static readonly OVERFLOW_ID;
|
|
145
|
+
private barEl;
|
|
146
|
+
/** Non-reactive; avoids Lit change-in-update when toggled during measurement */
|
|
147
|
+
private _isMeasuring;
|
|
148
|
+
private _measurementRequested;
|
|
149
|
+
private _resizeObs?;
|
|
150
|
+
private static _historyPatched;
|
|
151
|
+
private _winResize;
|
|
152
|
+
static styles: import("lit").CSSResult;
|
|
153
|
+
constructor();
|
|
154
|
+
connectedCallback(): void;
|
|
155
|
+
disconnectedCallback(): void;
|
|
156
|
+
private _onGlobalPointerDown;
|
|
157
|
+
private debounce;
|
|
158
|
+
firstUpdated(): void;
|
|
159
|
+
protected willUpdate(changed: Map<string, unknown>): void;
|
|
160
|
+
private _onLocationChange;
|
|
161
|
+
private _syncResponsive;
|
|
162
|
+
private _setRootPadding;
|
|
163
|
+
private _runAction;
|
|
164
|
+
render(): TemplateResult<1>;
|
|
165
|
+
private _renderDesktopBar;
|
|
166
|
+
private _renderTopButton;
|
|
167
|
+
private _norm;
|
|
168
|
+
private _routeActive;
|
|
169
|
+
private _renderTopPanel;
|
|
170
|
+
private _renderRow;
|
|
171
|
+
private _renderNested;
|
|
172
|
+
private _onDrawerChange;
|
|
173
|
+
private _navIconToString;
|
|
174
|
+
private _itemsHaveAction;
|
|
175
|
+
private _mapNavItemsToSidebarPages;
|
|
176
|
+
private _findNavItem;
|
|
177
|
+
private _mobileNavUsesActions;
|
|
178
|
+
private _onNavpanelRouteChange;
|
|
179
|
+
private _onNavpanelAction;
|
|
180
|
+
private _renderMobile;
|
|
181
|
+
private _onTopEnter;
|
|
182
|
+
private _onTopClick;
|
|
183
|
+
private _onRowEnter;
|
|
184
|
+
private _onRowClick;
|
|
185
|
+
private _navigate;
|
|
186
|
+
private _openTop;
|
|
187
|
+
private _openNested;
|
|
188
|
+
private _collapseTo;
|
|
189
|
+
private _closeAll;
|
|
190
|
+
private _positionNested;
|
|
191
|
+
private _getPanelEl;
|
|
192
|
+
private _cell;
|
|
193
|
+
private _activate;
|
|
194
|
+
/** Lock body scroll when mobile drawer is open. */
|
|
195
|
+
private _lockBodyScroll;
|
|
196
|
+
/** Unlock body scroll when no dialogs/navbars need it anymore. */
|
|
197
|
+
private _unlockBodyScroll;
|
|
198
|
+
private _slug;
|
|
199
|
+
private _path;
|
|
200
|
+
private _ensurePath;
|
|
201
|
+
private _topItems;
|
|
202
|
+
private _shallowEqual;
|
|
203
|
+
private _applyOverflow;
|
|
204
|
+
private _closeMobileOverlay;
|
|
205
|
+
private _measureOverflow;
|
|
206
|
+
private _scheduleMeasureIfNeeded;
|
|
207
|
+
}
|