aeico-components 0.1.6 → 0.1.8
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/README.md +0 -0
- package/dist/alert.cjs +637 -4
- package/dist/alert.cjs.map +7 -1
- package/dist/alert.js +575 -3
- package/dist/alert.js.map +7 -1
- package/dist/badge.cjs +573 -4
- package/dist/badge.cjs.map +7 -1
- package/dist/badge.js +510 -3
- package/dist/badge.js.map +7 -1
- package/dist/breadcrumb.cjs +709 -5
- package/dist/breadcrumb.cjs.map +7 -1
- package/dist/breadcrumb.js +644 -4
- package/dist/breadcrumb.js.map +7 -1
- package/dist/button-group.cjs +546 -4
- package/dist/button-group.cjs.map +7 -1
- package/dist/button-group.js +489 -3
- package/dist/button-group.js.map +7 -1
- package/dist/button.cjs +834 -4
- package/dist/button.cjs.map +7 -1
- package/dist/button.js +771 -3
- package/dist/button.js.map +7 -1
- package/dist/card.cjs +574 -4
- package/dist/card.cjs.map +7 -1
- package/dist/card.js +516 -3
- package/dist/card.js.map +7 -1
- package/dist/checkbox.cjs +867 -4
- package/dist/checkbox.cjs.map +7 -1
- package/dist/checkbox.js +794 -3
- package/dist/checkbox.js.map +7 -1
- package/dist/copy-button.cjs +1046 -4
- package/dist/copy-button.cjs.map +7 -1
- package/dist/copy-button.js +969 -3
- package/dist/copy-button.js.map +7 -1
- package/dist/detail-group.cjs +533 -0
- package/dist/detail-group.cjs.map +7 -0
- package/dist/detail-group.js +477 -0
- package/dist/detail-group.js.map +7 -0
- package/dist/detail.cjs +627 -4
- package/dist/detail.cjs.map +7 -1
- package/dist/detail.js +569 -3
- package/dist/detail.js.map +7 -1
- package/dist/dialog.cjs +738 -4
- package/dist/dialog.cjs.map +7 -1
- package/dist/dialog.js +665 -3
- package/dist/dialog.js.map +7 -1
- package/dist/divider.cjs +558 -4
- package/dist/divider.cjs.map +7 -1
- package/dist/divider.js +502 -3
- package/dist/divider.js.map +7 -1
- package/dist/drawer.cjs +818 -4
- package/dist/drawer.cjs.map +7 -1
- package/dist/drawer.js +749 -3
- package/dist/drawer.js.map +7 -1
- package/dist/dropdown.cjs +1396 -5
- package/dist/dropdown.cjs.map +7 -1
- package/dist/dropdown.js +1316 -4
- package/dist/dropdown.js.map +7 -1
- package/dist/icon-button.cjs +999 -4
- package/dist/icon-button.cjs.map +7 -1
- package/dist/icon-button.js +930 -3
- package/dist/icon-button.js.map +7 -1
- package/dist/icon.cjs +613 -4
- package/dist/icon.cjs.map +7 -1
- package/dist/icon.js +547 -3
- package/dist/icon.js.map +7 -1
- package/dist/index.cjs +6484 -188
- package/dist/index.cjs.map +7 -1
- package/dist/index.js +6095 -147
- package/dist/index.js.map +7 -1
- package/dist/menu.cjs +841 -4
- package/dist/menu.cjs.map +7 -1
- package/dist/menu.js +785 -3
- package/dist/menu.js.map +7 -1
- package/dist/navbar.cjs +622 -4
- package/dist/navbar.cjs.map +7 -1
- package/dist/navbar.js +564 -3
- package/dist/navbar.js.map +7 -1
- package/dist/number-input.cjs +887 -0
- package/dist/number-input.cjs.map +7 -0
- package/dist/number-input.js +820 -0
- package/dist/number-input.js.map +7 -0
- package/dist/pagination.cjs +1099 -4
- package/dist/pagination.cjs.map +7 -1
- package/dist/pagination.js +1029 -3
- package/dist/pagination.js.map +7 -1
- package/dist/progress-bar.cjs +581 -4
- package/dist/progress-bar.cjs.map +7 -1
- package/dist/progress-bar.js +525 -3
- package/dist/progress-bar.js.map +7 -1
- package/dist/radio-group.cjs +973 -5
- package/dist/radio-group.cjs.map +7 -1
- package/dist/radio-group.js +899 -4
- package/dist/radio-group.js.map +7 -1
- package/dist/select.cjs +1242 -45
- package/dist/select.cjs.map +7 -1
- package/dist/select.js +1159 -44
- package/dist/select.js.map +7 -1
- package/dist/slider.cjs +1420 -4
- package/dist/slider.cjs.map +7 -1
- package/dist/slider.js +1351 -3
- package/dist/slider.js.map +7 -1
- package/dist/spinner.cjs +587 -4
- package/dist/spinner.cjs.map +7 -1
- package/dist/spinner.js +528 -3
- package/dist/spinner.js.map +7 -1
- package/dist/styles/layout.cjs +1 -0
- package/dist/styles/layout.js +1 -0
- package/dist/styles/radius.cjs +1 -0
- package/dist/styles/radius.js +1 -0
- package/dist/styles/variables.cjs +1 -0
- package/dist/styles/variables.js +1 -0
- package/dist/switch.cjs +1092 -4
- package/dist/switch.cjs.map +7 -1
- package/dist/switch.js +1013 -3
- package/dist/switch.js.map +7 -1
- package/dist/tabs.cjs +660 -6
- package/dist/tabs.cjs.map +7 -1
- package/dist/tabs.js +591 -5
- package/dist/tabs.js.map +7 -1
- package/dist/tag.cjs +591 -3
- package/dist/tag.cjs.map +7 -1
- package/dist/tag.js +532 -2
- package/dist/tag.js.map +7 -1
- package/dist/text-input.cjs +829 -4
- package/dist/text-input.cjs.map +7 -1
- package/dist/text-input.js +761 -3
- package/dist/text-input.js.map +7 -1
- package/dist/textarea.cjs +914 -3
- package/dist/textarea.cjs.map +7 -1
- package/dist/textarea.js +854 -2
- package/dist/textarea.js.map +7 -1
- package/dist/tooltip.cjs +764 -4
- package/dist/tooltip.cjs.map +7 -1
- package/dist/tooltip.js +711 -3
- package/dist/tooltip.js.map +7 -1
- package/dist/tree.cjs +1059 -4
- package/dist/tree.cjs.map +7 -1
- package/dist/tree.js +985 -3
- package/dist/tree.js.map +7 -1
- package/dist/types/card/defines.d.ts +1 -1
- package/dist/types/detail/defines.d.ts +1 -1
- package/dist/types/dialog/dialog.d.ts +1 -0
- package/dist/types/drawer/drawer.d.ts +2 -0
- package/dist/types/icon/defines.d.ts +7 -1
- package/dist/types/icon/index.d.ts +1 -1
- package/dist/types/menu/defines.d.ts +1 -0
- package/dist/types/menu/menu-item.d.ts +1 -0
- package/dist/types/menu/menu.d.ts +1 -0
- package/dist/types/styles/layout.d.ts +2 -0
- package/dist/types/styles/radius.d.ts +2 -0
- package/dist/types/styles/variables.d.ts +2 -0
- package/dist/types/tabs/defines.d.ts +1 -0
- package/dist/types/tabs/tabs.d.ts +3 -0
- package/package.json +31 -7
- package/src/alert/alert.ts +3 -3
- package/src/badge/badge.ts +4 -4
- package/src/breadcrumb/breadcrumb-item.ts +2 -2
- package/src/breadcrumb/breadcrumb.ts +3 -3
- package/src/button/button.ts +4 -4
- package/src/button-group/button-group.ts +8 -9
- package/src/card/card.ts +3 -3
- package/src/card/defines.ts +1 -1
- package/src/checkbox/checkbox.ts +6 -6
- package/src/copy-button/copy-button.ts +13 -9
- package/src/detail/defines.ts +1 -1
- package/src/detail/detail.ts +3 -3
- package/src/detail-group/detail-group.ts +2 -2
- package/src/dialog/dialog.ts +15 -14
- package/src/divider/divider.ts +3 -3
- package/src/drawer/drawer.ts +28 -11
- package/src/dropdown/dropdown-item.ts +2 -2
- package/src/dropdown/dropdown.ts +2 -2
- package/src/icon/defines.ts +8 -1
- package/src/icon/icon.ts +32 -14
- package/src/icon/index.ts +1 -1
- package/src/icon/registry.ts +2 -2
- package/src/menu/defines.ts +1 -0
- package/src/menu/menu-item.ts +14 -4
- package/src/menu/menu.ts +5 -2
- package/src/navbar/navbar.ts +3 -3
- package/src/number-input/number-input.ts +5 -5
- package/src/pagination/pagination.ts +3 -3
- package/src/progress-bar/progress-bar.ts +3 -3
- package/src/radio-group/radio-group.ts +12 -8
- package/src/select/select-option.ts +2 -2
- package/src/select/select.ts +5 -5
- package/src/slider/slider.ts +6 -6
- package/src/spinner/spinner.ts +4 -4
- package/src/styles/color.css +91 -91
- package/src/styles/components/action-button.css +12 -12
- package/src/styles/components/alert.css +22 -28
- package/src/styles/components/badge.css +13 -20
- package/src/styles/components/breadcrumb-item.css +7 -7
- package/src/styles/components/button-group.css +2 -0
- package/src/styles/components/button.css +39 -50
- package/src/styles/components/card.css +69 -30
- package/src/styles/components/checkbox.css +22 -16
- package/src/styles/components/copy-button.css +22 -33
- package/src/styles/components/detail.css +51 -39
- package/src/styles/components/dialog.css +11 -11
- package/src/styles/components/divider.css +3 -3
- package/src/styles/components/drawer.css +59 -27
- package/src/styles/components/dropdown-item.css +7 -8
- package/src/styles/components/dropdown.css +3 -4
- package/src/styles/components/field-label.css +13 -13
- package/src/styles/components/icon-button.css +25 -36
- package/src/styles/components/icon.css +1 -1
- package/src/styles/components/menu-item.css +13 -8
- package/src/styles/components/navbar.css +23 -44
- package/src/styles/components/number-input.css +27 -36
- package/src/styles/components/pagination.css +31 -31
- package/src/styles/components/progress-bar.css +2 -3
- package/src/styles/components/radio-group.css +88 -83
- package/src/styles/components/select-option.css +5 -5
- package/src/styles/components/select.css +21 -33
- package/src/styles/components/slider.css +56 -34
- package/src/styles/components/spinner.css +7 -9
- package/src/styles/components/switch.css +21 -19
- package/src/styles/components/tab.css +4 -5
- package/src/styles/components/tabs.css +48 -1
- package/src/styles/components/tag.css +14 -21
- package/src/styles/components/text-input.css +13 -22
- package/src/styles/components/textarea.css +12 -21
- package/src/styles/components/tooltip.css +4 -5
- package/src/styles/components/tree-item.css +12 -12
- package/src/styles/layout.css +5 -2
- package/src/styles/radius.css +25 -0
- package/src/styles/size.css +7 -7
- package/src/styles/variables.css +271 -247
- package/src/switch/switch.ts +6 -6
- package/src/tabs/defines.ts +1 -0
- package/src/tabs/tab-panel.ts +1 -1
- package/src/tabs/tab.ts +1 -1
- package/src/tabs/tabs.ts +14 -2
- package/src/tag/tag.ts +4 -4
- package/src/text-input/text-input.ts +5 -5
- package/src/textarea/textarea.ts +5 -5
- package/src/tooltip/tooltip.ts +2 -2
- package/src/tree/tree-item.ts +2 -2
- package/src/tree/tree.ts +2 -2
- package/dist/chunks/action-button.cjs +0 -296
- package/dist/chunks/action-button.cjs.map +0 -1
- package/dist/chunks/action-button.js +0 -297
- package/dist/chunks/action-button.js.map +0 -1
- package/dist/chunks/aeico-component.cjs +0 -17
- package/dist/chunks/aeico-component.cjs.map +0 -1
- package/dist/chunks/aeico-component.js +0 -18
- package/dist/chunks/aeico-component.js.map +0 -1
- package/dist/chunks/alert.cjs +0 -170
- package/dist/chunks/alert.cjs.map +0 -1
- package/dist/chunks/alert.js +0 -171
- package/dist/chunks/alert.js.map +0 -1
- package/dist/chunks/badge.cjs +0 -85
- package/dist/chunks/badge.cjs.map +0 -1
- package/dist/chunks/badge.js +0 -86
- package/dist/chunks/badge.js.map +0 -1
- package/dist/chunks/breadcrumb-item.cjs +0 -261
- package/dist/chunks/breadcrumb-item.cjs.map +0 -1
- package/dist/chunks/breadcrumb-item.js +0 -262
- package/dist/chunks/breadcrumb-item.js.map +0 -1
- package/dist/chunks/button-group.cjs +0 -79
- package/dist/chunks/button-group.cjs.map +0 -1
- package/dist/chunks/button-group.js +0 -80
- package/dist/chunks/button-group.js.map +0 -1
- package/dist/chunks/button.cjs +0 -348
- package/dist/chunks/button.cjs.map +0 -1
- package/dist/chunks/button.js +0 -349
- package/dist/chunks/button.js.map +0 -1
- package/dist/chunks/card.cjs +0 -93
- package/dist/chunks/card.cjs.map +0 -1
- package/dist/chunks/card.js +0 -94
- package/dist/chunks/card.js.map +0 -1
- package/dist/chunks/checkbox.cjs +0 -86
- package/dist/chunks/checkbox.cjs.map +0 -1
- package/dist/chunks/checkbox.js +0 -87
- package/dist/chunks/checkbox.js.map +0 -1
- package/dist/chunks/color.cjs +0 -4
- package/dist/chunks/color.cjs.map +0 -1
- package/dist/chunks/color.js +0 -5
- package/dist/chunks/color.js.map +0 -1
- package/dist/chunks/copy-button.cjs +0 -168
- package/dist/chunks/copy-button.cjs.map +0 -1
- package/dist/chunks/copy-button.js +0 -169
- package/dist/chunks/copy-button.js.map +0 -1
- package/dist/chunks/detail.cjs +0 -146
- package/dist/chunks/detail.cjs.map +0 -1
- package/dist/chunks/detail.js +0 -147
- package/dist/chunks/detail.js.map +0 -1
- package/dist/chunks/dialog.cjs +0 -117
- package/dist/chunks/dialog.cjs.map +0 -1
- package/dist/chunks/dialog.js +0 -118
- package/dist/chunks/dialog.js.map +0 -1
- package/dist/chunks/divider.cjs +0 -80
- package/dist/chunks/divider.cjs.map +0 -1
- package/dist/chunks/divider.js +0 -81
- package/dist/chunks/divider.js.map +0 -1
- package/dist/chunks/drawer.cjs +0 -180
- package/dist/chunks/drawer.cjs.map +0 -1
- package/dist/chunks/drawer.js +0 -181
- package/dist/chunks/drawer.js.map +0 -1
- package/dist/chunks/dropdown-button.cjs +0 -534
- package/dist/chunks/dropdown-button.cjs.map +0 -1
- package/dist/chunks/dropdown-button.js +0 -535
- package/dist/chunks/dropdown-button.js.map +0 -1
- package/dist/chunks/icon-button.cjs +0 -35
- package/dist/chunks/icon-button.cjs.map +0 -1
- package/dist/chunks/icon-button.js +0 -36
- package/dist/chunks/icon-button.js.map +0 -1
- package/dist/chunks/icon.cjs +0 -108
- package/dist/chunks/icon.cjs.map +0 -1
- package/dist/chunks/icon.js +0 -109
- package/dist/chunks/icon.js.map +0 -1
- package/dist/chunks/menu.cjs +0 -396
- package/dist/chunks/menu.cjs.map +0 -1
- package/dist/chunks/menu.js +0 -397
- package/dist/chunks/menu.js.map +0 -1
- package/dist/chunks/navbar.cjs +0 -142
- package/dist/chunks/navbar.cjs.map +0 -1
- package/dist/chunks/navbar.js +0 -143
- package/dist/chunks/navbar.js.map +0 -1
- package/dist/chunks/pagination.cjs +0 -475
- package/dist/chunks/pagination.cjs.map +0 -1
- package/dist/chunks/pagination.js +0 -476
- package/dist/chunks/pagination.js.map +0 -1
- package/dist/chunks/progress-bar.cjs +0 -101
- package/dist/chunks/progress-bar.cjs.map +0 -1
- package/dist/chunks/progress-bar.js +0 -102
- package/dist/chunks/progress-bar.js.map +0 -1
- package/dist/chunks/radio.cjs +0 -185
- package/dist/chunks/radio.cjs.map +0 -1
- package/dist/chunks/radio.js +0 -186
- package/dist/chunks/radio.js.map +0 -1
- package/dist/chunks/select.cjs +0 -381
- package/dist/chunks/select.cjs.map +0 -1
- package/dist/chunks/select.js +0 -382
- package/dist/chunks/select.js.map +0 -1
- package/dist/chunks/size.cjs +0 -4
- package/dist/chunks/size.cjs.map +0 -1
- package/dist/chunks/size.js +0 -5
- package/dist/chunks/size.js.map +0 -1
- package/dist/chunks/slider.cjs +0 -611
- package/dist/chunks/slider.cjs.map +0 -1
- package/dist/chunks/slider.js +0 -612
- package/dist/chunks/slider.js.map +0 -1
- package/dist/chunks/spinner.cjs +0 -102
- package/dist/chunks/spinner.cjs.map +0 -1
- package/dist/chunks/spinner.js +0 -103
- package/dist/chunks/spinner.js.map +0 -1
- package/dist/chunks/switch.cjs +0 -167
- package/dist/chunks/switch.cjs.map +0 -1
- package/dist/chunks/switch.js +0 -168
- package/dist/chunks/switch.js.map +0 -1
- package/dist/chunks/tab-panel.cjs +0 -165
- package/dist/chunks/tab-panel.cjs.map +0 -1
- package/dist/chunks/tab-panel.js +0 -166
- package/dist/chunks/tab-panel.js.map +0 -1
- package/dist/chunks/tag.cjs +0 -108
- package/dist/chunks/tag.cjs.map +0 -1
- package/dist/chunks/tag.js +0 -109
- package/dist/chunks/tag.js.map +0 -1
- package/dist/chunks/text-input.cjs +0 -54
- package/dist/chunks/text-input.cjs.map +0 -1
- package/dist/chunks/text-input.js +0 -55
- package/dist/chunks/text-input.js.map +0 -1
- package/dist/chunks/textarea.cjs +0 -137
- package/dist/chunks/textarea.cjs.map +0 -1
- package/dist/chunks/textarea.js +0 -138
- package/dist/chunks/textarea.js.map +0 -1
- package/dist/chunks/tooltip.cjs +0 -293
- package/dist/chunks/tooltip.cjs.map +0 -1
- package/dist/chunks/tooltip.js +0 -294
- package/dist/chunks/tooltip.js.map +0 -1
- package/dist/chunks/tree.cjs +0 -468
- package/dist/chunks/tree.cjs.map +0 -1
- package/dist/chunks/tree.js +0 -469
- package/dist/chunks/tree.js.map +0 -1
- package/dist/chunks/variables.cjs +0 -372
- package/dist/chunks/variables.cjs.map +0 -1
- package/dist/chunks/variables.js +0 -373
- package/dist/chunks/variables.js.map +0 -1
package/dist/chunks/menu.cjs
DELETED
|
@@ -1,396 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const aeicoComponent = require("./aeico-component.cjs");
|
|
3
|
-
const aeico = require("aeico");
|
|
4
|
-
const variables = require("./variables.cjs");
|
|
5
|
-
const style$1 = ":host {\n display: block;\n}\n\n.menu-list {\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n list-style: none;\n gap: 0;\n}\n\n.menu-list--horizontal {\n flex-direction: row;\n align-items: stretch;\n}\n";
|
|
6
|
-
const style = ':host {\n display: block;\n position: relative;\n\n --menu-item-height: 2.5rem;\n --menu-item-padding-x: 0.875rem;\n --menu-item-font-size: 0.9375rem;\n --menu-item-color: inherit;\n --menu-item-color-disabled: var(--color-text-disabled);\n --menu-item-bg: transparent;\n --menu-item-bg-hover: var(--surface-raised, rgba(0, 0, 0, 0.05));\n --menu-item-active-color: var(--color-primary, var(--blue-500));\n --menu-item-active-border-color: var(--color-primary, var(--blue-500));\n\n --submenu-z-index: 1001;\n --submenu-bg: var(--surface-overlay, #fff);\n --submenu-border: 1px solid var(--border-default);\n --submenu-border-radius: var(--ae-radius-md, 6px);\n --submenu-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n --submenu-min-width: 10rem;\n --submenu-padding: 0.25rem 0;\n}\n\n.item {\n display: inline-flex;\n align-items: center;\n gap: 0.4rem;\n width: 100%;\n height: var(--menu-item-height);\n padding: 0 var(--menu-item-padding-x);\n font-size: var(--menu-item-font-size);\n font-family: inherit;\n color: var(--menu-item-color);\n background: var(--menu-item-bg);\n border: none;\n border-bottom: 2px solid transparent;\n text-align: left;\n text-decoration: none;\n cursor: pointer;\n user-select: none;\n white-space: nowrap;\n box-sizing: border-box;\n outline: none;\n transition: background 0.1s, color 0.1s, border-color 0.1s;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.item--leaf-in-panel {\n height: auto;\n padding: 0.5rem var(--menu-item-padding-x);\n border-bottom: none;\n}\n\n.item:hover:not(:disabled) {\n background: var(--menu-item-bg-hover);\n}\n\n.item:focus-visible {\n background: var(--menu-item-bg-hover);\n outline: 2px solid var(--menu-item-active-color);\n outline-offset: -2px;\n}\n\n:host([disabled]) .item,\n.item:disabled {\n color: var(--menu-item-color-disabled);\n cursor: not-allowed;\n pointer-events: none;\n}\n\n:host([selected]) .item {\n color: var(--menu-item-active-color);\n border-bottom-color: var(--menu-item-active-border-color);\n}\n\n.item-arrow {\n display: inline-block;\n width: 0;\n height: 0;\n flex-shrink: 0;\n}\n\n.item-arrow--right {\n border-top: 0.3em solid transparent;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.item-arrow--bottom {\n border-left: 0.3em solid transparent;\n border-right: 0.3em solid transparent;\n border-top: 0.3em solid;\n}\n\n.item--open .item-arrow--right {\n transform: rotate(90deg);\n}\n\nslot[name="expand"],\nslot[name="collapse"] {\n display: inline-flex;\n align-items: center;\n margin-inline-start: auto;\n flex-shrink: 0;\n}\n\nslot[name="collapse"] {\n display: none;\n}\n\n.item--open slot[name="expand"] {\n display: none;\n}\n\n.item--open slot[name="collapse"] {\n display: inline-flex;\n align-items: center;\n}\n\nslot[name="collapse"] .item-arrow--right {\n transform: rotate(90deg);\n}\n\n:host([icon-placement="start"]) slot[name="expand"],\n:host([icon-placement="start"]) slot[name="collapse"] {\n order: -1;\n margin-inline-start: 0;\n}\n\n.submenu-panel {\n display: none;\n position: absolute;\n z-index: var(--submenu-z-index);\n background: var(--submenu-bg);\n border: var(--submenu-border);\n border-radius: var(--submenu-border-radius);\n box-shadow: var(--submenu-shadow);\n min-width: var(--submenu-min-width);\n padding: var(--submenu-padding);\n box-sizing: border-box;\n max-width: calc(100vw - 16px);\n}\n\n.submenu-panel.open {\n display: block;\n}\n\n.submenu-panel.placement-bottom {\n top: 100%;\n left: 0;\n margin-top: 2px;\n}\n\n.submenu-panel.placement-right {\n top: 0;\n left: 100%;\n margin-left: 2px;\n}\n\n.submenu-inline {\n display: none;\n padding-left: 1rem;\n}\n\n.submenu-inline.open {\n display: block;\n}\n';
|
|
7
|
-
var __create$1 = Object.create;
|
|
8
|
-
var __defProp$1 = Object.defineProperty;
|
|
9
|
-
var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
|
|
10
|
-
var __knownSymbol$1 = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
11
|
-
var __typeError$1 = (msg) => {
|
|
12
|
-
throw TypeError(msg);
|
|
13
|
-
};
|
|
14
|
-
var __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15
|
-
var __decoratorStart$1 = (base) => [, , , __create$1((base == null ? void 0 : base[__knownSymbol$1("metadata")]) ?? null)];
|
|
16
|
-
var __decoratorStrings$1 = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
17
|
-
var __expectFn$1 = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError$1("Function expected") : fn;
|
|
18
|
-
var __decoratorContext$1 = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings$1[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError$1("Already initialized") : fns.push(__expectFn$1(fn || null)) });
|
|
19
|
-
var __decoratorMetadata$1 = (array, target) => __defNormalProp$1(target, __knownSymbol$1("metadata"), array[3]);
|
|
20
|
-
var __runInitializers$1 = (array, flags, self, value) => {
|
|
21
|
-
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
22
|
-
return value;
|
|
23
|
-
};
|
|
24
|
-
var __decorateElement$1 = (array, flags, name, decorators, target, extra) => {
|
|
25
|
-
var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
|
|
26
|
-
var j = array.length + 1, key = __decoratorStrings$1[k + 5];
|
|
27
|
-
var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
|
|
28
|
-
var desc = (target = target.prototype, __getOwnPropDesc$1({ get [name]() {
|
|
29
|
-
return __privateGet$1(this, extra);
|
|
30
|
-
}, set [name](x) {
|
|
31
|
-
return __privateSet$1(this, extra, x);
|
|
32
|
-
} }, name));
|
|
33
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
34
|
-
ctx = __decoratorContext$1(k, name, done = {}, array[3], extraInitializers);
|
|
35
|
-
{
|
|
36
|
-
ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
|
|
37
|
-
access.get = (x) => x[name];
|
|
38
|
-
access.set = (x, y) => x[name] = y;
|
|
39
|
-
}
|
|
40
|
-
it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
|
|
41
|
-
if (it === void 0) __expectFn$1(it) && (desc[key] = it);
|
|
42
|
-
else if (typeof it !== "object" || it === null) __typeError$1("Object expected");
|
|
43
|
-
else __expectFn$1(fn = it.get) && (desc.get = fn), __expectFn$1(fn = it.set) && (desc.set = fn), __expectFn$1(fn = it.init) && initializers.unshift(fn);
|
|
44
|
-
}
|
|
45
|
-
return desc && __defProp$1(target, name, desc), target;
|
|
46
|
-
};
|
|
47
|
-
var __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
48
|
-
var __accessCheck$1 = (obj, member, msg) => member.has(obj) || __typeError$1("Cannot " + msg);
|
|
49
|
-
var __privateGet$1 = (obj, member, getter) => (__accessCheck$1(obj, member, "read from private field"), member.get(obj));
|
|
50
|
-
var __privateAdd$1 = (obj, member, value) => member.has(obj) ? __typeError$1("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
51
|
-
var __privateSet$1 = (obj, member, value, setter) => (__accessCheck$1(obj, member, "write to private field"), member.set(obj, value), value);
|
|
52
|
-
var _iconPlacement_dec, _open_dec, _selected_dec, _href_dec, _disabled_dec, _label_dec, _key_dec, _a$1, _init$1, _key, _label, _disabled, _href, _selected, _open, _iconPlacement;
|
|
53
|
-
class MenuItem extends (_a$1 = aeicoComponent.AeicoComponent, _key_dec = [aeico.prop({ type: String })], _label_dec = [aeico.prop({ type: String })], _disabled_dec = [aeico.prop({ type: Boolean })], _href_dec = [aeico.prop({ type: String })], _selected_dec = [aeico.prop({ type: Boolean })], _open_dec = [aeico.prop({ type: Boolean })], _iconPlacement_dec = [aeico.prop({ type: String })], _a$1) {
|
|
54
|
-
constructor() {
|
|
55
|
-
super(...arguments);
|
|
56
|
-
__privateAdd$1(this, _key, __runInitializers$1(_init$1, 8, this)), __runInitializers$1(_init$1, 11, this);
|
|
57
|
-
__privateAdd$1(this, _label, __runInitializers$1(_init$1, 12, this)), __runInitializers$1(_init$1, 15, this);
|
|
58
|
-
__privateAdd$1(this, _disabled, __runInitializers$1(_init$1, 16, this, false)), __runInitializers$1(_init$1, 19, this);
|
|
59
|
-
__privateAdd$1(this, _href, __runInitializers$1(_init$1, 20, this)), __runInitializers$1(_init$1, 23, this);
|
|
60
|
-
__privateAdd$1(this, _selected, __runInitializers$1(_init$1, 24, this, false)), __runInitializers$1(_init$1, 27, this);
|
|
61
|
-
__privateAdd$1(this, _open, __runInitializers$1(_init$1, 28, this, false)), __runInitializers$1(_init$1, 31, this);
|
|
62
|
-
__privateAdd$1(this, _iconPlacement, __runInitializers$1(_init$1, 32, this, "end")), __runInitializers$1(_init$1, 35, this);
|
|
63
|
-
__publicField$1(this, "_outsideClickHandler", null);
|
|
64
|
-
__publicField$1(this, "_closeTimer", null);
|
|
65
|
-
__publicField$1(this, "_handleMouseEnter", () => {
|
|
66
|
-
if (!this._isHoverTrigger()) return;
|
|
67
|
-
if (this._closeTimer !== null) {
|
|
68
|
-
clearTimeout(this._closeTimer);
|
|
69
|
-
this._closeTimer = null;
|
|
70
|
-
}
|
|
71
|
-
this.open = true;
|
|
72
|
-
});
|
|
73
|
-
__publicField$1(this, "_handleMouseLeave", () => {
|
|
74
|
-
if (!this._isHoverTrigger()) return;
|
|
75
|
-
this._closeTimer = setTimeout(() => {
|
|
76
|
-
this.open = false;
|
|
77
|
-
this._closeTimer = null;
|
|
78
|
-
}, 150);
|
|
79
|
-
});
|
|
80
|
-
__publicField$1(this, "_handleParentClick", () => {
|
|
81
|
-
if (this.disabled) return;
|
|
82
|
-
const mode = this._mode;
|
|
83
|
-
const trigger = this._trigger;
|
|
84
|
-
if (mode === "flyout" && trigger === "hover") {
|
|
85
|
-
this.open = !this.open;
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
this.open = !this.open;
|
|
89
|
-
});
|
|
90
|
-
__publicField$1(this, "_handleLeafClick", (e) => {
|
|
91
|
-
var _a2;
|
|
92
|
-
if (this.disabled) {
|
|
93
|
-
e.preventDefault();
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
const path = this._buildKeyPath();
|
|
97
|
-
const label = ((_a2 = this.textContent) == null ? void 0 : _a2.trim()) ?? "";
|
|
98
|
-
this.dispatchEvent(
|
|
99
|
-
new CustomEvent("_menu-item-select", {
|
|
100
|
-
bubbles: true,
|
|
101
|
-
composed: true,
|
|
102
|
-
detail: { key: this.key ?? "", label, keyPath: path }
|
|
103
|
-
})
|
|
104
|
-
);
|
|
105
|
-
});
|
|
106
|
-
__publicField$1(this, "_handleChildSelect", () => {
|
|
107
|
-
if (this._mode === "flyout") {
|
|
108
|
-
this.open = false;
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
__publicField$1(this, "_handleKeydown", (e) => {
|
|
112
|
-
if (e.key === "Escape" && this.open) {
|
|
113
|
-
e.stopPropagation();
|
|
114
|
-
this.open = false;
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
connectedCallback() {
|
|
119
|
-
var _a2;
|
|
120
|
-
super.connectedCallback();
|
|
121
|
-
const depth = ((_a2 = this.parentElement) == null ? void 0 : _a2.closest("ae-menu-item")) ? 1 : 0;
|
|
122
|
-
this.dataset.depth = String(depth);
|
|
123
|
-
this.listen("mouseenter", this._handleMouseEnter);
|
|
124
|
-
this.listen("mouseleave", this._handleMouseLeave);
|
|
125
|
-
this._outsideClickHandler = (e) => {
|
|
126
|
-
if (!this.open) return;
|
|
127
|
-
if (this._mode === "inline") return;
|
|
128
|
-
if (!e.composedPath().includes(this)) this.open = false;
|
|
129
|
-
};
|
|
130
|
-
document.addEventListener("click", this._outsideClickHandler);
|
|
131
|
-
this.listen("_menu-item-select", this._handleChildSelect);
|
|
132
|
-
}
|
|
133
|
-
disconnectedCallback() {
|
|
134
|
-
super.disconnectedCallback();
|
|
135
|
-
if (this._outsideClickHandler) {
|
|
136
|
-
document.removeEventListener("click", this._outsideClickHandler);
|
|
137
|
-
this._outsideClickHandler = null;
|
|
138
|
-
}
|
|
139
|
-
if (this._closeTimer !== null) {
|
|
140
|
-
clearTimeout(this._closeTimer);
|
|
141
|
-
this._closeTimer = null;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
get _parentMenu() {
|
|
145
|
-
return this.closest("ae-menu");
|
|
146
|
-
}
|
|
147
|
-
get _mode() {
|
|
148
|
-
var _a2;
|
|
149
|
-
return ((_a2 = this._parentMenu) == null ? void 0 : _a2.mode) ?? "flyout";
|
|
150
|
-
}
|
|
151
|
-
get _orientation() {
|
|
152
|
-
var _a2;
|
|
153
|
-
return ((_a2 = this._parentMenu) == null ? void 0 : _a2.orientation) ?? "horizontal";
|
|
154
|
-
}
|
|
155
|
-
get _trigger() {
|
|
156
|
-
var _a2;
|
|
157
|
-
return ((_a2 = this._parentMenu) == null ? void 0 : _a2.trigger) ?? "click";
|
|
158
|
-
}
|
|
159
|
-
get _isParent() {
|
|
160
|
-
return this.label != null && this.label !== "";
|
|
161
|
-
}
|
|
162
|
-
/** Compute flyout panel placement based on depth and parent orientation. */
|
|
163
|
-
get _panelPlacement() {
|
|
164
|
-
var _a2;
|
|
165
|
-
const isNested = !!((_a2 = this.parentElement) == null ? void 0 : _a2.closest("ae-menu-item"));
|
|
166
|
-
if (!isNested && this._orientation === "horizontal") return "bottom";
|
|
167
|
-
return "right";
|
|
168
|
-
}
|
|
169
|
-
_isHoverTrigger() {
|
|
170
|
-
return this._isParent && this._mode === "flyout" && this._trigger === "hover";
|
|
171
|
-
}
|
|
172
|
-
_buildKeyPath() {
|
|
173
|
-
const path = [];
|
|
174
|
-
if (this.key) path.unshift(this.key);
|
|
175
|
-
let el = this.parentElement;
|
|
176
|
-
while (el) {
|
|
177
|
-
const tag = el.tagName.toLowerCase();
|
|
178
|
-
if (tag === "ae-menu-item") {
|
|
179
|
-
const k = el.key;
|
|
180
|
-
if (k) path.unshift(k);
|
|
181
|
-
} else if (tag === "ae-menu") {
|
|
182
|
-
break;
|
|
183
|
-
}
|
|
184
|
-
el = el.parentElement;
|
|
185
|
-
}
|
|
186
|
-
return path;
|
|
187
|
-
}
|
|
188
|
-
render() {
|
|
189
|
-
var _a2;
|
|
190
|
-
const mode = this._mode;
|
|
191
|
-
const panelPlacement = this._panelPlacement;
|
|
192
|
-
const isParent = this._isParent;
|
|
193
|
-
const isInline = mode === "inline";
|
|
194
|
-
const arrowDir = !isInline && panelPlacement === "bottom" ? "bottom" : "right";
|
|
195
|
-
const isNested = !!((_a2 = this.parentElement) == null ? void 0 : _a2.closest("ae-menu-item"));
|
|
196
|
-
return aeico.html(({ div, button, a, span, slot }) => {
|
|
197
|
-
if (isParent) {
|
|
198
|
-
div({ className: "item-wrapper" }, () => {
|
|
199
|
-
button(
|
|
200
|
-
{
|
|
201
|
-
type: "button",
|
|
202
|
-
className: { item: true, "item--parent": true, "item--open": this.open },
|
|
203
|
-
disabled: this.disabled,
|
|
204
|
-
"aria-haspopup": "menu",
|
|
205
|
-
"aria-expanded": String(this.open),
|
|
206
|
-
"@click": this._handleParentClick,
|
|
207
|
-
"@keydown": this._handleKeydown
|
|
208
|
-
},
|
|
209
|
-
() => {
|
|
210
|
-
span({ text: this.label });
|
|
211
|
-
slot({ name: "expand" }, () => {
|
|
212
|
-
span({ className: `item-arrow item-arrow--${arrowDir}`, "aria-hidden": "true" });
|
|
213
|
-
});
|
|
214
|
-
slot({ name: "collapse" }, () => {
|
|
215
|
-
span({ className: `item-arrow item-arrow--${arrowDir}`, "aria-hidden": "true" });
|
|
216
|
-
});
|
|
217
|
-
}
|
|
218
|
-
);
|
|
219
|
-
if (isInline) {
|
|
220
|
-
div(
|
|
221
|
-
{
|
|
222
|
-
className: { "submenu-inline": true, open: this.open },
|
|
223
|
-
role: "menu"
|
|
224
|
-
},
|
|
225
|
-
() => {
|
|
226
|
-
slot();
|
|
227
|
-
}
|
|
228
|
-
);
|
|
229
|
-
} else {
|
|
230
|
-
div(
|
|
231
|
-
{
|
|
232
|
-
className: {
|
|
233
|
-
"submenu-panel": true,
|
|
234
|
-
[`placement-${panelPlacement}`]: true,
|
|
235
|
-
open: this.open
|
|
236
|
-
},
|
|
237
|
-
role: "menu"
|
|
238
|
-
},
|
|
239
|
-
() => {
|
|
240
|
-
slot();
|
|
241
|
-
}
|
|
242
|
-
);
|
|
243
|
-
}
|
|
244
|
-
});
|
|
245
|
-
} else {
|
|
246
|
-
const sharedProps = {
|
|
247
|
-
className: { item: true, "item--leaf-in-panel": isNested },
|
|
248
|
-
role: "menuitem",
|
|
249
|
-
"@click": this._handleLeafClick,
|
|
250
|
-
"@keydown": this._handleKeydown
|
|
251
|
-
};
|
|
252
|
-
if (this.href) {
|
|
253
|
-
a(
|
|
254
|
-
{
|
|
255
|
-
...sharedProps,
|
|
256
|
-
href: this.disabled ? void 0 : this.href,
|
|
257
|
-
"aria-disabled": this.disabled ? "true" : void 0
|
|
258
|
-
},
|
|
259
|
-
() => {
|
|
260
|
-
slot();
|
|
261
|
-
}
|
|
262
|
-
);
|
|
263
|
-
} else {
|
|
264
|
-
button(
|
|
265
|
-
{
|
|
266
|
-
...sharedProps,
|
|
267
|
-
type: "button",
|
|
268
|
-
disabled: this.disabled
|
|
269
|
-
},
|
|
270
|
-
() => {
|
|
271
|
-
slot();
|
|
272
|
-
}
|
|
273
|
-
);
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
});
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
_init$1 = __decoratorStart$1(_a$1);
|
|
280
|
-
_key = /* @__PURE__ */ new WeakMap();
|
|
281
|
-
_label = /* @__PURE__ */ new WeakMap();
|
|
282
|
-
_disabled = /* @__PURE__ */ new WeakMap();
|
|
283
|
-
_href = /* @__PURE__ */ new WeakMap();
|
|
284
|
-
_selected = /* @__PURE__ */ new WeakMap();
|
|
285
|
-
_open = /* @__PURE__ */ new WeakMap();
|
|
286
|
-
_iconPlacement = /* @__PURE__ */ new WeakMap();
|
|
287
|
-
__decorateElement$1(_init$1, 4, "key", _key_dec, MenuItem, _key);
|
|
288
|
-
__decorateElement$1(_init$1, 4, "label", _label_dec, MenuItem, _label);
|
|
289
|
-
__decorateElement$1(_init$1, 4, "disabled", _disabled_dec, MenuItem, _disabled);
|
|
290
|
-
__decorateElement$1(_init$1, 4, "href", _href_dec, MenuItem, _href);
|
|
291
|
-
__decorateElement$1(_init$1, 4, "selected", _selected_dec, MenuItem, _selected);
|
|
292
|
-
__decorateElement$1(_init$1, 4, "open", _open_dec, MenuItem, _open);
|
|
293
|
-
__decorateElement$1(_init$1, 4, "iconPlacement", _iconPlacement_dec, MenuItem, _iconPlacement);
|
|
294
|
-
__decoratorMetadata$1(_init$1, MenuItem);
|
|
295
|
-
__publicField$1(MenuItem, "tagName", "menu-item");
|
|
296
|
-
__publicField$1(MenuItem, "styles", [variables.variables, style]);
|
|
297
|
-
MenuItem.register();
|
|
298
|
-
var __create = Object.create;
|
|
299
|
-
var __defProp = Object.defineProperty;
|
|
300
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
301
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
302
|
-
var __typeError = (msg) => {
|
|
303
|
-
throw TypeError(msg);
|
|
304
|
-
};
|
|
305
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
306
|
-
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
307
|
-
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
308
|
-
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
309
|
-
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
310
|
-
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
311
|
-
var __runInitializers = (array, flags, self, value) => {
|
|
312
|
-
for (var i = 0, fns = array[flags >> 1], n = fns && fns.length; i < n; i++) flags & 1 ? fns[i].call(self) : value = fns[i].call(self, value);
|
|
313
|
-
return value;
|
|
314
|
-
};
|
|
315
|
-
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
316
|
-
var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
|
|
317
|
-
var j = array.length + 1, key = __decoratorStrings[k + 5];
|
|
318
|
-
var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
|
|
319
|
-
var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
|
|
320
|
-
return __privateGet(this, extra);
|
|
321
|
-
}, set [name](x) {
|
|
322
|
-
return __privateSet(this, extra, x);
|
|
323
|
-
} }, name));
|
|
324
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
325
|
-
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
326
|
-
{
|
|
327
|
-
ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
|
|
328
|
-
access.get = (x) => x[name];
|
|
329
|
-
access.set = (x, y) => x[name] = y;
|
|
330
|
-
}
|
|
331
|
-
it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
|
|
332
|
-
if (it === void 0) __expectFn(it) && (desc[key] = it);
|
|
333
|
-
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
334
|
-
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
335
|
-
}
|
|
336
|
-
return desc && __defProp(target, name, desc), target;
|
|
337
|
-
};
|
|
338
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
339
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
340
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
|
|
341
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
342
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
343
|
-
var _selectedKey_dec, _trigger_dec, _orientation_dec, _mode_dec, _a, _init, _mode, _orientation, _trigger, _selectedKey;
|
|
344
|
-
class Menu extends (_a = aeicoComponent.AeicoComponent, _mode_dec = [aeico.prop({ type: String })], _orientation_dec = [aeico.prop({ type: String })], _trigger_dec = [aeico.prop({ type: String })], _selectedKey_dec = [aeico.prop({ type: String })], _a) {
|
|
345
|
-
constructor() {
|
|
346
|
-
super(...arguments);
|
|
347
|
-
__privateAdd(this, _mode, __runInitializers(_init, 8, this, "flyout")), __runInitializers(_init, 11, this);
|
|
348
|
-
__privateAdd(this, _orientation, __runInitializers(_init, 12, this, "horizontal")), __runInitializers(_init, 15, this);
|
|
349
|
-
__privateAdd(this, _trigger, __runInitializers(_init, 16, this, "click")), __runInitializers(_init, 19, this);
|
|
350
|
-
__privateAdd(this, _selectedKey, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
|
|
351
|
-
__publicField(this, "_handleItemSelect", (e) => {
|
|
352
|
-
const { key, label, keyPath } = e.detail;
|
|
353
|
-
this.querySelectorAll("ae-menu-item").forEach((el) => {
|
|
354
|
-
const item = el;
|
|
355
|
-
item.selected = item.key === key && !item.label;
|
|
356
|
-
});
|
|
357
|
-
this.selectedKey = key;
|
|
358
|
-
this.emit("select", { detail: { key, label, keyPath } });
|
|
359
|
-
});
|
|
360
|
-
}
|
|
361
|
-
connectedCallback() {
|
|
362
|
-
super.connectedCallback();
|
|
363
|
-
this.listen("_menu-item-select", this._handleItemSelect);
|
|
364
|
-
}
|
|
365
|
-
render() {
|
|
366
|
-
const isHorizontal = this.orientation === "horizontal";
|
|
367
|
-
return aeico.html(({ div, slot }) => {
|
|
368
|
-
div(
|
|
369
|
-
{
|
|
370
|
-
className: { "menu-list": true, "menu-list--horizontal": isHorizontal },
|
|
371
|
-
role: isHorizontal ? "menubar" : "menu",
|
|
372
|
-
"aria-orientation": this.orientation
|
|
373
|
-
},
|
|
374
|
-
() => {
|
|
375
|
-
slot();
|
|
376
|
-
}
|
|
377
|
-
);
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
_init = __decoratorStart(_a);
|
|
382
|
-
_mode = /* @__PURE__ */ new WeakMap();
|
|
383
|
-
_orientation = /* @__PURE__ */ new WeakMap();
|
|
384
|
-
_trigger = /* @__PURE__ */ new WeakMap();
|
|
385
|
-
_selectedKey = /* @__PURE__ */ new WeakMap();
|
|
386
|
-
__decorateElement(_init, 4, "mode", _mode_dec, Menu, _mode);
|
|
387
|
-
__decorateElement(_init, 4, "orientation", _orientation_dec, Menu, _orientation);
|
|
388
|
-
__decorateElement(_init, 4, "trigger", _trigger_dec, Menu, _trigger);
|
|
389
|
-
__decorateElement(_init, 4, "selectedKey", _selectedKey_dec, Menu, _selectedKey);
|
|
390
|
-
__decoratorMetadata(_init, Menu);
|
|
391
|
-
__publicField(Menu, "tagName", "menu");
|
|
392
|
-
__publicField(Menu, "styles", [variables.variables, style$1]);
|
|
393
|
-
Menu.register();
|
|
394
|
-
exports.Menu = Menu;
|
|
395
|
-
exports.MenuItem = MenuItem;
|
|
396
|
-
//# sourceMappingURL=menu.cjs.map
|
package/dist/chunks/menu.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.cjs","sources":["../../src/menu/menu-item.ts","../../src/menu/menu.ts"],"sourcesContent":["import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport style from '../styles/components/menu-item.css?inline';\nimport variables from '../styles/variables.css?inline';\nimport type {\n MenuMode,\n MenuOrientation,\n MenuTrigger,\n ParentMenuLike,\n MenuIconPlacement,\n} from './defines';\n\n/**\n * Menu item — used as a direct child of `<ae-menu>` or nested inside another\n * `<ae-menu-item>` to create a two-level submenu.\n *\n * - **Leaf item**: omit `label`; slot contains the item text.\n * - **Parent item**: set `label` to the trigger text; slot children are\n * `<ae-menu-item>` elements that appear in the submenu panel/section.\n *\n * **Slots (parent items only)**\n * - `expand` — icon shown when the submenu is closed (default: CSS triangle).\n * - `collapse` — icon shown when the submenu is open (default: rotated CSS triangle).\n *\n * @example\n * ```html\n * <ae-menu-item label=\"Settings\" icon-placement=\"start\">\n * <ae-icon name=\"chevron-right\" slot=\"expand\"></ae-icon>\n * <ae-icon name=\"chevron-down\" slot=\"collapse\"></ae-icon>\n * <ae-menu-item key=\"profile\">Profile</ae-menu-item>\n * </ae-menu-item>\n * ```\n */\nclass MenuItem extends AeicoComponent {\n static tagName = 'menu-item';\n\n protected static styles = [variables, style];\n\n @prop({ type: String })\n accessor key: string | undefined;\n\n @prop({ type: String })\n accessor label: string | undefined;\n\n @prop({ type: Boolean })\n accessor disabled: boolean = false;\n\n @prop({ type: String })\n accessor href: string | undefined;\n\n @prop({ type: Boolean })\n accessor selected: boolean = false;\n\n @prop({ type: Boolean })\n accessor open: boolean = false;\n\n @prop({ type: String })\n accessor iconPlacement: MenuIconPlacement = 'end';\n\n private _outsideClickHandler: ((e: MouseEvent) => void) | null = null;\n private _closeTimer: ReturnType<typeof setTimeout> | null = null;\n\n connectedCallback() {\n super.connectedCallback();\n\n // data-depth lets CSS apply depth-specific styles without JS\n const depth = this.parentElement?.closest('ae-menu-item') ? 1 : 0;\n this.dataset.depth = String(depth);\n\n // Hover listeners — check mode/trigger at runtime\n this.listen('mouseenter', this._handleMouseEnter);\n this.listen('mouseleave', this._handleMouseLeave);\n\n // Outside-click to close flyout panel (not applicable in inline mode)\n this._outsideClickHandler = (e: MouseEvent) => {\n if (!this.open) return;\n if (this._mode === 'inline') return;\n if (!e.composedPath().includes(this)) this.open = false;\n };\n\n document.addEventListener('click', this._outsideClickHandler);\n\n // Close own submenu when a leaf inside it is selected (flyout)\n this.listen('_menu-item-select', this._handleChildSelect as EventListener);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._outsideClickHandler) {\n document.removeEventListener('click', this._outsideClickHandler);\n this._outsideClickHandler = null;\n }\n if (this._closeTimer !== null) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n }\n\n private get _parentMenu(): ParentMenuLike | null {\n return this.closest<ParentMenuLike>('ae-menu');\n }\n\n private get _mode(): MenuMode {\n return this._parentMenu?.mode ?? 'flyout';\n }\n\n private get _orientation(): MenuOrientation {\n return this._parentMenu?.orientation ?? 'horizontal';\n }\n\n private get _trigger(): MenuTrigger {\n return this._parentMenu?.trigger ?? 'click';\n }\n\n private get _isParent(): boolean {\n return this.label != null && this.label !== '';\n }\n\n /** Compute flyout panel placement based on depth and parent orientation. */\n private get _panelPlacement(): 'bottom' | 'right' {\n const isNested = !!this.parentElement?.closest('ae-menu-item');\n if (!isNested && this._orientation === 'horizontal') return 'bottom';\n return 'right';\n }\n\n private _isHoverTrigger(): boolean {\n return this._isParent && this._mode === 'flyout' && this._trigger === 'hover';\n }\n\n private _handleMouseEnter = (): void => {\n if (!this._isHoverTrigger()) return;\n if (this._closeTimer !== null) {\n clearTimeout(this._closeTimer);\n this._closeTimer = null;\n }\n this.open = true;\n };\n\n private _handleMouseLeave = (): void => {\n if (!this._isHoverTrigger()) return;\n this._closeTimer = setTimeout(() => {\n this.open = false;\n this._closeTimer = null;\n }, 150);\n };\n\n private _handleParentClick = (): void => {\n if (this.disabled) return;\n const mode = this._mode;\n const trigger = this._trigger;\n // In hover mode, click should still toggle (accessibility)\n if (mode === 'flyout' && trigger === 'hover') {\n this.open = !this.open;\n return;\n }\n this.open = !this.open;\n };\n\n private _handleLeafClick = (e: Event): void => {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n const path = this._buildKeyPath();\n const label = this.textContent?.trim() ?? '';\n this.dispatchEvent(\n new CustomEvent('_menu-item-select', {\n bubbles: true,\n composed: true,\n detail: { key: this.key ?? '', label, keyPath: path },\n }),\n );\n };\n\n private _handleChildSelect = (): void => {\n // Close flyout panel after a child leaf is selected\n if (this._mode === 'flyout') {\n this.open = false;\n }\n };\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (e.key === 'Escape' && this.open) {\n e.stopPropagation();\n this.open = false;\n }\n };\n\n private _buildKeyPath(): string[] {\n const path: string[] = [];\n if (this.key) path.unshift(this.key);\n let el: Element | null = this.parentElement;\n while (el) {\n const tag = el.tagName.toLowerCase();\n if (tag === 'ae-menu-item') {\n const k = (el as MenuItem).key;\n if (k) path.unshift(k);\n } else if (tag === 'ae-menu') {\n break;\n }\n el = el.parentElement;\n }\n return path;\n }\n\n protected render() {\n const mode = this._mode;\n const panelPlacement = this._panelPlacement;\n const isParent = this._isParent;\n const isInline = mode === 'inline';\n // Arrow direction: inline always shows ► (rotates to ▼ on open)\n // flyout-bottom shows ▼; flyout-right shows ►\n const arrowDir = !isInline && panelPlacement === 'bottom' ? 'bottom' : 'right';\n // Leaf items inside a submenu panel (depth > 0) need different padding\n const isNested = !!this.parentElement?.closest('ae-menu-item');\n\n return html(({ div, button, a, span, slot }) => {\n if (isParent) {\n div({ className: 'item-wrapper' }, () => {\n button(\n {\n type: 'button',\n className: { item: true, 'item--parent': true, 'item--open': this.open },\n disabled: this.disabled,\n 'aria-haspopup': 'menu',\n 'aria-expanded': String(this.open),\n '@click': this._handleParentClick,\n '@keydown': this._handleKeydown,\n },\n () => {\n span({ text: this.label });\n slot({ name: 'expand' }, () => {\n span({ className: `item-arrow item-arrow--${arrowDir}`, 'aria-hidden': 'true' });\n });\n slot({ name: 'collapse' }, () => {\n span({ className: `item-arrow item-arrow--${arrowDir}`, 'aria-hidden': 'true' });\n });\n },\n );\n\n if (isInline) {\n div(\n {\n className: { 'submenu-inline': true, open: this.open },\n role: 'menu',\n },\n () => {\n slot();\n },\n );\n } else {\n div(\n {\n className: {\n 'submenu-panel': true,\n [`placement-${panelPlacement}`]: true,\n open: this.open,\n },\n role: 'menu',\n },\n () => {\n slot();\n },\n );\n }\n });\n } else {\n // Leaf item\n const sharedProps = {\n className: { item: true, 'item--leaf-in-panel': isNested },\n role: 'menuitem',\n '@click': this._handleLeafClick,\n '@keydown': this._handleKeydown,\n };\n\n if (this.href) {\n a(\n {\n ...sharedProps,\n href: this.disabled ? undefined : this.href,\n 'aria-disabled': this.disabled ? 'true' : undefined,\n },\n () => {\n slot();\n },\n );\n } else {\n button(\n {\n ...sharedProps,\n type: 'button',\n disabled: this.disabled,\n },\n () => {\n slot();\n },\n );\n }\n }\n });\n }\n}\n\nMenuItem.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-menu-item': MenuItem;\n }\n}\n\nexport default MenuItem;\nexport type MenuItemProps = InferProps<typeof MenuItem>;\nexport type { MenuIconPlacement };\n","import AeicoComponent from '../aeico-component';\nimport type { InferProps } from 'aeico';\nimport { html, prop } from 'aeico';\nimport style from '../styles/components/menu.css?inline';\nimport variables from '../styles/variables.css?inline';\nimport type { MenuMode, MenuOrientation, MenuSelectDetail, MenuTrigger } from './defines';\n// Ensure ae-menu-item is registered when this module is used\nimport './menu-item';\n\n/**\n * Menu navigation component. Renders a horizontal or vertical menu with\n * optional two-level flyout or inline (accordion) submenus.\n *\n * Two modes:\n * - `flyout` (default) — submenus open as floating panels (like a nav bar or\n * context menu).\n * - `inline` — submenus expand in-place (accordion-style sidebar).\n *\n * Emits:\n * - `select` — `{ detail: { key, label, keyPath } }` when a leaf item is clicked.\n */\nclass Menu extends AeicoComponent {\n static tagName = 'menu';\n\n protected static styles = [variables, style];\n\n @prop({ type: String })\n accessor mode: MenuMode = 'flyout';\n\n @prop({ type: String })\n accessor orientation: MenuOrientation = 'horizontal';\n\n @prop({ type: String })\n accessor trigger: MenuTrigger = 'click';\n\n @prop({ type: String })\n accessor selectedKey: string | undefined;\n\n connectedCallback() {\n super.connectedCallback();\n this.listen('_menu-item-select', this._handleItemSelect as EventListener);\n }\n\n private _handleItemSelect = (e: CustomEvent<MenuSelectDetail>): void => {\n const { key, label, keyPath } = e.detail;\n // Update visual selection on all leaf items\n this.querySelectorAll('ae-menu-item').forEach((el) => {\n const item = el;\n item.selected = item.key === key && !item.label; // only leaf items\n });\n this.selectedKey = key;\n this.emit('select', { detail: { key, label, keyPath } });\n };\n\n protected render() {\n const isHorizontal = this.orientation === 'horizontal';\n return html(({ div, slot }) => {\n div(\n {\n className: { 'menu-list': true, 'menu-list--horizontal': isHorizontal },\n role: isHorizontal ? 'menubar' : 'menu',\n 'aria-orientation': this.orientation,\n },\n () => {\n slot();\n },\n );\n });\n }\n}\n\nMenu.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-menu': Menu;\n }\n}\n\nexport default Menu;\nexport type MenuProps = InferProps<typeof Menu>;\n"],"names":["_a","_init","prop","__privateAdd","__runInitializers","__publicField","html","__decoratorStart","__decorateElement","__decoratorMetadata","variables","AeicoComponent","style"],"mappings":"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"}
|