@redvars/peacock 3.8.1 → 3.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BaseInput-14YmcfK7.js → BaseInput-CU1zZYKc.js} +3 -3
- package/dist/{BaseInput-14YmcfK7.js.map → BaseInput-CU1zZYKc.js.map} +1 -1
- package/dist/ButtonConstants-CahP2_NA.js +4 -0
- package/dist/ButtonConstants-CahP2_NA.js.map +1 -0
- package/dist/{IndividualComponent-DUINtMGK.js → IndividualComponent-Bdwyrvd6.js} +2 -2
- package/dist/{IndividualComponent-DUINtMGK.js.map → IndividualComponent-Bdwyrvd6.js.map} +1 -1
- package/dist/{NativeHyperlinkMixin-DrYXyfMQ.js → NativeHyperlinkMixin-D9J4aBTy.js} +4 -30
- package/dist/NativeHyperlinkMixin-D9J4aBTy.js.map +1 -0
- package/dist/accordion-item.js +338 -0
- package/dist/accordion-item.js.map +1 -0
- package/dist/accordion.js +159 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.js +190 -0
- package/dist/alert.js.map +1 -0
- package/dist/app-bar.js +324 -0
- package/dist/app-bar.js.map +1 -0
- package/dist/assets/components.css +1 -1
- package/dist/assets/components.css.map +1 -1
- package/dist/assets/styles.css +1 -1
- package/dist/assets/styles.css.map +1 -1
- package/dist/attachable-controller-CAKVrfcG.js +119 -0
- package/dist/attachable-controller-CAKVrfcG.js.map +1 -0
- package/dist/avatar.js +114 -0
- package/dist/avatar.js.map +1 -0
- package/dist/babel-DBsfpl3B.js +18 -0
- package/dist/babel-DBsfpl3B.js.map +1 -0
- package/dist/badge.js +91 -0
- package/dist/badge.js.map +1 -0
- package/dist/base-Cl6v8-BZ.js +9 -0
- package/dist/base-Cl6v8-BZ.js.map +1 -0
- package/dist/bottom-sheet.js +14 -5
- package/dist/bottom-sheet.js.map +1 -1
- package/dist/breadcrumb-item.js +163 -0
- package/dist/breadcrumb-item.js.map +1 -0
- package/dist/breadcrumb.js +95 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/button-group.js +87 -137
- package/dist/button-group.js.map +1 -1
- package/dist/button.js +863 -133
- package/dist/button.js.map +1 -1
- package/dist/calendar-column-view.js +8 -4
- package/dist/calendar-column-view.js.map +1 -1
- package/dist/calendar-month-view.js +8 -4
- package/dist/calendar-month-view.js.map +1 -1
- package/dist/calendar.js +8 -4
- package/dist/calendar.js.map +1 -1
- package/dist/canvas.js +8 -4
- package/dist/canvas.js.map +1 -1
- package/dist/card-content.js +1 -1
- package/dist/card.js +45 -52
- package/dist/card.js.map +1 -1
- package/dist/cb-compound-expression.js +6 -2
- package/dist/cb-compound-expression.js.map +1 -1
- package/dist/cb-divider.js +7 -3
- package/dist/cb-divider.js.map +1 -1
- package/dist/cb-expression.js +6 -2
- package/dist/cb-expression.js.map +1 -1
- package/dist/cb-predicate.js +7 -3
- package/dist/cb-predicate.js.map +1 -1
- package/dist/{chart-bar-cn6rrna-.js → chart-bar-CYoGNXnK.js} +6 -2
- package/dist/{chart-bar-cn6rrna-.js.map → chart-bar-CYoGNXnK.js.map} +1 -1
- package/dist/chart-bar.js +7 -6
- package/dist/chart-bar.js.map +1 -1
- package/dist/chart-doughnut.js +8 -3
- package/dist/chart-doughnut.js.map +1 -1
- package/dist/chart-pie.js +8 -3
- package/dist/chart-pie.js.map +1 -1
- package/dist/chart-stacked-bar.js +7 -6
- package/dist/chart-stacked-bar.js.map +1 -1
- package/dist/checkbox.js +526 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chip.js +459 -0
- package/dist/chip.js.map +1 -0
- package/dist/{class-map-YU7g0o3B.js → class-map-DG7CA1et.js} +2 -2
- package/dist/{class-map-YU7g0o3B.js.map → class-map-DG7CA1et.js.map} +1 -1
- package/dist/clock.js +6 -2
- package/dist/clock.js.map +1 -1
- package/dist/code-editor.js +45 -30
- package/dist/code-editor.js.map +1 -1
- package/dist/code-highlighter.js +82 -11216
- package/dist/code-highlighter.js.map +1 -1
- package/dist/color-picker.js +701 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/condition-builder.js +5 -1
- package/dist/condition-builder.js.map +1 -1
- package/dist/container.js +141 -0
- package/dist/container.js.map +1 -0
- package/dist/custom-elements-jsdocs.json +823 -778
- package/dist/custom-elements.json +4067 -2207
- package/dist/datasource-B2eRh6Or.js +108 -0
- package/dist/datasource-B2eRh6Or.js.map +1 -0
- package/dist/dispatch-event-utils-CuEqjlPT.js.map +1 -1
- package/dist/divider.js +135 -0
- package/dist/divider.js.map +1 -0
- package/dist/dropdown-button.js +11 -6
- package/dist/dropdown-button.js.map +1 -1
- package/dist/element-internals-2CMts_0M.js +290 -0
- package/dist/element-internals-2CMts_0M.js.map +1 -0
- package/dist/elevation.js +94 -0
- package/dist/elevation.js.map +1 -0
- package/dist/empty-state.js +194 -0
- package/dist/empty-state.js.map +1 -0
- package/dist/estree-C2LDzX4U.js +47 -0
- package/dist/estree-C2LDzX4U.js.map +1 -0
- package/dist/{event-manager-D-QCmUgR.js → event-manager-DTyX2uYD.js} +2 -2
- package/dist/{event-manager-D-QCmUgR.js.map → event-manager-DTyX2uYD.js.map} +1 -1
- package/dist/fab.js +139 -148
- package/dist/fab.js.map +1 -1
- package/dist/field.js +461 -0
- package/dist/field.js.map +1 -0
- package/dist/{popover-DUPmMVWS.js → floating-controller-CnUZnOhK.js} +2 -171
- package/dist/floating-controller-CnUZnOhK.js.map +1 -0
- package/dist/{flow-designer-node-BWrPuxAR.js → flow-designer-node-DsVwQTac.js} +7 -3
- package/dist/{flow-designer-node-BWrPuxAR.js.map → flow-designer-node-DsVwQTac.js.map} +1 -1
- package/dist/flow-designer-node.js +3 -3
- package/dist/flow-designer.js +19 -12
- package/dist/flow-designer.js.map +1 -1
- package/dist/focus-ring.js +126 -0
- package/dist/focus-ring.js.map +1 -0
- package/dist/form-associated-BXADnjOB.js +388 -0
- package/dist/form-associated-BXADnjOB.js.map +1 -0
- package/dist/html-D22sQuVy.js +27 -0
- package/dist/html-D22sQuVy.js.map +1 -0
- package/dist/html-editor.js +21 -9
- package/dist/html-editor.js.map +1 -1
- package/dist/hyperlink-DLvb6MXE.js +98 -0
- package/dist/hyperlink-DLvb6MXE.js.map +1 -0
- package/dist/icon-button.js +1064 -0
- package/dist/icon-button.js.map +1 -0
- package/dist/icon.js +170 -0
- package/dist/icon.js.map +1 -0
- package/dist/if-defined-BXZpRQ4P.js +10 -0
- package/dist/if-defined-BXZpRQ4P.js.map +1 -0
- package/dist/image.js +201 -0
- package/dist/image.js.map +1 -0
- package/dist/index-_g_oLekF.js +14095 -0
- package/dist/index-_g_oLekF.js.map +1 -0
- package/dist/index.js +74 -20
- package/dist/index.js.map +1 -1
- package/dist/is-dark-mode-DOcaw4Yq.js.map +1 -1
- package/dist/is-link-Dk2OV3PM.js +6 -0
- package/dist/is-link-Dk2OV3PM.js.map +1 -0
- package/dist/item.js +213 -0
- package/dist/item.js.map +1 -0
- package/dist/link.js +75 -0
- package/dist/link.js.map +1 -0
- package/dist/list-H0itjRte.js +526 -0
- package/dist/list-H0itjRte.js.map +1 -0
- package/dist/list.js +14 -0
- package/dist/list.js.map +1 -0
- package/dist/{peacock-loader.js → loader.js} +87 -22
- package/dist/loader.js.map +1 -0
- package/dist/menu-item.js +388 -0
- package/dist/menu-item.js.map +1 -0
- package/dist/menu.js +520 -0
- package/dist/menu.js.map +1 -0
- package/dist/modal.js +9 -5
- package/dist/modal.js.map +1 -1
- package/dist/navigation-rail-item.js +400 -0
- package/dist/navigation-rail-item.js.map +1 -0
- package/dist/navigation-rail.js +219 -0
- package/dist/navigation-rail.js.map +1 -0
- package/dist/notification-manager.js +8 -4
- package/dist/notification-manager.js.map +1 -1
- package/dist/notification.js +8 -4
- package/dist/notification.js.map +1 -1
- package/dist/number-counter.js +7 -3
- package/dist/number-counter.js.map +1 -1
- package/dist/{observe-slot-change-D8Xg-kSS.js → observe-slot-change-DPxaZrZF.js} +3 -4
- package/dist/observe-slot-change-DPxaZrZF.js.map +1 -0
- package/dist/option.js +121 -0
- package/dist/option.js.map +1 -0
- package/dist/pagination.js +255 -0
- package/dist/pagination.js.map +1 -0
- package/dist/pierre-dark-DFWl0m-C.js +4 -0
- package/dist/pierre-dark-DFWl0m-C.js.map +1 -0
- package/dist/pierre-light-BEkAPImt.js +4 -0
- package/dist/pierre-light-BEkAPImt.js.map +1 -0
- package/dist/popover-content.js +7 -3
- package/dist/popover-content.js.map +1 -1
- package/dist/popover.js +175 -3
- package/dist/popover.js.map +1 -1
- package/dist/postcss-BhbitHaI.js +64 -0
- package/dist/postcss-BhbitHaI.js.map +1 -0
- package/dist/{property-1psGvXOq.js → property-B49QQ8pS.js} +2 -2
- package/dist/{property-1psGvXOq.js.map → property-B49QQ8pS.js.map} +1 -1
- package/dist/query-CHb9Ft_d.js +10 -0
- package/dist/query-CHb9Ft_d.js.map +1 -0
- package/dist/query-assigned-elements-BJaGSqM0.js +10 -0
- package/dist/query-assigned-elements-BJaGSqM0.js.map +1 -0
- package/dist/radio.js +476 -0
- package/dist/radio.js.map +1 -0
- package/dist/ripple.js +506 -0
- package/dist/ripple.js.map +1 -0
- package/dist/search.js +12 -7
- package/dist/search.js.map +1 -1
- package/dist/segmented-button-group.js +137 -0
- package/dist/segmented-button-group.js.map +1 -0
- package/dist/segmented-button.js +289 -0
- package/dist/segmented-button.js.map +1 -0
- package/dist/select-CspawZ18.js +3944 -0
- package/dist/select-CspawZ18.js.map +1 -0
- package/dist/side-sheet.js +9 -5
- package/dist/side-sheet.js.map +1 -1
- package/dist/skeleton.js +122 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.js +346 -0
- package/dist/slider.js.map +1 -0
- package/dist/snackbar.js +335 -0
- package/dist/snackbar.js.map +1 -0
- package/dist/spinner.js +100 -0
- package/dist/spinner.js.map +1 -0
- package/dist/split-button.js +10 -5
- package/dist/split-button.js.map +1 -1
- package/dist/spread-B5cgadZl.js +32 -0
- package/dist/spread-B5cgadZl.js.map +1 -0
- package/dist/src/__internal/aria/aria.d.ts +98 -0
- package/dist/src/__internal/aria/delegate.d.ts +54 -0
- package/dist/src/__internal/events/dispatch-hooks.d.ts +80 -0
- package/dist/src/__internal/mixins/element-internals.d.ts +40 -0
- package/dist/src/__internal/mixins/form-associated.d.ts +174 -0
- package/dist/src/__internal/mixins/form-submitter.d.ts +59 -0
- package/dist/src/__internal/mixins/hyperlink.d.ts +42 -0
- package/dist/src/__internal/mixins/mixin.d.ts +49 -0
- package/dist/src/{__utils → __internal/utils}/observe-slot-change.d.ts +1 -0
- package/dist/src/accordion/accordion-item.d.ts +3 -1
- package/dist/src/accordion/accordion.d.ts +1 -1
- package/dist/src/alert/alert.d.ts +43 -0
- package/dist/src/alert/index.d.ts +1 -0
- package/dist/src/app-bar/app-bar.d.ts +92 -0
- package/dist/src/app-bar/index.d.ts +1 -0
- package/dist/src/avatar/avatar.d.ts +2 -0
- package/dist/src/bottom-sheet/bottom-sheet.d.ts +1 -1
- package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +1 -0
- package/dist/src/button/ButtonTypes.d.ts +5 -0
- package/dist/src/button/base-button/base-button.d.ts +18 -0
- package/dist/src/button/button/button.d.ts +29 -37
- package/dist/src/button/button-group/button-group.d.ts +17 -18
- package/dist/src/{fab → button/fab}/fab.d.ts +8 -26
- package/dist/src/button/icon-button/icon-button.d.ts +20 -27
- package/dist/src/button/index.d.ts +1 -0
- package/dist/src/calendar/calendar.d.ts +1 -1
- package/dist/src/canvas/canvas.d.ts +1 -1
- package/dist/src/card/card.d.ts +5 -6
- package/dist/src/chart-bar/chart-bar.d.ts +1 -1
- package/dist/src/chart-bar/chart-stacked-bar.d.ts +1 -1
- package/dist/src/checkbox/checkbox.d.ts +5 -1
- package/dist/src/chip/chip/chip.d.ts +9 -8
- package/dist/src/code-highlighter/code-highlighter.d.ts +2 -2
- package/dist/src/color-picker/color-picker.d.ts +85 -0
- package/dist/src/color-picker/index.d.ts +1 -0
- package/dist/src/container/container.d.ts +5 -1
- package/dist/src/divider/divider.d.ts +2 -0
- package/dist/src/empty-state/empty-state.d.ts +1 -0
- package/dist/src/field/field.d.ts +19 -1
- package/dist/src/focus-ring/focus-ring.d.ts +3 -7
- package/dist/src/html-editor/html-editor.d.ts +1 -1
- package/dist/src/icon/icon.d.ts +9 -4
- package/dist/src/image/image.d.ts +4 -0
- package/dist/src/index.d.ts +8 -6
- package/dist/src/item/item.d.ts +19 -29
- package/dist/src/link/link.d.ts +1 -1
- package/dist/src/list/list-item.d.ts +10 -6
- package/dist/src/list/list.d.ts +27 -2
- package/dist/src/menu/menu/menu.d.ts +14 -0
- package/dist/src/menu/menu-item/menu-item.d.ts +11 -4
- package/dist/src/modal/modal.d.ts +1 -1
- package/dist/src/navigation-rail/navigation-rail-item.d.ts +5 -4
- package/dist/src/navigation-rail/navigation-rail.d.ts +1 -1
- package/dist/src/radio/radio.d.ts +5 -0
- package/dist/src/ripple/ripple.d.ts +10 -1
- package/dist/src/search/search.d.ts +1 -1
- package/dist/src/segmented-button/segmented-button-group.d.ts +2 -2
- package/dist/src/segmented-button/segmented-button.d.ts +2 -0
- package/dist/src/side-sheet/side-sheet.d.ts +1 -1
- package/dist/src/skeleton/skeleton.d.ts +1 -0
- package/dist/src/slider/slider.d.ts +1 -0
- package/dist/src/snackbar/snackbar.d.ts +12 -2
- package/dist/src/svg/svg.d.ts +5 -0
- package/dist/src/table/table.d.ts +5 -0
- package/dist/src/tabs/tab.d.ts +2 -7
- package/dist/src/toolbar/toolbar.d.ts +2 -2
- package/dist/standalone-Ccq0tWwA.js +32 -0
- package/dist/standalone-Ccq0tWwA.js.map +1 -0
- package/dist/{state-DwbEjqVk.js → state-DkTK9EGF.js} +2 -2
- package/dist/{state-DwbEjqVk.js.map → state-DkTK9EGF.js.map} +1 -1
- package/dist/{style-map-DVmWOuYy.js → style-map-BQD5Et1D.js} +2 -2
- package/dist/{style-map-DVmWOuYy.js.map → style-map-BQD5Et1D.js.map} +1 -1
- package/dist/sub-menu.js +246 -0
- package/dist/sub-menu.js.map +1 -0
- package/dist/svg.js +273 -0
- package/dist/svg.js.map +1 -0
- package/dist/tab-group.js +188 -0
- package/dist/tab-group.js.map +1 -0
- package/dist/tab-panel.js +61 -0
- package/dist/tab-panel.js.map +1 -0
- package/dist/tab.js +658 -0
- package/dist/tab.js.map +1 -0
- package/dist/table.js +620 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.js +240 -0
- package/dist/tabs.js.map +1 -0
- package/dist/throttle-C7ZAPqtu.js +24 -0
- package/dist/throttle-C7ZAPqtu.js.map +1 -0
- package/dist/toolbar.js +9 -5
- package/dist/toolbar.js.map +1 -1
- package/dist/tooltip.js +270 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{unsafe-html-BsGUjx94.js → unsafe-html-Ct0N2_UU.js} +2 -2
- package/dist/{unsafe-html-BsGUjx94.js.map → unsafe-html-Ct0N2_UU.js.map} +1 -1
- package/dist/when-DEJm_QN9.js +9 -0
- package/dist/when-DEJm_QN9.js.map +1 -0
- package/package.json +4 -2
- package/readme.md +4 -4
- package/scss/mixin.scss +9 -6
- package/src/__internal/aria/aria.ts +293 -0
- package/src/__internal/aria/delegate.ts +206 -0
- package/src/__internal/events/dispatch-hooks.ts +182 -0
- package/src/__internal/mixins/element-internals.ts +73 -0
- package/src/__internal/mixins/form-associated.ts +295 -0
- package/src/__internal/mixins/form-submitter.ts +133 -0
- package/src/__internal/mixins/hyperlink.ts +71 -0
- package/src/__internal/mixins/mixin.ts +58 -0
- package/src/{__utils → __internal/utils}/observe-slot-change.ts +2 -5
- package/src/accordion/accordion-item.ts +6 -2
- package/src/accordion/accordion.ts +4 -2
- package/src/accordion/demo/index.html +95 -90
- package/src/alert/alert.scss +82 -0
- package/src/{banner/banner.ts → alert/alert.ts} +22 -22
- package/src/alert/index.ts +1 -0
- package/src/app-bar/app-bar-colors.scss +17 -0
- package/src/app-bar/app-bar.scss +165 -0
- package/src/app-bar/app-bar.ts +155 -0
- package/src/app-bar/index.ts +1 -0
- package/src/avatar/avatar.ts +4 -0
- package/src/badge/badge.ts +2 -0
- package/src/bottom-sheet/bottom-sheet.ts +8 -2
- package/src/breadcrumb/breadcrumb/breadcrumb.ts +2 -0
- package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +3 -0
- package/src/button/ButtonTypes.ts +17 -0
- package/src/button/base-button/base-button.ts +85 -0
- package/src/button/button/button-base.scss +307 -0
- package/src/button/button/button-colors.scss +27 -32
- package/src/button/button/button-layers.scss +126 -43
- package/src/button/button/button-shapes.scss +73 -0
- package/src/button/button/button.scss +12 -286
- package/src/button/button/button.ts +174 -194
- package/src/button/button-group/button-group.scss +43 -36
- package/src/button/button-group/button-group.ts +26 -137
- package/src/{fab → button/fab}/fab-colors.scss +0 -10
- package/src/button/fab/fab-sizes.scss +37 -0
- package/src/button/fab/fab.scss +172 -0
- package/src/{fab → button/fab}/fab.ts +69 -109
- package/src/button/icon-button/icon-button-sizes.scss +18 -3
- package/src/button/icon-button/icon-button.scss +5 -0
- package/src/button/icon-button/icon-button.ts +111 -141
- package/src/button/index.ts +7 -0
- package/src/calendar/calendar.ts +2 -2
- package/src/canvas/canvas.ts +2 -2
- package/src/card/card.scss +21 -8
- package/src/card/card.ts +20 -40
- package/src/chart-bar/chart-bar.ts +2 -2
- package/src/chart-bar/chart-stacked-bar.ts +2 -2
- package/src/checkbox/checkbox.ts +12 -4
- package/src/chip/chip/chip.scss +1 -1
- package/src/chip/chip/chip.ts +35 -55
- package/src/chip/demo/index.html +30 -26
- package/src/code-editor/code-editor.ts +68 -58
- package/src/code-editor/demo/index.html +32 -27
- package/src/code-highlighter/code-highlighter.ts +95 -40
- package/src/code-highlighter/demo/index.html +24 -21
- package/src/color-picker/color-picker.scss +217 -0
- package/src/color-picker/color-picker.ts +478 -0
- package/src/color-picker/index.ts +1 -0
- package/src/container/container.ts +8 -2
- package/src/date-picker/date-picker.ts +2 -3
- package/src/divider/divider.ts +5 -1
- package/src/dropdown-button/demo/index.html +106 -101
- package/src/dropdown-button/dropdown-button.ts +1 -1
- package/src/elevation/elevation.ts +2 -0
- package/src/empty-state/empty-state.ts +3 -0
- package/src/field/field.ts +52 -33
- package/src/focus-ring/focus-ring.ts +5 -7
- package/src/html-editor/html-editor.ts +28 -16
- package/src/icon/datasource.ts +1 -1
- package/src/icon/icon.ts +27 -15
- package/src/image/image.ts +18 -6
- package/src/index.ts +25 -6
- package/src/input/input.ts +2 -2
- package/src/item/item.scss +127 -161
- package/src/item/item.ts +69 -323
- package/src/link/link.ts +3 -1
- package/src/list/list-item.scss +48 -32
- package/src/list/list-item.ts +109 -79
- package/src/list/list.scss +1 -13
- package/src/list/list.ts +170 -5
- package/src/{peacock-loader.ts → loader.ts} +95 -79
- package/src/menu/menu/menu.scss +15 -26
- package/src/menu/menu/menu.ts +20 -9
- package/src/menu/menu-item/menu-item.scss +82 -20
- package/src/menu/menu-item/menu-item.ts +85 -46
- package/src/menu/sub-menu/sub-menu.scss +5 -1
- package/src/menu/sub-menu/sub-menu.ts +3 -0
- package/src/modal/modal.ts +2 -2
- package/src/navigation-rail/navigation-rail-item.scss +25 -8
- package/src/navigation-rail/navigation-rail-item.ts +21 -36
- package/src/navigation-rail/navigation-rail.scss +25 -21
- package/src/navigation-rail/navigation-rail.ts +4 -2
- package/src/number-field/number-field.ts +2 -2
- package/src/pagination/pagination.ts +2 -0
- package/src/popover/popover.ts +3 -3
- package/src/radio/radio.ts +13 -5
- package/src/ripple/ripple.ts +14 -1
- package/src/search/search.ts +3 -3
- package/src/segmented-button/segmented-button-group.ts +8 -4
- package/src/segmented-button/segmented-button.ts +4 -0
- package/src/select/option.ts +2 -0
- package/src/side-sheet/side-sheet.ts +3 -3
- package/src/sidebar-menu/sidebar-menu-item.scss +12 -6
- package/src/sidebar-menu/sidebar-menu-item.ts +3 -2
- package/src/skeleton/skeleton.ts +3 -0
- package/src/slider/slider.ts +4 -1
- package/src/snackbar/snackbar.ts +40 -25
- package/src/spinner/spinner.ts +2 -0
- package/src/svg/svg.ts +27 -9
- package/src/switch/switch.ts +1 -1
- package/src/table/table.ts +16 -3
- package/src/tabs/demo/index.html +79 -79
- package/src/tabs/tab-group.ts +2 -0
- package/src/tabs/tab-panel.ts +2 -0
- package/src/tabs/tab.scss +4 -4
- package/src/tabs/tab.ts +16 -39
- package/src/tabs/tabs.ts +2 -0
- package/src/textarea/textarea.ts +2 -2
- package/src/time-picker/time-picker.ts +2 -2
- package/src/toolbar/toolbar.ts +3 -3
- package/src/tooltip/tooltip.ts +14 -8
- package/src/url-field/url-field.ts +2 -3
- package/dist/ButtonConstants-D06bY4uy.js +0 -114
- package/dist/ButtonConstants-D06bY4uy.js.map +0 -1
- package/dist/NativeHyperlinkMixin-DrYXyfMQ.js.map +0 -1
- package/dist/banner.js +0 -186
- package/dist/banner.js.map +0 -1
- package/dist/button-colors-D7sJyPy8.js +0 -586
- package/dist/button-colors-D7sJyPy8.js.map +0 -1
- package/dist/icon-CueRR7wx.js +0 -260
- package/dist/icon-CueRR7wx.js.map +0 -1
- package/dist/icon-button-CAzYr_qr.js +0 -318
- package/dist/icon-button-CAzYr_qr.js.map +0 -1
- package/dist/navigation-rail-CM_svs5_.js +0 -14184
- package/dist/navigation-rail-CM_svs5_.js.map +0 -1
- package/dist/observe-slot-change-D8Xg-kSS.js.map +0 -1
- package/dist/peacock-loader.js.map +0 -1
- package/dist/popover-DUPmMVWS.js.map +0 -1
- package/dist/query-QBcUV-L_.js +0 -15
- package/dist/query-QBcUV-L_.js.map +0 -1
- package/dist/src/banner/banner.d.ts +0 -43
- package/dist/src/banner/index.d.ts +0 -1
- package/dist/src/button/GroupButtonInterface.d.ts +0 -4
- package/src/banner/banner.scss +0 -82
- package/src/banner/index.ts +0 -1
- package/src/button/GroupButtonInterface.ts +0 -4
- package/src/button/button/only-button.scss +0 -13
- package/src/fab/fab-sizes.scss +0 -37
- package/src/fab/fab.scss +0 -143
- /package/dist/src/{__controllers → __internal/controllers}/attachable-controller.d.ts +0 -0
- /package/dist/src/{__controllers → __internal/controllers}/floating-controller.d.ts +0 -0
- /package/dist/src/{__directive → __internal/directive}/spread.d.ts +0 -0
- /package/dist/src/{__mixins → __internal/mixins}/MixinConstructor.d.ts +0 -0
- /package/dist/src/{__mixins → __internal/mixins}/NativeButtonMixin.d.ts +0 -0
- /package/dist/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/cache-fetch.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/copy-to-clipboard.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/dispatch-event-utils.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/is-dark-mode.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/is-in-viewport.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/is-link.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/observe-theme-change.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/sanitize-svg.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/throttle.d.ts +0 -0
- /package/dist/src/{fab → button/fab}/index.d.ts +0 -0
- /package/dist/src/{peacock-loader.d.ts → loader.d.ts} +0 -0
- /package/dist/test/{banner.test.d.ts → alert.test.d.ts} +0 -0
- /package/src/{__controllers → __internal/controllers}/attachable-controller.ts +0 -0
- /package/src/{__controllers → __internal/controllers}/floating-controller.ts +0 -0
- /package/src/{__directive → __internal/directive}/spread.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/MixinConstructor.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/NativeButtonMixin.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/README.md +0 -0
- /package/src/{__utils → __internal/utils}/cache-fetch.ts +0 -0
- /package/src/{__utils → __internal/utils}/copy-to-clipboard.ts +0 -0
- /package/src/{__utils → __internal/utils}/dispatch-event-utils.ts +0 -0
- /package/src/{__utils → __internal/utils}/is-dark-mode.ts +0 -0
- /package/src/{__utils → __internal/utils}/is-in-viewport.ts +0 -0
- /package/src/{__utils → __internal/utils}/is-link.ts +0 -0
- /package/src/{__utils → __internal/utils}/observe-theme-change.ts +0 -0
- /package/src/{__utils → __internal/utils}/sanitize-svg.ts +0 -0
- /package/src/{__utils → __internal/utils}/throttle.ts +0 -0
- /package/src/{fab → button/fab}/index.ts +0 -0
package/dist/snackbar.js
ADDED
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
import { i, _ as __decorate, I as IndividualComponent, a as i$1, A, b } from './IndividualComponent-Bdwyrvd6.js';
|
|
2
|
+
import { n } from './property-B49QQ8pS.js';
|
|
3
|
+
import { r } from './state-DkTK9EGF.js';
|
|
4
|
+
import { e } from './class-map-DG7CA1et.js';
|
|
5
|
+
import './directive-ZPhl09Yt.js';
|
|
6
|
+
|
|
7
|
+
var css_248z = i`* {
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.screen-reader-only {
|
|
12
|
+
display: none !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
[hidden] {
|
|
16
|
+
display: none !important;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@keyframes snackbar-enter {
|
|
20
|
+
from {
|
|
21
|
+
opacity: 0;
|
|
22
|
+
transform: translateY(0.5rem);
|
|
23
|
+
}
|
|
24
|
+
to {
|
|
25
|
+
opacity: 1;
|
|
26
|
+
transform: translateY(0);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
@keyframes snackbar-exit {
|
|
30
|
+
from {
|
|
31
|
+
opacity: 1;
|
|
32
|
+
transform: translateY(0);
|
|
33
|
+
}
|
|
34
|
+
to {
|
|
35
|
+
opacity: 0;
|
|
36
|
+
transform: translateY(0.5rem);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
:host {
|
|
40
|
+
display: flex;
|
|
41
|
+
inset-block-end: calc(var(--snackbar-offset-bottom, 1rem) + env(safe-area-inset-bottom, 0px));
|
|
42
|
+
inset-inline: var(--snackbar-offset-inline, 1rem);
|
|
43
|
+
justify-content: center;
|
|
44
|
+
pointer-events: none;
|
|
45
|
+
position: fixed;
|
|
46
|
+
z-index: var(--snackbar-z-index, 1000);
|
|
47
|
+
--snackbar-container-color: var(--color-inverse-surface);
|
|
48
|
+
--snackbar-label-text-color: var(--color-inverse-on-surface);
|
|
49
|
+
--snackbar-action-text-color: var(--color-inverse-primary);
|
|
50
|
+
--snackbar-close-icon-color: var(--color-inverse-on-surface);
|
|
51
|
+
--snackbar-border-radius: var(--shape-corner-extra-small);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.snackbar {
|
|
55
|
+
font-family: var(--typography-body-medium-font-family) !important;
|
|
56
|
+
font-size: var(--typography-body-medium-font-size) !important;
|
|
57
|
+
font-weight: var(--typography-body-medium-font-weight) !important;
|
|
58
|
+
line-height: var(--typography-body-medium-line-height) !important;
|
|
59
|
+
letter-spacing: var(--typography-body-medium-letter-spacing) !important;
|
|
60
|
+
align-items: center;
|
|
61
|
+
background-color: var(--snackbar-container-color);
|
|
62
|
+
border-radius: var(--snackbar-border-radius);
|
|
63
|
+
color: var(--snackbar-label-text-color);
|
|
64
|
+
display: none;
|
|
65
|
+
gap: var(--spacing-100);
|
|
66
|
+
max-width: min(42rem, 100%);
|
|
67
|
+
min-width: min(21.5rem, 100%);
|
|
68
|
+
min-height: 3rem;
|
|
69
|
+
padding: var(--spacing-100) var(--spacing-200);
|
|
70
|
+
pointer-events: none;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.snackbar.open {
|
|
74
|
+
animation: snackbar-enter var(--duration-medium1, 300ms) var(--easing-standard, cubic-bezier(0.2, 0, 0, 1)) both;
|
|
75
|
+
display: inline-flex;
|
|
76
|
+
pointer-events: auto;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.snackbar.open.dismissing {
|
|
80
|
+
animation: snackbar-exit var(--duration-short2, 150ms) var(--easing-standard, cubic-bezier(0.2, 0, 0, 1)) forwards;
|
|
81
|
+
pointer-events: none;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.label {
|
|
85
|
+
flex: 1 1 auto;
|
|
86
|
+
color: inherit;
|
|
87
|
+
min-height: 32px;
|
|
88
|
+
align-items: center;
|
|
89
|
+
display: flex;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.action {
|
|
93
|
+
--text-button-label-text-color: var(--snackbar-action-text-color);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.close {
|
|
97
|
+
--text-button-label-text-color: var(--snackbar-close-icon-color);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.snackbar.multiline {
|
|
101
|
+
align-items: flex-start;
|
|
102
|
+
}
|
|
103
|
+
.snackbar.multiline .label {
|
|
104
|
+
height: 100%;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
:host([preview]) {
|
|
108
|
+
position: relative;
|
|
109
|
+
inset-inline: unset;
|
|
110
|
+
inset-block-end: unset;
|
|
111
|
+
}
|
|
112
|
+
:host([preview]) .snackbar {
|
|
113
|
+
display: inline-flex;
|
|
114
|
+
pointer-events: auto;
|
|
115
|
+
}`;
|
|
116
|
+
|
|
117
|
+
var Snackbar_1;
|
|
118
|
+
/**
|
|
119
|
+
* @label Snackbar
|
|
120
|
+
* @tag wc-snackbar
|
|
121
|
+
* @rawTag snackbar
|
|
122
|
+
* @summary Snackbars provide brief messages about app processes at the bottom of the screen.
|
|
123
|
+
*
|
|
124
|
+
* @cssprop --snackbar-container-color - Container color for the snackbar.
|
|
125
|
+
* @cssprop --snackbar-label-text-color - Label text color for the snackbar.
|
|
126
|
+
* @cssprop --snackbar-action-text-color - Action text color.
|
|
127
|
+
* @cssprop --snackbar-close-icon-color - Close icon color.
|
|
128
|
+
* @cssprop --snackbar-border-radius - Border radius of the snackbar surface.
|
|
129
|
+
* @cssprop --snackbar-offset-inline - Inline offset from viewport edges.
|
|
130
|
+
* @cssprop --snackbar-offset-bottom - Bottom offset from viewport edge.
|
|
131
|
+
* @cssprop --snackbar-z-index - Stacking order for the snackbar.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```html
|
|
135
|
+
* <wc-snackbar preview message="Message archived" action-label="Undo"></wc-snackbar>
|
|
136
|
+
* ```
|
|
137
|
+
* @tags display, feedback
|
|
138
|
+
*/
|
|
139
|
+
let Snackbar = Snackbar_1 = class Snackbar extends i$1 {
|
|
140
|
+
constructor() {
|
|
141
|
+
super(...arguments);
|
|
142
|
+
/** Whether the snackbar is currently visible. */
|
|
143
|
+
this.open = false;
|
|
144
|
+
/** The message text to display. Can also be provided via the default slot. */
|
|
145
|
+
this.message = '';
|
|
146
|
+
/** Label for the optional action button. When empty, no action button is rendered. */
|
|
147
|
+
this.actionLabel = '';
|
|
148
|
+
/** When true, a dismiss icon button is shown on the trailing end. */
|
|
149
|
+
this.showCloseIcon = false;
|
|
150
|
+
/** Auto-hide duration in milliseconds. Set to `0` to disable auto-hide. */
|
|
151
|
+
this.duration = 4000;
|
|
152
|
+
/** When true, the snackbar content is allowed to wrap to multiple lines. */
|
|
153
|
+
this.multiline = false;
|
|
154
|
+
/** When true, renders the snackbar in a static preview state (always visible, no animation). */
|
|
155
|
+
this.preview = false;
|
|
156
|
+
/** True while the exit animation is running before the snackbar fully closes. */
|
|
157
|
+
this.dismissing = false;
|
|
158
|
+
// ── Private fields ────────────────────────────────────────────────────────
|
|
159
|
+
/** Timer handle for the auto-hide timeout. */
|
|
160
|
+
this.hideTimer = null;
|
|
161
|
+
/** Timer handle for the exit animation duration timeout. */
|
|
162
|
+
this.exitTimer = null;
|
|
163
|
+
this.handleGlobalSnackbarOpen = (event) => {
|
|
164
|
+
const { source } = event.detail;
|
|
165
|
+
if (source && source !== this) {
|
|
166
|
+
this.hide();
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
connectedCallback() {
|
|
171
|
+
super.connectedCallback();
|
|
172
|
+
document.addEventListener(Snackbar_1.GLOBAL_OPEN_EVENT, this.handleGlobalSnackbarOpen);
|
|
173
|
+
}
|
|
174
|
+
disconnectedCallback() {
|
|
175
|
+
document.removeEventListener(Snackbar_1.GLOBAL_OPEN_EVENT, this.handleGlobalSnackbarOpen);
|
|
176
|
+
this.clearExitTimer();
|
|
177
|
+
this.clearTimer();
|
|
178
|
+
super.disconnectedCallback();
|
|
179
|
+
}
|
|
180
|
+
updated(changedProperties) {
|
|
181
|
+
if (changedProperties.has('open')) {
|
|
182
|
+
if (this.open) {
|
|
183
|
+
document.dispatchEvent(new CustomEvent(Snackbar_1.GLOBAL_OPEN_EVENT, {
|
|
184
|
+
detail: { source: this },
|
|
185
|
+
}));
|
|
186
|
+
}
|
|
187
|
+
this.scheduleAutoHide();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// ── Public methods ────────────────────────────────────────────────────────
|
|
191
|
+
show() {
|
|
192
|
+
this.dismissing = false;
|
|
193
|
+
this.clearExitTimer();
|
|
194
|
+
if (!this.open) {
|
|
195
|
+
this.open = true;
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
this.scheduleAutoHide();
|
|
199
|
+
}
|
|
200
|
+
hide() {
|
|
201
|
+
this.close('programmatic');
|
|
202
|
+
}
|
|
203
|
+
close(reason) {
|
|
204
|
+
if (!this.open || this.dismissing) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
this.clearTimer();
|
|
208
|
+
this.dismissing = true;
|
|
209
|
+
this.clearExitTimer();
|
|
210
|
+
this.exitTimer = setTimeout(() => {
|
|
211
|
+
this.completeDismiss();
|
|
212
|
+
}, Snackbar_1.EXIT_ANIMATION_MS);
|
|
213
|
+
this.dispatchEvent(new CustomEvent('snackbar-close', {
|
|
214
|
+
detail: { reason },
|
|
215
|
+
bubbles: true,
|
|
216
|
+
composed: true,
|
|
217
|
+
}));
|
|
218
|
+
}
|
|
219
|
+
completeDismiss() {
|
|
220
|
+
this.clearExitTimer();
|
|
221
|
+
this.dismissing = false;
|
|
222
|
+
this.open = false;
|
|
223
|
+
}
|
|
224
|
+
dispatchActionEvent() {
|
|
225
|
+
this.dispatchEvent(new CustomEvent('snackbar-action', {
|
|
226
|
+
bubbles: true,
|
|
227
|
+
composed: true,
|
|
228
|
+
}));
|
|
229
|
+
}
|
|
230
|
+
handleActionClick() {
|
|
231
|
+
this.dispatchActionEvent();
|
|
232
|
+
this.close('action');
|
|
233
|
+
}
|
|
234
|
+
handleCloseClick() {
|
|
235
|
+
this.close('dismiss');
|
|
236
|
+
}
|
|
237
|
+
clearTimer() {
|
|
238
|
+
if (this.hideTimer !== null) {
|
|
239
|
+
clearTimeout(this.hideTimer);
|
|
240
|
+
this.hideTimer = null;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
clearExitTimer() {
|
|
244
|
+
if (this.exitTimer !== null) {
|
|
245
|
+
clearTimeout(this.exitTimer);
|
|
246
|
+
this.exitTimer = null;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
handleAnimationEnd(event) {
|
|
250
|
+
if (event.animationName === 'snackbar-exit' && this.dismissing) {
|
|
251
|
+
this.completeDismiss();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
scheduleAutoHide() {
|
|
255
|
+
this.clearTimer();
|
|
256
|
+
if (!this.open || this.duration <= 0) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
this.hideTimer = setTimeout(() => {
|
|
260
|
+
this.close('timeout');
|
|
261
|
+
}, this.duration);
|
|
262
|
+
}
|
|
263
|
+
render() {
|
|
264
|
+
const liveRole = this.actionLabel || this.showCloseIcon ? 'alert' : 'status';
|
|
265
|
+
return b `
|
|
266
|
+
<div
|
|
267
|
+
class=${e({
|
|
268
|
+
snackbar: true,
|
|
269
|
+
open: !this.preview && this.open,
|
|
270
|
+
preview: this.preview,
|
|
271
|
+
dismissing: this.dismissing,
|
|
272
|
+
multiline: this.multiline,
|
|
273
|
+
})}
|
|
274
|
+
role=${liveRole}
|
|
275
|
+
aria-live="polite"
|
|
276
|
+
@animationend=${this.handleAnimationEnd}
|
|
277
|
+
>
|
|
278
|
+
<div class="label">
|
|
279
|
+
<slot>${this.message}</slot>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
${this.actionLabel
|
|
283
|
+
? b `<wc-button class="action" variant='text' size='small' @click=${this.handleActionClick}>
|
|
284
|
+
${this.actionLabel}
|
|
285
|
+
</wc-button>`
|
|
286
|
+
: A}
|
|
287
|
+
|
|
288
|
+
${this.showCloseIcon
|
|
289
|
+
? b `<wc-icon-button
|
|
290
|
+
class="close"
|
|
291
|
+
variant='text'
|
|
292
|
+
size='small'
|
|
293
|
+
aria-label="Dismiss notification"
|
|
294
|
+
@click=${this.handleCloseClick}
|
|
295
|
+
>
|
|
296
|
+
<wc-icon name="close"></wc-icon>
|
|
297
|
+
</wc-icon-button>`
|
|
298
|
+
: A}
|
|
299
|
+
</div>
|
|
300
|
+
`;
|
|
301
|
+
}
|
|
302
|
+
};
|
|
303
|
+
Snackbar.styles = [css_248z];
|
|
304
|
+
Snackbar.GLOBAL_OPEN_EVENT = 'wc-snackbar-will-open';
|
|
305
|
+
Snackbar.EXIT_ANIMATION_MS = 180;
|
|
306
|
+
__decorate([
|
|
307
|
+
n({ type: Boolean, reflect: true })
|
|
308
|
+
], Snackbar.prototype, "open", void 0);
|
|
309
|
+
__decorate([
|
|
310
|
+
n({ type: String })
|
|
311
|
+
], Snackbar.prototype, "message", void 0);
|
|
312
|
+
__decorate([
|
|
313
|
+
n({ type: String, attribute: 'action-label' })
|
|
314
|
+
], Snackbar.prototype, "actionLabel", void 0);
|
|
315
|
+
__decorate([
|
|
316
|
+
n({ type: Boolean, attribute: 'show-close-icon' })
|
|
317
|
+
], Snackbar.prototype, "showCloseIcon", void 0);
|
|
318
|
+
__decorate([
|
|
319
|
+
n({ type: Number })
|
|
320
|
+
], Snackbar.prototype, "duration", void 0);
|
|
321
|
+
__decorate([
|
|
322
|
+
n({ type: Boolean, reflect: true })
|
|
323
|
+
], Snackbar.prototype, "multiline", void 0);
|
|
324
|
+
__decorate([
|
|
325
|
+
n({ type: Boolean, reflect: true })
|
|
326
|
+
], Snackbar.prototype, "preview", void 0);
|
|
327
|
+
__decorate([
|
|
328
|
+
r()
|
|
329
|
+
], Snackbar.prototype, "dismissing", void 0);
|
|
330
|
+
Snackbar = Snackbar_1 = __decorate([
|
|
331
|
+
IndividualComponent
|
|
332
|
+
], Snackbar);
|
|
333
|
+
|
|
334
|
+
export { Snackbar };
|
|
335
|
+
//# sourceMappingURL=snackbar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snackbar.js","sources":["../../src/snackbar/snackbar.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from './snackbar.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\ntype SnackbarCloseReason = 'timeout' | 'dismiss' | 'action' | 'programmatic';\n\n/**\n * @label Snackbar\n * @tag wc-snackbar\n * @rawTag snackbar\n * @summary Snackbars provide brief messages about app processes at the bottom of the screen.\n *\n * @cssprop --snackbar-container-color - Container color for the snackbar.\n * @cssprop --snackbar-label-text-color - Label text color for the snackbar.\n * @cssprop --snackbar-action-text-color - Action text color.\n * @cssprop --snackbar-close-icon-color - Close icon color.\n * @cssprop --snackbar-border-radius - Border radius of the snackbar surface.\n * @cssprop --snackbar-offset-inline - Inline offset from viewport edges.\n * @cssprop --snackbar-offset-bottom - Bottom offset from viewport edge.\n * @cssprop --snackbar-z-index - Stacking order for the snackbar.\n *\n * @example\n * ```html\n * <wc-snackbar preview message=\"Message archived\" action-label=\"Undo\"></wc-snackbar>\n * ```\n * @tags display, feedback\n */\n@IndividualComponent\nexport class Snackbar extends LitElement {\n static styles = [styles];\n\n private static readonly GLOBAL_OPEN_EVENT = 'wc-snackbar-will-open';\n\n private static readonly EXIT_ANIMATION_MS = 180;\n\n /** Whether the snackbar is currently visible. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /** The message text to display. Can also be provided via the default slot. */\n @property({ type: String }) message = '';\n\n /** Label for the optional action button. When empty, no action button is rendered. */\n @property({ type: String, attribute: 'action-label' }) actionLabel = '';\n\n /** When true, a dismiss icon button is shown on the trailing end. */\n @property({ type: Boolean, attribute: 'show-close-icon' })\n showCloseIcon = false;\n\n /** Auto-hide duration in milliseconds. Set to `0` to disable auto-hide. */\n @property({ type: Number }) duration = 4000;\n\n /** When true, the snackbar content is allowed to wrap to multiple lines. */\n @property({ type: Boolean, reflect: true }) multiline = false;\n\n /** When true, renders the snackbar in a static preview state (always visible, no animation). */\n @property({ type: Boolean, reflect: true }) preview = false;\n\n /** True while the exit animation is running before the snackbar fully closes. */\n @state() private dismissing = false;\n\n // ── Private fields ────────────────────────────────────────────────────────\n\n /** Timer handle for the auto-hide timeout. */\n private hideTimer: ReturnType<typeof setTimeout> | null = null;\n\n /** Timer handle for the exit animation duration timeout. */\n private exitTimer: ReturnType<typeof setTimeout> | null = null;\n\n private readonly handleGlobalSnackbarOpen = (\n event: Event,\n ) => {\n const { source } = (event as CustomEvent<{ source?: Snackbar }>).detail;\n if (source && source !== this) {\n this.hide();\n }\n };\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener(\n Snackbar.GLOBAL_OPEN_EVENT,\n this.handleGlobalSnackbarOpen,\n );\n }\n\n disconnectedCallback() {\n document.removeEventListener(\n Snackbar.GLOBAL_OPEN_EVENT,\n this.handleGlobalSnackbarOpen,\n );\n this.clearExitTimer();\n this.clearTimer();\n super.disconnectedCallback();\n }\n\n protected updated(changedProperties: Map<string, unknown>) {\n if (changedProperties.has('open')) {\n if (this.open) {\n document.dispatchEvent(\n new CustomEvent(Snackbar.GLOBAL_OPEN_EVENT, {\n detail: { source: this },\n }),\n );\n }\n\n this.scheduleAutoHide();\n }\n }\n\n // ── Public methods ────────────────────────────────────────────────────────\n\n show() {\n this.dismissing = false;\n this.clearExitTimer();\n if (!this.open) {\n this.open = true;\n return;\n }\n\n this.scheduleAutoHide();\n }\n\n hide() {\n this.close('programmatic');\n }\n\n private close(reason: SnackbarCloseReason) {\n if (!this.open || this.dismissing) {\n return;\n }\n\n this.clearTimer();\n this.dismissing = true;\n this.clearExitTimer();\n this.exitTimer = setTimeout(() => {\n this.completeDismiss();\n }, Snackbar.EXIT_ANIMATION_MS);\n\n this.dispatchEvent(\n new CustomEvent('snackbar-close', {\n detail: { reason },\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private completeDismiss() {\n this.clearExitTimer();\n this.dismissing = false;\n this.open = false;\n }\n\n private dispatchActionEvent() {\n this.dispatchEvent(\n new CustomEvent('snackbar-action', {\n bubbles: true,\n composed: true,\n }),\n );\n }\n\n private handleActionClick() {\n this.dispatchActionEvent();\n this.close('action');\n }\n\n private handleCloseClick() {\n this.close('dismiss');\n }\n\n private clearTimer() {\n if (this.hideTimer !== null) {\n clearTimeout(this.hideTimer);\n this.hideTimer = null;\n }\n }\n\n private clearExitTimer() {\n if (this.exitTimer !== null) {\n clearTimeout(this.exitTimer);\n this.exitTimer = null;\n }\n }\n\n private handleAnimationEnd(event: AnimationEvent) {\n if (event.animationName === 'snackbar-exit' && this.dismissing) {\n this.completeDismiss();\n }\n }\n\n private scheduleAutoHide() {\n this.clearTimer();\n if (!this.open || this.duration <= 0) {\n return;\n }\n\n this.hideTimer = setTimeout(() => {\n this.close('timeout');\n }, this.duration);\n }\n\n render() {\n const liveRole =\n this.actionLabel || this.showCloseIcon ? 'alert' : 'status';\n\n return html`\n <div\n class=${classMap({\n snackbar: true,\n open: !this.preview && this.open,\n preview: this.preview,\n dismissing: this.dismissing,\n multiline: this.multiline,\n })}\n role=${liveRole}\n aria-live=\"polite\"\n @animationend=${this.handleAnimationEnd}\n >\n <div class=\"label\">\n <slot>${this.message}</slot>\n </div>\n\n ${this.actionLabel\n ? html`<wc-button class=\"action\" variant='text' size='small' @click=${this.handleActionClick}>\n ${this.actionLabel}\n </wc-button>`\n : nothing}\n\n ${this.showCloseIcon\n ? html`<wc-icon-button\n class=\"close\"\n variant='text' \n size='small'\n aria-label=\"Dismiss notification\"\n @click=${this.handleCloseClick}\n >\n <wc-icon name=\"close\"></wc-icon>\n </wc-icon-button>`\n : nothing}\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","nothing","styles","property","state"],"mappings":"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"}
|
package/dist/spinner.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { i, _ as __decorate, I as IndividualComponent, a as i$1, b } from './IndividualComponent-Bdwyrvd6.js';
|
|
2
|
+
|
|
3
|
+
var css_248z = i`* {
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.screen-reader-only {
|
|
8
|
+
display: none !important;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
[hidden] {
|
|
12
|
+
display: none !important;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
:host {
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
--spinner-track-color: var(--color-primary-container);
|
|
18
|
+
--spinner-shape-color: var(--color-primary);
|
|
19
|
+
--spinner-size: 4rem;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.track {
|
|
23
|
+
width: var(--spinner-size);
|
|
24
|
+
height: var(--spinner-size);
|
|
25
|
+
background-color: var(--spinner-track-color);
|
|
26
|
+
border-radius: 50%;
|
|
27
|
+
display: flex;
|
|
28
|
+
justify-content: center;
|
|
29
|
+
align-items: center;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.shape {
|
|
34
|
+
width: 100%;
|
|
35
|
+
height: 100%;
|
|
36
|
+
background-color: var(--spinner-shape-color);
|
|
37
|
+
animation: spinner-aniation 3s var(--easing-standard) infinite;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@keyframes spinner-aniation {
|
|
41
|
+
0%, 100% {
|
|
42
|
+
clip-path: inset(0% round 50%);
|
|
43
|
+
transform: rotate(0deg) scale(0.5);
|
|
44
|
+
}
|
|
45
|
+
10% {
|
|
46
|
+
transform: scale(0.7);
|
|
47
|
+
}
|
|
48
|
+
20% {
|
|
49
|
+
clip-path: inset(0% round 50%);
|
|
50
|
+
transform: rotate(72deg) scale(0.6, 0.3);
|
|
51
|
+
}
|
|
52
|
+
30% {
|
|
53
|
+
transform: scale(0.5);
|
|
54
|
+
}
|
|
55
|
+
40% {
|
|
56
|
+
clip-path: inset(0% round 12px);
|
|
57
|
+
transform: rotate(108deg) scale(0.3, 0.6);
|
|
58
|
+
}
|
|
59
|
+
60% {
|
|
60
|
+
transform: scale(0.5);
|
|
61
|
+
}
|
|
62
|
+
80% {
|
|
63
|
+
clip-path: inset(0% round 50%);
|
|
64
|
+
transform: rotate(72deg) scale(0.6, 0.3);
|
|
65
|
+
}
|
|
66
|
+
90% {
|
|
67
|
+
transform: rotate(324deg) scale(0.4, 0.6);
|
|
68
|
+
}
|
|
69
|
+
}`;
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @label Spinner
|
|
73
|
+
* @tag wc-spinner
|
|
74
|
+
* @rawTag spinner
|
|
75
|
+
* @summary A spinner component that animates a circular shape.
|
|
76
|
+
* @cssprop --spinner-track-color - The color of the track.
|
|
77
|
+
* @cssprop --spinner-shape-color - The color of the shape.
|
|
78
|
+
* @tags display
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```html
|
|
82
|
+
* <wc-spinner></wc-spinner>
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
let Spinner = class Spinner extends i$1 {
|
|
86
|
+
render() {
|
|
87
|
+
return b `
|
|
88
|
+
<div class="spinner track">
|
|
89
|
+
<div class="shape"></div>
|
|
90
|
+
</div>
|
|
91
|
+
`;
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
Spinner.styles = [css_248z];
|
|
95
|
+
Spinner = __decorate([
|
|
96
|
+
IndividualComponent
|
|
97
|
+
], Spinner);
|
|
98
|
+
|
|
99
|
+
export { Spinner };
|
|
100
|
+
//# sourceMappingURL=spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spinner.js","sources":["../../src/spinner/spinner.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\n\nimport styles from './spinner.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Spinner\n * @tag wc-spinner\n * @rawTag spinner\n * @summary A spinner component that animates a circular shape.\n * @cssprop --spinner-track-color - The color of the track.\n * @cssprop --spinner-shape-color - The color of the shape.\n * @tags display\n *\n * @example\n * ```html\n * <wc-spinner></wc-spinner>\n * ```\n */\n@IndividualComponent\nexport class Spinner extends LitElement {\n static styles = [styles];\n\n render() {\n return html`\n <div class=\"spinner track\">\n <div class=\"shape\"></div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;;;;;;;;;;;;AAaG;AAEI,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQA,GAAU,CAAA;IAGrC,MAAM,GAAA;AACJ,QAAA,OAAOC,CAAI,CAAA;;;;KAIV;IACH;;AARO,OAAA,CAAA,MAAM,GAAG,CAACC,QAAM,CAAC;AADb,OAAO,GAAA,UAAA,CAAA;IADnB;AACY,CAAA,EAAA,OAAO,CAUnB;;;;"}
|
package/dist/split-button.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n } from './property-
|
|
3
|
-
import { r } from './state-
|
|
4
|
-
import { e } from './query-
|
|
5
|
-
import { e as e$1 } from './class-map-
|
|
1
|
+
import { i, _ as __decorate, I as IndividualComponent, a as i$1, b } from './IndividualComponent-Bdwyrvd6.js';
|
|
2
|
+
import { n } from './property-B49QQ8pS.js';
|
|
3
|
+
import { r } from './state-DkTK9EGF.js';
|
|
4
|
+
import { e } from './query-CHb9Ft_d.js';
|
|
5
|
+
import { e as e$1 } from './class-map-DG7CA1et.js';
|
|
6
|
+
import './base-Cl6v8-BZ.js';
|
|
6
7
|
import './directive-ZPhl09Yt.js';
|
|
7
8
|
|
|
8
9
|
var css_248z$2 = i`@charset "UTF-8";
|
|
@@ -14,6 +15,10 @@ var css_248z$2 = i`@charset "UTF-8";
|
|
|
14
15
|
display: none !important;
|
|
15
16
|
}
|
|
16
17
|
|
|
18
|
+
[hidden] {
|
|
19
|
+
display: none !important;
|
|
20
|
+
}
|
|
21
|
+
|
|
17
22
|
:host {
|
|
18
23
|
display: inline-flex;
|
|
19
24
|
position: relative;
|
package/dist/split-button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-button.js","sources":["../../src/split-button/split-button.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './split-button.scss';\nimport colorStyles from './split-button-colors.scss';\nimport sizeStyles from './split-button-sizes.scss';\n\n/**\n * @label Split Button\n * @tag wc-split-button\n * @rawTag split-button\n *\n * @summary A split button lets users perform a default action or choose from a set of related actions via a dropdown menu.\n * @overview\n * <p>A split button combines a primary action button with a dropdown arrow that opens a menu. Following M3 Material Design, the split button provides a default action alongside a set of secondary options, reducing clutter while keeping alternative actions accessible.</p>\n *\n * @cssprop --split-button-container-shape: Defines the border radius of the split button container shape.\n *\n * @cssprop --filled-split-button-container-color: Color of the filled split button container.\n * @cssprop --filled-split-button-label-text-color: Text color of the filled split button label.\n *\n * @cssprop --outlined-split-button-container-color: Color of the outlined split button container.\n * @cssprop --outlined-split-button-label-text-color: Text color of the outlined split button label.\n *\n * @cssprop --tonal-split-button-container-color: Color of the tonal split button container.\n * @cssprop --tonal-split-button-label-text-color: Text color of the tonal split button label.\n *\n * @fires {MouseEvent} click - Dispatched when the primary action button is clicked.\n * @fires {CustomEvent} toggle-menu - Dispatched when the dropdown menu is opened or closed.\n *\n * @example\n * ```html\n * <wc-split-button>\n * Save\n * <wc-menu-item slot=\"menu\">Save as draft</wc-menu-item>\n * <wc-menu-item slot=\"menu\">Save and publish</wc-menu-item>\n * </wc-split-button>\n * ```\n * @tags controls\n */\n@IndividualComponent\nexport class SplitButton extends LitElement {\n static override styles = [styles, colorStyles, sizeStyles];\n\n /**\n * Button size.\n * Possible values are `\"xs\"`, `\"sm\"`, `\"md\"`, `\"lg\"`, `\"xl\"`. Defaults to `\"sm\"`.\n */\n @property({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * The visual style of the split button.\n *\n * Possible variant values:\n * `\"filled\"` is a filled button.\n * `\"outlined\"` is an outlined button.\n * `\"tonal\"` is a light color button.\n */\n @property({ reflect: true }) variant: 'filled' | 'tonal' | 'outlined' =\n 'filled';\n\n /**\n * Defines the primary color of the split button.\n */\n @property({ reflect: true }) color:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'surface'\n | 'on-surface' = 'primary';\n\n /**\n * Whether the split button is disabled.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @state() private _menuOpen = false;\n\n @query('.dropdown-trigger') private readonly _dropdownButton!: HTMLElement;\n\n @query('wc-menu') private readonly _menu!: HTMLElement & {\n open: boolean;\n anchorElement: HTMLElement | null;\n show: () => void;\n close: () => void;\n };\n\n private _menuId = `split-menu-${Math.random().toString(36).slice(2, 9)}`;\n\n override focus() {\n const btn =\n this.shadowRoot?.querySelector<HTMLElement>('.action-button');\n btn?.focus();\n }\n\n private _onActionClick(event: MouseEvent) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n\n // Close menu if open\n if (this._menuOpen) {\n this._menu?.close();\n }\n }\n\n private _onDropdownClick(event: MouseEvent) {\n event.stopPropagation();\n if (this.disabled) return;\n\n if (this._menuOpen) {\n this._menu?.close();\n } else {\n this._menu.anchorElement = this;\n this._menu?.show();\n }\n }\n\n private _onMenuOpened = () => {\n this._menuOpen = true;\n this.dispatchEvent(\n new CustomEvent('toggle-menu', {\n detail: { open: true },\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private _onMenuClosed = () => {\n this._menuOpen = false;\n this.dispatchEvent(\n new CustomEvent('toggle-menu', {\n detail: { open: false },\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private _onKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n if (\n event.key === 'ArrowDown' &&\n event.target === this._dropdownButton\n ) {\n event.preventDefault();\n if (!this._menuOpen) {\n this._menu.anchorElement = this;\n this._menu?.show();\n }\n // Focus the menu so keyboard nav works\n requestAnimationFrame(() => this._menu?.focus());\n }\n\n if (event.key === 'Escape' && this._menuOpen) {\n this._menu?.close();\n this._dropdownButton?.focus();\n }\n };\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n override disconnectedCallback() {\n this.removeEventListener('keydown', this._onKeyDown);\n super.disconnectedCallback();\n }\n\n override render() {\n const actionClasses = {\n 'action-button': true,\n disabled: this.disabled,\n };\n\n const dropdownClasses = {\n 'dropdown-trigger': true,\n active: this._menuOpen,\n disabled: this.disabled,\n };\n\n const containerClasses = {\n 'split-button': true,\n [`variant-${this.variant}`]: true,\n disabled: this.disabled,\n };\n\n return html`\n <div class=${classMap(containerClasses)}>\n <wc-button\n class=${classMap(actionClasses)}\n size=${this.size}\n variant=${this.variant}\n ?disabled=${this.disabled}\n @click=${this._onActionClick}\n >\n <slot></slot>\n </wc-button>\n\n <wc-icon-button\n class=${classMap(dropdownClasses)}\n size=${this.size}\n variant=${this.variant}\n ?disabled=${this.disabled}\n .configAria=${{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(this._menuOpen),\n 'aria-controls': this._menuId,\n 'aria-label': 'Open split button menu',\n }}\n @click=${this._onDropdownClick}\n >\n <wc-icon class=\"dropdown-icon\" name=\"arrow_drop_down\" aria-hidden=\"true\"></wc-icon>\n </wc-icon-button>\n </div>\n\n <wc-menu\n id=${this._menuId}\n placement=\"bottom-end\"\n @opened=${this._onMenuOpened}\n @closed=${this._onMenuClosed}\n >\n <slot name=\"menu\"></slot>\n </wc-menu>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","sizeStyles","property","state","query"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"split-button.js","sources":["../../src/split-button/split-button.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './split-button.scss';\nimport colorStyles from './split-button-colors.scss';\nimport sizeStyles from './split-button-sizes.scss';\n\n/**\n * @label Split Button\n * @tag wc-split-button\n * @rawTag split-button\n *\n * @summary A split button lets users perform a default action or choose from a set of related actions via a dropdown menu.\n * @overview\n * <p>A split button combines a primary action button with a dropdown arrow that opens a menu. Following M3 Material Design, the split button provides a default action alongside a set of secondary options, reducing clutter while keeping alternative actions accessible.</p>\n *\n * @cssprop --split-button-container-shape: Defines the border radius of the split button container shape.\n *\n * @cssprop --filled-split-button-container-color: Color of the filled split button container.\n * @cssprop --filled-split-button-label-text-color: Text color of the filled split button label.\n *\n * @cssprop --outlined-split-button-container-color: Color of the outlined split button container.\n * @cssprop --outlined-split-button-label-text-color: Text color of the outlined split button label.\n *\n * @cssprop --tonal-split-button-container-color: Color of the tonal split button container.\n * @cssprop --tonal-split-button-label-text-color: Text color of the tonal split button label.\n *\n * @fires {MouseEvent} click - Dispatched when the primary action button is clicked.\n * @fires {CustomEvent} toggle-menu - Dispatched when the dropdown menu is opened or closed.\n *\n * @example\n * ```html\n * <wc-split-button>\n * Save\n * <wc-menu-item slot=\"menu\">Save as draft</wc-menu-item>\n * <wc-menu-item slot=\"menu\">Save and publish</wc-menu-item>\n * </wc-split-button>\n * ```\n * @tags controls\n */\n@IndividualComponent\nexport class SplitButton extends LitElement {\n static override styles = [styles, colorStyles, sizeStyles];\n\n /**\n * Button size.\n * Possible values are `\"xs\"`, `\"sm\"`, `\"md\"`, `\"lg\"`, `\"xl\"`. Defaults to `\"sm\"`.\n */\n @property({ reflect: true }) size: 'xs' | 'sm' | 'md' | 'lg' | 'xl' = 'sm';\n\n /**\n * The visual style of the split button.\n *\n * Possible variant values:\n * `\"filled\"` is a filled button.\n * `\"outlined\"` is an outlined button.\n * `\"tonal\"` is a light color button.\n */\n @property({ reflect: true }) variant: 'filled' | 'tonal' | 'outlined' =\n 'filled';\n\n /**\n * Defines the primary color of the split button.\n */\n @property({ reflect: true }) color:\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'success'\n | 'danger'\n | 'warning'\n | 'surface'\n | 'on-surface' = 'primary';\n\n /**\n * Whether the split button is disabled.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @state() private _menuOpen = false;\n\n @query('.dropdown-trigger') private readonly _dropdownButton!: HTMLElement;\n\n @query('wc-menu') private readonly _menu!: HTMLElement & {\n open: boolean;\n anchorElement: HTMLElement | null;\n show: () => void;\n close: () => void;\n };\n\n private _menuId = `split-menu-${Math.random().toString(36).slice(2, 9)}`;\n\n override focus() {\n const btn =\n this.shadowRoot?.querySelector<HTMLElement>('.action-button');\n btn?.focus();\n }\n\n private _onActionClick(event: MouseEvent) {\n if (this.disabled) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n\n // Close menu if open\n if (this._menuOpen) {\n this._menu?.close();\n }\n }\n\n private _onDropdownClick(event: MouseEvent) {\n event.stopPropagation();\n if (this.disabled) return;\n\n if (this._menuOpen) {\n this._menu?.close();\n } else {\n this._menu.anchorElement = this;\n this._menu?.show();\n }\n }\n\n private _onMenuOpened = () => {\n this._menuOpen = true;\n this.dispatchEvent(\n new CustomEvent('toggle-menu', {\n detail: { open: true },\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private _onMenuClosed = () => {\n this._menuOpen = false;\n this.dispatchEvent(\n new CustomEvent('toggle-menu', {\n detail: { open: false },\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private _onKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n if (\n event.key === 'ArrowDown' &&\n event.target === this._dropdownButton\n ) {\n event.preventDefault();\n if (!this._menuOpen) {\n this._menu.anchorElement = this;\n this._menu?.show();\n }\n // Focus the menu so keyboard nav works\n requestAnimationFrame(() => this._menu?.focus());\n }\n\n if (event.key === 'Escape' && this._menuOpen) {\n this._menu?.close();\n this._dropdownButton?.focus();\n }\n };\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('keydown', this._onKeyDown);\n }\n\n override disconnectedCallback() {\n this.removeEventListener('keydown', this._onKeyDown);\n super.disconnectedCallback();\n }\n\n override render() {\n const actionClasses = {\n 'action-button': true,\n disabled: this.disabled,\n };\n\n const dropdownClasses = {\n 'dropdown-trigger': true,\n active: this._menuOpen,\n disabled: this.disabled,\n };\n\n const containerClasses = {\n 'split-button': true,\n [`variant-${this.variant}`]: true,\n disabled: this.disabled,\n };\n\n return html`\n <div class=${classMap(containerClasses)}>\n <wc-button\n class=${classMap(actionClasses)}\n size=${this.size}\n variant=${this.variant}\n ?disabled=${this.disabled}\n @click=${this._onActionClick}\n >\n <slot></slot>\n </wc-button>\n\n <wc-icon-button\n class=${classMap(dropdownClasses)}\n size=${this.size}\n variant=${this.variant}\n ?disabled=${this.disabled}\n .configAria=${{\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(this._menuOpen),\n 'aria-controls': this._menuId,\n 'aria-label': 'Open split button menu',\n }}\n @click=${this._onDropdownClick}\n >\n <wc-icon class=\"dropdown-icon\" name=\"arrow_drop_down\" aria-hidden=\"true\"></wc-icon>\n </wc-icon-button>\n </div>\n\n <wc-menu\n id=${this._menuId}\n placement=\"bottom-end\"\n @opened=${this._onMenuOpened}\n @closed=${this._onMenuClosed}\n >\n <slot name=\"menu\"></slot>\n </wc-menu>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","sizeStyles","property","state","query"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQA,GAAU,CAAA;AAApC,IAAA,WAAA,GAAA;;AAGL;;;AAGG;QAC0B,IAAA,CAAA,IAAI,GAAqC,IAAI;AAE1E;;;;;;;AAOG;QAC0B,IAAA,CAAA,OAAO,GAClC,QAAQ;AAEV;;AAEG;QAC0B,IAAA,CAAA,KAAK,GAQf,SAAS;AAE5B;;AAEG;QACyC,IAAA,CAAA,QAAQ,GAAG,KAAK;QAE3C,IAAA,CAAA,SAAS,GAAG,KAAK;AAW1B,QAAA,IAAA,CAAA,OAAO,GAAG,CAAA,WAAA,EAAc,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAiChE,IAAA,CAAA,aAAa,GAAG,MAAK;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACrB,YAAA,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;AAC7B,gBAAA,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;AACtB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA,CAAC,CACH;AACH,QAAA,CAAC;QAEO,IAAA,CAAA,aAAa,GAAG,MAAK;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACtB,YAAA,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;AAC7B,gBAAA,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;AACvB,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,QAAQ,EAAE,IAAI;AACf,aAAA,CAAC,CACH;AACH,QAAA,CAAC;AAEO,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,KAAoB,KAAI;YAC5C,IAAI,IAAI,CAAC,QAAQ;gBAAE;AAEnB,YAAA,IACE,KAAK,CAAC,GAAG,KAAK,WAAW;AACzB,gBAAA,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,EACrC;gBACA,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,oBAAA,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI;AAC/B,oBAAA,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;gBACpB;;gBAEA,qBAAqB,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YAClD;YAEA,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;AAC5C,gBAAA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;AACnB,gBAAA,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE;YAC/B;AACF,QAAA,CAAC;IAqEH;IA9IW,KAAK,GAAA;QACZ,MAAM,GAAG,GACP,IAAI,CAAC,UAAU,EAAE,aAAa,CAAc,gBAAgB,CAAC;QAC/D,GAAG,EAAE,KAAK,EAAE;IACd;AAEQ,IAAA,cAAc,CAAC,KAAiB,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,KAAK,CAAC,wBAAwB,EAAE;YAChC,KAAK,CAAC,cAAc,EAAE;YACtB;QACF;;AAGA,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;QACrB;IACF;AAEQ,IAAA,gBAAgB,CAAC,KAAiB,EAAA;QACxC,KAAK,CAAC,eAAe,EAAE;QACvB,IAAI,IAAI,CAAC,QAAQ;YAAE;AAEnB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE;QACrB;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI;AAC/B,YAAA,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;QACpB;IACF;IA8CS,iBAAiB,GAAA;QACxB,KAAK,CAAC,iBAAiB,EAAE;QACzB,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;IACnD;IAES,oBAAoB,GAAA;QAC3B,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC;QACpD,KAAK,CAAC,oBAAoB,EAAE;IAC9B;IAES,MAAM,GAAA;AACb,QAAA,MAAM,aAAa,GAAG;AACpB,YAAA,eAAe,EAAE,IAAI;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;AAED,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,kBAAkB,EAAE,IAAI;YACxB,MAAM,EAAE,IAAI,CAAC,SAAS;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;AAED,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;YACjC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;AAED,QAAA,OAAOC,CAAI,CAAA;mBACIC,GAAQ,CAAC,gBAAgB,CAAC,CAAA;;kBAE3BA,GAAQ,CAAC,aAAa,CAAC;AACxB,eAAA,EAAA,IAAI,CAAC,IAAI;AACN,kBAAA,EAAA,IAAI,CAAC,OAAO;AACV,oBAAA,EAAA,IAAI,CAAC,QAAQ;AAChB,iBAAA,EAAA,IAAI,CAAC,cAAc;;;;;;kBAMpBA,GAAQ,CAAC,eAAe,CAAC;AAC1B,eAAA,EAAA,IAAI,CAAC,IAAI;AACN,kBAAA,EAAA,IAAI,CAAC,OAAO;AACV,oBAAA,EAAA,IAAI,CAAC,QAAQ;AACX,sBAAA,EAAA;AACZ,YAAA,eAAe,EAAE,MAAM;AACvB,YAAA,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;YACvC,eAAe,EAAE,IAAI,CAAC,OAAO;AAC7B,YAAA,YAAY,EAAE,wBAAwB;AACvC,SAAA;AACQ,iBAAA,EAAA,IAAI,CAAC,gBAAgB;;;;;;;AAO3B,WAAA,EAAA,IAAI,CAAC,OAAO;;AAEP,gBAAA,EAAA,IAAI,CAAC,aAAa;AAClB,gBAAA,EAAA,IAAI,CAAC,aAAa;;;;KAI/B;IACH;;AA/LgB,WAAA,CAAA,MAAM,GAAG,CAACC,UAAM,EAAEC,UAAW,EAAEC,QAAU,CAAnC;AAMO,UAAA,CAAA;AAA5B,IAAAC,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAAgD,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAU9C,UAAA,CAAA;AAA5B,IAAAA,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAKkB,UAAA,CAAA;AAA5B,IAAAA,CAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;AAQE,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AAKe,UAAA,CAAA;IAA3CA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAAmB,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAE5C,UAAA,CAAA;AAAhB,IAAAC,CAAK;AAA6B,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,WAAA,EAAA,MAAA,CAAA;AAEU,UAAA,CAAA;IAA5CC,CAAK,CAAC,mBAAmB;AAAiD,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,MAAA,CAAA;AAExC,UAAA,CAAA;IAAlCA,CAAK,CAAC,SAAS;AAKd,CAAA,EAAA,WAAA,CAAA,SAAA,EAAA,OAAA,EAAA,MAAA,CAAA;AA/CS,WAAW,GAAA,UAAA,CAAA;IADvB;AACY,CAAA,EAAA,WAAW,CAiMvB;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { e, i, t } from './directive-ZPhl09Yt.js';
|
|
2
|
+
|
|
3
|
+
class SpreadDirective extends i {
|
|
4
|
+
constructor(partInfo) {
|
|
5
|
+
super(partInfo);
|
|
6
|
+
if (partInfo.type !== t.ELEMENT) {
|
|
7
|
+
throw new Error('spread() can only be used on elements');
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11
|
+
render(_props) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
update(part, [props]) {
|
|
15
|
+
if (!props)
|
|
16
|
+
return;
|
|
17
|
+
// eslint-disable-next-line guard-for-in,no-restricted-syntax
|
|
18
|
+
for (const key in props) {
|
|
19
|
+
const value = props[key];
|
|
20
|
+
if (value === undefined || value === null) {
|
|
21
|
+
part.element.removeAttribute(key);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
part.element.setAttribute(key, value);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const spread = e(SpreadDirective);
|
|
30
|
+
|
|
31
|
+
export { spread as s };
|
|
32
|
+
//# sourceMappingURL=spread-B5cgadZl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spread-B5cgadZl.js","sources":["../../src/__internal/directive/spread.ts"],"sourcesContent":["import {\n directive,\n Directive,\n ElementPart,\n PartInfo,\n PartType,\n} from 'lit/directive.js';\n\nclass SpreadDirective extends Directive {\n constructor(partInfo: PartInfo) {\n super(partInfo);\n if (partInfo.type !== PartType.ELEMENT) {\n throw new Error('spread() can only be used on elements');\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n render(_props: { [key: string]: any } | undefined) {\n return '';\n }\n\n update(part: ElementPart, [props]: [{ [key: string]: any } | undefined]) {\n if (!props) return;\n // eslint-disable-next-line guard-for-in,no-restricted-syntax\n for (const key in props) {\n const value = props[key];\n if (value === undefined || value === null) {\n part.element.removeAttribute(key);\n } else {\n part.element.setAttribute(key, value);\n }\n }\n }\n}\n\nexport const spread = directive(SpreadDirective);\n"],"names":["Directive","PartType","directive"],"mappings":";;AAQA,MAAM,eAAgB,SAAQA,CAAS,CAAA;AACrC,IAAA,WAAA,CAAY,QAAkB,EAAA;QAC5B,KAAK,CAAC,QAAQ,CAAC;QACf,IAAI,QAAQ,CAAC,IAAI,KAAKC,CAAQ,CAAC,OAAO,EAAE;AACtC,YAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC;QAC1D;IACF;;AAGA,IAAA,MAAM,CAAC,MAA0C,EAAA;AAC/C,QAAA,OAAO,EAAE;IACX;AAEA,IAAA,MAAM,CAAC,IAAiB,EAAE,CAAC,KAAK,CAAuC,EAAA;AACrE,QAAA,IAAI,CAAC,KAAK;YAAE;;AAEZ,QAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACvB,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;YACxB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AACzC,gBAAA,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC;YACnC;iBAAO;gBACL,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC;YACvC;QACF;IACF;AACD;MAEY,MAAM,GAAGC,CAAS,CAAC,eAAe;;;;"}
|