@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 @@
|
|
|
1
|
+
{"version":3,"file":"icon-button.js","sources":["../../src/button/icon-button/icon-button.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { when } from 'lit/directives/when.js';\nimport styles from './icon-button.scss';\nimport { isLink } from '@/__internal/utils/is-link.js';\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '@/__internal/utils/dispatch-event-utils.js';\nimport { DISABLED_REASON_ID } from '@/button/ButtonConstants.js';\nimport IndividualComponent from '@/IndividualComponent.js';\nimport { mixinBaseButton } from '../base-button/base-button.js';\nimport { mixinHyperlink } from '@/__internal/mixins/hyperlink.js';\nimport { mixinDelegatesAria } from '@/__internal/aria/delegate.js';\nimport { mixinFormSubmitter } from '@/__internal/mixins/form-submitter.js';\nimport { mixinFormAssociated } from '@/__internal/mixins/form-associated.js';\nimport { mixinElementInternals } from '@/__internal/mixins/element-internals.js';\nimport { ARIAMixinStrict } from '@/__internal/aria/aria.js';\nimport type {\n ButtonColor,\n ButtonLevel,\n ButtonShape,\n ButtonSize,\n ButtonVariant,\n} from '@/button/ButtonTypes.js';\n\n/**\n * @label Icon Button\n * @tag wc-icon-button\n * @rawTag icon-button\n *\n * @summary Icon buttons allow users to take actions, and make choices, with a single tap.\n *\n * @overview\n * <p>Icon buttons are clickable elements that are used to trigger actions. They communicate calls to action to the user and allow users to interact with pages in a variety of ways. IconButton labels express what action will occur when the user interacts with it.</p>\n *\n * @cssprop --button-container-shape: Defines the border radius of the button container shape.\n *\n * @cssprop --button-container-shape-start-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-start-end: Defines the end position of the button container shape.\n * @cssprop --button-container-shape-end-start: Defines the start position of the button container shape.\n * @cssprop --button-container-shape-end-end: Defines the end position of the button container shape.\n *\n *\n * @cssprop --filled-button-container-color: Color of the filled button container.\n * @cssprop --filled-button-label-text-color: Text color of the filled button label.\n *\n * @cssprop --outlined-button-container-color: Color of the outlined button container.\n * @cssprop --outlined-button-label-text-color: Text color of the outlined button label.\n *\n * @cssprop --text-button-label-text-color: Text color of the text button label.\n *\n * @cssprop --tonal-button-container-color: Color of the tonal button container.\n * @cssprop --tonal-button-label-text-color: Text color of the tonal button label.\n *\n * @cssprop --elevated-button-container-color: Color of the elevated button container.\n * @cssprop --elevated-button-label-text-color: Text color of the elevated button label.\n *\n * @cssprop --neo-button-container-color: Color of the neo button container.\n * @cssprop --neo-button-label-text-color: Text color of the neo button label.\n *\n * @fires {CustomEvent} button:click - Dispatched when the button is clicked.\n *\n * @example\n * ```html\n * <wc-icon-button><wc-icon name=\"home\"></wc-icon></wc-icon-button>\n * ```\n * @tags display\n */\n@IndividualComponent\nexport class IconButton extends mixinBaseButton(\n mixinHyperlink(\n mixinDelegatesAria(\n mixinFormSubmitter(\n mixinFormAssociated(mixinElementInternals(LitElement)),\n ),\n ),\n ),\n) {\n // ── Static ───────────────────────────────────────────────────────────────\n\n /** @nocollapse */ // eslint-disable-next-line\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n static override styles = [styles];\n\n /**\n * Button size.\n * Possible values are `\"xs\"`, `\"sm\"`, `\"md\"`, `\"lg\"`, `\"xl\"`. Defaults to `\"sm\"`.\n */\n @property({ reflect: true }) size: ButtonSize = 'sm';\n\n /**\n * Type is preset of color and variant. Type will be only applied.\n *\n */\n @property({ type: String }) level?: ButtonLevel;\n\n /** Shape of the button container. */\n @property({ type: String, reflect: true }) shape?: ButtonShape = 'square';\n\n /**\n * The visual style of the button.\n *\n * Possible variant values:\n * `\"filled\"` is a filled button.\n * `\"outlined\"` is an outlined button.\n * `\"text\"` is a transparent button.\n * `\"tonal\"` is a light color button.\n * `\"elevated\"` is elevated button\n */\n @property({ reflect: true }) variant: ButtonVariant = 'filled';\n\n /**\n * Defines the primary color of the button. This can be set to predefined color names to apply specific color themes.\n */\n @property({ reflect: true }) color: ButtonColor = 'primary';\n\n /** When true, renders the button in a loading skeleton state. */\n @property({ type: Boolean, reflect: true }) skeleton: boolean = false;\n\n /** When true, the button acts as a toggle. Use with `selected`. */\n @property({ type: Boolean, reflect: true }) toggle: boolean = false;\n\n /** When true (and `toggle` is set), the button is in the selected/pressed state. */\n @property({ type: Boolean, reflect: true }) selected: boolean = false;\n\n /** Optional tooltip text displayed on hover. */\n @property() tooltip?: string;\n\n @query('.button') readonly buttonElement!: HTMLElement | null;\n\n constructor() {\n super();\n this.addEventListener('click', this.__dispatchClickWithThrottle);\n }\n\n __dispatchClick = (event: MouseEvent | KeyboardEvent) => {\n // If the button is soft-disabled or a disabled link, we need to explicitly\n // prevent the click from propagating to other event listeners as well as\n // prevent the default action.\n if (this.softDisabled || (this.disabled && this.href) || this.skeleton) {\n event.stopImmediatePropagation();\n event.preventDefault();\n return;\n }\n\n if (!isActivationClick(event) || !this.buttonElement) {\n return;\n }\n\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n override focus() {\n this.buttonElement?.focus();\n }\n\n override blur() {\n this.buttonElement?.blur();\n }\n\n override firstUpdated(changedProperties: Map<PropertyKey, unknown>) {\n super.firstUpdated(changedProperties);\n this.__convertTypeToVariantAndColor();\n }\n\n __convertTypeToVariantAndColor() {\n if (this.type === 'primary') {\n this.color = 'primary';\n this.variant = 'filled';\n } else if (this.type === 'secondary') {\n this.color = 'surface';\n this.variant = 'filled';\n } else if (this.type === 'tertiary') {\n this.color = 'primary';\n this.variant = 'text';\n } else if (this.type === 'danger') {\n this.color = 'danger';\n this.variant = 'filled';\n }\n }\n\n renderDisabledReason(softDisabled: boolean) {\n if (softDisabled)\n return html`<div\n id=${DISABLED_REASON_ID}\n role=\"tooltip\"\n aria-label=${this.disabledReason}\n class=\"screen-reader-only\"\n >\n ${this.disabledReason}\n </div>`;\n return nothing;\n }\n\n renderTooltip() {\n if (this.tooltip) {\n const buttonId = isLink(this) ? 'link' : 'button';\n return html`<wc-tooltip class=\"tooltip\" for=${buttonId}\n >${this.tooltip}</wc-tooltip\n >`;\n }\n return nothing;\n }\n\n renderButtonContent() {\n return html`\n <slot class=\"icon-slot\"></slot>\n <div class=\"touch\"></div>\n ${this.renderDisabledReason(this.softDisabled)}\n `;\n }\n\n renderButtonElement() {\n const isElementLink = isLink(this);\n const { ariaLabel, ariaHasPopup, ariaExpanded } = this as ARIAMixinStrict;\n\n const cssClasses = {\n button: true,\n 'native-button': !isElementLink,\n 'native-link': isElementLink,\n };\n\n if (!isLink(this)) {\n return html`<button\n class=${classMap(cssClasses)}\n id=\"button\"\n aria-label=\"${ariaLabel || nothing}\"\n aria-haspopup=\"${ariaHasPopup || nothing}\"\n aria-expanded=\"${ariaExpanded || nothing}\"\n aria-describedby=${ifDefined(\n this.softDisabled ? DISABLED_REASON_ID : undefined,\n )}\n ?aria-disabled=${this.softDisabled}\n ?disabled=${this.disabled}\n >\n ${this.renderButtonContent()}\n </button>`;\n }\n return html`<a\n class=${classMap(cssClasses)}\n id=\"link\"\n href=${this.href}\n target=${this.target}\n tabindex=${this.disabled ? '-1' : '0'}\n aria-label=\"${ariaLabel || nothing}\"\n aria-haspopup=\"${ariaHasPopup || nothing}\"\n aria-expanded=\"${ariaExpanded || nothing}\"\n aria-describedby=${ifDefined(\n this.softDisabled ? DISABLED_REASON_ID : undefined,\n )}\n ?aria-disabled=${this.softDisabled}\n >\n ${this.renderButtonContent()}\n </a>`;\n }\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n override render() {\n const buttonId = isLink(this) ? 'link' : 'button';\n\n return html`\n <wc-focus-ring class=\"focus-ring\" for=${buttonId}></wc-focus-ring>\n <wc-elevation class=\"elevation\"></wc-elevation>\n ${when(\n this.variant === 'neo',\n () => html`<div class=\"neo-background\"></div>`,\n )}\n <div class=\"background\"></div>\n ${when(\n this.variant === 'outlined' || this.variant === 'neo',\n () => html`<div class=\"outline\"></div>`,\n )}\n <wc-ripple class=\"ripple\" for=\"button\"></wc-ripple>\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n\n ${this.renderButtonElement()} ${this.renderTooltip()}\n `;\n }\n}\n"],"names":["LitElement","html","nothing","classMap","ifDefined","when","styles","property","query"],"mappings":"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"}
|
package/dist/icon.js
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { i, _ as __decorate, a as i$1, b, I as IndividualComponent } from './IndividualComponent-Bdwyrvd6.js';
|
|
2
|
+
import { n } from './property-B49QQ8pS.js';
|
|
3
|
+
import { r } from './state-DkTK9EGF.js';
|
|
4
|
+
import { a as fetchIcon, f as fetchSVG, s as sanitizeSvg, o } from './datasource-B2eRh6Or.js';
|
|
5
|
+
import './directive-ZPhl09Yt.js';
|
|
6
|
+
import './unsafe-html-Ct0N2_UU.js';
|
|
7
|
+
|
|
8
|
+
var css_248z = i`* {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.screen-reader-only {
|
|
13
|
+
display: none !important;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
[hidden] {
|
|
17
|
+
display: none !important;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
:host {
|
|
21
|
+
display: inline-flex;
|
|
22
|
+
vertical-align: middle;
|
|
23
|
+
--icon-size: inherit;
|
|
24
|
+
--icon-color: inherit;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.icon {
|
|
28
|
+
height: var(--icon-size, 1rem);
|
|
29
|
+
width: var(--icon-size, 1rem);
|
|
30
|
+
display: inline-flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
justify-content: center;
|
|
33
|
+
}
|
|
34
|
+
.icon svg {
|
|
35
|
+
fill: var(--icon-color);
|
|
36
|
+
height: 100%;
|
|
37
|
+
width: 100%;
|
|
38
|
+
}`;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @label Icon
|
|
42
|
+
* @tag wc-icon
|
|
43
|
+
* @rawTag icon
|
|
44
|
+
* @summary Icons are visual symbols used to represent ideas, objects, or actions.
|
|
45
|
+
* @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.
|
|
46
|
+
*
|
|
47
|
+
* @cssprop --icon-color - Controls the color of the icon.
|
|
48
|
+
* @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to "1rem"
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```html
|
|
52
|
+
* <wc-icon name="home" style="--icon-size: 2rem;"></wc-icon>
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
*/
|
|
56
|
+
let Icon = class Icon extends i$1 {
|
|
57
|
+
constructor() {
|
|
58
|
+
super(...arguments);
|
|
59
|
+
/** Icon library provider. Defaults to `"material-symbols"`. */
|
|
60
|
+
this.provider = 'material-symbols';
|
|
61
|
+
/** Rendered SVG markup, updated after each successful fetch. */
|
|
62
|
+
this.svgContent = '';
|
|
63
|
+
/** True while an SVG fetch is in-flight. */
|
|
64
|
+
this.loading = false;
|
|
65
|
+
/** Holds the last fetch error, if any. */
|
|
66
|
+
this.error = null;
|
|
67
|
+
// ── Private fields ────────────────────────────────────────────────────────
|
|
68
|
+
/** Monotonically incrementing token used to discard stale fetch results. */
|
|
69
|
+
this._fetchId = 0;
|
|
70
|
+
}
|
|
71
|
+
// ── Lifecycle ─────────────────────────────────────────────────────────────
|
|
72
|
+
firstUpdated() {
|
|
73
|
+
// perform initial fetch once component is connected and rendered
|
|
74
|
+
this.__scheduleUpdate();
|
|
75
|
+
}
|
|
76
|
+
updated(changedProperties) {
|
|
77
|
+
// only refetch when name or src changed
|
|
78
|
+
if (changedProperties.has('name') || changedProperties.has('src')) {
|
|
79
|
+
this.__scheduleUpdate();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// ── Private methods ───────────────────────────────────────────────────────
|
|
83
|
+
// small debounce to coalesce rapid changes (50ms)
|
|
84
|
+
__scheduleUpdate() {
|
|
85
|
+
if (this._debounceTimer) {
|
|
86
|
+
clearTimeout(this._debounceTimer);
|
|
87
|
+
}
|
|
88
|
+
// @ts-ignore - setTimeout in DOM returns number
|
|
89
|
+
this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);
|
|
90
|
+
}
|
|
91
|
+
/** @internal */
|
|
92
|
+
async __updateSvg() {
|
|
93
|
+
this._fetchId += 1;
|
|
94
|
+
const currentId = this._fetchId;
|
|
95
|
+
this.loading = true;
|
|
96
|
+
this.error = null;
|
|
97
|
+
try {
|
|
98
|
+
let raw;
|
|
99
|
+
if (this.name) {
|
|
100
|
+
raw = await fetchIcon(this.name, this.provider);
|
|
101
|
+
}
|
|
102
|
+
else if (this.src) {
|
|
103
|
+
raw = await fetchSVG(this.src);
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
raw = '';
|
|
107
|
+
}
|
|
108
|
+
// If another fetch started after this one, ignore this result
|
|
109
|
+
if (currentId !== this._fetchId)
|
|
110
|
+
return;
|
|
111
|
+
if (raw) {
|
|
112
|
+
this.svgContent = sanitizeSvg(raw);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
this.svgContent = '';
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
// capture and surface error, but avoid throwing
|
|
120
|
+
this.error = err instanceof Error ? err : new Error(String(err));
|
|
121
|
+
this.svgContent = '';
|
|
122
|
+
// bubble an event so consumers can react
|
|
123
|
+
this.dispatchEvent(new CustomEvent('icon-error', {
|
|
124
|
+
detail: { name: this.name, src: this.src, error: this.error },
|
|
125
|
+
bubbles: true,
|
|
126
|
+
composed: true,
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
finally {
|
|
130
|
+
// ensure loading is cleared unless another fetch started
|
|
131
|
+
if (currentId === this._fetchId) {
|
|
132
|
+
this.loading = false;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
// ── Render ────────────────────────────────────────────────────────────────
|
|
137
|
+
render() {
|
|
138
|
+
// accessible wrapper; consumers can provide a fallback via <slot name="fallback">.
|
|
139
|
+
return b ` <div class="icon">
|
|
140
|
+
${this.svgContent
|
|
141
|
+
? o(this.svgContent)
|
|
142
|
+
: b `<slot name="fallback"></slot>`}
|
|
143
|
+
</div>`;
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
Icon.styles = [css_248z];
|
|
147
|
+
__decorate([
|
|
148
|
+
n({ type: String, reflect: true })
|
|
149
|
+
], Icon.prototype, "name", void 0);
|
|
150
|
+
__decorate([
|
|
151
|
+
n({ type: String, reflect: true })
|
|
152
|
+
], Icon.prototype, "src", void 0);
|
|
153
|
+
__decorate([
|
|
154
|
+
n({ type: String })
|
|
155
|
+
], Icon.prototype, "provider", void 0);
|
|
156
|
+
__decorate([
|
|
157
|
+
r()
|
|
158
|
+
], Icon.prototype, "svgContent", void 0);
|
|
159
|
+
__decorate([
|
|
160
|
+
r() // @ts-ignore
|
|
161
|
+
], Icon.prototype, "loading", void 0);
|
|
162
|
+
__decorate([
|
|
163
|
+
r()
|
|
164
|
+
], Icon.prototype, "error", void 0);
|
|
165
|
+
Icon = __decorate([
|
|
166
|
+
IndividualComponent
|
|
167
|
+
], Icon);
|
|
168
|
+
|
|
169
|
+
export { Icon };
|
|
170
|
+
//# sourceMappingURL=icon.js.map
|
package/dist/icon.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.js","sources":["../../src/icon/icon.ts"],"sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\n\nimport { sanitizeSvg } from '@/__internal/utils/sanitize-svg.js';\n\nimport { fetchIcon, fetchSVG } from './datasource.js';\nimport styles from './icon.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\nexport type IconProvider = 'material-symbols' | 'material-icons';\n/**\n * @label Icon\n * @tag wc-icon\n * @rawTag icon\n * @summary Icons are visual symbols used to represent ideas, objects, or actions.\n * @overview Icons are visual symbols used to represent ideas, objects, or actions. They communicate messages at a glance, afford interactivity, and draw attention to important information.\n *\n * @cssprop --icon-color - Controls the color of the icon.\n * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to \"1rem\"\n *\n * @example\n * ```html\n * <wc-icon name=\"home\" style=\"--icon-size: 2rem;\"></wc-icon>\n * ```\n *\n */\n@IndividualComponent\nexport class Icon extends LitElement {\n static styles = [styles];\n\n /**\n * The identifier for the icon.\n * This name corresponds to a specific SVG asset in the icon set.\n */\n @property({ type: String, reflect: true }) name?: string;\n\n /** URL of an external SVG file to fetch and render inline. */\n @property({ type: String, reflect: true }) src?: string;\n\n /** Icon library provider. Defaults to `\"material-symbols\"`. */\n @property({ type: String }) provider: IconProvider = 'material-symbols';\n\n /** Rendered SVG markup, updated after each successful fetch. */\n @state()\n private svgContent: string = '';\n\n /** True while an SVG fetch is in-flight. */\n @state() // @ts-ignore\n private loading: boolean = false;\n\n /** Holds the last fetch error, if any. */\n @state()\n private error: Error | null = null;\n\n // ── Private fields ────────────────────────────────────────────────────────\n\n /** Monotonically incrementing token used to discard stale fetch results. */\n private _fetchId = 0;\n\n /** Timer handle for debouncing rapid property changes. */\n private _debounceTimer: number | undefined;\n\n // ── Lifecycle ─────────────────────────────────────────────────────────────\n\n firstUpdated() {\n // perform initial fetch once component is connected and rendered\n this.__scheduleUpdate();\n }\n\n updated(changedProperties: any) {\n // only refetch when name or src changed\n if (changedProperties.has('name') || changedProperties.has('src')) {\n this.__scheduleUpdate();\n }\n }\n\n // ── Private methods ───────────────────────────────────────────────────────\n\n // small debounce to coalesce rapid changes (50ms)\n private __scheduleUpdate() {\n if (this._debounceTimer) {\n clearTimeout(this._debounceTimer as any);\n }\n // @ts-ignore - setTimeout in DOM returns number\n this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);\n }\n\n /** @internal */\n private async __updateSvg() {\n this._fetchId += 1;\n const currentId = this._fetchId;\n this.loading = true;\n this.error = null;\n\n try {\n let raw: string | undefined;\n\n if (this.name) {\n raw = await fetchIcon(this.name, this.provider);\n } else if (this.src) {\n raw = await fetchSVG(this.src);\n } else {\n raw = '';\n }\n\n // If another fetch started after this one, ignore this result\n if (currentId !== this._fetchId) return;\n\n if (raw) {\n this.svgContent = sanitizeSvg(raw);\n } else {\n this.svgContent = '';\n }\n } catch (err: any) {\n // capture and surface error, but avoid throwing\n this.error = err instanceof Error ? err : new Error(String(err));\n this.svgContent = '';\n // bubble an event so consumers can react\n this.dispatchEvent(\n new CustomEvent('icon-error', {\n detail: { name: this.name, src: this.src, error: this.error },\n bubbles: true,\n composed: true,\n }),\n );\n } finally {\n // ensure loading is cleared unless another fetch started\n if (currentId === this._fetchId) {\n this.loading = false;\n }\n }\n }\n\n // ── Render ────────────────────────────────────────────────────────────────\n\n render() {\n // accessible wrapper; consumers can provide a fallback via <slot name=\"fallback\">.\n return html` <div class=\"icon\">\n ${this.svgContent\n ? unsafeSVG(this.svgContent)\n : html`<slot name=\"fallback\"></slot>`}\n </div>`;\n }\n}\n"],"names":["LitElement","html","unsafeSVG","styles","property","state"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"if-defined-BXZpRQ4P.js","sources":["../node_modules/lit-html/directives/if-defined.js"],"sourcesContent":["import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n"],"names":["t"],"mappings":";;AACA;AACA;AACA;AACA;AACA,GAAQ,MAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAEA;;;;","x_google_ignoreList":[0]}
|
package/dist/image.js
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { i, _ as __decorate, I as IndividualComponent, a as i$1, b } from './IndividualComponent-Bdwyrvd6.js';
|
|
2
|
+
import { n } from './property-B49QQ8pS.js';
|
|
3
|
+
import { r } from './state-DkTK9EGF.js';
|
|
4
|
+
import { e } from './query-CHb9Ft_d.js';
|
|
5
|
+
import { i as isDarkMode, o as observeThemeChange } from './is-dark-mode-DOcaw4Yq.js';
|
|
6
|
+
import './base-Cl6v8-BZ.js';
|
|
7
|
+
|
|
8
|
+
var css_248z = i`@charset "UTF-8";
|
|
9
|
+
:host {
|
|
10
|
+
display: block;
|
|
11
|
+
height: 100%;
|
|
12
|
+
width: 100%;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.image-wrapper {
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
justify-content: center;
|
|
19
|
+
height: 100%;
|
|
20
|
+
width: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
img {
|
|
24
|
+
display: block;
|
|
25
|
+
max-height: 100%;
|
|
26
|
+
max-width: 100%;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
img.clickable {
|
|
30
|
+
cursor: zoom-in;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.placeholder {
|
|
34
|
+
background: #e0e0e0;
|
|
35
|
+
min-width: 100px;
|
|
36
|
+
min-height: 100px;
|
|
37
|
+
display: block;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* Lightbox preview — native <dialog> renders in the top layer,
|
|
41
|
+
bypassing any stacking context on the host page. */
|
|
42
|
+
.preview-dialog {
|
|
43
|
+
background: transparent;
|
|
44
|
+
border: none;
|
|
45
|
+
cursor: zoom-out;
|
|
46
|
+
max-height: 90dvh;
|
|
47
|
+
max-width: 90dvw;
|
|
48
|
+
padding: 0;
|
|
49
|
+
}
|
|
50
|
+
.preview-dialog[open] {
|
|
51
|
+
display: flex;
|
|
52
|
+
align-items: center;
|
|
53
|
+
justify-content: center;
|
|
54
|
+
}
|
|
55
|
+
.preview-dialog::backdrop {
|
|
56
|
+
background: color-mix(in srgb, var(--color-scrim), transparent 15%);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.preview-dialog img {
|
|
60
|
+
max-width: 90vw;
|
|
61
|
+
max-height: 90vh;
|
|
62
|
+
object-fit: contain;
|
|
63
|
+
box-shadow: 0 8px 40px color-mix(in srgb, var(--color-shadow), transparent 40%);
|
|
64
|
+
border-radius: 4px;
|
|
65
|
+
cursor: auto;
|
|
66
|
+
}`;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* @label Image
|
|
70
|
+
* @tag wc-image
|
|
71
|
+
* @rawTag image
|
|
72
|
+
* @summary An image component with lazy loading and theme support.
|
|
73
|
+
* @tags media
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```html
|
|
77
|
+
* <wc-image src="image.jpg" alt="Description"></wc-image>
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
let Image = class Image extends i$1 {
|
|
81
|
+
constructor() {
|
|
82
|
+
super(...arguments);
|
|
83
|
+
/** Primary image source */
|
|
84
|
+
this.src = '';
|
|
85
|
+
/** Optional dark-mode image source */
|
|
86
|
+
this.darkSrc = '';
|
|
87
|
+
/** Alt text / title for the image */
|
|
88
|
+
this.imageTitle = '';
|
|
89
|
+
/** Enable click-to-preview lightbox */
|
|
90
|
+
this.preview = false;
|
|
91
|
+
/** True when the OS/app theme is dark, used to select `darkSrc`. */
|
|
92
|
+
this._isDarkMode = isDarkMode();
|
|
93
|
+
/** True once the image has entered the viewport and the `<img>` element has been rendered. */
|
|
94
|
+
this._loaded = false;
|
|
95
|
+
// ── Private fields ────────────────────────────────────────────────────────
|
|
96
|
+
/** IntersectionObserver for lazy-loading the image when it enters the viewport. */
|
|
97
|
+
this._intersectionObserver = null;
|
|
98
|
+
/** Cleanup function returned by `observeThemeChange`. */
|
|
99
|
+
this._themeCleanup = null;
|
|
100
|
+
}
|
|
101
|
+
connectedCallback() {
|
|
102
|
+
super.connectedCallback();
|
|
103
|
+
// Theme observation
|
|
104
|
+
this._themeCleanup = observeThemeChange(() => {
|
|
105
|
+
this._isDarkMode = isDarkMode();
|
|
106
|
+
// Reset lazy-load state so new src is loaded when visible
|
|
107
|
+
this._loaded = false;
|
|
108
|
+
this._setupIntersectionObserver();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
disconnectedCallback() {
|
|
112
|
+
super.disconnectedCallback();
|
|
113
|
+
this._intersectionObserver?.disconnect();
|
|
114
|
+
this._themeCleanup?.();
|
|
115
|
+
}
|
|
116
|
+
firstUpdated() {
|
|
117
|
+
this._setupIntersectionObserver();
|
|
118
|
+
}
|
|
119
|
+
_setupIntersectionObserver() {
|
|
120
|
+
this._intersectionObserver?.disconnect();
|
|
121
|
+
const wrapper = this.shadowRoot?.querySelector('.image-wrapper');
|
|
122
|
+
if (!wrapper)
|
|
123
|
+
return;
|
|
124
|
+
this._intersectionObserver = new IntersectionObserver(entries => {
|
|
125
|
+
if (entries[0].isIntersecting) {
|
|
126
|
+
this._loaded = true;
|
|
127
|
+
this._intersectionObserver?.disconnect();
|
|
128
|
+
}
|
|
129
|
+
}, { rootMargin: '200px' });
|
|
130
|
+
this._intersectionObserver.observe(wrapper);
|
|
131
|
+
}
|
|
132
|
+
get _activeSrc() {
|
|
133
|
+
return this._isDarkMode && this.darkSrc ? this.darkSrc : this.src;
|
|
134
|
+
}
|
|
135
|
+
_handleClick() {
|
|
136
|
+
if (this.preview) {
|
|
137
|
+
this._dialog?.showModal();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
_handleDialogClick(e) {
|
|
141
|
+
// Close when clicking the backdrop (target is the dialog itself, not the image)
|
|
142
|
+
if (e.target === e.currentTarget) {
|
|
143
|
+
e.currentTarget.close();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
render() {
|
|
147
|
+
return b `
|
|
148
|
+
<div class="image-wrapper">
|
|
149
|
+
${this._loaded
|
|
150
|
+
? b `<img
|
|
151
|
+
src=${this._activeSrc}
|
|
152
|
+
alt=${this.imageTitle}
|
|
153
|
+
class=${this.preview ? 'clickable' : ''}
|
|
154
|
+
@click=${this._handleClick}
|
|
155
|
+
/>`
|
|
156
|
+
: b `<span class="placeholder" aria-hidden="true"></span>`}
|
|
157
|
+
</div>
|
|
158
|
+
|
|
159
|
+
<!-- Lightbox preview dialog — uses native top-layer to avoid stacking context issues -->
|
|
160
|
+
<dialog
|
|
161
|
+
class="preview-dialog"
|
|
162
|
+
aria-label="Image preview"
|
|
163
|
+
@click=${this._handleDialogClick}
|
|
164
|
+
>
|
|
165
|
+
<img
|
|
166
|
+
src=${this._activeSrc}
|
|
167
|
+
alt=${this.imageTitle}
|
|
168
|
+
@click=${(e) => e.stopPropagation()}
|
|
169
|
+
/>
|
|
170
|
+
</dialog>
|
|
171
|
+
`;
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
Image.styles = [css_248z];
|
|
175
|
+
__decorate([
|
|
176
|
+
n({ reflect: true })
|
|
177
|
+
], Image.prototype, "src", void 0);
|
|
178
|
+
__decorate([
|
|
179
|
+
n({ reflect: true, attribute: 'dark-src' })
|
|
180
|
+
], Image.prototype, "darkSrc", void 0);
|
|
181
|
+
__decorate([
|
|
182
|
+
n({ attribute: 'image-title' })
|
|
183
|
+
], Image.prototype, "imageTitle", void 0);
|
|
184
|
+
__decorate([
|
|
185
|
+
n({ type: Boolean, reflect: true })
|
|
186
|
+
], Image.prototype, "preview", void 0);
|
|
187
|
+
__decorate([
|
|
188
|
+
r()
|
|
189
|
+
], Image.prototype, "_isDarkMode", void 0);
|
|
190
|
+
__decorate([
|
|
191
|
+
r()
|
|
192
|
+
], Image.prototype, "_loaded", void 0);
|
|
193
|
+
__decorate([
|
|
194
|
+
e('.preview-dialog')
|
|
195
|
+
], Image.prototype, "_dialog", void 0);
|
|
196
|
+
Image = __decorate([
|
|
197
|
+
IndividualComponent
|
|
198
|
+
], Image);
|
|
199
|
+
|
|
200
|
+
export { Image };
|
|
201
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sources":["../../src/image/image.ts"],"sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\n\nimport { isDarkMode } from '@/__internal/utils/is-dark-mode.js';\nimport { observeThemeChange } from '@/__internal/utils/observe-theme-change.js';\n\nimport styles from './image.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Image\n * @tag wc-image\n * @rawTag image\n * @summary An image component with lazy loading and theme support.\n * @tags media\n *\n * @example\n * ```html\n * <wc-image src=\"image.jpg\" alt=\"Description\"></wc-image>\n * ```\n */\n@IndividualComponent\nexport class Image extends LitElement {\n static styles = [styles];\n\n /** Primary image source */\n @property({ reflect: true }) src = '';\n\n /** Optional dark-mode image source */\n @property({ reflect: true, attribute: 'dark-src' }) darkSrc = '';\n\n /** Alt text / title for the image */\n @property({ attribute: 'image-title' }) imageTitle = '';\n\n /** Enable click-to-preview lightbox */\n @property({ type: Boolean, reflect: true }) preview = false;\n\n /** True when the OS/app theme is dark, used to select `darkSrc`. */\n @state() private _isDarkMode: boolean = isDarkMode();\n\n /** True once the image has entered the viewport and the `<img>` element has been rendered. */\n @state() private _loaded = false;\n\n @query('.preview-dialog') private _dialog?: HTMLDialogElement;\n\n // ── Private fields ────────────────────────────────────────────────────────\n\n /** IntersectionObserver for lazy-loading the image when it enters the viewport. */\n private _intersectionObserver: IntersectionObserver | null = null;\n\n /** Cleanup function returned by `observeThemeChange`. */\n private _themeCleanup: (() => void) | null = null;\n\n connectedCallback() {\n super.connectedCallback();\n\n // Theme observation\n this._themeCleanup = observeThemeChange(() => {\n this._isDarkMode = isDarkMode();\n // Reset lazy-load state so new src is loaded when visible\n this._loaded = false;\n this._setupIntersectionObserver();\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this._intersectionObserver?.disconnect();\n this._themeCleanup?.();\n }\n\n firstUpdated() {\n this._setupIntersectionObserver();\n }\n\n private _setupIntersectionObserver() {\n this._intersectionObserver?.disconnect();\n\n const wrapper = this.shadowRoot?.querySelector('.image-wrapper');\n if (!wrapper) return;\n\n this._intersectionObserver = new IntersectionObserver(\n entries => {\n if (entries[0].isIntersecting) {\n this._loaded = true;\n this._intersectionObserver?.disconnect();\n }\n },\n { rootMargin: '200px' }, // start loading slightly before entering viewport\n );\n\n this._intersectionObserver.observe(wrapper);\n }\n\n private get _activeSrc(): string {\n return this._isDarkMode && this.darkSrc ? this.darkSrc : this.src;\n }\n\n private _handleClick() {\n if (this.preview) {\n this._dialog?.showModal();\n }\n }\n\n private _handleDialogClick(e: MouseEvent) {\n // Close when clicking the backdrop (target is the dialog itself, not the image)\n if (e.target === e.currentTarget) {\n (e.currentTarget as HTMLDialogElement).close();\n }\n }\n\n render() {\n return html`\n <div class=\"image-wrapper\">\n ${this._loaded\n ? html`<img\n src=${this._activeSrc}\n alt=${this.imageTitle}\n class=${this.preview ? 'clickable' : ''}\n @click=${this._handleClick}\n />`\n : html`<span class=\"placeholder\" aria-hidden=\"true\"></span>`}\n </div>\n\n <!-- Lightbox preview dialog — uses native top-layer to avoid stacking context issues -->\n <dialog\n class=\"preview-dialog\"\n aria-label=\"Image preview\"\n @click=${this._handleDialogClick}\n >\n <img\n src=${this._activeSrc}\n alt=${this.imageTitle}\n @click=${(e: Event) => e.stopPropagation()}\n />\n </dialog>\n `;\n }\n}\n"],"names":["LitElement","html","styles","property","state","query"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,62 +1,115 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export {
|
|
1
|
+
export { Icon } from './icon.js';
|
|
2
|
+
export { Avatar } from './avatar.js';
|
|
3
|
+
export { Badge } from './badge.js';
|
|
4
|
+
export { Divider } from './divider.js';
|
|
3
5
|
export { Clock } from './clock.js';
|
|
6
|
+
export { Elevation } from './elevation.js';
|
|
4
7
|
export { Button } from './button.js';
|
|
5
8
|
export { default as ButtonGroup } from './button-group.js';
|
|
6
|
-
export {
|
|
9
|
+
export { IconButton } from './icon-button.js';
|
|
7
10
|
export { Fab } from './fab.js';
|
|
11
|
+
export { SegmentedButton } from './segmented-button.js';
|
|
12
|
+
export { SegmentedButtonGroup } from './segmented-button-group.js';
|
|
8
13
|
export { SplitButton } from './split-button.js';
|
|
9
14
|
export { DropdownButton } from './dropdown-button.js';
|
|
15
|
+
export { FocusRing } from './focus-ring.js';
|
|
16
|
+
export { Ripple } from './ripple.js';
|
|
17
|
+
import './accordion-item.js';
|
|
18
|
+
export { Accordion } from './accordion.js';
|
|
19
|
+
export { Link } from './link.js';
|
|
20
|
+
export { C as ChipSet, a as CircularProgress, D as DatePicker, I as Input, L as LinearProgress, N as NumberField, S as Select, b as SidebarMenu, c as SidebarMenuItem, d as SidebarSubMenu, e as Switch, T as Tag, f as Textarea, g as TimePicker, U as UrlField } from './select-Dwtk0RIU.js';
|
|
21
|
+
export { Chip } from './chip.js';
|
|
22
|
+
export { Skeleton } from './skeleton.js';
|
|
23
|
+
export { Field } from './field.js';
|
|
24
|
+
export { Checkbox } from './checkbox.js';
|
|
25
|
+
export { Spinner } from './spinner.js';
|
|
26
|
+
export { Container } from './container.js';
|
|
10
27
|
export { NumberCounter } from './number-counter.js';
|
|
11
|
-
export {
|
|
28
|
+
export { EmptyState } from './empty-state.js';
|
|
29
|
+
export { Tooltip } from './tooltip.js';
|
|
30
|
+
export { Popover } from './popover.js';
|
|
12
31
|
export { PopoverContent } from './popover-content.js';
|
|
32
|
+
export { Breadcrumb } from './breadcrumb.js';
|
|
33
|
+
export { BreadcrumbItem } from './breadcrumb-item.js';
|
|
34
|
+
export { Menu } from './menu.js';
|
|
35
|
+
export { MenuItem } from './menu-item.js';
|
|
36
|
+
export { SubMenu } from './sub-menu.js';
|
|
37
|
+
export { L as List, a as ListItem } from './list-D6JLh1uh.js';
|
|
38
|
+
export { Item } from './item.js';
|
|
13
39
|
export { CodeHighlighter } from './code-highlighter.js';
|
|
14
40
|
export { default as CodeEditor } from './code-editor.js';
|
|
15
41
|
export { HtmlEditor } from './html-editor.js';
|
|
42
|
+
export { Image } from './image.js';
|
|
43
|
+
export { Svg } from './svg.js';
|
|
44
|
+
export { Tab } from './tab.js';
|
|
45
|
+
export { TabGroup } from './tab-group.js';
|
|
46
|
+
export { TabPanel } from './tab-panel.js';
|
|
47
|
+
export { Tabs } from './tabs.js';
|
|
48
|
+
export { Slider } from './slider.js';
|
|
16
49
|
export { ChartDoughnut } from './chart-doughnut.js';
|
|
17
50
|
export { ChartPie } from './chart-pie.js';
|
|
18
51
|
export { ChartBar } from './chart-bar.js';
|
|
19
52
|
export { ChartStackedBar } from './chart-stacked-bar.js';
|
|
53
|
+
export { Table } from './table.js';
|
|
54
|
+
export { Pagination } from './pagination.js';
|
|
20
55
|
export { Card } from './card.js';
|
|
21
56
|
import './card-content.js';
|
|
22
|
-
export {
|
|
57
|
+
export { Alert } from './alert.js';
|
|
23
58
|
export { Notification } from './notification.js';
|
|
24
59
|
export { NotificationManager } from './notification-manager.js';
|
|
60
|
+
export { Snackbar } from './snackbar.js';
|
|
61
|
+
export { Radio } from './radio.js';
|
|
25
62
|
export { Modal } from './modal.js';
|
|
26
63
|
export { BottomSheet } from './bottom-sheet.js';
|
|
27
64
|
export { SideSheet } from './side-sheet.js';
|
|
65
|
+
export { SelectOptionElement } from './option.js';
|
|
28
66
|
export { Search } from './search.js';
|
|
29
67
|
export { Toolbar } from './toolbar.js';
|
|
68
|
+
export { AppBar } from './app-bar.js';
|
|
69
|
+
export { NavigationRail } from './navigation-rail.js';
|
|
70
|
+
export { NavigationRailItem } from './navigation-rail-item.js';
|
|
30
71
|
export { Calendar } from './calendar.js';
|
|
31
72
|
export { CalendarColumnView } from './calendar-column-view.js';
|
|
32
73
|
export { CalendarMonthView } from './calendar-month-view.js';
|
|
33
74
|
export { Canvas } from './canvas.js';
|
|
34
75
|
export { FlowDesigner } from './flow-designer.js';
|
|
35
|
-
export { F as FlowDesignerNode } from './flow-designer-node-
|
|
76
|
+
export { F as FlowDesignerNode } from './flow-designer-node-DsVwQTac.js';
|
|
36
77
|
export { ConditionBuilder } from './condition-builder.js';
|
|
37
78
|
export { CbPredicate } from './cb-predicate.js';
|
|
38
79
|
export { CbCompoundExpression } from './cb-compound-expression.js';
|
|
39
80
|
export { CbExpression } from './cb-expression.js';
|
|
40
81
|
export { CbDivider } from './cb-divider.js';
|
|
41
|
-
import './IndividualComponent-
|
|
42
|
-
import './property-
|
|
43
|
-
import './state-
|
|
82
|
+
import './IndividualComponent-Bdwyrvd6.js';
|
|
83
|
+
import './property-B49QQ8pS.js';
|
|
84
|
+
import './state-DkTK9EGF.js';
|
|
85
|
+
import './datasource-B2eRh6Or.js';
|
|
44
86
|
import './directive-ZPhl09Yt.js';
|
|
45
|
-
import './unsafe-html-
|
|
46
|
-
import './class-map-
|
|
47
|
-
import './observe-slot-change-
|
|
48
|
-
import './query-
|
|
49
|
-
import './
|
|
50
|
-
import './
|
|
87
|
+
import './unsafe-html-Ct0N2_UU.js';
|
|
88
|
+
import './class-map-DG7CA1et.js';
|
|
89
|
+
import './observe-slot-change-DPxaZrZF.js';
|
|
90
|
+
import './query-CHb9Ft_d.js';
|
|
91
|
+
import './base-Cl6v8-BZ.js';
|
|
92
|
+
import './if-defined-BXZpRQ4P.js';
|
|
93
|
+
import './when-DEJm_QN9.js';
|
|
94
|
+
import './is-link-Dk2OV3PM.js';
|
|
51
95
|
import './dispatch-event-utils-CuEqjlPT.js';
|
|
52
|
-
import './
|
|
53
|
-
import './
|
|
96
|
+
import './ButtonConstants-CahP2_NA.js';
|
|
97
|
+
import './element-internals-2CMts_0M.js';
|
|
98
|
+
import './form-associated-BXADnjOB.js';
|
|
99
|
+
import './hyperlink-DLvb6MXE.js';
|
|
100
|
+
import './throttle-C7ZAPqtu.js';
|
|
101
|
+
import './attachable-controller-CAKVrfcG.js';
|
|
102
|
+
import './query-assigned-elements-BJaGSqM0.js';
|
|
103
|
+
import './NativeHyperlinkMixin-D9J4aBTy.js';
|
|
104
|
+
import './style-map-BQD5Et1D.js';
|
|
105
|
+
import './spread-B5cgadZl.js';
|
|
106
|
+
import './BaseInput-CU1zZYKc.js';
|
|
107
|
+
import './floating-controller-CnUZnOhK.js';
|
|
54
108
|
import './is-dark-mode-DOcaw4Yq.js';
|
|
55
|
-
import './button-colors-DSuBHd-i.js';
|
|
56
109
|
import './transform-DSwFSqzD.js';
|
|
57
110
|
import './pie-Dz0IDiPt.js';
|
|
58
111
|
import './array-D5vjT2Xm.js';
|
|
59
|
-
import './chart-bar-
|
|
112
|
+
import './chart-bar-CYoGNXnK.js';
|
|
60
113
|
import './calendar-event-BrQ_SEKD.js';
|
|
61
|
-
import './event-manager-
|
|
114
|
+
import './event-manager-DTyX2uYD.js';
|
|
62
115
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-dark-mode-DOcaw4Yq.js","sources":["../../src/
|
|
1
|
+
{"version":3,"file":"is-dark-mode-DOcaw4Yq.js","sources":["../../src/__internal/utils/observe-theme-change.ts","../../src/__internal/utils/is-dark-mode.ts"],"sourcesContent":["type ThemeChangeCallback = () => void;\n\nexport const observeThemeChange = (() => {\n const callbacks = new Set<ThemeChangeCallback>();\n\n const observer = new MutationObserver((records) => {\n const changed = records.some(\n (r) => r.type === \"attributes\" && r.attributeName === \"data-theme\"\n );\n if (!changed) return;\n\n for (const callback of callbacks) {\n try {\n callback();\n } catch (err) {\n console.error(\"[observeThemeChange] callback threw:\", err);\n }\n }\n });\n\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"data-theme\"],\n });\n\n return (callback: ThemeChangeCallback): (() => void) => {\n callbacks.add(callback);\n return () => callbacks.delete(callback);\n };\n})();","export function isDarkMode() {\n return document.documentElement.dataset.theme === 'dark';\n}"],"names":[],"mappings":"AAEO,MAAM,kBAAkB,GAAG,CAAC,MAAK;AACtC,IAAA,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB;IAEhD,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,OAAO,KAAI;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAC1B,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,CAAC,aAAa,KAAK,YAAY,CACnE;AACD,QAAA,IAAI,CAAC,OAAO;YAAE;AAEd,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAChC,YAAA,IAAI;AACF,gBAAA,QAAQ,EAAE;YACZ;YAAE,OAAO,GAAG,EAAE;AACZ,gBAAA,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,GAAG,CAAC;YAC5D;QACF;AACF,IAAA,CAAC,CAAC;AAEF,IAAA,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE;AACzC,QAAA,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,CAAC,YAAY,CAAC;AAChC,KAAA,CAAC;IAEF,OAAO,CAAC,QAA6B,KAAkB;AACrD,QAAA,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvB,OAAO,MAAM,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzC,IAAA,CAAC;AACH,CAAC;;SC7Be,UAAU,GAAA;IACxB,OAAO,QAAQ,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,MAAM;AAC1D;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-link-Dk2OV3PM.js","sources":["../../src/__internal/utils/is-link.ts"],"sourcesContent":["export function isLink(element: any): boolean {\n return element.href !== undefined;\n}\n"],"names":[],"mappings":"AAAM,SAAU,MAAM,CAAC,OAAY,EAAA;AACjC,IAAA,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS;AACnC;;;;"}
|