@redvars/peacock 3.8.1 → 3.8.2
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/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 +23 -45
- 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 +9 -5
- package/dist/code-highlighter.js.map +1 -1
- 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 +721 -769
- package/dist/custom-elements.json +3213 -1979
- 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/{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 +138 -145
- 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-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.js +73 -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 +212 -0
- package/dist/item.js.map +1 -0
- package/dist/link.js +75 -0
- package/dist/link.js.map +1 -0
- package/dist/list-D6JLh1uh.js +352 -0
- package/dist/list-D6JLh1uh.js.map +1 -0
- package/dist/list.js +14 -0
- package/dist/list.js.map +1 -0
- package/dist/{peacock-loader.js → loader.js} +83 -22
- package/dist/loader.js.map +1 -0
- package/dist/menu-item.js +318 -0
- package/dist/menu-item.js.map +1 -0
- package/dist/menu.js +534 -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 +385 -0
- package/dist/navigation-rail-item.js.map +1 -0
- package/dist/navigation-rail.js +217 -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/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/{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-Dwtk0RIU.js +3937 -0
- package/dist/select-Dwtk0RIU.js.map +1 -0
- package/dist/side-sheet.js +8 -4
- 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/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 +7 -6
- package/dist/src/item/item.d.ts +20 -29
- package/dist/src/link/link.d.ts +1 -1
- package/dist/src/list/list-item.d.ts +7 -5
- package/dist/src/list/list.d.ts +3 -2
- package/dist/src/menu/menu/menu.d.ts +14 -0
- package/dist/src/menu/menu-item/menu-item.d.ts +10 -2
- 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/{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 +241 -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 +3 -3
- package/scss/mixin.scss +8 -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 +306 -0
- package/src/button/button/button-colors.scss +27 -32
- package/src/button/button/button-layers.scss +126 -39
- 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 -105
- 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 +3 -3
- 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 +1 -1
- package/src/code-highlighter/demo/index.html +24 -21
- 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 +24 -6
- package/src/input/input.ts +2 -2
- package/src/item/item.scss +126 -162
- package/src/item/item.ts +70 -323
- package/src/link/link.ts +3 -1
- package/src/list/list-item.scss +43 -31
- package/src/list/list-item.ts +79 -75
- package/src/list/list.scss +1 -13
- package/src/list/list.ts +6 -3
- package/src/{peacock-loader.ts → loader.ts} +91 -79
- package/src/menu/menu/menu.scss +14 -11
- package/src/menu/menu/menu.ts +20 -8
- package/src/menu/menu-item/menu-item.scss +35 -3
- package/src/menu/menu-item/menu-item.ts +40 -34
- package/src/menu/sub-menu/sub-menu.ts +3 -0
- package/src/modal/modal.ts +2 -2
- package/src/navigation-rail/navigation-rail-item.ts +21 -36
- package/src/navigation-rail/navigation-rail.scss +1 -0
- 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 +2 -2
- 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/tabs.js
ADDED
|
@@ -0,0 +1,240 @@
|
|
|
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 { Tab } from './tab.js';
|
|
4
|
+
import './state-DkTK9EGF.js';
|
|
5
|
+
import './query-CHb9Ft_d.js';
|
|
6
|
+
import './base-Cl6v8-BZ.js';
|
|
7
|
+
import './class-map-DG7CA1et.js';
|
|
8
|
+
import './directive-ZPhl09Yt.js';
|
|
9
|
+
import './dispatch-event-utils-CuEqjlPT.js';
|
|
10
|
+
import './observe-slot-change-DPxaZrZF.js';
|
|
11
|
+
import './throttle-C7ZAPqtu.js';
|
|
12
|
+
import './is-link-Dk2OV3PM.js';
|
|
13
|
+
import './spread-B5cgadZl.js';
|
|
14
|
+
|
|
15
|
+
var css_248z = i`* {
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.screen-reader-only {
|
|
20
|
+
display: none !important;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
[hidden] {
|
|
24
|
+
display: none !important;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.tabs {
|
|
28
|
+
display: flex;
|
|
29
|
+
position: relative;
|
|
30
|
+
width: 100%;
|
|
31
|
+
height: var(--tabs-height);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
:host([variant=primary]) {
|
|
35
|
+
--tabs-height: 4rem;
|
|
36
|
+
}
|
|
37
|
+
:host([variant=primary]) .tabs {
|
|
38
|
+
border-bottom: 1px solid var(--color-surface-variant);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
:host([variant=secondary]) {
|
|
42
|
+
--tabs-height: 3rem;
|
|
43
|
+
}
|
|
44
|
+
:host([variant=secondary]) .tabs {
|
|
45
|
+
border-bottom: 1px solid var(--color-surface-variant);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
:host([variant=filled]) {
|
|
49
|
+
--tabs-height: 3rem;
|
|
50
|
+
}
|
|
51
|
+
:host([variant=filled]) .tabs {
|
|
52
|
+
align-items: stretch;
|
|
53
|
+
gap: 0.25rem;
|
|
54
|
+
padding: 0.25rem;
|
|
55
|
+
border-radius: var(--shape-corner-small);
|
|
56
|
+
background: var(--color-surface-container-high);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
:host([variant=contained]) {
|
|
60
|
+
--tabs-height: 3rem;
|
|
61
|
+
}
|
|
62
|
+
:host([variant=contained]) .tabs {
|
|
63
|
+
align-items: stretch;
|
|
64
|
+
gap: 0.25rem;
|
|
65
|
+
padding: 0.25rem;
|
|
66
|
+
border-radius: var(--shape-corner-extra-small);
|
|
67
|
+
border: 1px solid var(--color-outline-variant);
|
|
68
|
+
background: var(--color-surface);
|
|
69
|
+
}`;
|
|
70
|
+
|
|
71
|
+
var Tabs_1;
|
|
72
|
+
/**
|
|
73
|
+
* @label Tabs
|
|
74
|
+
* @tag wc-tabs
|
|
75
|
+
* @rawTag tabs
|
|
76
|
+
*
|
|
77
|
+
* @summary Container for tab components.
|
|
78
|
+
* @overview
|
|
79
|
+
* <p>Tabs holds the tab buttons and manages their layout.</p>
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```html
|
|
83
|
+
* <wc-tabs>
|
|
84
|
+
* <wc-tab active>Tab 1</wc-tab>
|
|
85
|
+
* <wc-tab>Tab 2</wc-tab>
|
|
86
|
+
* </wc-tabs>
|
|
87
|
+
* ```
|
|
88
|
+
* @tags navigation
|
|
89
|
+
*/
|
|
90
|
+
let Tabs = Tabs_1 = class Tabs extends i$1 {
|
|
91
|
+
constructor() {
|
|
92
|
+
super(...arguments);
|
|
93
|
+
this.variant = 'primary';
|
|
94
|
+
this.managed = false;
|
|
95
|
+
this.__handleTabClick = (event) => {
|
|
96
|
+
if (this.managed)
|
|
97
|
+
return;
|
|
98
|
+
const detailEvent = event;
|
|
99
|
+
const path = detailEvent.composedPath();
|
|
100
|
+
const clickedTab = path.find(node => node instanceof Element && node.tagName.toLowerCase() === 'wc-tab');
|
|
101
|
+
if (!clickedTab)
|
|
102
|
+
return;
|
|
103
|
+
const previousActiveTab = this.__getActiveTab();
|
|
104
|
+
const tabs = this.__getTabs();
|
|
105
|
+
let clickedIndex = -1;
|
|
106
|
+
for (let index = 0; index < tabs.length; index += 1) {
|
|
107
|
+
const tab = tabs[index];
|
|
108
|
+
tab.active = false;
|
|
109
|
+
if (tab === clickedTab)
|
|
110
|
+
clickedIndex = index;
|
|
111
|
+
}
|
|
112
|
+
clickedTab.active = true;
|
|
113
|
+
this.__animateIndicatorTransition(previousActiveTab, clickedTab);
|
|
114
|
+
this.__lastActiveTab = clickedTab;
|
|
115
|
+
this.dispatchEvent(new CustomEvent('tab-click', {
|
|
116
|
+
bubbles: true,
|
|
117
|
+
composed: true,
|
|
118
|
+
detail: {
|
|
119
|
+
index: clickedIndex,
|
|
120
|
+
value: clickedTab.value,
|
|
121
|
+
},
|
|
122
|
+
}));
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
connectedCallback() {
|
|
126
|
+
super.connectedCallback();
|
|
127
|
+
this.addEventListener('click', this.__handleTabClick);
|
|
128
|
+
}
|
|
129
|
+
firstUpdated() {
|
|
130
|
+
this.__mutationObserver = new MutationObserver(() => {
|
|
131
|
+
this.__syncIndicatorsFromActiveState();
|
|
132
|
+
});
|
|
133
|
+
this.__mutationObserver.observe(this, {
|
|
134
|
+
subtree: true,
|
|
135
|
+
childList: true,
|
|
136
|
+
attributes: true,
|
|
137
|
+
attributeFilter: ['active', 'disabled'],
|
|
138
|
+
});
|
|
139
|
+
this.__lastActiveTab = this.__getActiveTab();
|
|
140
|
+
}
|
|
141
|
+
updated(changedProperties) {
|
|
142
|
+
if (changedProperties.has('variant')) {
|
|
143
|
+
this.__lastActiveTab = this.__getActiveTab();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
disconnectedCallback() {
|
|
147
|
+
this.__mutationObserver?.disconnect();
|
|
148
|
+
this.removeEventListener('click', this.__handleTabClick);
|
|
149
|
+
super.disconnectedCallback();
|
|
150
|
+
}
|
|
151
|
+
__getTabs() {
|
|
152
|
+
return Array.from(this.querySelectorAll('wc-tab'));
|
|
153
|
+
}
|
|
154
|
+
__getActiveTab() {
|
|
155
|
+
return this.__getTabs().find(tab => tab.active && !tab.disabled);
|
|
156
|
+
}
|
|
157
|
+
static __getTabIndicator(tab) {
|
|
158
|
+
if (!tab?.shadowRoot)
|
|
159
|
+
return undefined;
|
|
160
|
+
return tab.shadowRoot.querySelector('.indicator');
|
|
161
|
+
}
|
|
162
|
+
static __getTabBackground(tab) {
|
|
163
|
+
if (!tab?.shadowRoot)
|
|
164
|
+
return undefined;
|
|
165
|
+
return tab.shadowRoot.querySelector('.background');
|
|
166
|
+
}
|
|
167
|
+
__getAnimationElements(previousTab, nextTab) {
|
|
168
|
+
if (this.variant === 'primary' || this.variant === 'secondary') {
|
|
169
|
+
return {
|
|
170
|
+
previous: Tabs_1.__getTabIndicator(previousTab),
|
|
171
|
+
next: Tabs_1.__getTabIndicator(nextTab),
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
if (this.variant === 'filled' || this.variant === 'contained') {
|
|
175
|
+
return {
|
|
176
|
+
previous: Tabs_1.__getTabBackground(previousTab),
|
|
177
|
+
next: Tabs_1.__getTabBackground(nextTab),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
return {
|
|
181
|
+
previous: undefined,
|
|
182
|
+
next: undefined,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
__animateIndicatorTransition(previousTab, nextTab) {
|
|
186
|
+
if (!previousTab || !nextTab || previousTab === nextTab)
|
|
187
|
+
return;
|
|
188
|
+
const { previous: previousAnimationElement, next: nextAnimationElement } = this.__getAnimationElements(previousTab, nextTab);
|
|
189
|
+
if (!previousAnimationElement || !nextAnimationElement)
|
|
190
|
+
return;
|
|
191
|
+
const previousRect = previousTab.getBoundingClientRect();
|
|
192
|
+
const nextRect = nextTab.getBoundingClientRect();
|
|
193
|
+
const incomingOffset = previousRect.left - nextRect.left;
|
|
194
|
+
const outgoingOffset = nextRect.left - previousRect.left;
|
|
195
|
+
const incomingScale = previousRect.width / nextRect.width;
|
|
196
|
+
const outgoingScale = nextRect.width / previousRect.width;
|
|
197
|
+
nextAnimationElement.style.transition = 'none';
|
|
198
|
+
nextAnimationElement.style.opacity = '0';
|
|
199
|
+
nextAnimationElement.style.transform = `translateX(${incomingOffset}px) scaleX(${incomingScale})`;
|
|
200
|
+
previousAnimationElement.style.transition = 'none';
|
|
201
|
+
previousAnimationElement.style.opacity = '1';
|
|
202
|
+
previousAnimationElement.style.transform = 'translateX(0) scaleX(1)';
|
|
203
|
+
requestAnimationFrame(() => {
|
|
204
|
+
nextAnimationElement.style.transition = '';
|
|
205
|
+
previousAnimationElement.style.transition = '';
|
|
206
|
+
nextAnimationElement.style.opacity = '1';
|
|
207
|
+
nextAnimationElement.style.transform = 'translateX(0) scaleX(1)';
|
|
208
|
+
previousAnimationElement.style.opacity = '0';
|
|
209
|
+
previousAnimationElement.style.transform = `translateX(${outgoingOffset}px) scaleX(${outgoingScale})`;
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
__syncIndicatorsFromActiveState() {
|
|
213
|
+
const activeTab = this.__getActiveTab();
|
|
214
|
+
if (this.__lastActiveTab && activeTab && this.__lastActiveTab !== activeTab) {
|
|
215
|
+
this.__animateIndicatorTransition(this.__lastActiveTab, activeTab);
|
|
216
|
+
}
|
|
217
|
+
this.__lastActiveTab = activeTab;
|
|
218
|
+
}
|
|
219
|
+
render() {
|
|
220
|
+
return b `
|
|
221
|
+
<div class="tabs">
|
|
222
|
+
<slot></slot>
|
|
223
|
+
</div>
|
|
224
|
+
`;
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
Tabs.styles = [css_248z];
|
|
228
|
+
Tabs.Tab = Tab;
|
|
229
|
+
__decorate([
|
|
230
|
+
n({ reflect: true })
|
|
231
|
+
], Tabs.prototype, "variant", void 0);
|
|
232
|
+
__decorate([
|
|
233
|
+
n({ type: Boolean })
|
|
234
|
+
], Tabs.prototype, "managed", void 0);
|
|
235
|
+
Tabs = Tabs_1 = __decorate([
|
|
236
|
+
IndividualComponent
|
|
237
|
+
], Tabs);
|
|
238
|
+
|
|
239
|
+
export { Tabs };
|
|
240
|
+
//# sourceMappingURL=tabs.js.map
|
package/dist/tabs.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../src/tabs/tabs.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport styles from './tabs.scss';\nimport { Tab } from './tab.js';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Tabs\n * @tag wc-tabs\n * @rawTag tabs\n *\n * @summary Container for tab components.\n * @overview\n * <p>Tabs holds the tab buttons and manages their layout.</p>\n *\n * @example\n * ```html\n * <wc-tabs>\n * <wc-tab active>Tab 1</wc-tab>\n * <wc-tab>Tab 2</wc-tab>\n * </wc-tabs>\n * ```\n * @tags navigation\n */\n@IndividualComponent\nexport class Tabs extends LitElement {\n static styles = [styles];\n\n static Tab = Tab;\n\n @property({ reflect: true }) \n variant: 'primary' | 'secondary' | 'contained' | 'filled' = 'primary';\n\n @property({ type: Boolean }) managed = false;\n\n private __mutationObserver?: MutationObserver;\n\n private __lastActiveTab?: Tab;\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('click', this.__handleTabClick);\n }\n\n firstUpdated() {\n this.__mutationObserver = new MutationObserver(() => {\n this.__syncIndicatorsFromActiveState();\n });\n\n this.__mutationObserver.observe(this, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: ['active', 'disabled'],\n });\n\n this.__lastActiveTab = this.__getActiveTab();\n }\n\n updated(changedProperties: Map<string, unknown>) {\n if (changedProperties.has('variant')) {\n this.__lastActiveTab = this.__getActiveTab();\n }\n }\n\n disconnectedCallback() {\n this.__mutationObserver?.disconnect();\n\n this.removeEventListener('click', this.__handleTabClick);\n super.disconnectedCallback();\n }\n\n private __getTabs() {\n return Array.from(this.querySelectorAll('wc-tab')) as Tab[];\n }\n\n private __getActiveTab() {\n return this.__getTabs().find(tab => tab.active && !tab.disabled);\n }\n\n private static __getTabIndicator(tab?: Tab) {\n if (!tab?.shadowRoot) return undefined;\n return tab.shadowRoot.querySelector('.indicator') as HTMLElement | null;\n }\n\n private static __getTabBackground(tab?: Tab) {\n if (!tab?.shadowRoot) return undefined;\n return tab.shadowRoot.querySelector('.background') as HTMLElement | null;\n }\n\n private __getAnimationElements(previousTab?: Tab, nextTab?: Tab) {\n if (this.variant === 'primary' || this.variant === 'secondary') {\n return {\n previous: Tabs.__getTabIndicator(previousTab),\n next: Tabs.__getTabIndicator(nextTab),\n };\n }\n\n if (this.variant === 'filled' || this.variant === 'contained') {\n return {\n previous: Tabs.__getTabBackground(previousTab),\n next: Tabs.__getTabBackground(nextTab),\n };\n }\n\n return {\n previous: undefined,\n next: undefined,\n };\n }\n\n private __animateIndicatorTransition(previousTab?: Tab, nextTab?: Tab) {\n if (!previousTab || !nextTab || previousTab === nextTab) return;\n\n const { previous: previousAnimationElement, next: nextAnimationElement } =\n this.__getAnimationElements(previousTab, nextTab);\n if (!previousAnimationElement || !nextAnimationElement) return;\n\n const previousRect = previousTab.getBoundingClientRect();\n const nextRect = nextTab.getBoundingClientRect();\n\n const incomingOffset = previousRect.left - nextRect.left;\n const outgoingOffset = nextRect.left - previousRect.left;\n const incomingScale = previousRect.width / nextRect.width;\n const outgoingScale = nextRect.width / previousRect.width;\n\n nextAnimationElement.style.transition = 'none';\n nextAnimationElement.style.opacity = '0';\n nextAnimationElement.style.transform = `translateX(${incomingOffset}px) scaleX(${incomingScale})`;\n\n previousAnimationElement.style.transition = 'none';\n previousAnimationElement.style.opacity = '1';\n previousAnimationElement.style.transform = 'translateX(0) scaleX(1)';\n\n requestAnimationFrame(() => {\n nextAnimationElement.style.transition = '';\n previousAnimationElement.style.transition = '';\n\n nextAnimationElement.style.opacity = '1';\n nextAnimationElement.style.transform = 'translateX(0) scaleX(1)';\n\n previousAnimationElement.style.opacity = '0';\n previousAnimationElement.style.transform = `translateX(${outgoingOffset}px) scaleX(${outgoingScale})`;\n });\n }\n\n private __syncIndicatorsFromActiveState() {\n const activeTab = this.__getActiveTab();\n if (this.__lastActiveTab && activeTab && this.__lastActiveTab !== activeTab) {\n this.__animateIndicatorTransition(this.__lastActiveTab, activeTab);\n }\n\n this.__lastActiveTab = activeTab;\n }\n\n private __handleTabClick = (event: Event) => {\n if (this.managed) return;\n\n const detailEvent = event as CustomEvent;\n const path = detailEvent.composedPath();\n const clickedTab: Tab | undefined = path.find(\n node => node instanceof Element && (node as Element).tagName.toLowerCase() === 'wc-tab',\n ) as Tab | undefined;\n\n if (!clickedTab) return;\n\n const previousActiveTab = this.__getActiveTab();\n const tabs = this.__getTabs();\n let clickedIndex = -1;\n for (let index = 0; index < tabs.length; index += 1) {\n const tab = tabs[index];\n tab.active = false;\n if (tab === clickedTab) clickedIndex = index;\n }\n (clickedTab as Tab).active = true;\n this.__animateIndicatorTransition(previousActiveTab, clickedTab);\n this.__lastActiveTab = clickedTab;\n\n this.dispatchEvent(new CustomEvent('tab-click', {\n bubbles: true,\n composed: true,\n detail: {\n index: clickedIndex,\n value: (clickedTab as Tab).value,\n },\n }));\n };\n\n render() {\n return html`\n <div class=\"tabs\">\n <slot></slot>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","styles","property"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
function throttle(func, delay, options = { leading: true, trailing: true }) {
|
|
2
|
+
let timerId;
|
|
3
|
+
let lastExec = 0;
|
|
4
|
+
return function (...args) {
|
|
5
|
+
// @ts-ignore
|
|
6
|
+
const context = this;
|
|
7
|
+
const now = Date.now();
|
|
8
|
+
const shouldCallNow = options.leading && now - lastExec >= delay;
|
|
9
|
+
if (shouldCallNow) {
|
|
10
|
+
func.apply(context, args);
|
|
11
|
+
lastExec = now;
|
|
12
|
+
}
|
|
13
|
+
else if (options.trailing && !timerId) {
|
|
14
|
+
timerId = setTimeout(() => {
|
|
15
|
+
func.apply(context, args);
|
|
16
|
+
lastExec = Date.now();
|
|
17
|
+
timerId = null;
|
|
18
|
+
}, delay);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { throttle as t };
|
|
24
|
+
//# sourceMappingURL=throttle-C7ZAPqtu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle-C7ZAPqtu.js","sources":["../../src/__internal/utils/throttle.ts"],"sourcesContent":["export function throttle(\n func: Function,\n delay: number,\n options = { leading: true, trailing: true },\n) {\n let timerId: any;\n let lastExec = 0;\n\n return function (...args: any[]) {\n // @ts-ignore\n const context = this;\n const now = Date.now();\n\n const shouldCallNow = options.leading && now - lastExec >= delay;\n\n if (shouldCallNow) {\n func.apply(context, args);\n lastExec = now;\n } else if (options.trailing && !timerId) {\n timerId = setTimeout(() => {\n func.apply(context, args);\n lastExec = Date.now();\n timerId = null;\n }, delay);\n }\n };\n}"],"names":[],"mappings":"SAAgB,QAAQ,CACtB,IAAc,EACd,KAAa,EACb,OAAO,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAA;AAE3C,IAAA,IAAI,OAAY;IAChB,IAAI,QAAQ,GAAG,CAAC;IAEhB,OAAO,UAAU,GAAG,IAAW,EAAA;;QAE7B,MAAM,OAAO,GAAG,IAAI;AACpB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAEtB,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,GAAG,GAAG,QAAQ,IAAI,KAAK;QAEhE,IAAI,aAAa,EAAE;AACjB,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;YACzB,QAAQ,GAAG,GAAG;QAChB;AAAO,aAAA,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE;AACvC,YAAA,OAAO,GAAG,UAAU,CAAC,MAAK;AACxB,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;AACzB,gBAAA,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE;gBACrB,OAAO,GAAG,IAAI;YAChB,CAAC,EAAE,KAAK,CAAC;QACX;AACF,IAAA,CAAC;AACH;;;;"}
|
package/dist/toolbar.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n } from './property-
|
|
3
|
-
import { e } 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 { e } from './class-map-DG7CA1et.js';
|
|
4
4
|
import './directive-ZPhl09Yt.js';
|
|
5
5
|
|
|
6
6
|
var css_248z$1 = i`* {
|
|
@@ -11,6 +11,10 @@ var css_248z$1 = i`* {
|
|
|
11
11
|
display: none !important;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
+
[hidden] {
|
|
15
|
+
display: none !important;
|
|
16
|
+
}
|
|
17
|
+
|
|
14
18
|
:host {
|
|
15
19
|
display: block;
|
|
16
20
|
--toolbar-container-shape: var(--shape-corner-full);
|
|
@@ -172,9 +176,9 @@ var Toolbar_1;
|
|
|
172
176
|
* @tag wc-toolbar
|
|
173
177
|
* @rawTag toolbar
|
|
174
178
|
*
|
|
175
|
-
* @summary A
|
|
179
|
+
* @summary A toolbar / app bar for navigation and actions.
|
|
176
180
|
* @overview
|
|
177
|
-
* <p>The toolbar component implements the
|
|
181
|
+
* <p>The toolbar component implements the app bar pattern. It supports a
|
|
178
182
|
* docked (attached) variant for bottom-panel navigation and a floating (detached pill-shaped)
|
|
179
183
|
* variant. The floating variant supports both horizontal and vertical orientations.</p>
|
|
180
184
|
*
|
package/dist/toolbar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.js","sources":["../../src/toolbar/toolbar.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './toolbar.scss';\nimport colorStyles from './toolbar-colors.scss';\n\n/**\n * @label Toolbar\n * @tag wc-toolbar\n * @rawTag toolbar\n *\n * @summary A
|
|
1
|
+
{"version":3,"file":"toolbar.js","sources":["../../src/toolbar/toolbar.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport styles from './toolbar.scss';\nimport colorStyles from './toolbar-colors.scss';\n\n/**\n * @label Toolbar\n * @tag wc-toolbar\n * @rawTag toolbar\n *\n * @summary A toolbar / app bar for navigation and actions.\n * @overview\n * <p>The toolbar component implements the app bar pattern. It supports a\n * docked (attached) variant for bottom-panel navigation and a floating (detached pill-shaped)\n * variant. The floating variant supports both horizontal and vertical orientations.</p>\n *\n * <p>Render toolbar actions directly as children of the component. The docked variant is\n * optimized for a horizontal action row, while the floating variant supports both horizontal\n * and vertical layouts.</p>\n *\n * @cssprop --toolbar-container-color - Background color of the toolbar.\n * @cssprop --toolbar-container-shape - Border radius of the toolbar. Relevant for the floating variant.\n * @cssprop --toolbar-height - Height of the toolbar (docked horizontal / floating horizontal).\n * @cssprop --toolbar-padding-inline - Inline padding of the toolbar.\n * @cssprop --toolbar-gap - Gap between toolbar sections.\n * @cssprop --toolbar-icon-color - Color of icon slots.\n * @cssprop --toolbar-title-color - Color of the title (default slot) text.\n * @cssprop --toolbar-shadow - Box-shadow of the toolbar.\n *\n * @example\n * ```html\n * <!-- Docked toolbar -->\n * <wc-toolbar>\n * <wc-icon-button variant=\"text\" color=\"surface\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\" color=\"surface\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\" color=\"surface\"><wc-icon name=\"account_circle\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating horizontal toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"horizontal\">\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n *\n * @example\n * ```html\n * <!-- Floating vertical toolbar -->\n * <wc-toolbar variant=\"floating\" orientation=\"vertical\">\n * <wc-icon-button variant=\"tonal\"><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"search\"></wc-icon></wc-icon-button>\n * <wc-icon-button variant=\"text\"><wc-icon name=\"favorite\"></wc-icon></wc-icon-button>\n * </wc-toolbar>\n * ```\n * @tags display navigation\n */\n@IndividualComponent\nexport class Toolbar extends LitElement {\n static styles = [styles, colorStyles];\n\n /**\n * Visual and layout variant of the toolbar.\n * - `\"docked\"`: A full-width bar attached to the edge of the screen (default).\n * - `\"floating\"`: A detached pill-shaped toolbar that floats over content.\n */\n @property({ type: String, reflect: true })\n variant: 'docked' | 'floating' = 'docked';\n\n /**\n * Orientation of the toolbar content.\n * - `\"horizontal\"`: Items are laid out left to right (default).\n * - `\"vertical\"`: Items are stacked top to bottom. Primarily useful for the floating variant.\n */\n @property({ type: String, reflect: true })\n orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Size of the docked toolbar.\n * - `\"small\"`: 80dp height (default).\n * - `\"medium\"`: 96dp height.\n * - `\"large\"`: 112dp height.\n */\n @property({ type: String, reflect: true })\n size: 'small' | 'medium' | 'large' = 'small';\n\n /**\n * Whether the toolbar is visually elevated (adds a shadow).\n */\n @property({ type: Boolean, reflect: true })\n elevated: boolean = false;\n\n override render() {\n const cssClasses = {\n toolbar: true,\n [`variant-${this.variant}`]: true,\n [`orientation-${this.orientation}`]: true,\n [`size-${this.size}`]: true,\n elevated: this.elevated,\n };\n\n if (this.variant === 'floating') {\n return Toolbar.__renderFloating(cssClasses);\n }\n\n return Toolbar.__renderDocked(cssClasses);\n }\n\n private static __renderDocked(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n\n private static __renderFloating(cssClasses: Record<string, boolean>) {\n return html`\n <div class=${classMap(cssClasses)} role=\"toolbar\">\n <wc-elevation class=\"elevation\"></wc-elevation>\n <div class=\"background\"></div>\n <div class=\"toolbar-content\">\n <slot></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","colorStyles","property"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDG;AAEI,IAAM,OAAO,GAAA,SAAA,GAAb,MAAM,OAAQ,SAAQA,GAAU,CAAA;AAAhC,IAAA,WAAA,GAAA;;AAGL;;;;AAIG;QAEH,IAAA,CAAA,OAAO,GAA0B,QAAQ;AAEzC;;;;AAIG;QAEH,IAAA,CAAA,WAAW,GAA8B,YAAY;AAErD;;;;;AAKG;QAEH,IAAA,CAAA,IAAI,GAAiC,OAAO;AAE5C;;AAEG;QAEH,IAAA,CAAA,QAAQ,GAAY,KAAK;IAwC3B;IAtCW,MAAM,GAAA;AACb,QAAA,MAAM,UAAU,GAAG;AACjB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAA,CAAE,GAAG,IAAI;AACjC,YAAA,CAAC,eAAe,IAAI,CAAC,WAAW,CAAA,CAAE,GAAG,IAAI;AACzC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAA,CAAE,GAAG,IAAI;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB;AAED,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;AAC/B,YAAA,OAAO,SAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC;QAC7C;AAEA,QAAA,OAAO,SAAO,CAAC,cAAc,CAAC,UAAU,CAAC;IAC3C;IAEQ,OAAO,cAAc,CAAC,UAAmC,EAAA;AAC/D,QAAA,OAAOC,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;KAMlC;IACH;IAEQ,OAAO,gBAAgB,CAAC,UAAmC,EAAA;AACjE,QAAA,OAAOD,CAAI,CAAA;mBACIC,CAAQ,CAAC,UAAU,CAAC,CAAA;;;;;;;KAOlC;IACH;;AAtEO,OAAA,CAAA,MAAM,GAAG,CAACC,UAAM,EAAEC,QAAW,CAAC;AAQrC,UAAA,CAAA;IADCC,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACC,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,SAAA,EAAA,MAAA,CAAA;AAQ1C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACa,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,aAAA,EAAA,MAAA,CAAA;AAStD,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;AACI,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,MAAA,EAAA,MAAA,CAAA;AAM7C,UAAA,CAAA;IADCA,CAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE;AAChB,CAAA,EAAA,OAAA,CAAA,SAAA,EAAA,UAAA,EAAA,MAAA,CAAA;AAhCf,OAAO,GAAA,SAAA,GAAA,UAAA,CAAA;IADnB;AACY,CAAA,EAAA,OAAO,CAwEnB;;;;"}
|
package/dist/tooltip.js
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
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 { e } from './class-map-DG7CA1et.js';
|
|
4
|
+
import { F as FloatingController } from './floating-controller-CnUZnOhK.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
|
+
:host(:not([preview])) {
|
|
20
|
+
position: absolute;
|
|
21
|
+
top: 0;
|
|
22
|
+
left: 0;
|
|
23
|
+
pointer-events: none;
|
|
24
|
+
transition: transform var(--duration-short2) ease-in-out, opacity var(--duration-short2) ease-in-out;
|
|
25
|
+
transform: scale(0);
|
|
26
|
+
opacity: 0;
|
|
27
|
+
}
|
|
28
|
+
:host(:not([preview])):host([open]) {
|
|
29
|
+
pointer-events: auto;
|
|
30
|
+
transform: scale(1);
|
|
31
|
+
opacity: 1;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.variant-plain .tooltip-content {
|
|
35
|
+
display: inline-block;
|
|
36
|
+
font-family: var(--typography-body-small-font-family) !important;
|
|
37
|
+
font-size: var(--typography-body-small-font-size) !important;
|
|
38
|
+
font-weight: var(--typography-body-small-font-weight) !important;
|
|
39
|
+
line-height: var(--typography-body-small-line-height) !important;
|
|
40
|
+
letter-spacing: var(--typography-body-small-letter-spacing) !important;
|
|
41
|
+
max-width: 17.5rem;
|
|
42
|
+
padding-inline: var(--spacing-100);
|
|
43
|
+
padding-block: var(--spacing-050);
|
|
44
|
+
color: var(--color-inverse-on-surface);
|
|
45
|
+
background-color: var(--color-inverse-surface);
|
|
46
|
+
border-radius: var(--shape-corner-extra-small);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.variant-rich .tooltip-content {
|
|
50
|
+
display: inline-block;
|
|
51
|
+
max-width: 17.5rem;
|
|
52
|
+
padding-block: var(--spacing-150) var(--spacing-100);
|
|
53
|
+
color: var(--color-on-surface-variant);
|
|
54
|
+
background-color: var(--color-surface-container);
|
|
55
|
+
border-radius: var(--shape-corner-medium);
|
|
56
|
+
}
|
|
57
|
+
.variant-rich .elevation {
|
|
58
|
+
--elevation-level: 2;
|
|
59
|
+
--elevation-container-shape: var(--shape-corner-medium);
|
|
60
|
+
}
|
|
61
|
+
.variant-rich .tooltip-title {
|
|
62
|
+
font-family: var(--typography-title-small-font-family) !important;
|
|
63
|
+
font-size: var(--typography-title-small-font-size) !important;
|
|
64
|
+
font-weight: var(--typography-title-small-font-weight) !important;
|
|
65
|
+
line-height: var(--typography-title-small-line-height) !important;
|
|
66
|
+
letter-spacing: var(--typography-title-small-letter-spacing) !important;
|
|
67
|
+
margin-block-end: var(--spacing-050);
|
|
68
|
+
padding-inline: var(--spacing-200);
|
|
69
|
+
}
|
|
70
|
+
.variant-rich .tooltip-support-text {
|
|
71
|
+
font-family: var(--typography-body-medium-font-family) !important;
|
|
72
|
+
font-size: var(--typography-body-medium-font-size) !important;
|
|
73
|
+
font-weight: var(--typography-body-medium-font-weight) !important;
|
|
74
|
+
line-height: var(--typography-body-medium-line-height) !important;
|
|
75
|
+
letter-spacing: var(--typography-body-medium-letter-spacing) !important;
|
|
76
|
+
padding-inline: var(--spacing-200);
|
|
77
|
+
}
|
|
78
|
+
.variant-rich .tooltip-actions {
|
|
79
|
+
margin-top: var(--spacing-150);
|
|
80
|
+
padding-inline: var(--spacing-050);
|
|
81
|
+
display: flex;
|
|
82
|
+
align-items: center;
|
|
83
|
+
gap: var(--spacing-100);
|
|
84
|
+
}`;
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* @label Tooltip
|
|
88
|
+
* @tag wc-tooltip
|
|
89
|
+
* @rawTag tooltip
|
|
90
|
+
* @summary Displays a tooltip for an element.
|
|
91
|
+
* @tags display
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```html
|
|
95
|
+
* <wc-tooltip preview>Tooltip</wc-tooltip>
|
|
96
|
+
* ```
|
|
97
|
+
*/
|
|
98
|
+
let Tooltip = class Tooltip extends i$1 {
|
|
99
|
+
constructor() {
|
|
100
|
+
super(...arguments);
|
|
101
|
+
this.content = '';
|
|
102
|
+
/**
|
|
103
|
+
* The ID of the element the tooltip should attach to.
|
|
104
|
+
* If not provided, it defaults to the parent element.
|
|
105
|
+
*/
|
|
106
|
+
this.for = '';
|
|
107
|
+
this.trigger = 'hover focus';
|
|
108
|
+
this.open = false;
|
|
109
|
+
this.variant = 'plain';
|
|
110
|
+
this.preview = false;
|
|
111
|
+
this._target = null;
|
|
112
|
+
this._floating = null;
|
|
113
|
+
}
|
|
114
|
+
resolveTrigger() {
|
|
115
|
+
if (this.preview)
|
|
116
|
+
return 'manual';
|
|
117
|
+
const triggerTokens = this.trigger.split(' ');
|
|
118
|
+
const hasHover = triggerTokens.includes('hover');
|
|
119
|
+
const hasFocus = triggerTokens.includes('focus');
|
|
120
|
+
const hasClick = triggerTokens.includes('click');
|
|
121
|
+
if (hasClick)
|
|
122
|
+
return 'click';
|
|
123
|
+
if (hasHover && hasFocus)
|
|
124
|
+
return 'hover-focus';
|
|
125
|
+
if (hasFocus)
|
|
126
|
+
return 'focus';
|
|
127
|
+
if (hasHover)
|
|
128
|
+
return 'hover';
|
|
129
|
+
return 'manual';
|
|
130
|
+
}
|
|
131
|
+
detachListeners() {
|
|
132
|
+
if (this._floating) {
|
|
133
|
+
this._floating.close();
|
|
134
|
+
this._floating = null;
|
|
135
|
+
}
|
|
136
|
+
this._target = null;
|
|
137
|
+
}
|
|
138
|
+
set forElement(value) {
|
|
139
|
+
if (value) {
|
|
140
|
+
this._focusTarget = value;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
this._focusTarget = undefined;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
__getFocusTarget() {
|
|
147
|
+
if (this._focusTarget) {
|
|
148
|
+
return this._focusTarget;
|
|
149
|
+
}
|
|
150
|
+
const focusTarget = document.getElementById(this.for);
|
|
151
|
+
if (focusTarget) {
|
|
152
|
+
return focusTarget;
|
|
153
|
+
}
|
|
154
|
+
return this.parentElement;
|
|
155
|
+
}
|
|
156
|
+
attachListeners() {
|
|
157
|
+
this.detachListeners();
|
|
158
|
+
// Resolve target: ID-based lookup or fallback to parent
|
|
159
|
+
const root = this.getRootNode();
|
|
160
|
+
this._target = this.for
|
|
161
|
+
? root.getElementById(this.for)
|
|
162
|
+
: this.parentElement;
|
|
163
|
+
if (!this._target)
|
|
164
|
+
return;
|
|
165
|
+
this._floating = new FloatingController(this, {
|
|
166
|
+
placement: 'top',
|
|
167
|
+
strategy: 'fixed',
|
|
168
|
+
offset: 0,
|
|
169
|
+
trigger: this.resolveTrigger(),
|
|
170
|
+
closeOnClickOutside: true,
|
|
171
|
+
onOpenChange: isOpen => {
|
|
172
|
+
if (this.open === isOpen)
|
|
173
|
+
return;
|
|
174
|
+
this.open = isOpen;
|
|
175
|
+
},
|
|
176
|
+
});
|
|
177
|
+
this._floating.setElements(this._target, this);
|
|
178
|
+
}
|
|
179
|
+
connectedCallback() {
|
|
180
|
+
super.connectedCallback();
|
|
181
|
+
this.attachListeners();
|
|
182
|
+
}
|
|
183
|
+
disconnectedCallback() {
|
|
184
|
+
this.detachListeners();
|
|
185
|
+
super.disconnectedCallback();
|
|
186
|
+
}
|
|
187
|
+
updated(changedProps) {
|
|
188
|
+
// If the 'for' property changes, re-bind listeners to the new target
|
|
189
|
+
if (changedProps.has('for')) {
|
|
190
|
+
this.attachListeners();
|
|
191
|
+
}
|
|
192
|
+
if (changedProps.has('trigger') || changedProps.has('preview')) {
|
|
193
|
+
this.attachListeners();
|
|
194
|
+
}
|
|
195
|
+
if (this._floating && this._target) {
|
|
196
|
+
this._floating.setElements(this._target, this);
|
|
197
|
+
if (changedProps.has('open') && this.open && !this._floating.isOpen) {
|
|
198
|
+
this._floating.open();
|
|
199
|
+
}
|
|
200
|
+
if (changedProps.has('open') && !this.open && this._floating.isOpen) {
|
|
201
|
+
this._floating.close();
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
render() {
|
|
206
|
+
return b ` <div
|
|
207
|
+
class=${e({
|
|
208
|
+
tooltip: true,
|
|
209
|
+
[`variant-${this.variant}`]: true,
|
|
210
|
+
})}
|
|
211
|
+
id="tooltip"
|
|
212
|
+
role="tooltip"
|
|
213
|
+
aria-hidden=${!this.open}
|
|
214
|
+
aria-labelledby="tooltip-labelledby"
|
|
215
|
+
>
|
|
216
|
+
${this.variant === 'plain'
|
|
217
|
+
? this.__renderPlainTooltip()
|
|
218
|
+
: this.__renderRichTooltip()}
|
|
219
|
+
</div>`;
|
|
220
|
+
}
|
|
221
|
+
// eslint-disable-next-line class-methods-use-this
|
|
222
|
+
__renderPlainTooltip() {
|
|
223
|
+
return b `<div class="tooltip-content" id="tooltip-labelledby">
|
|
224
|
+
<slot></slot>
|
|
225
|
+
</div>`;
|
|
226
|
+
}
|
|
227
|
+
// eslint-disable-next-line class-methods-use-this
|
|
228
|
+
__renderRichTooltip() {
|
|
229
|
+
return b `
|
|
230
|
+
<div class="tooltip-content">
|
|
231
|
+
<wc-elevation class="elevation"></wc-elevation>
|
|
232
|
+
|
|
233
|
+
<div class="tooltip-title" id="tooltip-labelledby">
|
|
234
|
+
<slot name="title"></slot>
|
|
235
|
+
</div>
|
|
236
|
+
<div class="tooltip-support-text">
|
|
237
|
+
<slot></slot>
|
|
238
|
+
</div>
|
|
239
|
+
<div class="tooltip-actions">
|
|
240
|
+
<slot name="actions"></slot>
|
|
241
|
+
</div>
|
|
242
|
+
</div>
|
|
243
|
+
`;
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
Tooltip.styles = [css_248z];
|
|
247
|
+
__decorate([
|
|
248
|
+
n()
|
|
249
|
+
], Tooltip.prototype, "content", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
n()
|
|
252
|
+
], Tooltip.prototype, "for", void 0);
|
|
253
|
+
__decorate([
|
|
254
|
+
n({ type: String })
|
|
255
|
+
], Tooltip.prototype, "trigger", void 0);
|
|
256
|
+
__decorate([
|
|
257
|
+
n({ type: Boolean, reflect: true })
|
|
258
|
+
], Tooltip.prototype, "open", void 0);
|
|
259
|
+
__decorate([
|
|
260
|
+
n({ type: String, reflect: true })
|
|
261
|
+
], Tooltip.prototype, "variant", void 0);
|
|
262
|
+
__decorate([
|
|
263
|
+
n({ type: Boolean, reflect: true })
|
|
264
|
+
], Tooltip.prototype, "preview", void 0);
|
|
265
|
+
Tooltip = __decorate([
|
|
266
|
+
IndividualComponent
|
|
267
|
+
], Tooltip);
|
|
268
|
+
|
|
269
|
+
export { Tooltip };
|
|
270
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.js","sources":["../../src/tooltip/tooltip.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport styles from './tooltip.scss';\nimport { FloatingController } from '../__internal/controllers/floating-controller.js';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n// Define a type for valid trigger combinations\nexport type TooltipTrigger = 'hover' | 'focus' | 'click';\n\n/**\n * @label Tooltip\n * @tag wc-tooltip\n * @rawTag tooltip\n * @summary Displays a tooltip for an element.\n * @tags display\n *\n * @example\n * ```html\n * <wc-tooltip preview>Tooltip</wc-tooltip>\n * ```\n */\n@IndividualComponent\nexport class Tooltip extends LitElement {\n static styles = [styles];\n\n @property() content: string = '';\n\n /**\n * The ID of the element the tooltip should attach to.\n * If not provided, it defaults to the parent element.\n */\n @property() for: string = '';\n\n @property({ type: String }) trigger: string = 'hover focus';\n\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ type: String, reflect: true }) variant: 'plain' | 'rich' =\n 'plain';\n\n @property({ type: Boolean, reflect: true }) preview = false;\n\n private _target: HTMLElement | null = null;\n\n private _floating: FloatingController | null = null;\n\n private resolveTrigger():\n | 'hover'\n | 'click'\n | 'focus'\n | 'manual'\n | 'hover-focus' {\n if (this.preview) return 'manual';\n\n const triggerTokens = this.trigger.split(' ');\n const hasHover = triggerTokens.includes('hover');\n const hasFocus = triggerTokens.includes('focus');\n const hasClick = triggerTokens.includes('click');\n\n if (hasClick) return 'click';\n if (hasHover && hasFocus) return 'hover-focus';\n if (hasFocus) return 'focus';\n if (hasHover) return 'hover';\n return 'manual';\n }\n\n private detachListeners() {\n if (this._floating) {\n this._floating.close();\n this._floating = null;\n }\n this._target = null;\n }\n\n _focusTarget?: HTMLElement;\n\n set forElement(value: HTMLElement | null) {\n if (value) {\n this._focusTarget = value;\n } else {\n this._focusTarget = undefined;\n }\n }\n\n __getFocusTarget(): HTMLElement | null {\n if (this._focusTarget) {\n return this._focusTarget;\n }\n\n const focusTarget = document.getElementById(this.for);\n if (focusTarget) {\n return focusTarget;\n }\n\n return this.parentElement;\n }\n\n private attachListeners() {\n this.detachListeners();\n\n // Resolve target: ID-based lookup or fallback to parent\n const root = this.getRootNode() as ShadowRoot | Document;\n this._target = this.for\n ? (root.getElementById(this.for) as HTMLElement)\n : this.parentElement;\n\n if (!this._target) return;\n\n this._floating = new FloatingController(this, {\n placement: 'top',\n strategy: 'fixed',\n offset: 0,\n trigger: this.resolveTrigger(),\n closeOnClickOutside: true,\n onOpenChange: isOpen => {\n if (this.open === isOpen) return;\n this.open = isOpen;\n },\n });\n\n this._floating.setElements(this._target, this);\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.attachListeners();\n }\n\n disconnectedCallback() {\n this.detachListeners();\n super.disconnectedCallback();\n }\n\n protected updated(changedProps: Map<string, any>) {\n // If the 'for' property changes, re-bind listeners to the new target\n if (changedProps.has('for')) {\n this.attachListeners();\n }\n\n if (changedProps.has('trigger') || changedProps.has('preview')) {\n this.attachListeners();\n }\n\n if (this._floating && this._target) {\n this._floating.setElements(this._target, this);\n\n if (changedProps.has('open') && this.open && !this._floating.isOpen) {\n this._floating.open();\n }\n\n if (changedProps.has('open') && !this.open && this._floating.isOpen) {\n this._floating.close();\n }\n }\n }\n\n render() {\n return html` <div\n class=${classMap({\n tooltip: true,\n [`variant-${this.variant}`]: true,\n })}\n id=\"tooltip\"\n role=\"tooltip\"\n aria-hidden=${!this.open}\n aria-labelledby=\"tooltip-labelledby\"\n >\n ${this.variant === 'plain'\n ? this.__renderPlainTooltip()\n : this.__renderRichTooltip()}\n </div>`;\n }\n\n // eslint-disable-next-line class-methods-use-this\n __renderPlainTooltip() {\n return html`<div class=\"tooltip-content\" id=\"tooltip-labelledby\">\n <slot></slot>\n </div>`;\n }\n\n // eslint-disable-next-line class-methods-use-this\n __renderRichTooltip() {\n return html`\n <div class=\"tooltip-content\">\n <wc-elevation class=\"elevation\"></wc-elevation>\n\n <div class=\"tooltip-title\" id=\"tooltip-labelledby\">\n <slot name=\"title\"></slot>\n </div>\n <div class=\"tooltip-support-text\">\n <slot></slot>\n </div>\n <div class=\"tooltip-actions\">\n <slot name=\"actions\"></slot>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","classMap","styles","property"],"mappings":"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"}
|