@redvars/peacock 3.8.1 → 3.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BaseInput-14YmcfK7.js → BaseInput-CU1zZYKc.js} +3 -3
- package/dist/{BaseInput-14YmcfK7.js.map → BaseInput-CU1zZYKc.js.map} +1 -1
- package/dist/ButtonConstants-CahP2_NA.js +4 -0
- package/dist/ButtonConstants-CahP2_NA.js.map +1 -0
- package/dist/{IndividualComponent-DUINtMGK.js → IndividualComponent-Bdwyrvd6.js} +2 -2
- package/dist/{IndividualComponent-DUINtMGK.js.map → IndividualComponent-Bdwyrvd6.js.map} +1 -1
- package/dist/{NativeHyperlinkMixin-DrYXyfMQ.js → NativeHyperlinkMixin-D9J4aBTy.js} +4 -30
- package/dist/NativeHyperlinkMixin-D9J4aBTy.js.map +1 -0
- package/dist/accordion-item.js +338 -0
- package/dist/accordion-item.js.map +1 -0
- package/dist/accordion.js +159 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.js +190 -0
- package/dist/alert.js.map +1 -0
- package/dist/app-bar.js +324 -0
- package/dist/app-bar.js.map +1 -0
- package/dist/assets/components.css +1 -1
- package/dist/assets/components.css.map +1 -1
- package/dist/assets/styles.css +1 -1
- package/dist/assets/styles.css.map +1 -1
- package/dist/attachable-controller-CAKVrfcG.js +119 -0
- package/dist/attachable-controller-CAKVrfcG.js.map +1 -0
- package/dist/avatar.js +114 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.js +91 -0
- package/dist/badge.js.map +1 -0
- package/dist/base-Cl6v8-BZ.js +9 -0
- package/dist/base-Cl6v8-BZ.js.map +1 -0
- package/dist/bottom-sheet.js +14 -5
- package/dist/bottom-sheet.js.map +1 -1
- package/dist/breadcrumb-item.js +163 -0
- package/dist/breadcrumb-item.js.map +1 -0
- package/dist/breadcrumb.js +95 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/button-group.js +87 -137
- package/dist/button-group.js.map +1 -1
- package/dist/button.js +863 -133
- package/dist/button.js.map +1 -1
- package/dist/calendar-column-view.js +8 -4
- package/dist/calendar-column-view.js.map +1 -1
- package/dist/calendar-month-view.js +8 -4
- package/dist/calendar-month-view.js.map +1 -1
- package/dist/calendar.js +8 -4
- package/dist/calendar.js.map +1 -1
- package/dist/canvas.js +8 -4
- package/dist/canvas.js.map +1 -1
- package/dist/card-content.js +1 -1
- package/dist/card.js +23 -45
- package/dist/card.js.map +1 -1
- package/dist/cb-compound-expression.js +6 -2
- package/dist/cb-compound-expression.js.map +1 -1
- package/dist/cb-divider.js +7 -3
- package/dist/cb-divider.js.map +1 -1
- package/dist/cb-expression.js +6 -2
- package/dist/cb-expression.js.map +1 -1
- package/dist/cb-predicate.js +7 -3
- package/dist/cb-predicate.js.map +1 -1
- package/dist/{chart-bar-cn6rrna-.js → chart-bar-CYoGNXnK.js} +6 -2
- package/dist/{chart-bar-cn6rrna-.js.map → chart-bar-CYoGNXnK.js.map} +1 -1
- package/dist/chart-bar.js +7 -6
- package/dist/chart-bar.js.map +1 -1
- package/dist/chart-doughnut.js +8 -3
- package/dist/chart-doughnut.js.map +1 -1
- package/dist/chart-pie.js +8 -3
- package/dist/chart-pie.js.map +1 -1
- package/dist/chart-stacked-bar.js +7 -6
- package/dist/chart-stacked-bar.js.map +1 -1
- package/dist/checkbox.js +526 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chip.js +459 -0
- package/dist/chip.js.map +1 -0
- package/dist/{class-map-YU7g0o3B.js → class-map-DG7CA1et.js} +2 -2
- package/dist/{class-map-YU7g0o3B.js.map → class-map-DG7CA1et.js.map} +1 -1
- package/dist/clock.js +6 -2
- package/dist/clock.js.map +1 -1
- package/dist/code-editor.js +45 -30
- package/dist/code-editor.js.map +1 -1
- package/dist/code-highlighter.js +9 -5
- package/dist/code-highlighter.js.map +1 -1
- package/dist/condition-builder.js +5 -1
- package/dist/condition-builder.js.map +1 -1
- package/dist/container.js +141 -0
- package/dist/container.js.map +1 -0
- package/dist/custom-elements-jsdocs.json +721 -769
- package/dist/custom-elements.json +3213 -1979
- package/dist/datasource-B2eRh6Or.js +108 -0
- package/dist/datasource-B2eRh6Or.js.map +1 -0
- package/dist/dispatch-event-utils-CuEqjlPT.js.map +1 -1
- package/dist/divider.js +135 -0
- package/dist/divider.js.map +1 -0
- package/dist/dropdown-button.js +11 -6
- package/dist/dropdown-button.js.map +1 -1
- package/dist/element-internals-2CMts_0M.js +290 -0
- package/dist/element-internals-2CMts_0M.js.map +1 -0
- package/dist/elevation.js +94 -0
- package/dist/elevation.js.map +1 -0
- package/dist/empty-state.js +194 -0
- package/dist/empty-state.js.map +1 -0
- package/dist/{event-manager-D-QCmUgR.js → event-manager-DTyX2uYD.js} +2 -2
- package/dist/{event-manager-D-QCmUgR.js.map → event-manager-DTyX2uYD.js.map} +1 -1
- package/dist/fab.js +138 -145
- package/dist/fab.js.map +1 -1
- package/dist/field.js +461 -0
- package/dist/field.js.map +1 -0
- package/dist/{popover-DUPmMVWS.js → floating-controller-CnUZnOhK.js} +2 -171
- package/dist/floating-controller-CnUZnOhK.js.map +1 -0
- package/dist/{flow-designer-node-BWrPuxAR.js → flow-designer-node-DsVwQTac.js} +7 -3
- package/dist/{flow-designer-node-BWrPuxAR.js.map → flow-designer-node-DsVwQTac.js.map} +1 -1
- package/dist/flow-designer-node.js +3 -3
- package/dist/flow-designer.js +19 -12
- package/dist/flow-designer.js.map +1 -1
- package/dist/focus-ring.js +126 -0
- package/dist/focus-ring.js.map +1 -0
- package/dist/form-associated-BXADnjOB.js +388 -0
- package/dist/form-associated-BXADnjOB.js.map +1 -0
- package/dist/html-editor.js +21 -9
- package/dist/html-editor.js.map +1 -1
- package/dist/hyperlink-DLvb6MXE.js +98 -0
- package/dist/hyperlink-DLvb6MXE.js.map +1 -0
- package/dist/icon-button.js +1064 -0
- package/dist/icon-button.js.map +1 -0
- package/dist/icon.js +170 -0
- package/dist/icon.js.map +1 -0
- package/dist/if-defined-BXZpRQ4P.js +10 -0
- package/dist/if-defined-BXZpRQ4P.js.map +1 -0
- package/dist/image.js +201 -0
- package/dist/image.js.map +1 -0
- package/dist/index.js +73 -20
- package/dist/index.js.map +1 -1
- package/dist/is-dark-mode-DOcaw4Yq.js.map +1 -1
- package/dist/is-link-Dk2OV3PM.js +6 -0
- package/dist/is-link-Dk2OV3PM.js.map +1 -0
- package/dist/item.js +212 -0
- package/dist/item.js.map +1 -0
- package/dist/link.js +75 -0
- package/dist/link.js.map +1 -0
- package/dist/list-D6JLh1uh.js +352 -0
- package/dist/list-D6JLh1uh.js.map +1 -0
- package/dist/list.js +14 -0
- package/dist/list.js.map +1 -0
- package/dist/{peacock-loader.js → loader.js} +83 -22
- package/dist/loader.js.map +1 -0
- package/dist/menu-item.js +318 -0
- package/dist/menu-item.js.map +1 -0
- package/dist/menu.js +534 -0
- package/dist/menu.js.map +1 -0
- package/dist/modal.js +9 -5
- package/dist/modal.js.map +1 -1
- package/dist/navigation-rail-item.js +385 -0
- package/dist/navigation-rail-item.js.map +1 -0
- package/dist/navigation-rail.js +217 -0
- package/dist/navigation-rail.js.map +1 -0
- package/dist/notification-manager.js +8 -4
- package/dist/notification-manager.js.map +1 -1
- package/dist/notification.js +8 -4
- package/dist/notification.js.map +1 -1
- package/dist/number-counter.js +7 -3
- package/dist/number-counter.js.map +1 -1
- package/dist/{observe-slot-change-D8Xg-kSS.js → observe-slot-change-DPxaZrZF.js} +3 -4
- package/dist/observe-slot-change-DPxaZrZF.js.map +1 -0
- package/dist/option.js +121 -0
- package/dist/option.js.map +1 -0
- package/dist/pagination.js +255 -0
- package/dist/pagination.js.map +1 -0
- package/dist/popover-content.js +7 -3
- package/dist/popover-content.js.map +1 -1
- package/dist/popover.js +175 -3
- package/dist/popover.js.map +1 -1
- package/dist/{property-1psGvXOq.js → property-B49QQ8pS.js} +2 -2
- package/dist/{property-1psGvXOq.js.map → property-B49QQ8pS.js.map} +1 -1
- package/dist/query-CHb9Ft_d.js +10 -0
- package/dist/query-CHb9Ft_d.js.map +1 -0
- package/dist/query-assigned-elements-BJaGSqM0.js +10 -0
- package/dist/query-assigned-elements-BJaGSqM0.js.map +1 -0
- package/dist/radio.js +476 -0
- package/dist/radio.js.map +1 -0
- package/dist/ripple.js +506 -0
- package/dist/ripple.js.map +1 -0
- package/dist/search.js +12 -7
- package/dist/search.js.map +1 -1
- package/dist/segmented-button-group.js +137 -0
- package/dist/segmented-button-group.js.map +1 -0
- package/dist/segmented-button.js +289 -0
- package/dist/segmented-button.js.map +1 -0
- package/dist/select-Dwtk0RIU.js +3937 -0
- package/dist/select-Dwtk0RIU.js.map +1 -0
- package/dist/side-sheet.js +8 -4
- package/dist/side-sheet.js.map +1 -1
- package/dist/skeleton.js +122 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.js +346 -0
- package/dist/slider.js.map +1 -0
- package/dist/snackbar.js +335 -0
- package/dist/snackbar.js.map +1 -0
- package/dist/spinner.js +100 -0
- package/dist/spinner.js.map +1 -0
- package/dist/split-button.js +10 -5
- package/dist/split-button.js.map +1 -1
- package/dist/spread-B5cgadZl.js +32 -0
- package/dist/spread-B5cgadZl.js.map +1 -0
- package/dist/src/__internal/aria/aria.d.ts +98 -0
- package/dist/src/__internal/aria/delegate.d.ts +54 -0
- package/dist/src/__internal/events/dispatch-hooks.d.ts +80 -0
- package/dist/src/__internal/mixins/element-internals.d.ts +40 -0
- package/dist/src/__internal/mixins/form-associated.d.ts +174 -0
- package/dist/src/__internal/mixins/form-submitter.d.ts +59 -0
- package/dist/src/__internal/mixins/hyperlink.d.ts +42 -0
- package/dist/src/__internal/mixins/mixin.d.ts +49 -0
- package/dist/src/{__utils → __internal/utils}/observe-slot-change.d.ts +1 -0
- package/dist/src/accordion/accordion-item.d.ts +3 -1
- package/dist/src/accordion/accordion.d.ts +1 -1
- package/dist/src/alert/alert.d.ts +43 -0
- package/dist/src/alert/index.d.ts +1 -0
- package/dist/src/app-bar/app-bar.d.ts +92 -0
- package/dist/src/app-bar/index.d.ts +1 -0
- package/dist/src/avatar/avatar.d.ts +2 -0
- package/dist/src/bottom-sheet/bottom-sheet.d.ts +1 -1
- package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +1 -0
- package/dist/src/button/ButtonTypes.d.ts +5 -0
- package/dist/src/button/base-button/base-button.d.ts +18 -0
- package/dist/src/button/button/button.d.ts +29 -37
- package/dist/src/button/button-group/button-group.d.ts +17 -18
- package/dist/src/{fab → button/fab}/fab.d.ts +8 -26
- package/dist/src/button/icon-button/icon-button.d.ts +20 -27
- package/dist/src/button/index.d.ts +1 -0
- package/dist/src/calendar/calendar.d.ts +1 -1
- package/dist/src/canvas/canvas.d.ts +1 -1
- package/dist/src/card/card.d.ts +5 -6
- package/dist/src/chart-bar/chart-bar.d.ts +1 -1
- package/dist/src/chart-bar/chart-stacked-bar.d.ts +1 -1
- package/dist/src/checkbox/checkbox.d.ts +5 -1
- package/dist/src/chip/chip/chip.d.ts +9 -8
- package/dist/src/container/container.d.ts +5 -1
- package/dist/src/divider/divider.d.ts +2 -0
- package/dist/src/empty-state/empty-state.d.ts +1 -0
- package/dist/src/field/field.d.ts +19 -1
- package/dist/src/focus-ring/focus-ring.d.ts +3 -7
- package/dist/src/html-editor/html-editor.d.ts +1 -1
- package/dist/src/icon/icon.d.ts +9 -4
- package/dist/src/image/image.d.ts +4 -0
- package/dist/src/index.d.ts +7 -6
- package/dist/src/item/item.d.ts +20 -29
- package/dist/src/link/link.d.ts +1 -1
- package/dist/src/list/list-item.d.ts +7 -5
- package/dist/src/list/list.d.ts +3 -2
- package/dist/src/menu/menu/menu.d.ts +14 -0
- package/dist/src/menu/menu-item/menu-item.d.ts +10 -2
- package/dist/src/modal/modal.d.ts +1 -1
- package/dist/src/navigation-rail/navigation-rail-item.d.ts +5 -4
- package/dist/src/navigation-rail/navigation-rail.d.ts +1 -1
- package/dist/src/radio/radio.d.ts +5 -0
- package/dist/src/ripple/ripple.d.ts +10 -1
- package/dist/src/search/search.d.ts +1 -1
- package/dist/src/segmented-button/segmented-button-group.d.ts +2 -2
- package/dist/src/segmented-button/segmented-button.d.ts +2 -0
- package/dist/src/side-sheet/side-sheet.d.ts +1 -1
- package/dist/src/skeleton/skeleton.d.ts +1 -0
- package/dist/src/slider/slider.d.ts +1 -0
- package/dist/src/snackbar/snackbar.d.ts +12 -2
- package/dist/src/svg/svg.d.ts +5 -0
- package/dist/src/table/table.d.ts +5 -0
- package/dist/src/tabs/tab.d.ts +2 -7
- package/dist/src/toolbar/toolbar.d.ts +2 -2
- package/dist/{state-DwbEjqVk.js → state-DkTK9EGF.js} +2 -2
- package/dist/{state-DwbEjqVk.js.map → state-DkTK9EGF.js.map} +1 -1
- package/dist/{style-map-DVmWOuYy.js → style-map-BQD5Et1D.js} +2 -2
- package/dist/{style-map-DVmWOuYy.js.map → style-map-BQD5Et1D.js.map} +1 -1
- package/dist/sub-menu.js +241 -0
- package/dist/sub-menu.js.map +1 -0
- package/dist/svg.js +273 -0
- package/dist/svg.js.map +1 -0
- package/dist/tab-group.js +188 -0
- package/dist/tab-group.js.map +1 -0
- package/dist/tab-panel.js +61 -0
- package/dist/tab-panel.js.map +1 -0
- package/dist/tab.js +658 -0
- package/dist/tab.js.map +1 -0
- package/dist/table.js +620 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.js +240 -0
- package/dist/tabs.js.map +1 -0
- package/dist/throttle-C7ZAPqtu.js +24 -0
- package/dist/throttle-C7ZAPqtu.js.map +1 -0
- package/dist/toolbar.js +9 -5
- package/dist/toolbar.js.map +1 -1
- package/dist/tooltip.js +270 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/{unsafe-html-BsGUjx94.js → unsafe-html-Ct0N2_UU.js} +2 -2
- package/dist/{unsafe-html-BsGUjx94.js.map → unsafe-html-Ct0N2_UU.js.map} +1 -1
- package/dist/when-DEJm_QN9.js +9 -0
- package/dist/when-DEJm_QN9.js.map +1 -0
- package/package.json +4 -2
- package/readme.md +3 -3
- package/scss/mixin.scss +8 -6
- package/src/__internal/aria/aria.ts +293 -0
- package/src/__internal/aria/delegate.ts +206 -0
- package/src/__internal/events/dispatch-hooks.ts +182 -0
- package/src/__internal/mixins/element-internals.ts +73 -0
- package/src/__internal/mixins/form-associated.ts +295 -0
- package/src/__internal/mixins/form-submitter.ts +133 -0
- package/src/__internal/mixins/hyperlink.ts +71 -0
- package/src/__internal/mixins/mixin.ts +58 -0
- package/src/{__utils → __internal/utils}/observe-slot-change.ts +2 -5
- package/src/accordion/accordion-item.ts +6 -2
- package/src/accordion/accordion.ts +4 -2
- package/src/accordion/demo/index.html +95 -90
- package/src/alert/alert.scss +82 -0
- package/src/{banner/banner.ts → alert/alert.ts} +22 -22
- package/src/alert/index.ts +1 -0
- package/src/app-bar/app-bar-colors.scss +17 -0
- package/src/app-bar/app-bar.scss +165 -0
- package/src/app-bar/app-bar.ts +155 -0
- package/src/app-bar/index.ts +1 -0
- package/src/avatar/avatar.ts +4 -0
- package/src/badge/badge.ts +2 -0
- package/src/bottom-sheet/bottom-sheet.ts +8 -2
- package/src/breadcrumb/breadcrumb/breadcrumb.ts +2 -0
- package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +3 -0
- package/src/button/ButtonTypes.ts +17 -0
- package/src/button/base-button/base-button.ts +85 -0
- package/src/button/button/button-base.scss +306 -0
- package/src/button/button/button-colors.scss +27 -32
- package/src/button/button/button-layers.scss +126 -39
- package/src/button/button/button-shapes.scss +73 -0
- package/src/button/button/button.scss +12 -286
- package/src/button/button/button.ts +174 -194
- package/src/button/button-group/button-group.scss +43 -36
- package/src/button/button-group/button-group.ts +26 -137
- package/src/{fab → button/fab}/fab-colors.scss +0 -10
- package/src/button/fab/fab-sizes.scss +37 -0
- package/src/button/fab/fab.scss +172 -0
- package/src/{fab → button/fab}/fab.ts +69 -105
- package/src/button/icon-button/icon-button-sizes.scss +18 -3
- package/src/button/icon-button/icon-button.scss +5 -0
- package/src/button/icon-button/icon-button.ts +111 -141
- package/src/button/index.ts +7 -0
- package/src/calendar/calendar.ts +2 -2
- package/src/canvas/canvas.ts +2 -2
- package/src/card/card.scss +3 -3
- package/src/card/card.ts +20 -40
- package/src/chart-bar/chart-bar.ts +2 -2
- package/src/chart-bar/chart-stacked-bar.ts +2 -2
- package/src/checkbox/checkbox.ts +12 -4
- package/src/chip/chip/chip.scss +1 -1
- package/src/chip/chip/chip.ts +35 -55
- package/src/chip/demo/index.html +30 -26
- package/src/code-editor/code-editor.ts +68 -58
- package/src/code-editor/demo/index.html +32 -27
- package/src/code-highlighter/code-highlighter.ts +1 -1
- package/src/code-highlighter/demo/index.html +24 -21
- package/src/container/container.ts +8 -2
- package/src/date-picker/date-picker.ts +2 -3
- package/src/divider/divider.ts +5 -1
- package/src/dropdown-button/demo/index.html +106 -101
- package/src/dropdown-button/dropdown-button.ts +1 -1
- package/src/elevation/elevation.ts +2 -0
- package/src/empty-state/empty-state.ts +3 -0
- package/src/field/field.ts +52 -33
- package/src/focus-ring/focus-ring.ts +5 -7
- package/src/html-editor/html-editor.ts +28 -16
- package/src/icon/datasource.ts +1 -1
- package/src/icon/icon.ts +27 -15
- package/src/image/image.ts +18 -6
- package/src/index.ts +24 -6
- package/src/input/input.ts +2 -2
- package/src/item/item.scss +126 -162
- package/src/item/item.ts +70 -323
- package/src/link/link.ts +3 -1
- package/src/list/list-item.scss +43 -31
- package/src/list/list-item.ts +79 -75
- package/src/list/list.scss +1 -13
- package/src/list/list.ts +6 -3
- package/src/{peacock-loader.ts → loader.ts} +91 -79
- package/src/menu/menu/menu.scss +14 -11
- package/src/menu/menu/menu.ts +20 -8
- package/src/menu/menu-item/menu-item.scss +35 -3
- package/src/menu/menu-item/menu-item.ts +40 -34
- package/src/menu/sub-menu/sub-menu.ts +3 -0
- package/src/modal/modal.ts +2 -2
- package/src/navigation-rail/navigation-rail-item.ts +21 -36
- package/src/navigation-rail/navigation-rail.scss +1 -0
- package/src/navigation-rail/navigation-rail.ts +4 -2
- package/src/number-field/number-field.ts +2 -2
- package/src/pagination/pagination.ts +2 -0
- package/src/popover/popover.ts +3 -3
- package/src/radio/radio.ts +13 -5
- package/src/ripple/ripple.ts +14 -1
- package/src/search/search.ts +3 -3
- package/src/segmented-button/segmented-button-group.ts +8 -4
- package/src/segmented-button/segmented-button.ts +4 -0
- package/src/select/option.ts +2 -0
- package/src/side-sheet/side-sheet.ts +2 -2
- package/src/sidebar-menu/sidebar-menu-item.ts +3 -2
- package/src/skeleton/skeleton.ts +3 -0
- package/src/slider/slider.ts +4 -1
- package/src/snackbar/snackbar.ts +40 -25
- package/src/spinner/spinner.ts +2 -0
- package/src/svg/svg.ts +27 -9
- package/src/switch/switch.ts +1 -1
- package/src/table/table.ts +16 -3
- package/src/tabs/demo/index.html +79 -79
- package/src/tabs/tab-group.ts +2 -0
- package/src/tabs/tab-panel.ts +2 -0
- package/src/tabs/tab.scss +4 -4
- package/src/tabs/tab.ts +16 -39
- package/src/tabs/tabs.ts +2 -0
- package/src/textarea/textarea.ts +2 -2
- package/src/time-picker/time-picker.ts +2 -2
- package/src/toolbar/toolbar.ts +3 -3
- package/src/tooltip/tooltip.ts +14 -8
- package/src/url-field/url-field.ts +2 -3
- package/dist/ButtonConstants-D06bY4uy.js +0 -114
- package/dist/ButtonConstants-D06bY4uy.js.map +0 -1
- package/dist/NativeHyperlinkMixin-DrYXyfMQ.js.map +0 -1
- package/dist/banner.js +0 -186
- package/dist/banner.js.map +0 -1
- package/dist/button-colors-D7sJyPy8.js +0 -586
- package/dist/button-colors-D7sJyPy8.js.map +0 -1
- package/dist/icon-CueRR7wx.js +0 -260
- package/dist/icon-CueRR7wx.js.map +0 -1
- package/dist/icon-button-CAzYr_qr.js +0 -318
- package/dist/icon-button-CAzYr_qr.js.map +0 -1
- package/dist/navigation-rail-CM_svs5_.js +0 -14184
- package/dist/navigation-rail-CM_svs5_.js.map +0 -1
- package/dist/observe-slot-change-D8Xg-kSS.js.map +0 -1
- package/dist/peacock-loader.js.map +0 -1
- package/dist/popover-DUPmMVWS.js.map +0 -1
- package/dist/query-QBcUV-L_.js +0 -15
- package/dist/query-QBcUV-L_.js.map +0 -1
- package/dist/src/banner/banner.d.ts +0 -43
- package/dist/src/banner/index.d.ts +0 -1
- package/dist/src/button/GroupButtonInterface.d.ts +0 -4
- package/src/banner/banner.scss +0 -82
- package/src/banner/index.ts +0 -1
- package/src/button/GroupButtonInterface.ts +0 -4
- package/src/button/button/only-button.scss +0 -13
- package/src/fab/fab-sizes.scss +0 -37
- package/src/fab/fab.scss +0 -143
- /package/dist/src/{__controllers → __internal/controllers}/attachable-controller.d.ts +0 -0
- /package/dist/src/{__controllers → __internal/controllers}/floating-controller.d.ts +0 -0
- /package/dist/src/{__directive → __internal/directive}/spread.d.ts +0 -0
- /package/dist/src/{__mixins → __internal/mixins}/MixinConstructor.d.ts +0 -0
- /package/dist/src/{__mixins → __internal/mixins}/NativeButtonMixin.d.ts +0 -0
- /package/dist/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/cache-fetch.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/copy-to-clipboard.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/dispatch-event-utils.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/is-dark-mode.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/is-in-viewport.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/is-link.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/observe-theme-change.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/sanitize-svg.d.ts +0 -0
- /package/dist/src/{__utils → __internal/utils}/throttle.d.ts +0 -0
- /package/dist/src/{fab → button/fab}/index.d.ts +0 -0
- /package/dist/src/{peacock-loader.d.ts → loader.d.ts} +0 -0
- /package/dist/test/{banner.test.d.ts → alert.test.d.ts} +0 -0
- /package/src/{__controllers → __internal/controllers}/attachable-controller.ts +0 -0
- /package/src/{__controllers → __internal/controllers}/floating-controller.ts +0 -0
- /package/src/{__directive → __internal/directive}/spread.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/MixinConstructor.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/NativeButtonMixin.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/NativeHyperlinkMixin.ts +0 -0
- /package/src/{__mixins → __internal/mixins}/README.md +0 -0
- /package/src/{__utils → __internal/utils}/cache-fetch.ts +0 -0
- /package/src/{__utils → __internal/utils}/copy-to-clipboard.ts +0 -0
- /package/src/{__utils → __internal/utils}/dispatch-event-utils.ts +0 -0
- /package/src/{__utils → __internal/utils}/is-dark-mode.ts +0 -0
- /package/src/{__utils → __internal/utils}/is-in-viewport.ts +0 -0
- /package/src/{__utils → __internal/utils}/is-link.ts +0 -0
- /package/src/{__utils → __internal/utils}/observe-theme-change.ts +0 -0
- /package/src/{__utils → __internal/utils}/sanitize-svg.ts +0 -0
- /package/src/{__utils → __internal/utils}/throttle.ts +0 -0
- /package/src/{fab → button/fab}/index.ts +0 -0
package/dist/field.js
ADDED
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
import { i, a 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 './class-map-DG7CA1et.js';
|
|
5
|
+
import { o as observerSlotChangesWithCallback } from './observe-slot-change-DPxaZrZF.js';
|
|
6
|
+
import './directive-ZPhl09Yt.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
|
+
--field-height: unset;
|
|
22
|
+
--field-padding-block: unset;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.field {
|
|
26
|
+
position: relative;
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
--_container-shape-start-start: var(--field-container-shape-start-start, var(--shape-corner-extra-small));
|
|
30
|
+
--_container-shape-start-end: var(--field-container-shape-start-end, var(--shape-corner-extra-small));
|
|
31
|
+
--_container-shape-end-start: var(--field-container-shape-end-start, var(--shape-corner-extra-small));
|
|
32
|
+
--_container-shape-end-end: var(--field-container-shape-end-end, var(--shape-corner-extra-small));
|
|
33
|
+
--_container-color: var(--field-container-color);
|
|
34
|
+
--_outline-width: var(--field-outline-width, 0.0675rem);
|
|
35
|
+
--_outline-color: var(--field-outline-color, var(--color-outline));
|
|
36
|
+
--_input-text-color: var(--field-label-text-color, var(--color-on-surface));
|
|
37
|
+
--_helper-text-color: var(--field-helper-text-color, var(--color-on-surface-variant));
|
|
38
|
+
--_helper-text-opacity: unset;
|
|
39
|
+
--_label-text-color: var(--field-label-text-color, var(--color-primary));
|
|
40
|
+
}
|
|
41
|
+
.field .field-header {
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
margin-block-end: var(--spacing-100);
|
|
45
|
+
justify-content: space-between;
|
|
46
|
+
gap: var(--spacing-100);
|
|
47
|
+
}
|
|
48
|
+
.field .field-header .label {
|
|
49
|
+
position: relative;
|
|
50
|
+
font-family: var(--typography-body-small-font-family) !important;
|
|
51
|
+
font-size: var(--typography-body-small-font-size) !important;
|
|
52
|
+
font-weight: var(--typography-body-small-font-weight) !important;
|
|
53
|
+
line-height: var(--typography-body-small-line-height) !important;
|
|
54
|
+
letter-spacing: var(--typography-body-small-letter-spacing) !important;
|
|
55
|
+
color: var(--_label-text-color);
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
white-space: nowrap;
|
|
58
|
+
text-overflow: ellipsis;
|
|
59
|
+
}
|
|
60
|
+
.field .field-header .label .required {
|
|
61
|
+
color: var(--color-error);
|
|
62
|
+
padding-inline-start: var(--spacing-025);
|
|
63
|
+
}
|
|
64
|
+
.field .field-body {
|
|
65
|
+
position: relative;
|
|
66
|
+
display: flex;
|
|
67
|
+
cursor: text;
|
|
68
|
+
}
|
|
69
|
+
.field .field-body .outline {
|
|
70
|
+
position: absolute;
|
|
71
|
+
z-index: 2;
|
|
72
|
+
left: 0;
|
|
73
|
+
width: 100%;
|
|
74
|
+
height: 100%;
|
|
75
|
+
pointer-events: none;
|
|
76
|
+
border: var(--_outline-width) solid var(--_outline-color);
|
|
77
|
+
opacity: var(--_outline-opacity, 1);
|
|
78
|
+
border-start-start-radius: var(--_container-shape-start-start);
|
|
79
|
+
border-start-end-radius: var(--_container-shape-start-end);
|
|
80
|
+
border-end-start-radius: var(--_container-shape-end-start);
|
|
81
|
+
border-end-end-radius: var(--_container-shape-end-end);
|
|
82
|
+
}
|
|
83
|
+
.field .field-body .background {
|
|
84
|
+
position: absolute;
|
|
85
|
+
z-index: 0;
|
|
86
|
+
left: 0;
|
|
87
|
+
width: 100%;
|
|
88
|
+
height: 100%;
|
|
89
|
+
pointer-events: none;
|
|
90
|
+
background-color: var(--_container-color);
|
|
91
|
+
opacity: var(--_container-opacity, 1);
|
|
92
|
+
border-start-start-radius: var(--_container-shape-start-start);
|
|
93
|
+
border-start-end-radius: var(--_container-shape-start-end);
|
|
94
|
+
border-end-start-radius: var(--_container-shape-end-start);
|
|
95
|
+
border-end-end-radius: var(--_container-shape-end-end);
|
|
96
|
+
}
|
|
97
|
+
.field .field-body .field-content {
|
|
98
|
+
display: flex;
|
|
99
|
+
align-items: center;
|
|
100
|
+
flex: 1;
|
|
101
|
+
min-height: var(--field-height, 3.5rem);
|
|
102
|
+
padding-block: var(--field-padding-block);
|
|
103
|
+
z-index: 1;
|
|
104
|
+
}
|
|
105
|
+
.field .field-body .field-content .input-wrapper {
|
|
106
|
+
flex: 1;
|
|
107
|
+
padding-inline: var(--spacing-200);
|
|
108
|
+
position: relative;
|
|
109
|
+
}
|
|
110
|
+
.field .field-body .field-content .input-wrapper .outlined-label {
|
|
111
|
+
position: absolute;
|
|
112
|
+
top: 0;
|
|
113
|
+
left: 0;
|
|
114
|
+
align-items: center;
|
|
115
|
+
height: 100%;
|
|
116
|
+
width: 100%;
|
|
117
|
+
padding-inline: var(--spacing-200);
|
|
118
|
+
font-family: var(--typography-body-large-font-family) !important;
|
|
119
|
+
font-size: var(--typography-body-large-font-size) !important;
|
|
120
|
+
font-weight: var(--typography-body-large-font-weight) !important;
|
|
121
|
+
line-height: var(--typography-body-large-line-height) !important;
|
|
122
|
+
letter-spacing: var(--typography-body-large-letter-spacing) !important;
|
|
123
|
+
color: var(--_input-text-color);
|
|
124
|
+
background-color: var(--_container-color);
|
|
125
|
+
opacity: var(--_container-opacity, 1);
|
|
126
|
+
}
|
|
127
|
+
.field .field-body .field-content .input-wrapper .outlined-slot-container {
|
|
128
|
+
opacity: 0;
|
|
129
|
+
}
|
|
130
|
+
.field .field-body .field-content slot::slotted(*) {
|
|
131
|
+
font-family: var(--typography-body-large-font-family) !important;
|
|
132
|
+
font-size: var(--typography-body-large-font-size) !important;
|
|
133
|
+
font-weight: var(--typography-body-large-font-weight) !important;
|
|
134
|
+
line-height: var(--typography-body-large-line-height) !important;
|
|
135
|
+
letter-spacing: var(--typography-body-large-letter-spacing) !important;
|
|
136
|
+
color: var(--_input-text-color);
|
|
137
|
+
--icon-size: 1.25rem;
|
|
138
|
+
--icon-color: var(--_input-text-color);
|
|
139
|
+
}
|
|
140
|
+
.field .field-body .field-content slot::slotted(input::placeholder) {
|
|
141
|
+
color: var(--color-on-surface-variant);
|
|
142
|
+
}
|
|
143
|
+
.field .field-body .field-content .slot-start-wrapper.has-content {
|
|
144
|
+
margin-inline-start: 0.75rem;
|
|
145
|
+
display: flex;
|
|
146
|
+
align-items: center;
|
|
147
|
+
gap: 0.5rem;
|
|
148
|
+
}
|
|
149
|
+
.field .field-body .field-content .slot-end-wrapper.has-content {
|
|
150
|
+
margin-inline-end: 0.75rem;
|
|
151
|
+
display: flex;
|
|
152
|
+
align-items: center;
|
|
153
|
+
gap: 0.5rem;
|
|
154
|
+
}
|
|
155
|
+
.field .field-footer {
|
|
156
|
+
display: flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
justify-content: space-between;
|
|
159
|
+
gap: var(--spacing-200);
|
|
160
|
+
margin-block-start: var(--spacing-050);
|
|
161
|
+
padding-inline: var(--spacing-200);
|
|
162
|
+
}
|
|
163
|
+
.field .field-footer .helper, .field .field-footer .text-count {
|
|
164
|
+
position: relative;
|
|
165
|
+
font-family: var(--typography-body-large-font-family) !important;
|
|
166
|
+
font-size: var(--typography-body-large-font-size) !important;
|
|
167
|
+
font-weight: var(--typography-body-large-font-weight) !important;
|
|
168
|
+
line-height: var(--typography-body-large-line-height) !important;
|
|
169
|
+
letter-spacing: var(--typography-body-large-letter-spacing) !important;
|
|
170
|
+
color: var(--_helper-text-color);
|
|
171
|
+
opacity: var(--_helper-text-opacity);
|
|
172
|
+
}
|
|
173
|
+
.field.focused {
|
|
174
|
+
--_outline-color: var(--color-primary);
|
|
175
|
+
--_outline-width: 0.125rem;
|
|
176
|
+
}
|
|
177
|
+
.field.has-error {
|
|
178
|
+
--_label-text-color: var(--color-error);
|
|
179
|
+
--_outline-color: var(--color-error);
|
|
180
|
+
--_helper-text-color: var(--color-error);
|
|
181
|
+
--_input-text-color: var(--color-error);
|
|
182
|
+
}
|
|
183
|
+
.field.has-warning {
|
|
184
|
+
--_label-text-color: var(--color-warning);
|
|
185
|
+
--_outline-color: var(--color-warning);
|
|
186
|
+
--_helper-text-color: var(--color-warning);
|
|
187
|
+
--_input-text-color: var(--color-warning);
|
|
188
|
+
}
|
|
189
|
+
.field.disabled .label {
|
|
190
|
+
opacity: 0.38;
|
|
191
|
+
}
|
|
192
|
+
.field.disabled {
|
|
193
|
+
--_input-text-color: var(--color-on-surface-variant);
|
|
194
|
+
--_outline-opacity: 0.38;
|
|
195
|
+
--_helper-text-opacity: 0.38;
|
|
196
|
+
--_container-color: var(--color-on-surface);
|
|
197
|
+
--_container-opacity: 0.1;
|
|
198
|
+
cursor: not-allowed;
|
|
199
|
+
}
|
|
200
|
+
.field.readonly {
|
|
201
|
+
cursor: initial;
|
|
202
|
+
--_input-text-color: var(--color-on-surface-variant);
|
|
203
|
+
--_outline-opacity: 0.38;
|
|
204
|
+
--_helper-text-opacity: 0.38;
|
|
205
|
+
--_container-color: var(--color-on-surface);
|
|
206
|
+
--_container-opacity: 0.38;
|
|
207
|
+
}
|
|
208
|
+
.field.show-skeleton .skeleton {
|
|
209
|
+
display: block;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
.skeleton {
|
|
213
|
+
display: none;
|
|
214
|
+
width: 100%;
|
|
215
|
+
height: 100%;
|
|
216
|
+
z-index: 2;
|
|
217
|
+
position: absolute;
|
|
218
|
+
top: 0;
|
|
219
|
+
left: 0;
|
|
220
|
+
--skeleton-container-shape-start-start: var(--_container-shape-start-start);
|
|
221
|
+
--skeleton-container-shape-start-end: var(--_container-shape-start-end);
|
|
222
|
+
--skeleton-container-shape-end-start: var(--_container-shape-end-start);
|
|
223
|
+
--skeleton-container-shape-end-end: var(--_container-shape-end-end);
|
|
224
|
+
}`;
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* @label Field
|
|
228
|
+
* @tag wc-field
|
|
229
|
+
* @rawTag field
|
|
230
|
+
*
|
|
231
|
+
* @summary Wrapper for form fields with label and help text.
|
|
232
|
+
* @overview
|
|
233
|
+
* <p>Field provides consistent styling and behavior for form inputs.</p>
|
|
234
|
+
*
|
|
235
|
+
* @example
|
|
236
|
+
* ```html
|
|
237
|
+
* <wc-field label="Name" required>
|
|
238
|
+
* some text
|
|
239
|
+
* </wc-field>
|
|
240
|
+
* ```
|
|
241
|
+
* @tags form
|
|
242
|
+
*/
|
|
243
|
+
let Field = class Field extends i$1 {
|
|
244
|
+
constructor() {
|
|
245
|
+
super(...arguments);
|
|
246
|
+
/** Label text shown above the field input. */
|
|
247
|
+
this.label = '';
|
|
248
|
+
/** Help text (deprecated — prefer `helperText`). */
|
|
249
|
+
this.help = '';
|
|
250
|
+
/** When true, marks the field as required and shows a required indicator. */
|
|
251
|
+
this.required = false;
|
|
252
|
+
/** When true, the field and its slotted input are disabled. */
|
|
253
|
+
this.disabled = false;
|
|
254
|
+
/** When true, the field and its slotted input are read-only. */
|
|
255
|
+
this.readonly = false;
|
|
256
|
+
/** When true, renders the field in a loading skeleton state. */
|
|
257
|
+
this.skeleton = false;
|
|
258
|
+
/** Helper/hint text shown in the field footer. */
|
|
259
|
+
this.helperText = '';
|
|
260
|
+
/** When true, the field is in an error state and `errorText` is shown. */
|
|
261
|
+
this.error = false;
|
|
262
|
+
/** Error message displayed when `error` is true. */
|
|
263
|
+
this.errorText = '';
|
|
264
|
+
/** When true, the field is in a warning state and `warningText` is shown. */
|
|
265
|
+
this.warning = false;
|
|
266
|
+
/** Warning message displayed when `warning` is true. */
|
|
267
|
+
this.warningText = '';
|
|
268
|
+
/** Character / word count string displayed at the trailing end of the footer. */
|
|
269
|
+
this.textCount = '';
|
|
270
|
+
/** When true, applies focused styling (controlled externally by the slotted input). */
|
|
271
|
+
this.focused = false;
|
|
272
|
+
/** When true, applies populated styling (controlled externally by the slotted input). */
|
|
273
|
+
this.populated = false;
|
|
274
|
+
/** Visual variant of the field container. */
|
|
275
|
+
this.variant = 'default';
|
|
276
|
+
/** True when the `field-start` slot contains at least one node. */
|
|
277
|
+
this.slotStartHasContent = false;
|
|
278
|
+
/** True when the `field-end` slot contains at least one node. */
|
|
279
|
+
this.slotEndHasContent = false;
|
|
280
|
+
}
|
|
281
|
+
firstUpdated() {
|
|
282
|
+
observerSlotChangesWithCallback(this.renderRoot.querySelector('.slot-start-wrapper slot'), hasContent => {
|
|
283
|
+
this.slotStartHasContent = hasContent;
|
|
284
|
+
this.requestUpdate();
|
|
285
|
+
});
|
|
286
|
+
observerSlotChangesWithCallback(this.renderRoot.querySelector('.slot-end-wrapper slot'), hasContent => {
|
|
287
|
+
this.slotEndHasContent = hasContent;
|
|
288
|
+
this.requestUpdate();
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
__handleClick() {
|
|
292
|
+
// @ts-ignore
|
|
293
|
+
this.host?.focus?.();
|
|
294
|
+
}
|
|
295
|
+
__renderInputSlot() {
|
|
296
|
+
if (this.variant === 'outlined') {
|
|
297
|
+
if (this.populated || this.focused)
|
|
298
|
+
return b `<slot></slot>`;
|
|
299
|
+
return b `
|
|
300
|
+
<label class="outlined-label">${this.label}</label>
|
|
301
|
+
<div class="outlined-slot-container">
|
|
302
|
+
<slot></slot>
|
|
303
|
+
</div>
|
|
304
|
+
`;
|
|
305
|
+
}
|
|
306
|
+
return b `<slot></slot>`;
|
|
307
|
+
}
|
|
308
|
+
__renderFieldHeader() {
|
|
309
|
+
if (!this.label)
|
|
310
|
+
return A;
|
|
311
|
+
if (this.variant === 'outlined' && !this.populated && !this.focused) {
|
|
312
|
+
return A;
|
|
313
|
+
}
|
|
314
|
+
return b `<div class="field-header">
|
|
315
|
+
<label class="label">
|
|
316
|
+
${this.label}${this.required
|
|
317
|
+
? b `<span class="required">*</span>`
|
|
318
|
+
: A}
|
|
319
|
+
<wc-skeleton class="skeleton"></wc-skeleton>
|
|
320
|
+
</label>
|
|
321
|
+
</div>`;
|
|
322
|
+
}
|
|
323
|
+
__renderFieldFooter() {
|
|
324
|
+
if (!this.textCount &&
|
|
325
|
+
!this.helperText &&
|
|
326
|
+
!this.errorText &&
|
|
327
|
+
!this.warningText)
|
|
328
|
+
return A;
|
|
329
|
+
return b `<div class="field-footer">
|
|
330
|
+
${this.__renderHelperText()} ${this.__renderWordCount()}
|
|
331
|
+
</div>`;
|
|
332
|
+
}
|
|
333
|
+
__renderHelperText() {
|
|
334
|
+
if (this.error)
|
|
335
|
+
return b `<div class="helper">${this.errorText}</div>`;
|
|
336
|
+
if (this.warning)
|
|
337
|
+
return b `<div class="helper">${this.warningText}</div>`;
|
|
338
|
+
if (this.helperText || this.helperText === '')
|
|
339
|
+
return b `<div class="helper">${this.helperText}</div>`;
|
|
340
|
+
return A;
|
|
341
|
+
}
|
|
342
|
+
__renderWordCount() {
|
|
343
|
+
if (!this.textCount)
|
|
344
|
+
return A;
|
|
345
|
+
return b `<div class="text-count">${this.textCount}</div>`;
|
|
346
|
+
}
|
|
347
|
+
render() {
|
|
348
|
+
const classes = {
|
|
349
|
+
field: true,
|
|
350
|
+
required: this.required,
|
|
351
|
+
disabled: this.disabled,
|
|
352
|
+
'show-skeleton': this.skeleton,
|
|
353
|
+
'has-error': this.error,
|
|
354
|
+
'has-warning': this.warning,
|
|
355
|
+
focused: this.focused,
|
|
356
|
+
readonly: this.readonly,
|
|
357
|
+
[`variant-${this.variant}`]: true,
|
|
358
|
+
populated: this.populated,
|
|
359
|
+
};
|
|
360
|
+
return b `
|
|
361
|
+
<div class=${e(classes)}>
|
|
362
|
+
${this.__renderFieldHeader()}
|
|
363
|
+
|
|
364
|
+
<div class="field-body" @click=${this.__handleClick}>
|
|
365
|
+
<div class="outline"></div>
|
|
366
|
+
<div class="background"></div>
|
|
367
|
+
<wc-skeleton class="skeleton"></wc-skeleton>
|
|
368
|
+
|
|
369
|
+
<div class="field-content">
|
|
370
|
+
<div
|
|
371
|
+
class=${e({
|
|
372
|
+
'slot-start-wrapper': true,
|
|
373
|
+
'has-content': this.slotStartHasContent,
|
|
374
|
+
})}
|
|
375
|
+
>
|
|
376
|
+
<slot name="field-start"></slot>
|
|
377
|
+
</div>
|
|
378
|
+
|
|
379
|
+
<div class="input-wrapper">${this.__renderInputSlot()}</div>
|
|
380
|
+
|
|
381
|
+
<div
|
|
382
|
+
class=${e({
|
|
383
|
+
'slot-end-wrapper': true,
|
|
384
|
+
'has-content': this.slotEndHasContent,
|
|
385
|
+
})}
|
|
386
|
+
>
|
|
387
|
+
<slot name="field-end"></slot>
|
|
388
|
+
</div>
|
|
389
|
+
</div>
|
|
390
|
+
</div>
|
|
391
|
+
|
|
392
|
+
${this.__renderFieldFooter()}
|
|
393
|
+
</div>
|
|
394
|
+
`;
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
Field.shadowRootOptions = {
|
|
398
|
+
...i$1.shadowRootOptions,
|
|
399
|
+
delegatesFocus: true,
|
|
400
|
+
};
|
|
401
|
+
Field.styles = [css_248z];
|
|
402
|
+
__decorate([
|
|
403
|
+
n({ type: String })
|
|
404
|
+
], Field.prototype, "label", void 0);
|
|
405
|
+
__decorate([
|
|
406
|
+
n({ type: String })
|
|
407
|
+
], Field.prototype, "help", void 0);
|
|
408
|
+
__decorate([
|
|
409
|
+
n({ type: Boolean })
|
|
410
|
+
], Field.prototype, "required", void 0);
|
|
411
|
+
__decorate([
|
|
412
|
+
n({ type: Boolean, reflect: true })
|
|
413
|
+
], Field.prototype, "disabled", void 0);
|
|
414
|
+
__decorate([
|
|
415
|
+
n({ type: Boolean, reflect: true })
|
|
416
|
+
], Field.prototype, "readonly", void 0);
|
|
417
|
+
__decorate([
|
|
418
|
+
n({ type: Boolean })
|
|
419
|
+
], Field.prototype, "skeleton", void 0);
|
|
420
|
+
__decorate([
|
|
421
|
+
n({ type: String, attribute: 'helper-text' })
|
|
422
|
+
], Field.prototype, "helperText", void 0);
|
|
423
|
+
__decorate([
|
|
424
|
+
n({ type: Boolean })
|
|
425
|
+
], Field.prototype, "error", void 0);
|
|
426
|
+
__decorate([
|
|
427
|
+
n({ type: String, attribute: 'error-text' })
|
|
428
|
+
], Field.prototype, "errorText", void 0);
|
|
429
|
+
__decorate([
|
|
430
|
+
n({ type: Boolean })
|
|
431
|
+
], Field.prototype, "warning", void 0);
|
|
432
|
+
__decorate([
|
|
433
|
+
n({ type: String, attribute: 'warning-text' })
|
|
434
|
+
], Field.prototype, "warningText", void 0);
|
|
435
|
+
__decorate([
|
|
436
|
+
n({ type: String, attribute: 'text-count' })
|
|
437
|
+
], Field.prototype, "textCount", void 0);
|
|
438
|
+
__decorate([
|
|
439
|
+
n({ type: Boolean })
|
|
440
|
+
], Field.prototype, "focused", void 0);
|
|
441
|
+
__decorate([
|
|
442
|
+
n({ type: Boolean })
|
|
443
|
+
], Field.prototype, "populated", void 0);
|
|
444
|
+
__decorate([
|
|
445
|
+
n({ type: String })
|
|
446
|
+
], Field.prototype, "variant", void 0);
|
|
447
|
+
__decorate([
|
|
448
|
+
n({ type: Object })
|
|
449
|
+
], Field.prototype, "host", void 0);
|
|
450
|
+
__decorate([
|
|
451
|
+
r()
|
|
452
|
+
], Field.prototype, "slotStartHasContent", void 0);
|
|
453
|
+
__decorate([
|
|
454
|
+
r()
|
|
455
|
+
], Field.prototype, "slotEndHasContent", void 0);
|
|
456
|
+
Field = __decorate([
|
|
457
|
+
IndividualComponent
|
|
458
|
+
], Field);
|
|
459
|
+
|
|
460
|
+
export { Field };
|
|
461
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field.js","sources":["../../src/field/field.ts"],"sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n\nimport { observerSlotChangesWithCallback } from '@/__internal/utils/observe-slot-change.js';\n\nimport styles from './field.scss';\nimport IndividualComponent from '@/IndividualComponent.js';\n\n/**\n * @label Field\n * @tag wc-field\n * @rawTag field\n *\n * @summary Wrapper for form fields with label and help text.\n * @overview\n * <p>Field provides consistent styling and behavior for form inputs.</p>\n *\n * @example\n * ```html\n * <wc-field label=\"Name\" required>\n * some text\n * </wc-field>\n * ```\n * @tags form\n */\n@IndividualComponent\nexport class Field extends LitElement {\n static shadowRootOptions: ShadowRootInit = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n static styles = [styles];\n\n /** Label text shown above the field input. */\n @property({ type: String })\n label: string = '';\n\n /** Help text (deprecated — prefer `helperText`). */\n @property({ type: String })\n help: string = '';\n\n /** When true, marks the field as required and shows a required indicator. */\n @property({ type: Boolean })\n required: boolean = false;\n\n /** When true, the field and its slotted input are disabled. */\n @property({ type: Boolean, reflect: true })\n disabled: boolean = false;\n\n /** When true, the field and its slotted input are read-only. */\n @property({ type: Boolean, reflect: true })\n readonly: boolean = false;\n\n /** When true, renders the field in a loading skeleton state. */\n @property({ type: Boolean })\n skeleton: boolean = false;\n\n /** Helper/hint text shown in the field footer. */\n @property({ type: String, attribute: 'helper-text' })\n helperText: string = '';\n\n /** When true, the field is in an error state and `errorText` is shown. */\n @property({ type: Boolean })\n error: boolean = false;\n\n /** Error message displayed when `error` is true. */\n @property({ type: String, attribute: 'error-text' })\n errorText: string = '';\n\n /** When true, the field is in a warning state and `warningText` is shown. */\n @property({ type: Boolean })\n warning: boolean = false;\n\n /** Warning message displayed when `warning` is true. */\n @property({ type: String, attribute: 'warning-text' })\n warningText: string = '';\n\n /** Character / word count string displayed at the trailing end of the footer. */\n @property({ type: String, attribute: 'text-count' })\n textCount: string = '';\n\n /** When true, applies focused styling (controlled externally by the slotted input). */\n @property({ type: Boolean })\n focused: boolean = false;\n\n /** When true, applies populated styling (controlled externally by the slotted input). */\n @property({ type: Boolean })\n populated: boolean = false;\n\n /** Visual variant of the field container. */\n @property({ type: String })\n variant: 'filled' | 'outlined' | 'default' = 'default';\n\n /** Reference to the host input element; used to forward click-on-label focus. */\n @property({ type: Object })\n host?: HTMLElement;\n\n /** True when the `field-start` slot contains at least one node. */\n @state()\n slotStartHasContent: boolean = false;\n\n /** True when the `field-end` slot contains at least one node. */\n @state()\n slotEndHasContent: boolean = false;\n\n firstUpdated() {\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('.slot-start-wrapper slot'),\n hasContent => {\n this.slotStartHasContent = hasContent;\n this.requestUpdate();\n },\n );\n observerSlotChangesWithCallback(\n this.renderRoot.querySelector('.slot-end-wrapper slot'),\n hasContent => {\n this.slotEndHasContent = hasContent;\n this.requestUpdate();\n },\n );\n }\n\n __handleClick() {\n // @ts-ignore\n this.host?.focus?.();\n }\n\n __renderInputSlot() {\n if (this.variant === 'outlined') {\n if (this.populated || this.focused) return html`<slot></slot>`;\n return html`\n <label class=\"outlined-label\">${this.label}</label>\n <div class=\"outlined-slot-container\">\n <slot></slot>\n </div>\n `;\n }\n return html`<slot></slot>`;\n }\n\n __renderFieldHeader() {\n if (!this.label) return nothing;\n if (this.variant === 'outlined' && !this.populated && !this.focused) {\n return nothing;\n }\n return html`<div class=\"field-header\">\n <label class=\"label\">\n ${this.label}${this.required\n ? html`<span class=\"required\">*</span>`\n : nothing}\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n </label>\n </div>`;\n }\n\n __renderFieldFooter() {\n if (\n !this.textCount &&\n !this.helperText &&\n !this.errorText &&\n !this.warningText\n )\n return nothing;\n return html`<div class=\"field-footer\">\n ${this.__renderHelperText()} ${this.__renderWordCount()}\n </div>`;\n }\n\n __renderHelperText() {\n if (this.error) return html`<div class=\"helper\">${this.errorText}</div>`;\n if (this.warning)\n return html`<div class=\"helper\">${this.warningText}</div>`;\n if (this.helperText || this.helperText === '')\n return html`<div class=\"helper\">${this.helperText}</div>`;\n return nothing;\n }\n\n __renderWordCount() {\n if (!this.textCount) return nothing;\n return html`<div class=\"text-count\">${this.textCount}</div>`;\n }\n\n render() {\n const classes = {\n field: true,\n required: this.required,\n disabled: this.disabled,\n 'show-skeleton': this.skeleton,\n 'has-error': this.error,\n 'has-warning': this.warning,\n focused: this.focused,\n readonly: this.readonly,\n [`variant-${this.variant}`]: true,\n populated: this.populated,\n };\n\n return html`\n <div class=${classMap(classes)}>\n ${this.__renderFieldHeader()}\n\n <div class=\"field-body\" @click=${this.__handleClick}>\n <div class=\"outline\"></div>\n <div class=\"background\"></div>\n <wc-skeleton class=\"skeleton\"></wc-skeleton>\n\n <div class=\"field-content\">\n <div\n class=${classMap({\n 'slot-start-wrapper': true,\n 'has-content': this.slotStartHasContent,\n })}\n >\n <slot name=\"field-start\"></slot>\n </div>\n\n <div class=\"input-wrapper\">${this.__renderInputSlot()}</div>\n\n <div\n class=${classMap({\n 'slot-end-wrapper': true,\n 'has-content': this.slotEndHasContent,\n })}\n >\n <slot name=\"field-end\"></slot>\n </div>\n </div>\n </div>\n\n ${this.__renderFieldFooter()}\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","nothing","classMap","styles","property","state"],"mappings":"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"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import { a as i, _ as __decorate, I as IndividualComponent, i as i$1, b } from './IndividualComponent-DUINtMGK.js';
|
|
2
|
-
import { n } from './property-1psGvXOq.js';
|
|
3
|
-
|
|
4
1
|
/**
|
|
5
2
|
* Custom positioning reference element.
|
|
6
3
|
* @see https://floating-ui.com/docs/virtual-elements
|
|
@@ -1806,171 +1803,5 @@ class FloatingController {
|
|
|
1806
1803
|
}
|
|
1807
1804
|
}
|
|
1808
1805
|
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
}
|
|
1812
|
-
|
|
1813
|
-
.screen-reader-only {
|
|
1814
|
-
display: none !important;
|
|
1815
|
-
}
|
|
1816
|
-
|
|
1817
|
-
:host {
|
|
1818
|
-
display: inline-block;
|
|
1819
|
-
}`;
|
|
1820
|
-
|
|
1821
|
-
/**
|
|
1822
|
-
* @label Popover
|
|
1823
|
-
* @tag wc-popover
|
|
1824
|
-
* @rawTag popover
|
|
1825
|
-
* @summary Displays additional information in a floating panel anchored to a trigger element.
|
|
1826
|
-
* @overview
|
|
1827
|
-
* <p>The Popover component wraps a trigger element and a <code>wc-popover-content</code> child. It uses
|
|
1828
|
-
* floating-ui to compute position, keeping the panel visible inside the viewport even on scroll.</p>
|
|
1829
|
-
* @tags display
|
|
1830
|
-
*
|
|
1831
|
-
* @fires {CustomEvent} wc-popover--open - Fired when the popover opens.
|
|
1832
|
-
* @fires {CustomEvent} wc-popover--close - Fired when the popover closes.
|
|
1833
|
-
*
|
|
1834
|
-
* @example
|
|
1835
|
-
* ```html
|
|
1836
|
-
* <wc-popover trigger="click">
|
|
1837
|
-
* <wc-button>Open popover</wc-button>
|
|
1838
|
-
* <wc-popover-content>
|
|
1839
|
-
* <p>Popover body text goes here.</p>
|
|
1840
|
-
* </wc-popover-content>
|
|
1841
|
-
* </wc-popover>
|
|
1842
|
-
* ```
|
|
1843
|
-
*/
|
|
1844
|
-
let Popover = class Popover extends i$1 {
|
|
1845
|
-
constructor() {
|
|
1846
|
-
super(...arguments);
|
|
1847
|
-
/**
|
|
1848
|
-
* Determines how the popover is triggered.
|
|
1849
|
-
* Possible values are `"click"`, `"hover"`, `"manual"`.
|
|
1850
|
-
*/
|
|
1851
|
-
this.trigger = 'click';
|
|
1852
|
-
/**
|
|
1853
|
-
* Preferred placement of the popover relative to the trigger element.
|
|
1854
|
-
* Accepts any floating-ui `Placement` string such as `"bottom"`, `"top-start"`, `"right"`, etc.
|
|
1855
|
-
*/
|
|
1856
|
-
this.placement = 'bottom';
|
|
1857
|
-
/**
|
|
1858
|
-
* Whether the popover is open.
|
|
1859
|
-
*/
|
|
1860
|
-
this.open = false;
|
|
1861
|
-
/**
|
|
1862
|
-
* Distance in pixels between the trigger element and the popover panel.
|
|
1863
|
-
*/
|
|
1864
|
-
this.offset = 8;
|
|
1865
|
-
this._floating = null;
|
|
1866
|
-
this._contentEl = null;
|
|
1867
|
-
this._triggerEl = null;
|
|
1868
|
-
}
|
|
1869
|
-
_setupFloating() {
|
|
1870
|
-
// Tear down any existing controller
|
|
1871
|
-
if (this._floating) {
|
|
1872
|
-
this._floating = null;
|
|
1873
|
-
}
|
|
1874
|
-
// Resolve the content element
|
|
1875
|
-
this._contentEl = this.querySelector('wc-popover-content');
|
|
1876
|
-
// Resolve the trigger element: first light-DOM child that is NOT wc-popover-content
|
|
1877
|
-
this._triggerEl =
|
|
1878
|
-
Array.from(this.children).find((c) => c.tagName.toLowerCase() !== 'wc-popover-content') ?? null;
|
|
1879
|
-
if (!this._triggerEl || !this._contentEl)
|
|
1880
|
-
return;
|
|
1881
|
-
const triggerMode = this.trigger === 'manual'
|
|
1882
|
-
? 'manual'
|
|
1883
|
-
: this.trigger;
|
|
1884
|
-
this._floating = new FloatingController(this, {
|
|
1885
|
-
placement: this.placement,
|
|
1886
|
-
strategy: 'fixed',
|
|
1887
|
-
offset: this.offset,
|
|
1888
|
-
trigger: triggerMode,
|
|
1889
|
-
closeOnClickOutside: true,
|
|
1890
|
-
onOpenChange: (isOpen) => {
|
|
1891
|
-
this.open = isOpen;
|
|
1892
|
-
if (this._contentEl) {
|
|
1893
|
-
this._contentEl.open = isOpen;
|
|
1894
|
-
}
|
|
1895
|
-
this.dispatchEvent(new CustomEvent(isOpen ? 'wc-popover--open' : 'wc-popover--close', {
|
|
1896
|
-
bubbles: true,
|
|
1897
|
-
composed: true,
|
|
1898
|
-
}));
|
|
1899
|
-
},
|
|
1900
|
-
});
|
|
1901
|
-
this._floating.setElements(this._triggerEl, this._contentEl);
|
|
1902
|
-
if (this.open) {
|
|
1903
|
-
this._floating.open();
|
|
1904
|
-
this._contentEl.open = true;
|
|
1905
|
-
}
|
|
1906
|
-
}
|
|
1907
|
-
connectedCallback() {
|
|
1908
|
-
super.connectedCallback();
|
|
1909
|
-
}
|
|
1910
|
-
firstUpdated() {
|
|
1911
|
-
this._setupFloating();
|
|
1912
|
-
}
|
|
1913
|
-
updated(changedProps) {
|
|
1914
|
-
if (changedProps.has('trigger') ||
|
|
1915
|
-
changedProps.has('placement') ||
|
|
1916
|
-
changedProps.has('offset')) {
|
|
1917
|
-
this._setupFloating();
|
|
1918
|
-
}
|
|
1919
|
-
if (changedProps.has('open') && this._floating) {
|
|
1920
|
-
if (this.open && !this._floating.isOpen) {
|
|
1921
|
-
this._floating.open();
|
|
1922
|
-
if (this._contentEl)
|
|
1923
|
-
this._contentEl.open = true;
|
|
1924
|
-
}
|
|
1925
|
-
else if (!this.open && this._floating.isOpen) {
|
|
1926
|
-
this._floating.close();
|
|
1927
|
-
if (this._contentEl)
|
|
1928
|
-
this._contentEl.open = false;
|
|
1929
|
-
}
|
|
1930
|
-
}
|
|
1931
|
-
}
|
|
1932
|
-
/**
|
|
1933
|
-
* Programmatically opens the popover.
|
|
1934
|
-
*/
|
|
1935
|
-
show() {
|
|
1936
|
-
if (this._floating && !this._floating.isOpen) {
|
|
1937
|
-
this._floating.open();
|
|
1938
|
-
}
|
|
1939
|
-
else if (!this._floating) {
|
|
1940
|
-
this.open = true;
|
|
1941
|
-
}
|
|
1942
|
-
}
|
|
1943
|
-
/**
|
|
1944
|
-
* Programmatically closes the popover.
|
|
1945
|
-
*/
|
|
1946
|
-
hide() {
|
|
1947
|
-
if (this._floating && this._floating.isOpen) {
|
|
1948
|
-
this._floating.close();
|
|
1949
|
-
}
|
|
1950
|
-
else if (!this._floating) {
|
|
1951
|
-
this.open = false;
|
|
1952
|
-
}
|
|
1953
|
-
}
|
|
1954
|
-
render() {
|
|
1955
|
-
return b `<slot></slot>`;
|
|
1956
|
-
}
|
|
1957
|
-
};
|
|
1958
|
-
Popover.styles = [css_248z];
|
|
1959
|
-
__decorate([
|
|
1960
|
-
n({ reflect: true })
|
|
1961
|
-
], Popover.prototype, "trigger", void 0);
|
|
1962
|
-
__decorate([
|
|
1963
|
-
n({ reflect: true })
|
|
1964
|
-
], Popover.prototype, "placement", void 0);
|
|
1965
|
-
__decorate([
|
|
1966
|
-
n({ type: Boolean, reflect: true })
|
|
1967
|
-
], Popover.prototype, "open", void 0);
|
|
1968
|
-
__decorate([
|
|
1969
|
-
n({ type: Number })
|
|
1970
|
-
], Popover.prototype, "offset", void 0);
|
|
1971
|
-
Popover = __decorate([
|
|
1972
|
-
IndividualComponent
|
|
1973
|
-
], Popover);
|
|
1974
|
-
|
|
1975
|
-
export { FloatingController as F, Popover as P };
|
|
1976
|
-
//# sourceMappingURL=popover-DUPmMVWS.js.map
|
|
1806
|
+
export { FloatingController as F };
|
|
1807
|
+
//# sourceMappingURL=floating-controller-CnUZnOhK.js.map
|