@redvars/peacock 3.8.0 → 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 -284
- 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/demo/index.html +29 -36
- 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-DSuBHd-i.js +0 -585
- package/dist/button-colors-DSuBHd-i.js.map +0 -1
- package/dist/icon-CueRR7wx.js +0 -260
- package/dist/icon-CueRR7wx.js.map +0 -1
- package/dist/icon-button-CYqrnMnF.js +0 -318
- package/dist/icon-button-CYqrnMnF.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,388 @@
|
|
|
1
|
+
import { _ as __decorate } from './IndividualComponent-Bdwyrvd6.js';
|
|
2
|
+
import { n } from './property-B49QQ8pS.js';
|
|
3
|
+
import { i as internals } from './element-internals-2CMts_0M.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* A symbol used to access dispatch hooks on an event.
|
|
7
|
+
*/
|
|
8
|
+
const dispatchHooks = Symbol('dispatchHooks');
|
|
9
|
+
/**
|
|
10
|
+
* Add a hook for an event that is called after the event is dispatched and
|
|
11
|
+
* propagates to other event listeners.
|
|
12
|
+
*
|
|
13
|
+
* This is useful for behaviors that need to check if an event is canceled.
|
|
14
|
+
*
|
|
15
|
+
* The callback is invoked synchronously, which allows for better integration
|
|
16
|
+
* with synchronous platform APIs (like `<form>` or `<label>` clicking).
|
|
17
|
+
*
|
|
18
|
+
* Note: `setupDispatchHooks()` must be called on the element before adding any
|
|
19
|
+
* other event listeners. Call it in the constructor of an element or
|
|
20
|
+
* controller.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* class MyControl extends LitElement {
|
|
25
|
+
* constructor() {
|
|
26
|
+
* super();
|
|
27
|
+
* setupDispatchHooks(this, 'click');
|
|
28
|
+
* this.addEventListener('click', event => {
|
|
29
|
+
* afterDispatch(event, () => {
|
|
30
|
+
* if (event.defaultPrevented) {
|
|
31
|
+
* return
|
|
32
|
+
* }
|
|
33
|
+
*
|
|
34
|
+
* // ... perform logic
|
|
35
|
+
* });
|
|
36
|
+
* });
|
|
37
|
+
* }
|
|
38
|
+
* }
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* class MyController implements ReactiveController {
|
|
44
|
+
* constructor(host: ReactiveElement) {
|
|
45
|
+
* // setupDispatchHooks() may be called multiple times for the same
|
|
46
|
+
* // element and events, making it safe for multiple controllers to use it.
|
|
47
|
+
* setupDispatchHooks(host, 'click');
|
|
48
|
+
* host.addEventListener('click', event => {
|
|
49
|
+
* afterDispatch(event, () => {
|
|
50
|
+
* if (event.defaultPrevented) {
|
|
51
|
+
* return;
|
|
52
|
+
* }
|
|
53
|
+
*
|
|
54
|
+
* // ... perform logic
|
|
55
|
+
* });
|
|
56
|
+
* });
|
|
57
|
+
* }
|
|
58
|
+
* }
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @param event The event to add a hook to.
|
|
62
|
+
* @param callback A hook that is called after the event finishes dispatching.
|
|
63
|
+
*/
|
|
64
|
+
function afterDispatch(event, callback) {
|
|
65
|
+
const hooks = event[dispatchHooks];
|
|
66
|
+
if (!hooks) {
|
|
67
|
+
throw new Error(`'${event.type}' event needs setupDispatchHooks().`);
|
|
68
|
+
}
|
|
69
|
+
hooks.addEventListener('after', callback, { once: true });
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* A lookup map of elements and event types that have a dispatch hook listener
|
|
73
|
+
* set up. Used to ensure we don't set up multiple hook listeners on the same
|
|
74
|
+
* element for the same event.
|
|
75
|
+
*/
|
|
76
|
+
const ELEMENT_DISPATCH_HOOK_TYPES = new WeakMap();
|
|
77
|
+
/**
|
|
78
|
+
* Sets up an element to add dispatch hooks to given event types. This must be
|
|
79
|
+
* called before adding any event listeners that need to use dispatch hooks
|
|
80
|
+
* like `afterDispatch()`.
|
|
81
|
+
*
|
|
82
|
+
* This function is safe to call multiple times with the same element or event
|
|
83
|
+
* types. Call it in the constructor of elements, mixins, and controllers to
|
|
84
|
+
* ensure it is set up before external listeners.
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```ts
|
|
88
|
+
* class MyControl extends LitElement {
|
|
89
|
+
* constructor() {
|
|
90
|
+
* super();
|
|
91
|
+
* setupDispatchHooks(this, 'click');
|
|
92
|
+
* this.addEventListener('click', this.listenerUsingAfterDispatch);
|
|
93
|
+
* }
|
|
94
|
+
* }
|
|
95
|
+
* ```
|
|
96
|
+
*
|
|
97
|
+
* @param element The element to set up event dispatch hooks for.
|
|
98
|
+
* @param eventTypes The event types to add dispatch hooks to.
|
|
99
|
+
*/
|
|
100
|
+
function setupDispatchHooks(element, ...eventTypes) {
|
|
101
|
+
let typesAlreadySetUp = ELEMENT_DISPATCH_HOOK_TYPES.get(element);
|
|
102
|
+
if (!typesAlreadySetUp) {
|
|
103
|
+
typesAlreadySetUp = new Set();
|
|
104
|
+
ELEMENT_DISPATCH_HOOK_TYPES.set(element, typesAlreadySetUp);
|
|
105
|
+
}
|
|
106
|
+
for (const eventType of eventTypes) {
|
|
107
|
+
// Don't register multiple dispatch hook listeners. A second registration
|
|
108
|
+
// would lead to the second listener calling `afterDispatch()` hooks twice.
|
|
109
|
+
if (typesAlreadySetUp.has(eventType)) {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
element.addEventListener(eventType, (event) => {
|
|
113
|
+
// Add hooks onto the event.
|
|
114
|
+
const hooks = new EventTarget();
|
|
115
|
+
event[dispatchHooks] = hooks;
|
|
116
|
+
const cleanupLastNodeListener = new AbortController();
|
|
117
|
+
const callAfterDispatch = () => {
|
|
118
|
+
cleanupLastNodeListener.abort();
|
|
119
|
+
hooks.dispatchEvent(new Event('after'));
|
|
120
|
+
};
|
|
121
|
+
const patchStopPropagation = (superMethod) => {
|
|
122
|
+
return function () {
|
|
123
|
+
superMethod.call(this);
|
|
124
|
+
// Synchronously call afterDispatch() hooks when interrupted.
|
|
125
|
+
callAfterDispatch();
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
event.stopPropagation = patchStopPropagation(event.stopPropagation);
|
|
129
|
+
event.stopImmediatePropagation = patchStopPropagation(event.stopImmediatePropagation);
|
|
130
|
+
// Add an event listener to detect the end of the event's propagation.
|
|
131
|
+
const composedPath = event.composedPath();
|
|
132
|
+
let lastNodeForEvent;
|
|
133
|
+
if (event.composed && event.bubbles) {
|
|
134
|
+
lastNodeForEvent = composedPath[composedPath.length - 1];
|
|
135
|
+
}
|
|
136
|
+
else if (!event.bubbles) {
|
|
137
|
+
lastNodeForEvent = composedPath[0];
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
lastNodeForEvent = composedPath[0].getRootNode();
|
|
141
|
+
}
|
|
142
|
+
lastNodeForEvent.addEventListener(eventType, () => {
|
|
143
|
+
// Synchronously call afterDispatch() hooks.
|
|
144
|
+
callAfterDispatch();
|
|
145
|
+
}, { once: true, signal: cleanupLastNodeListener.signal });
|
|
146
|
+
}, {
|
|
147
|
+
// Ensure this listener runs before other listeners.
|
|
148
|
+
// `setupDispatchHooks()` should be called in constructors to also
|
|
149
|
+
// ensure they run before any other externally-added capture listeners.
|
|
150
|
+
capture: true,
|
|
151
|
+
});
|
|
152
|
+
typesAlreadySetUp.add(eventType);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Mixes in form submitter behavior for a class.
|
|
158
|
+
*
|
|
159
|
+
* A click listener is added to each element instance. If the click is not
|
|
160
|
+
* default prevented, it will submit the element's form, if any.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```ts
|
|
164
|
+
* const base = mixinFormSubmitter(mixinElementInternals(LitElement));
|
|
165
|
+
* class MyButton extends base {
|
|
166
|
+
* static formAssociated = true;
|
|
167
|
+
* }
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* @param base The class to mix functionality into.
|
|
171
|
+
* @return The provided class with `FormSubmitter` mixed in.
|
|
172
|
+
*/
|
|
173
|
+
function mixinFormSubmitter(base) {
|
|
174
|
+
class FormSubmitterElement extends base {
|
|
175
|
+
// Name attribute must reflect synchronously for form integration.
|
|
176
|
+
get name() {
|
|
177
|
+
return this.getAttribute('name') ?? '';
|
|
178
|
+
}
|
|
179
|
+
set name(name) {
|
|
180
|
+
this.setAttribute('name', name);
|
|
181
|
+
}
|
|
182
|
+
// Mixins must have a constructor with `...args: any[]`
|
|
183
|
+
// tslint:disable-next-line:no-any
|
|
184
|
+
constructor(...args) {
|
|
185
|
+
super(...args);
|
|
186
|
+
this.type = 'submit';
|
|
187
|
+
this.value = '';
|
|
188
|
+
setupDispatchHooks(this, 'click');
|
|
189
|
+
this.addEventListener('click', async (event) => {
|
|
190
|
+
const isReset = this.type === 'reset';
|
|
191
|
+
const isSubmit = this.type === 'submit';
|
|
192
|
+
const elementInternals = this[internals];
|
|
193
|
+
const { form } = elementInternals;
|
|
194
|
+
if (!form || !(isSubmit || isReset)) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
afterDispatch(event, () => {
|
|
198
|
+
if (event.defaultPrevented) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (isReset) {
|
|
202
|
+
form.reset();
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
// form.requestSubmit(submitter) does not work with form associated custom
|
|
206
|
+
// elements. This patches the dispatched submit event to add the correct
|
|
207
|
+
// `submitter`.
|
|
208
|
+
// See https://github.com/WICG/webcomponents/issues/814
|
|
209
|
+
form.addEventListener('submit', (submitEvent) => {
|
|
210
|
+
Object.defineProperty(submitEvent, 'submitter', {
|
|
211
|
+
configurable: true,
|
|
212
|
+
enumerable: true,
|
|
213
|
+
get: () => this,
|
|
214
|
+
});
|
|
215
|
+
}, { capture: true, once: true });
|
|
216
|
+
elementInternals.setFormValue(this.value);
|
|
217
|
+
form.requestSubmit();
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
__decorate([
|
|
223
|
+
n()
|
|
224
|
+
], FormSubmitterElement.prototype, "type", void 0);
|
|
225
|
+
__decorate([
|
|
226
|
+
n({ reflect: true })
|
|
227
|
+
], FormSubmitterElement.prototype, "value", void 0);
|
|
228
|
+
return FormSubmitterElement;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* A symbol property to retrieve the form value for an element.
|
|
233
|
+
*/
|
|
234
|
+
const getFormValue = Symbol('getFormValue');
|
|
235
|
+
/**
|
|
236
|
+
* A symbol property to retrieve the form state for an element.
|
|
237
|
+
*/
|
|
238
|
+
const getFormState = Symbol('getFormState');
|
|
239
|
+
/**
|
|
240
|
+
* Mixes in form-associated behavior for a class. This allows an element to add
|
|
241
|
+
* values to `<form>` elements.
|
|
242
|
+
*
|
|
243
|
+
* Implementing classes should provide a `[formValue]` to return the current
|
|
244
|
+
* value of the element, as well as reset and restore callbacks.
|
|
245
|
+
*
|
|
246
|
+
* @example
|
|
247
|
+
* ```ts
|
|
248
|
+
* const base = mixinFormAssociated(mixinElementInternals(LitElement));
|
|
249
|
+
*
|
|
250
|
+
* class MyControl extends base {
|
|
251
|
+
* \@property()
|
|
252
|
+
* value = '';
|
|
253
|
+
*
|
|
254
|
+
* override [getFormValue]() {
|
|
255
|
+
* return this.value;
|
|
256
|
+
* }
|
|
257
|
+
*
|
|
258
|
+
* override formResetCallback() {
|
|
259
|
+
* const defaultValue = this.getAttribute('value');
|
|
260
|
+
* this.value = defaultValue;
|
|
261
|
+
* }
|
|
262
|
+
*
|
|
263
|
+
* override formStateRestoreCallback(state: string) {
|
|
264
|
+
* this.value = state;
|
|
265
|
+
* }
|
|
266
|
+
* }
|
|
267
|
+
* ```
|
|
268
|
+
*
|
|
269
|
+
* Elements may optionally provide a `[formState]` if their values do not
|
|
270
|
+
* represent the state of the component.
|
|
271
|
+
*
|
|
272
|
+
* @example
|
|
273
|
+
* ```ts
|
|
274
|
+
* const base = mixinFormAssociated(mixinElementInternals(LitElement));
|
|
275
|
+
*
|
|
276
|
+
* class MyCheckbox extends base {
|
|
277
|
+
* \@property()
|
|
278
|
+
* value = 'on';
|
|
279
|
+
*
|
|
280
|
+
* \@property({type: Boolean})
|
|
281
|
+
* checked = false;
|
|
282
|
+
*
|
|
283
|
+
* override [getFormValue]() {
|
|
284
|
+
* return this.checked ? this.value : null;
|
|
285
|
+
* }
|
|
286
|
+
*
|
|
287
|
+
* override [getFormState]() {
|
|
288
|
+
* return String(this.checked);
|
|
289
|
+
* }
|
|
290
|
+
*
|
|
291
|
+
* override formResetCallback() {
|
|
292
|
+
* const defaultValue = this.hasAttribute('checked');
|
|
293
|
+
* this.checked = defaultValue;
|
|
294
|
+
* }
|
|
295
|
+
*
|
|
296
|
+
* override formStateRestoreCallback(state: string) {
|
|
297
|
+
* this.checked = Boolean(state);
|
|
298
|
+
* }
|
|
299
|
+
* }
|
|
300
|
+
* ```
|
|
301
|
+
*
|
|
302
|
+
* @param base The class to mix functionality into. The base class must use
|
|
303
|
+
* `mixinElementInternals()`.
|
|
304
|
+
* @return The provided class with `FormAssociated` mixed in.
|
|
305
|
+
*/
|
|
306
|
+
function mixinFormAssociated(base) {
|
|
307
|
+
class FormAssociatedElement extends base {
|
|
308
|
+
get form() {
|
|
309
|
+
return this[internals].form;
|
|
310
|
+
}
|
|
311
|
+
get labels() {
|
|
312
|
+
return this[internals].labels;
|
|
313
|
+
}
|
|
314
|
+
// Use @property for the `name` and `disabled` properties to add them to the
|
|
315
|
+
// `observedAttributes` array and trigger `attributeChangedCallback()`.
|
|
316
|
+
//
|
|
317
|
+
// We don't use Lit's default getter/setter (`noAccessor: true`) because
|
|
318
|
+
// the attributes need to be updated synchronously to work with synchronous
|
|
319
|
+
// form APIs, and Lit updates attributes async by default.
|
|
320
|
+
get name() {
|
|
321
|
+
return this.getAttribute('name') ?? '';
|
|
322
|
+
}
|
|
323
|
+
set name(name) {
|
|
324
|
+
// Note: setting name to null or empty does not remove the attribute.
|
|
325
|
+
this.setAttribute('name', name);
|
|
326
|
+
// We don't need to call `requestUpdate()` since it's called synchronously
|
|
327
|
+
// in `attributeChangedCallback()`.
|
|
328
|
+
}
|
|
329
|
+
get disabled() {
|
|
330
|
+
return this.hasAttribute('disabled');
|
|
331
|
+
}
|
|
332
|
+
set disabled(disabled) {
|
|
333
|
+
// Coerce `disabled` in `Boolean()` to ensure that setting to `null` or
|
|
334
|
+
// `undefined` sets the attribute to `false`.
|
|
335
|
+
this.toggleAttribute('disabled', Boolean(disabled));
|
|
336
|
+
// We don't need to call `requestUpdate()` since it's called synchronously
|
|
337
|
+
// in `attributeChangedCallback()`.
|
|
338
|
+
}
|
|
339
|
+
attributeChangedCallback(name, old, value) {
|
|
340
|
+
// Manually `requestUpdate()` for `name` and `disabled` when their
|
|
341
|
+
// attribute or property changes.
|
|
342
|
+
// The properties update their attributes, so this callback is invoked
|
|
343
|
+
// immediately when the properties are set. We call `requestUpdate()` here
|
|
344
|
+
// instead of letting Lit set the properties from the attribute change.
|
|
345
|
+
// That would cause the properties to re-set the attribute and invoke this
|
|
346
|
+
// callback again in a loop. This leads to stale state when Lit tries to
|
|
347
|
+
// determine if a property changed or not.
|
|
348
|
+
if (name === 'name' || name === 'disabled') {
|
|
349
|
+
// Disabled's value is only false if the attribute is missing and null.
|
|
350
|
+
const oldValue = name === 'disabled' ? old !== null : old;
|
|
351
|
+
// Trigger a lit update when the attribute changes.
|
|
352
|
+
this.requestUpdate(name, oldValue);
|
|
353
|
+
return;
|
|
354
|
+
}
|
|
355
|
+
super.attributeChangedCallback(name, old, value);
|
|
356
|
+
}
|
|
357
|
+
requestUpdate(name, oldValue, options) {
|
|
358
|
+
super.requestUpdate(name, oldValue, options);
|
|
359
|
+
// If any properties change, update the form value, which may have changed
|
|
360
|
+
// as well.
|
|
361
|
+
// Update the form value synchronously in `requestUpdate()` rather than
|
|
362
|
+
// `update()` or `updated()`, which are async. This is necessary to ensure
|
|
363
|
+
// that form data is updated in time for synchronous event listeners.
|
|
364
|
+
this[internals].setFormValue(this[getFormValue](), this[getFormState]());
|
|
365
|
+
}
|
|
366
|
+
[getFormValue]() {
|
|
367
|
+
return this.getAttribute('value');
|
|
368
|
+
}
|
|
369
|
+
[getFormState]() {
|
|
370
|
+
return this[getFormValue]();
|
|
371
|
+
}
|
|
372
|
+
formDisabledCallback(disabled) {
|
|
373
|
+
this.disabled = disabled;
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
/** @nocollapse */
|
|
377
|
+
FormAssociatedElement.formAssociated = true;
|
|
378
|
+
__decorate([
|
|
379
|
+
n({ noAccessor: true })
|
|
380
|
+
], FormAssociatedElement.prototype, "name", null);
|
|
381
|
+
__decorate([
|
|
382
|
+
n({ type: Boolean, noAccessor: true })
|
|
383
|
+
], FormAssociatedElement.prototype, "disabled", null);
|
|
384
|
+
return FormAssociatedElement;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
export { mixinFormAssociated as a, mixinFormSubmitter as m };
|
|
388
|
+
//# sourceMappingURL=form-associated-BXADnjOB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-associated-BXADnjOB.js","sources":["../../src/__internal/events/dispatch-hooks.ts","../../src/__internal/mixins/form-submitter.ts","../../src/__internal/mixins/form-associated.ts"],"sourcesContent":["/**\n * A symbol used to access dispatch hooks on an event.\n */\nconst dispatchHooks = Symbol('dispatchHooks');\n\n/**\n * An `Event` with additional symbols for dispatch hooks.\n */\ninterface EventWithDispatchHooks extends Event {\n [dispatchHooks]: EventTarget;\n}\n\n/**\n * Add a hook for an event that is called after the event is dispatched and\n * propagates to other event listeners.\n *\n * This is useful for behaviors that need to check if an event is canceled.\n *\n * The callback is invoked synchronously, which allows for better integration\n * with synchronous platform APIs (like `<form>` or `<label>` clicking).\n *\n * Note: `setupDispatchHooks()` must be called on the element before adding any\n * other event listeners. Call it in the constructor of an element or\n * controller.\n *\n * @example\n * ```ts\n * class MyControl extends LitElement {\n * constructor() {\n * super();\n * setupDispatchHooks(this, 'click');\n * this.addEventListener('click', event => {\n * afterDispatch(event, () => {\n * if (event.defaultPrevented) {\n * return\n * }\n *\n * // ... perform logic\n * });\n * });\n * }\n * }\n * ```\n *\n * @example\n * ```ts\n * class MyController implements ReactiveController {\n * constructor(host: ReactiveElement) {\n * // setupDispatchHooks() may be called multiple times for the same\n * // element and events, making it safe for multiple controllers to use it.\n * setupDispatchHooks(host, 'click');\n * host.addEventListener('click', event => {\n * afterDispatch(event, () => {\n * if (event.defaultPrevented) {\n * return;\n * }\n *\n * // ... perform logic\n * });\n * });\n * }\n * }\n * ```\n *\n * @param event The event to add a hook to.\n * @param callback A hook that is called after the event finishes dispatching.\n */\nexport function afterDispatch(event: Event, callback: () => void) {\n const hooks = (event as EventWithDispatchHooks)[dispatchHooks];\n if (!hooks) {\n throw new Error(`'${event.type}' event needs setupDispatchHooks().`);\n }\n\n hooks.addEventListener('after', callback, { once: true });\n}\n\n/**\n * A lookup map of elements and event types that have a dispatch hook listener\n * set up. Used to ensure we don't set up multiple hook listeners on the same\n * element for the same event.\n */\nconst ELEMENT_DISPATCH_HOOK_TYPES = new WeakMap<Element, Set<string>>();\n\n/**\n * Sets up an element to add dispatch hooks to given event types. This must be\n * called before adding any event listeners that need to use dispatch hooks\n * like `afterDispatch()`.\n *\n * This function is safe to call multiple times with the same element or event\n * types. Call it in the constructor of elements, mixins, and controllers to\n * ensure it is set up before external listeners.\n *\n * @example\n * ```ts\n * class MyControl extends LitElement {\n * constructor() {\n * super();\n * setupDispatchHooks(this, 'click');\n * this.addEventListener('click', this.listenerUsingAfterDispatch);\n * }\n * }\n * ```\n *\n * @param element The element to set up event dispatch hooks for.\n * @param eventTypes The event types to add dispatch hooks to.\n */\nexport function setupDispatchHooks(\n element: Element,\n ...eventTypes: [string, ...string[]]\n) {\n let typesAlreadySetUp = ELEMENT_DISPATCH_HOOK_TYPES.get(element);\n if (!typesAlreadySetUp) {\n typesAlreadySetUp = new Set();\n ELEMENT_DISPATCH_HOOK_TYPES.set(element, typesAlreadySetUp);\n }\n\n for (const eventType of eventTypes) {\n // Don't register multiple dispatch hook listeners. A second registration\n // would lead to the second listener calling `afterDispatch()` hooks twice.\n if (typesAlreadySetUp.has(eventType)) {\n continue;\n }\n\n element.addEventListener(\n eventType,\n (event: Event) => {\n // Add hooks onto the event.\n const hooks = new EventTarget();\n (event as EventWithDispatchHooks)[dispatchHooks] = hooks;\n\n const cleanupLastNodeListener = new AbortController();\n const callAfterDispatch = () => {\n cleanupLastNodeListener.abort();\n hooks.dispatchEvent(new Event('after'));\n };\n\n const patchStopPropagation = (\n superMethod: Event['stopPropagation'],\n ) => {\n return function (this: Event) {\n superMethod.call(this);\n // Synchronously call afterDispatch() hooks when interrupted.\n callAfterDispatch();\n };\n };\n\n event.stopPropagation = patchStopPropagation(event.stopPropagation);\n event.stopImmediatePropagation = patchStopPropagation(\n event.stopImmediatePropagation,\n );\n\n // Add an event listener to detect the end of the event's propagation.\n const composedPath = event.composedPath();\n let lastNodeForEvent: EventTarget;\n if (event.composed && event.bubbles) {\n lastNodeForEvent = composedPath[composedPath.length - 1];\n } else if (!event.bubbles) {\n lastNodeForEvent = composedPath[0];\n } else {\n lastNodeForEvent = (composedPath[0] as Element).getRootNode();\n }\n\n lastNodeForEvent.addEventListener(\n eventType,\n () => {\n // Synchronously call afterDispatch() hooks.\n callAfterDispatch();\n },\n { once: true, signal: cleanupLastNodeListener.signal },\n );\n },\n {\n // Ensure this listener runs before other listeners.\n // `setupDispatchHooks()` should be called in constructors to also\n // ensure they run before any other externally-added capture listeners.\n capture: true,\n },\n );\n\n typesAlreadySetUp.add(eventType);\n }\n}\n","import { isServer, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { afterDispatch, setupDispatchHooks } from '../events/dispatch-hooks.js';\nimport { internals, WithElementInternals } from './element-internals.js';\nimport { MixinBase, MixinReturn } from './mixin.js';\n\n/**\n * A string indicating the form submission behavior of the element.\n *\n * - submit: The element submits the form. This is the default value if the\n * attribute is not specified, or if it is dynamically changed to an empty or\n * invalid value.\n * - reset: The element resets the form.\n * - button: The element does nothing.\n */\nexport type FormSubmitterType = 'button' | 'submit' | 'reset';\n\n/**\n * An element that can submit or reset a `<form>`, similar to\n * `<button type=\"submit\">`.\n */\nexport interface FormSubmitter {\n /**\n * A string indicating the form submission behavior of the element.\n *\n * - submit: The element submits the form. This is the default value if the\n * attribute is not specified, or if it is dynamically changed to an empty or\n * invalid value.\n * - reset: The element resets the form.\n * - button: The element does nothing.\n */\n type: string;\n\n /**\n * The HTML name to use in form submission. When combined with a `value`, the\n * submitting button's name/value will be added to the form.\n *\n * Names must reflect to a `name` attribute for form integration.\n */\n name: string;\n\n /**\n * The value of the button. When combined with a `name`, the submitting\n * button's name/value will be added to the form.\n */\n value: string;\n}\n\n/**\n * Mixes in form submitter behavior for a class.\n *\n * A click listener is added to each element instance. If the click is not\n * default prevented, it will submit the element's form, if any.\n *\n * @example\n * ```ts\n * const base = mixinFormSubmitter(mixinElementInternals(LitElement));\n * class MyButton extends base {\n * static formAssociated = true;\n * }\n * ```\n *\n * @param base The class to mix functionality into.\n * @return The provided class with `FormSubmitter` mixed in.\n */\nexport function mixinFormSubmitter<\n T extends MixinBase<LitElement & WithElementInternals>,\n>(base: T): MixinReturn<T, FormSubmitter> {\n abstract class FormSubmitterElement extends base implements FormSubmitter {\n @property() type = 'submit';\n\n @property({ reflect: true }) value = '';\n\n // Name attribute must reflect synchronously for form integration.\n get name() {\n return this.getAttribute('name') ?? '';\n }\n\n set name(name: string) {\n this.setAttribute('name', name);\n }\n\n // Mixins must have a constructor with `...args: any[]`\n // tslint:disable-next-line:no-any\n constructor(...args: any[]) {\n super(...args);\n if (isServer) return;\n setupDispatchHooks(this, 'click');\n this.addEventListener('click', async (event: Event) => {\n const isReset = this.type === 'reset';\n const isSubmit = this.type === 'submit';\n const elementInternals = this[internals];\n const { form } = elementInternals;\n if (!form || !(isSubmit || isReset)) {\n return;\n }\n\n afterDispatch(event, () => {\n if (event.defaultPrevented) {\n return;\n }\n\n if (isReset) {\n form.reset();\n return;\n }\n\n // form.requestSubmit(submitter) does not work with form associated custom\n // elements. This patches the dispatched submit event to add the correct\n // `submitter`.\n // See https://github.com/WICG/webcomponents/issues/814\n form.addEventListener(\n 'submit',\n (submitEvent: Event) => {\n Object.defineProperty(submitEvent, 'submitter', {\n configurable: true,\n enumerable: true,\n get: () => this,\n });\n },\n { capture: true, once: true },\n );\n\n elementInternals.setFormValue(this.value);\n form.requestSubmit();\n });\n });\n }\n }\n\n return FormSubmitterElement;\n}\n","import { LitElement, PropertyDeclaration } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { internals, WithElementInternals } from './element-internals.js';\nimport { MixinBase, MixinReturn } from './mixin.js';\n\n/**\n * A form-associated element.\n */\nexport interface FormAssociated {\n /**\n * The associated form element with which this element's value will submit.\n */\n readonly form: HTMLFormElement | null;\n\n /**\n * The labels this element is associated with.\n */\n readonly labels: NodeList;\n\n /**\n * The HTML name to use in form submission.\n */\n name: string;\n\n /**\n * Whether or not the element is disabled.\n */\n disabled: boolean;\n\n /**\n * Gets the current form value of a component. Defaults to the component's\n * `value` attribute.\n *\n * @return The current form value.\n */\n [getFormValue](): FormValue | null;\n\n /**\n * Gets the current form state of a component. Defaults to the component's\n * `[getFormValue]()` result.\n *\n * Use this when the state of an element is different from its value, such as\n * checkboxes (internal boolean state and a user string value).\n *\n * @return The current form state, defaults to the form value.\n */\n [getFormState](): FormValue | null;\n\n /**\n * A callback for when a form component should be disabled or enabled. This\n * can be called in a variety of situations, such as disabled `<fieldset>`s.\n *\n * @param disabled Whether or not the form control should be disabled.\n */\n formDisabledCallback(disabled: boolean): void;\n\n /**\n * An optional callback for when the form requests to reset its value.\n * Typically, the default value that is reset is represented in the attribute\n * of an element.\n *\n * This means the attribute used for the value should not update as the value\n * changes. For example, a checkbox should not change its default `checked`\n * attribute when selected. Ensure form values do not reflect.\n */\n formResetCallback?(): void;\n\n /**\n * An optional callback for when the form restores the state of a component.\n * For example, when a page is reloaded or forms are autofilled.\n *\n * @param state The state to restore, or null to reset the form control's\n * value.\n * @param reason The reason state was restored, either `'restore'` or\n * `'autocomplete'`.\n */\n formStateRestoreCallback?(\n state: FormRestoreState | null,\n reason: FormRestoreReason,\n ): void;\n\n /**\n * An optional callback for when the associated form changes.\n *\n * @param form The new associated form, or `null` if there is none.\n */\n formAssociatedCallback?(form: HTMLFormElement | null): void;\n}\n\n/**\n * The constructor of a `FormAssociated` element.\n */\nexport interface FormAssociatedConstructor {\n /**\n * Indicates that an element is participating in form association.\n */\n readonly formAssociated: true;\n}\n\n/**\n * A symbol property to retrieve the form value for an element.\n */\nexport const getFormValue = Symbol('getFormValue');\n\n/**\n * A symbol property to retrieve the form state for an element.\n */\nexport const getFormState = Symbol('getFormState');\n\n/**\n * Mixes in form-associated behavior for a class. This allows an element to add\n * values to `<form>` elements.\n *\n * Implementing classes should provide a `[formValue]` to return the current\n * value of the element, as well as reset and restore callbacks.\n *\n * @example\n * ```ts\n * const base = mixinFormAssociated(mixinElementInternals(LitElement));\n *\n * class MyControl extends base {\n * \\@property()\n * value = '';\n *\n * override [getFormValue]() {\n * return this.value;\n * }\n *\n * override formResetCallback() {\n * const defaultValue = this.getAttribute('value');\n * this.value = defaultValue;\n * }\n *\n * override formStateRestoreCallback(state: string) {\n * this.value = state;\n * }\n * }\n * ```\n *\n * Elements may optionally provide a `[formState]` if their values do not\n * represent the state of the component.\n *\n * @example\n * ```ts\n * const base = mixinFormAssociated(mixinElementInternals(LitElement));\n *\n * class MyCheckbox extends base {\n * \\@property()\n * value = 'on';\n *\n * \\@property({type: Boolean})\n * checked = false;\n *\n * override [getFormValue]() {\n * return this.checked ? this.value : null;\n * }\n *\n * override [getFormState]() {\n * return String(this.checked);\n * }\n *\n * override formResetCallback() {\n * const defaultValue = this.hasAttribute('checked');\n * this.checked = defaultValue;\n * }\n *\n * override formStateRestoreCallback(state: string) {\n * this.checked = Boolean(state);\n * }\n * }\n * ```\n *\n * @param base The class to mix functionality into. The base class must use\n * `mixinElementInternals()`.\n * @return The provided class with `FormAssociated` mixed in.\n */\nexport function mixinFormAssociated<\n T extends MixinBase<LitElement & WithElementInternals>,\n>(base: T): MixinReturn<T & FormAssociatedConstructor, FormAssociated> {\n abstract class FormAssociatedElement extends base implements FormAssociated {\n /** @nocollapse */\n static readonly formAssociated = true;\n\n get form() {\n return this[internals].form;\n }\n\n get labels() {\n return this[internals].labels;\n }\n\n // Use @property for the `name` and `disabled` properties to add them to the\n // `observedAttributes` array and trigger `attributeChangedCallback()`.\n //\n // We don't use Lit's default getter/setter (`noAccessor: true`) because\n // the attributes need to be updated synchronously to work with synchronous\n // form APIs, and Lit updates attributes async by default.\n @property({ noAccessor: true })\n get name() {\n return this.getAttribute('name') ?? '';\n }\n set name(name: string) {\n // Note: setting name to null or empty does not remove the attribute.\n this.setAttribute('name', name);\n // We don't need to call `requestUpdate()` since it's called synchronously\n // in `attributeChangedCallback()`.\n }\n\n @property({ type: Boolean, noAccessor: true })\n get disabled() {\n return this.hasAttribute('disabled');\n }\n set disabled(disabled: boolean) {\n // Coerce `disabled` in `Boolean()` to ensure that setting to `null` or\n // `undefined` sets the attribute to `false`.\n this.toggleAttribute('disabled', Boolean(disabled));\n // We don't need to call `requestUpdate()` since it's called synchronously\n // in `attributeChangedCallback()`.\n }\n\n override attributeChangedCallback(\n name: string,\n old: string | null,\n value: string | null,\n ) {\n // Manually `requestUpdate()` for `name` and `disabled` when their\n // attribute or property changes.\n // The properties update their attributes, so this callback is invoked\n // immediately when the properties are set. We call `requestUpdate()` here\n // instead of letting Lit set the properties from the attribute change.\n // That would cause the properties to re-set the attribute and invoke this\n // callback again in a loop. This leads to stale state when Lit tries to\n // determine if a property changed or not.\n if (name === 'name' || name === 'disabled') {\n // Disabled's value is only false if the attribute is missing and null.\n const oldValue = name === 'disabled' ? old !== null : old;\n // Trigger a lit update when the attribute changes.\n this.requestUpdate(name, oldValue);\n return;\n }\n\n super.attributeChangedCallback(name, old, value);\n }\n\n override requestUpdate(\n name?: PropertyKey,\n oldValue?: unknown,\n options?: PropertyDeclaration,\n ) {\n super.requestUpdate(name, oldValue, options);\n // If any properties change, update the form value, which may have changed\n // as well.\n // Update the form value synchronously in `requestUpdate()` rather than\n // `update()` or `updated()`, which are async. This is necessary to ensure\n // that form data is updated in time for synchronous event listeners.\n this[internals].setFormValue(this[getFormValue](), this[getFormState]());\n }\n\n [getFormValue](): FormValue | null {\n return this.getAttribute('value');\n }\n\n [getFormState](): FormValue | null {\n return this[getFormValue]();\n }\n\n formDisabledCallback(disabled: boolean) {\n this.disabled = disabled;\n }\n }\n\n return FormAssociatedElement;\n}\n\n/**\n * A value that can be provided for form submission and state.\n */\nexport type FormValue = File | string | FormData;\n\n/**\n * A value to be restored for a component's form value. If a component's form\n * state is a `FormData` object, its entry list of name and values will be\n * provided.\n */\nexport type FormRestoreState =\n | File\n | string\n | Array<[string, FormDataEntryValue]>;\n\n/**\n * The reason a form component is being restored for, either `'restore'` for\n * browser restoration or `'autocomplete'` for restoring user values.\n */\nexport type FormRestoreReason = 'restore' | 'autocomplete';\n"],"names":["property"],"mappings":"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"}
|
package/dist/html-editor.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n } from './property-
|
|
3
|
-
import { r } from './state-
|
|
4
|
-
import { e } from './query-
|
|
5
|
-
import { e as e$1 } from './class-map-
|
|
6
|
-
import { B as BaseInput } from './BaseInput-
|
|
1
|
+
import { i as i$1, _ as __decorate, I as IndividualComponent, b, A } from './IndividualComponent-Bdwyrvd6.js';
|
|
2
|
+
import { n } from './property-B49QQ8pS.js';
|
|
3
|
+
import { r } from './state-DkTK9EGF.js';
|
|
4
|
+
import { e } from './query-CHb9Ft_d.js';
|
|
5
|
+
import { e as e$1 } from './class-map-DG7CA1et.js';
|
|
6
|
+
import { B as BaseInput } from './BaseInput-CU1zZYKc.js';
|
|
7
7
|
import { r as redispatchEvent } from './dispatch-event-utils-CuEqjlPT.js';
|
|
8
|
+
import './base-Cl6v8-BZ.js';
|
|
8
9
|
import './directive-ZPhl09Yt.js';
|
|
9
10
|
|
|
10
11
|
// ::- Persistent data structure representing an ordered mapping from
|
|
@@ -26965,6 +26966,10 @@ var css_248z = i$1`* {
|
|
|
26965
26966
|
display: none !important;
|
|
26966
26967
|
}
|
|
26967
26968
|
|
|
26969
|
+
[hidden] {
|
|
26970
|
+
display: none !important;
|
|
26971
|
+
}
|
|
26972
|
+
|
|
26968
26973
|
:host {
|
|
26969
26974
|
display: block;
|
|
26970
26975
|
width: 100%;
|
|
@@ -27109,7 +27114,7 @@ var HtmlEditor_1;
|
|
|
27109
27114
|
* @summary A Tiptap-powered HTML editor with visual and source editing modes.
|
|
27110
27115
|
* @overview
|
|
27111
27116
|
* <p>The HTML Editor provides a rich-text editing experience built on Tiptap.
|
|
27112
|
-
* It wraps the editable area in
|
|
27117
|
+
* It wraps the editable area in A styled <code>wc-field</code>,
|
|
27113
27118
|
* exposes common formatting actions, and includes a segmented switch between
|
|
27114
27119
|
* <strong>Visual</strong> and <strong>HTML</strong> source modes.</p>
|
|
27115
27120
|
*
|
|
@@ -27253,7 +27258,9 @@ let HtmlEditor = HtmlEditor_1 = class HtmlEditor extends BaseInput {
|
|
|
27253
27258
|
return this._requestManagedMentions(mentionQuery);
|
|
27254
27259
|
}
|
|
27255
27260
|
return this.mentions
|
|
27256
|
-
.filter(item => item.label
|
|
27261
|
+
.filter(item => item.label
|
|
27262
|
+
.toLowerCase()
|
|
27263
|
+
.startsWith(mentionQuery.toLowerCase()))
|
|
27257
27264
|
.map(item => item.value)
|
|
27258
27265
|
.slice(0, 5);
|
|
27259
27266
|
},
|
|
@@ -27444,7 +27451,12 @@ let HtmlEditor = HtmlEditor_1 = class HtmlEditor extends BaseInput {
|
|
|
27444
27451
|
<div class="tiptap-root"></div>
|
|
27445
27452
|
</div>
|
|
27446
27453
|
|
|
27447
|
-
<div
|
|
27454
|
+
<div
|
|
27455
|
+
class=${e$1({
|
|
27456
|
+
'html-source': true,
|
|
27457
|
+
hidden: this._mode !== 'html',
|
|
27458
|
+
})}
|
|
27459
|
+
>
|
|
27448
27460
|
<wc-code-editor
|
|
27449
27461
|
language="html"
|
|
27450
27462
|
.value=${this.value}
|