@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
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { LitElement } from 'lit';
|
|
2
|
+
import { property } from 'lit/decorators.js';
|
|
3
|
+
|
|
4
|
+
import { MixinBase, MixinReturn } from './mixin.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* An element that navigates to a URL when activated, similar to `<a href>`.
|
|
8
|
+
*/
|
|
9
|
+
export interface Hyperlink {
|
|
10
|
+
/**
|
|
11
|
+
* The URL the hyperlink points to. When set, the component renders as an
|
|
12
|
+
* `<a>` element. Maps to the native `href` attribute.
|
|
13
|
+
*/
|
|
14
|
+
href?: string;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Where to display the linked URL. Maps to the native `target` attribute.
|
|
18
|
+
* Possible values: `"_self"`, `"_blank"`, `"_parent"`, `"_top"`, or a
|
|
19
|
+
* frame name. When using `"_blank"`, set `rel="noopener noreferrer"`.
|
|
20
|
+
*/
|
|
21
|
+
target: '_self' | '_parent' | '_blank' | '_top' | string;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The relationship between the current document and the linked URL.
|
|
25
|
+
* Maps to the native `rel` attribute. Use `"noopener noreferrer"` when
|
|
26
|
+
* `target="_blank"` to prevent tab-napping attacks.
|
|
27
|
+
*/
|
|
28
|
+
rel: string;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Causes the browser to download the linked URL instead of navigating.
|
|
32
|
+
* A string value is used as the suggested filename. Only applies when
|
|
33
|
+
* `href` is set. Maps to the native `download` attribute.
|
|
34
|
+
*/
|
|
35
|
+
download: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Mixes in hyperlink behavior for a class.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* class MyLink extends mixinHyperlink(LitElement) {}
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @param base The class to mix functionality into.
|
|
47
|
+
* @return The provided class with `Hyperlink` mixed in.
|
|
48
|
+
*/
|
|
49
|
+
export function mixinHyperlink<T extends MixinBase<LitElement>>(
|
|
50
|
+
base: T,
|
|
51
|
+
): MixinReturn<T, Hyperlink> {
|
|
52
|
+
abstract class HyperlinkElement extends base implements Hyperlink {
|
|
53
|
+
@property() href?: string;
|
|
54
|
+
|
|
55
|
+
@property() target: '_self' | '_parent' | '_blank' | '_top' | string =
|
|
56
|
+
'_self';
|
|
57
|
+
|
|
58
|
+
@property() rel = '';
|
|
59
|
+
|
|
60
|
+
@property() download = '';
|
|
61
|
+
|
|
62
|
+
// Mixins must have a constructor with `...args: any[]`
|
|
63
|
+
// tslint:disable-next-line:no-any
|
|
64
|
+
// eslint-disable-next-line no-useless-constructor
|
|
65
|
+
constructor(...args: any[]) {
|
|
66
|
+
super(...args);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return HyperlinkElement;
|
|
71
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The base class for a mixin with an optional expected base class type.
|
|
3
|
+
*
|
|
4
|
+
* @template ExpectedBase Optional expected base class type, such as
|
|
5
|
+
* `LitElement`.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* interface Foo {
|
|
10
|
+
* isFoo: boolean;
|
|
11
|
+
* }
|
|
12
|
+
*
|
|
13
|
+
* function mixinFoo<T extends MixinBase>(base: T): MixinReturn<T, Foo> {
|
|
14
|
+
* // Mixins must be `abstract`
|
|
15
|
+
* abstract class FooImpl extends base implements Foo {
|
|
16
|
+
* isFoo = true;
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* return FooImpl;
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export type MixinBase<ExpectedBase = object> = abstract new (
|
|
24
|
+
// Mixins must have a constructor with `...args: any[]`
|
|
25
|
+
// tslint:disable-next-line:no-any
|
|
26
|
+
...args: any[]
|
|
27
|
+
) => ExpectedBase;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The return value of a mixin.
|
|
31
|
+
*
|
|
32
|
+
* @template MixinBase The generic that extends `MixinBase` used for the mixin's
|
|
33
|
+
* base class argument.
|
|
34
|
+
* @template MixinClass Optional interface of fuctionality that was mixed in.
|
|
35
|
+
* Omit if no additional APIs were added (such as purely overriding base
|
|
36
|
+
* class functionality).
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* interface Foo {
|
|
41
|
+
* isFoo: boolean;
|
|
42
|
+
* }
|
|
43
|
+
*
|
|
44
|
+
* // Mixins must be `abstract`
|
|
45
|
+
* function mixinFoo<T extends MixinBase>(base: T): MixinReturn<T, Foo> {
|
|
46
|
+
* abstract class FooImpl extends base implements Foo {
|
|
47
|
+
* isFoo = true;
|
|
48
|
+
* }
|
|
49
|
+
*
|
|
50
|
+
* return FooImpl;
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
// eslint-disable-next-line no-shadow
|
|
55
|
+
export type MixinReturn<MixinBase, MixinClass = object> =
|
|
56
|
+
// Mixins must have a constructor with `...args: any[]`
|
|
57
|
+
// tslint:disable-next-line:no-any
|
|
58
|
+
(abstract new (...args: any[]) => MixinClass) & MixinBase;
|
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
function hasMeaningfulContent(slotElement: HTMLSlotElement | null) {
|
|
1
|
+
export function hasMeaningfulContent(slotElement: HTMLSlotElement | null) {
|
|
2
2
|
const nodes = slotElement?.assignedNodes({ flatten: true }) || [];
|
|
3
3
|
|
|
4
4
|
for (const node of nodes) {
|
|
5
5
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
6
6
|
return true;
|
|
7
7
|
}
|
|
8
|
-
if (
|
|
9
|
-
node.nodeType === Node.TEXT_NODE &&
|
|
10
|
-
(node.textContent?.trim().length || 0) > 0
|
|
11
|
-
) {
|
|
8
|
+
if (node.nodeType === Node.TEXT_NODE && node.textContent?.match(/\S/)) {
|
|
12
9
|
return true;
|
|
13
10
|
}
|
|
14
11
|
}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { html, LitElement, nothing } from 'lit';
|
|
1
|
+
import { html, LitElement, nothing } from 'lit';
|
|
2
2
|
import { property, query, state } from 'lit/decorators.js';
|
|
3
3
|
import { classMap } from 'lit/directives/class-map.js';
|
|
4
4
|
import styles from './accordion-item.scss';
|
|
5
|
+
import IndividualComponent from '@/IndividualComponent.js';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* @label Accordion Item
|
|
8
9
|
* @tag wc-accordion-item
|
|
9
10
|
* @rawTag accordion-item
|
|
10
|
-
* @summary An expansion panel with a header that reveals or hides associated content.
|
|
11
|
+
* @summary An expansion panel with a header that reveals or hides associated content.
|
|
11
12
|
*
|
|
12
13
|
* @slot - The body content revealed when the panel is expanded.
|
|
13
14
|
* @slot heading - The panel title. Renders as `body-large` text.
|
|
@@ -31,6 +32,7 @@ import styles from './accordion-item.scss';
|
|
|
31
32
|
* ```
|
|
32
33
|
* @tags display
|
|
33
34
|
*/
|
|
35
|
+
@IndividualComponent
|
|
34
36
|
export class AccordionItem extends LitElement {
|
|
35
37
|
static styles = [styles];
|
|
36
38
|
|
|
@@ -62,9 +64,11 @@ export class AccordionItem extends LitElement {
|
|
|
62
64
|
@property({ type: String, reflect: true, attribute: 'toggle-position' })
|
|
63
65
|
togglePosition: 'before' | 'after' = 'after';
|
|
64
66
|
|
|
67
|
+
/** True when the `description` slot contains at least one non-empty node. */
|
|
65
68
|
@state()
|
|
66
69
|
private _hasDescriptionSlot = false;
|
|
67
70
|
|
|
71
|
+
/** True when the `heading` slot contains at least one non-empty node. */
|
|
68
72
|
@state()
|
|
69
73
|
private _hasHeadingSlot = false;
|
|
70
74
|
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { html, LitElement } from 'lit';
|
|
1
|
+
import { html, LitElement } from 'lit';
|
|
2
2
|
import { property, queryAssignedElements } from 'lit/decorators.js';
|
|
3
3
|
import styles from './accordion.scss';
|
|
4
4
|
import { AccordionItem } from './accordion-item.js';
|
|
5
|
+
import IndividualComponent from '@/IndividualComponent.js';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* @label Accordion
|
|
8
9
|
* @tag wc-accordion
|
|
9
10
|
* @rawTag accordion
|
|
10
|
-
* @summary A vertically stacked set of expansion panels.
|
|
11
|
+
* @summary A vertically stacked set of expansion panels.
|
|
11
12
|
*
|
|
12
13
|
* @example
|
|
13
14
|
* ```html
|
|
@@ -25,6 +26,7 @@ import { AccordionItem } from './accordion-item.js';
|
|
|
25
26
|
* ```
|
|
26
27
|
* @tags display
|
|
27
28
|
*/
|
|
29
|
+
@IndividualComponent
|
|
28
30
|
export class Accordion extends LitElement {
|
|
29
31
|
static styles = [styles];
|
|
30
32
|
|
|
@@ -1,98 +1,103 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<html lang=
|
|
3
|
-
<head>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
<html lang="en-GB">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta
|
|
6
|
+
name="viewport"
|
|
7
|
+
content="width=device-width, initial-scale=1.0, viewport-fit=cover"
|
|
8
|
+
/>
|
|
9
|
+
<link rel="stylesheet" href="/dist/assets/styles/tokens.css" />
|
|
10
|
+
<link
|
|
11
|
+
href="https://fonts.googleapis.com/css2?family=Noto+Sans+Mono:wght@100..900&family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap"
|
|
12
|
+
rel="stylesheet"
|
|
13
|
+
/>
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
</head>
|
|
24
|
-
<body>
|
|
15
|
+
<style>
|
|
16
|
+
body {
|
|
17
|
+
background: #fafafa;
|
|
18
|
+
padding: 2rem;
|
|
19
|
+
max-width: 640px;
|
|
20
|
+
margin: 0 auto;
|
|
21
|
+
}
|
|
22
|
+
h3 {
|
|
23
|
+
margin: 1.5rem 0 0.5rem;
|
|
24
|
+
font-family: sans-serif;
|
|
25
|
+
font-size: 0.875rem;
|
|
26
|
+
color: #666;
|
|
27
|
+
}
|
|
28
|
+
</style>
|
|
29
|
+
</head>
|
|
30
|
+
<body>
|
|
31
|
+
<h3>Default</h3>
|
|
32
|
+
<wc-accordion>
|
|
33
|
+
<wc-accordion-item>
|
|
34
|
+
<span slot="heading">Personal information</span>
|
|
35
|
+
<span slot="description">Fill in your personal details</span>
|
|
36
|
+
<p>Type in your name and address below.</p>
|
|
37
|
+
</wc-accordion-item>
|
|
38
|
+
<wc-accordion-item>
|
|
39
|
+
<span slot="heading">Shipping address</span>
|
|
40
|
+
<span slot="description">Where should we send your order?</span>
|
|
41
|
+
<p>Add your shipping address to continue.</p>
|
|
42
|
+
</wc-accordion-item>
|
|
43
|
+
<wc-accordion-item disabled>
|
|
44
|
+
<span slot="heading">Billing address</span>
|
|
45
|
+
<p>This section is unavailable.</p>
|
|
46
|
+
</wc-accordion-item>
|
|
47
|
+
</wc-accordion>
|
|
25
48
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
</wc-accordion-item>
|
|
42
|
-
</wc-accordion>
|
|
49
|
+
<h3>Multi (allow multiple panels open)</h3>
|
|
50
|
+
<wc-accordion multi>
|
|
51
|
+
<wc-accordion-item>
|
|
52
|
+
<span slot="heading">Panel A</span>
|
|
53
|
+
<p>Content for panel A.</p>
|
|
54
|
+
</wc-accordion-item>
|
|
55
|
+
<wc-accordion-item open>
|
|
56
|
+
<span slot="heading">Panel B</span>
|
|
57
|
+
<p>Content for panel B (initially open).</p>
|
|
58
|
+
</wc-accordion-item>
|
|
59
|
+
<wc-accordion-item>
|
|
60
|
+
<span slot="heading">Panel C</span>
|
|
61
|
+
<p>Content for panel C.</p>
|
|
62
|
+
</wc-accordion-item>
|
|
63
|
+
</wc-accordion>
|
|
43
64
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
<span slot="heading">Panel C</span>
|
|
56
|
-
<p>Content for panel C.</p>
|
|
57
|
-
</wc-accordion-item>
|
|
58
|
-
</wc-accordion>
|
|
65
|
+
<h3>Toggle position: before</h3>
|
|
66
|
+
<wc-accordion>
|
|
67
|
+
<wc-accordion-item toggle-position="before">
|
|
68
|
+
<span slot="heading">Panel 1</span>
|
|
69
|
+
<p>Icon appears at the leading start.</p>
|
|
70
|
+
</wc-accordion-item>
|
|
71
|
+
<wc-accordion-item toggle-position="before">
|
|
72
|
+
<span slot="heading">Panel 2</span>
|
|
73
|
+
<p>Icon appears at the leading start.</p>
|
|
74
|
+
</wc-accordion-item>
|
|
75
|
+
</wc-accordion>
|
|
59
76
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
<h3>Hide toggle</h3>
|
|
78
|
+
<wc-accordion>
|
|
79
|
+
<wc-accordion-item hide-toggle>
|
|
80
|
+
<span slot="heading">No toggle icon</span>
|
|
81
|
+
<p>The expand indicator is hidden.</p>
|
|
82
|
+
</wc-accordion-item>
|
|
83
|
+
<wc-accordion-item hide-toggle>
|
|
84
|
+
<span slot="heading">Another panel</span>
|
|
85
|
+
<p>Click the header to toggle.</p>
|
|
86
|
+
</wc-accordion-item>
|
|
87
|
+
</wc-accordion>
|
|
71
88
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
89
|
+
<h3>Flat display mode</h3>
|
|
90
|
+
<wc-accordion display-mode="flat">
|
|
91
|
+
<wc-accordion-item>
|
|
92
|
+
<span slot="heading">Flat Panel 1</span>
|
|
93
|
+
<p>No borders between panels. Suitable inside cards.</p>
|
|
94
|
+
</wc-accordion-item>
|
|
95
|
+
<wc-accordion-item>
|
|
96
|
+
<span slot="heading">Flat Panel 2</span>
|
|
97
|
+
<p>Content here.</p>
|
|
98
|
+
</wc-accordion-item>
|
|
99
|
+
</wc-accordion>
|
|
83
100
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
<wc-accordion-item>
|
|
87
|
-
<span slot="heading">Flat Panel 1</span>
|
|
88
|
-
<p>No borders between panels. Suitable inside cards.</p>
|
|
89
|
-
</wc-accordion-item>
|
|
90
|
-
<wc-accordion-item>
|
|
91
|
-
<span slot="heading">Flat Panel 2</span>
|
|
92
|
-
<p>Content here.</p>
|
|
93
|
-
</wc-accordion-item>
|
|
94
|
-
</wc-accordion>
|
|
95
|
-
|
|
96
|
-
<script type='module' src='/dist/peacock-loader.js'></script>
|
|
97
|
-
</body>
|
|
101
|
+
<script type="module" src="/dist/loader.js"></script>
|
|
102
|
+
</body>
|
|
98
103
|
</html>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
@use '../../scss/mixin';
|
|
2
|
+
|
|
3
|
+
@include mixin.base-styles;
|
|
4
|
+
|
|
5
|
+
:host {
|
|
6
|
+
display: block;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.alert {
|
|
10
|
+
align-items: flex-start;
|
|
11
|
+
background: var(--alert-container-color);
|
|
12
|
+
border-radius: var(--alert-border-radius);
|
|
13
|
+
display: grid;
|
|
14
|
+
gap: var(--spacing-100);
|
|
15
|
+
grid-template-columns: auto 1fr;
|
|
16
|
+
padding: var(--spacing-200);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.alert-icon {
|
|
20
|
+
align-items: center;
|
|
21
|
+
color: var(--alert-icon-color);
|
|
22
|
+
display: inline-flex;
|
|
23
|
+
justify-content: center;
|
|
24
|
+
--icon-size: 1.5rem;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.alert-content {
|
|
28
|
+
.alert-label {
|
|
29
|
+
display: inline;
|
|
30
|
+
@include mixin.get-typography(label-large);
|
|
31
|
+
color: var(--alert-label-text-color);
|
|
32
|
+
margin-inline-end: var(--spacing-050);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.alert-description {
|
|
36
|
+
display: inline;
|
|
37
|
+
@include mixin.get-typography(body-medium);
|
|
38
|
+
color: var(--alert-description-text-color);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
// Default styles for the alert and content. These will be overridden by the variant-specific styles below.
|
|
44
|
+
:host {
|
|
45
|
+
--alert-container-color: var(--color-tertiary-container);
|
|
46
|
+
--alert-label-text-color: var(--color-on-tertiary-container);
|
|
47
|
+
--alert-description-text-color: var(--color-on-tertiary-container);
|
|
48
|
+
--alert-icon-color: var(--color-on-tertiary-container);
|
|
49
|
+
--alert-border-radius: var(--shape-corner-small);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.alert.info,
|
|
53
|
+
.alert-content.info {
|
|
54
|
+
--alert-container-color: var(--color-primary-container);
|
|
55
|
+
--alert-label-text-color: var(--color-on-primary-container);
|
|
56
|
+
--alert-description-text-color: var(--color-on-primary-container);
|
|
57
|
+
--alert-icon-color: var(--color-on-primary-container);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.alert.success,
|
|
61
|
+
.alert-content.success {
|
|
62
|
+
--alert-container-color: var(--color-success-container);
|
|
63
|
+
--alert-label-text-color: var(--color-on-success-container);
|
|
64
|
+
--alert-description-text-color: var(--color-on-success-container);
|
|
65
|
+
--alert-icon-color: var(--color-on-success-container);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.alert.warning,
|
|
69
|
+
.alert-content.warning {
|
|
70
|
+
--alert-container-color: var(--color-warning-container);
|
|
71
|
+
--alert-label-text-color: var(--color-on-warning-container);
|
|
72
|
+
--alert-description-text-color: var(--color-on-warning-container);
|
|
73
|
+
--alert-icon-color: var(--color-on-warning-container);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.alert.error,
|
|
77
|
+
.alert-content.error {
|
|
78
|
+
--alert-container-color: var(--color-error-container);
|
|
79
|
+
--alert-label-text-color: var(--color-on-error-container);
|
|
80
|
+
--alert-description-text-color: var(--color-on-error-container);
|
|
81
|
+
--alert-icon-color: var(--color-on-error-container);
|
|
82
|
+
}
|
|
@@ -3,11 +3,11 @@ import { property } from 'lit/decorators.js';
|
|
|
3
3
|
import { classMap } from 'lit/directives/class-map.js';
|
|
4
4
|
|
|
5
5
|
import IndividualComponent from '@/IndividualComponent.js';
|
|
6
|
-
import styles from './
|
|
6
|
+
import styles from './alert.scss';
|
|
7
7
|
|
|
8
|
-
type
|
|
8
|
+
type AlertVariant = 'note' | 'info' | 'success' | 'warning' | 'error';
|
|
9
9
|
|
|
10
|
-
const VARIANT_LABELS: Record<
|
|
10
|
+
const VARIANT_LABELS: Record<AlertVariant, string> = {
|
|
11
11
|
note: 'Note',
|
|
12
12
|
info: 'Info',
|
|
13
13
|
success: 'Success',
|
|
@@ -15,7 +15,7 @@ const VARIANT_LABELS: Record<BannerVariant, string> = {
|
|
|
15
15
|
error: 'Error',
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
const VARIANT_ICONS: Record<
|
|
18
|
+
const VARIANT_ICONS: Record<AlertVariant, string> = {
|
|
19
19
|
note: 'star',
|
|
20
20
|
info: 'info',
|
|
21
21
|
success: 'check_circle',
|
|
@@ -24,32 +24,32 @@ const VARIANT_ICONS: Record<BannerVariant, string> = {
|
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
|
-
* @label
|
|
28
|
-
* @tag wc-
|
|
29
|
-
* @rawTag
|
|
30
|
-
* @summary
|
|
27
|
+
* @label Alert
|
|
28
|
+
* @tag wc-alert
|
|
29
|
+
* @rawTag alert
|
|
30
|
+
* @summary Alerts show short, prominent contextual messages with optional icon and description.
|
|
31
31
|
*
|
|
32
|
-
* @cssprop --
|
|
33
|
-
* @cssprop --
|
|
34
|
-
* @cssprop --
|
|
35
|
-
* @cssprop --
|
|
36
|
-
* @cssprop --
|
|
32
|
+
* @cssprop --alert-container-color - Background color of the alert container.
|
|
33
|
+
* @cssprop --alert-label-text-color - Label text color.
|
|
34
|
+
* @cssprop --alert-description-text-color - Description text color.
|
|
35
|
+
* @cssprop --alert-icon-color - Icon color.
|
|
36
|
+
* @cssprop --alert-border-radius - Border radius of the alert surface.
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
39
|
* ```html
|
|
40
|
-
* <wc-
|
|
40
|
+
* <wc-alert variant="note" description="Use semantic roles that preserve a 3:1 contrast ratio."></wc-alert>
|
|
41
41
|
* ```
|
|
42
42
|
* @tags display, feedback
|
|
43
43
|
*/
|
|
44
44
|
@IndividualComponent
|
|
45
|
-
export class
|
|
45
|
+
export class Alert extends LitElement {
|
|
46
46
|
static styles = [styles];
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
* Visual intent of the
|
|
49
|
+
* Visual intent of the alert.
|
|
50
50
|
*/
|
|
51
51
|
@property({ type: String, reflect: true })
|
|
52
|
-
variant:
|
|
52
|
+
variant: AlertVariant = 'note';
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
55
|
* Optional explicit label text. Falls back to a variant-based label.
|
|
@@ -79,19 +79,19 @@ export class Banner extends LitElement {
|
|
|
79
79
|
|
|
80
80
|
render() {
|
|
81
81
|
return html`
|
|
82
|
-
<div class=${classMap({ '
|
|
83
|
-
<div class="
|
|
82
|
+
<div class=${classMap({ 'alert': true, [this.variant]: true })} role="status" aria-live="polite">
|
|
83
|
+
<div class="alert-icon" aria-hidden="true">
|
|
84
84
|
<slot name="icon">
|
|
85
85
|
<wc-icon name=${this.resolvedIcon}></wc-icon>
|
|
86
86
|
</slot>
|
|
87
87
|
</div>
|
|
88
88
|
|
|
89
|
-
<div class=${classMap({ '
|
|
90
|
-
<div class="
|
|
89
|
+
<div class=${classMap({ 'alert-content': true, [this.variant]: true })}>
|
|
90
|
+
<div class="alert-label">
|
|
91
91
|
<slot name="label">${this.resolvedLabel}:</slot>
|
|
92
92
|
</div>
|
|
93
93
|
|
|
94
|
-
<div class="
|
|
94
|
+
<div class="alert-description">
|
|
95
95
|
<slot>${this.description || nothing}</slot>
|
|
96
96
|
</div>
|
|
97
97
|
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Alert } from './alert.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--app-bar-container-color: var(--color-surface);
|
|
3
|
+
--app-bar-headline-color: var(--color-on-surface);
|
|
4
|
+
--app-bar-leading-icon-color: var(--color-on-surface);
|
|
5
|
+
--app-bar-trailing-icon-color: var(--color-on-surface-variant);
|
|
6
|
+
|
|
7
|
+
/* Internal aliases */
|
|
8
|
+
--_app-bar-container-color: var(--app-bar-container-color);
|
|
9
|
+
--_app-bar-headline-color: var(--app-bar-headline-color);
|
|
10
|
+
--_app-bar-leading-icon-color: var(--app-bar-leading-icon-color);
|
|
11
|
+
--_app-bar-trailing-icon-color: var(--app-bar-trailing-icon-color);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/* Scrolled state uses surface-container for slight tonal elevation */
|
|
15
|
+
:host([scrolled]) {
|
|
16
|
+
--app-bar-container-color: var(--color-surface-container);
|
|
17
|
+
}
|