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/navbar.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { v as variables } from "./variables.js";
|
|
2
|
-
import { c as colorCSS } from "./color.js";
|
|
3
|
-
import { A as AeicoComponent } from "./aeico-component.js";
|
|
4
|
-
import { prop, html } from "aeico";
|
|
5
|
-
const navbarStyle = ':host {\n /* layout — padding lives in .inner so document * { padding:0 } cannot override it */\n display: block;\n position: static;\n top: auto;\n z-index: var(--ae-navbar-z-index, 100);\n box-sizing: border-box;\n height: var(--ae-navbar-height, 3.25rem);\n border-radius: var(--ae-navbar-radius, 0);\n\n /* color */\n background: var(--ae-navbar-bg, var(--surface-base));\n color: var(--ae-navbar-color, var(--color-text-main));\n border-bottom: var(--ae-navbar-border-width, 1px) solid var(--ae-navbar-border-color, var(--border-default));\n box-shadow: var(--ae-navbar-shadow, none);\n\n /* layout tokens — declared here so they are clearly part of the public API */\n --ae-navbar-radius: 0;\n /* Default padding-x references the global layout token so ae-navbar content\n automatically aligns with .container / .container-fluid in light DOM.\n Override with --ae-navbar-padding-x to decouple if needed. */\n --ae-navbar-padding-x: var(--container-padding-x, 1.5rem);\n --ae-navbar-gap: 0.5rem;\n\n /* link style tokens — text mode defaults.\n CSS custom properties inherit into slotted content, so\n ::slotted(a[slot="start"]) can reference --ae-navbar-height. */\n --ae-navbar-link-color: inherit;\n --ae-navbar-link-font-size: inherit;\n --ae-navbar-link-padding-x: 0.75rem; /* horizontal padding only; height fills vertically */\n --ae-navbar-link-radius: 0;\n --ae-navbar-link-hover-color: var(--color-text-link-hover);\n --ae-navbar-link-hover-bg: transparent;\n --ae-navbar-link-active-color: var(--color-text-link);\n --ae-navbar-link-active-font-weight: 600;\n}\n\n:host([sticky]) {\n position: sticky;\n top: 0;\n}\n\n:host([color]) {\n --ae-navbar-bg: var(--color-solid);\n --ae-navbar-color: var(--color-on-solid);\n --ae-navbar-border-color: transparent;\n --ae-navbar-link-hover-color: var(--color-on-solid);\n --ae-navbar-link-active-color: var(--color-on-solid);\n}\n\n/* block preset: hover shows a subtle filled block */\n:host([appearance="block"]) {\n --ae-navbar-link-hover-bg: var(--color-bg-subtle);\n --ae-navbar-link-hover-color: inherit;\n}\n\n/* block preset on colored navbar: use semi-transparent white */\n:host([color][appearance="block"]) {\n --ae-navbar-link-hover-bg: rgba(255, 255, 255, 0.15);\n --ae-navbar-link-hover-color: var(--color-on-solid);\n}\n\n.inner {\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 var(--ae-navbar-padding-x);\n gap: var(--ae-navbar-gap);\n box-sizing: border-box;\n}\n\n[part="brand"] {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n}\n\n/* nav wraps start + end; takes all remaining space */\n[part="nav"] {\n flex: 1 1 auto;\n display: flex;\n align-self: stretch; /* stretch to host height so children can fill it */\n align-items: stretch;\n min-width: 0;\n}\n\n[part="start"],\n[part="end"] {\n flex: 0 0 auto;\n display: flex;\n align-self: stretch;\n}\n\n[part="start"] {\n align-items: stretch; /* slotted <a> will stretch to full height */\n gap: var(--ae-navbar-start-gap, 0);\n}\n\n[part="end"] {\n align-items: center; /* buttons / avatars stay vertically centred */\n gap: var(--ae-navbar-end-gap, 0.5rem);\n margin-left: auto;\n}\n\n/* hamburger — hidden on desktop */\n[part="hamburger"] {\n display: none;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n flex-shrink: 0;\n width: var(--ae-navbar-hamburger-size, 2rem);\n height: var(--ae-navbar-hamburger-size, 2rem);\n margin-left: auto;\n padding: 0;\n background: none;\n border: none;\n border-radius: 4px;\n cursor: pointer;\n color: var(--ae-navbar-hamburger-color, inherit);\n}\n\n[part="hamburger"]:hover {\n background: color-mix(in srgb, currentColor 10%, transparent);\n}\n\n[part="hamburger"] span {\n display: block;\n width: 18px;\n height: 2px;\n background: currentColor;\n border-radius: 1px;\n transition: transform 0.2s ease, opacity 0.2s ease;\n}\n\n/* Brand link — sensible defaults, no full-height stretch */\n::slotted(a[slot="brand"]) {\n display: inline-flex;\n align-items: center;\n color: inherit;\n font-weight: 700;\n font-size: 1.05rem;\n text-decoration: none;\n white-space: nowrap;\n}\n\n/* Nav links (start / end slots) — fill full navbar height for block hover effect */\n::slotted(a[slot="start"]),\n::slotted(a[slot="end"]) {\n display: inline-flex;\n align-items: center;\n height: var(--ae-navbar-height, 3.25rem); /* full-height hover area */\n /* !important overrides document-level * { padding: 0 } reset */\n padding: 0 var(--ae-navbar-link-padding-x) !important;\n border-radius: var(--ae-navbar-link-radius);\n color: var(--ae-navbar-link-color);\n font-size: var(--ae-navbar-link-font-size);\n text-decoration: none;\n white-space: nowrap;\n transition: color 0.15s ease, background-color 0.15s ease;\n outline-offset: 2px;\n}\n\n::slotted(a[slot="start"]:hover),\n::slotted(a[slot="end"]:hover) {\n color: var(--ae-navbar-link-hover-color);\n background-color: var(--ae-navbar-link-hover-bg);\n}\n\n::slotted(a[slot="start"][aria-current="page"]),\n::slotted(a[slot="end"][aria-current="page"]) {\n color: var(--ae-navbar-link-active-color);\n font-weight: var(--ae-navbar-link-active-font-weight);\n}\n\n/* ae-dropdown inside navbar — map navbar tokens to dropdown trigger API */\n::slotted(ae-dropdown) {\n align-self: stretch;\n --dropdown-trigger-height: 100%;\n --dropdown-trigger-padding-x: var(--ae-navbar-link-padding-x);\n --dropdown-trigger-color: var(--ae-navbar-link-color);\n --dropdown-trigger-bg: none;\n --dropdown-trigger-radius: var(--ae-navbar-link-radius);\n --dropdown-trigger-font-size: var(--ae-navbar-link-font-size);\n --dropdown-trigger-hover-color: var(--ae-navbar-link-hover-color);\n --dropdown-trigger-hover-bg: var(--ae-navbar-link-hover-bg);\n}\n\n@media (max-width: 768px) {\n /* collapse the nav container */\n [part="nav"] {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n flex-direction: column;\n align-items: stretch;\n gap: 0;\n padding: 0.5rem 0;\n background: var(--ae-navbar-mobile-bg, var(--ae-navbar-bg, var(--surface-base)));\n border-bottom: 1px solid var(--ae-navbar-border-color, var(--border-default));\n box-shadow: var(--ae-navbar-mobile-shadow, 0 4px 12px rgba(0, 0, 0, 0.1));\n z-index: 1;\n }\n\n :host([open]) [part="nav"] {\n display: flex;\n }\n\n /* stack start/end vertically inside the panel */\n [part="start"],\n [part="end"] {\n flex-direction: column;\n align-items: flex-start;\n align-self: auto;\n gap: 0;\n margin-left: 0;\n width: 100%;\n }\n\n /* Mobile: links revert to auto height and add vertical padding */\n ::slotted(a[slot="start"]),\n ::slotted(a[slot="end"]) {\n height: auto;\n width: 100%;\n padding: 0.75rem var(--ae-navbar-link-padding-x);\n border-radius: 0;\n }\n\n /* show hamburger */\n [part="hamburger"] {\n display: flex;\n }\n\n /* hamburger → × animation */\n :host([open]) [part="hamburger"] span:nth-child(1) {\n transform: translateY(7px) rotate(45deg);\n }\n\n :host([open]) [part="hamburger"] span:nth-child(2) {\n opacity: 0;\n transform: scaleX(0);\n }\n\n :host([open]) [part="hamburger"] span:nth-child(3) {\n transform: translateY(-7px) rotate(-45deg);\n }\n}\n';
|
|
6
|
-
var __create = Object.create;
|
|
7
|
-
var __defProp = Object.defineProperty;
|
|
8
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
9
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
10
|
-
var __typeError = (msg) => {
|
|
11
|
-
throw TypeError(msg);
|
|
12
|
-
};
|
|
13
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
14
|
-
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
15
|
-
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
16
|
-
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
17
|
-
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
18
|
-
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
19
|
-
var __runInitializers = (array, flags, self, value) => {
|
|
20
|
-
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);
|
|
21
|
-
return value;
|
|
22
|
-
};
|
|
23
|
-
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
24
|
-
var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
|
|
25
|
-
var j = array.length + 1, key = __decoratorStrings[k + 5];
|
|
26
|
-
var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
|
|
27
|
-
var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
|
|
28
|
-
return __privateGet(this, extra);
|
|
29
|
-
}, set [name](x) {
|
|
30
|
-
return __privateSet(this, extra, x);
|
|
31
|
-
} }, name));
|
|
32
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
33
|
-
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
34
|
-
{
|
|
35
|
-
ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
|
|
36
|
-
access.get = (x) => x[name];
|
|
37
|
-
access.set = (x, y) => x[name] = y;
|
|
38
|
-
}
|
|
39
|
-
it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
|
|
40
|
-
if (it === void 0) __expectFn(it) && (desc[key] = it);
|
|
41
|
-
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
42
|
-
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
43
|
-
}
|
|
44
|
-
return desc && __defProp(target, name, desc), target;
|
|
45
|
-
};
|
|
46
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
47
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
48
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
|
|
49
|
-
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);
|
|
50
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
51
|
-
var _open_dec, _appearance_dec, _sticky_dec, _color_dec, _a, _init, _color, _sticky, _appearance, _open;
|
|
52
|
-
class Navbar extends (_a = AeicoComponent, _color_dec = [prop({ type: String })], _sticky_dec = [prop({ type: Boolean })], _appearance_dec = [prop({ type: String })], _open_dec = [prop({ type: Boolean })], _a) {
|
|
53
|
-
constructor() {
|
|
54
|
-
super(...arguments);
|
|
55
|
-
__privateAdd(this, _color, __runInitializers(_init, 8, this)), __runInitializers(_init, 11, this);
|
|
56
|
-
__privateAdd(this, _sticky, __runInitializers(_init, 12, this, false)), __runInitializers(_init, 15, this);
|
|
57
|
-
__privateAdd(this, _appearance, __runInitializers(_init, 16, this, "text")), __runInitializers(_init, 19, this);
|
|
58
|
-
__privateAdd(this, _open, __runInitializers(_init, 20, this, false)), __runInitializers(_init, 23, this);
|
|
59
|
-
__publicField(this, "_outsideClickHandler", null);
|
|
60
|
-
__publicField(this, "_handleInnerClick", (e) => {
|
|
61
|
-
if (!this.open) return;
|
|
62
|
-
const path = e.composedPath();
|
|
63
|
-
if (path.some((el) => el.tagName === "A")) {
|
|
64
|
-
this._closeMenu();
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
__publicField(this, "_toggleMenu", () => {
|
|
68
|
-
this.open = !this.open;
|
|
69
|
-
});
|
|
70
|
-
__publicField(this, "_closeMenu", () => {
|
|
71
|
-
if (this.open) this.open = false;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
connectedCallback() {
|
|
75
|
-
super.connectedCallback();
|
|
76
|
-
this._outsideClickHandler = (e) => {
|
|
77
|
-
var _a2;
|
|
78
|
-
if (!this.contains(e.target) && !((_a2 = this.shadowRoot) == null ? void 0 : _a2.contains(e.target))) {
|
|
79
|
-
this._closeMenu();
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
document.addEventListener("click", this._outsideClickHandler);
|
|
83
|
-
}
|
|
84
|
-
disconnectedCallback() {
|
|
85
|
-
super.disconnectedCallback();
|
|
86
|
-
if (this._outsideClickHandler) {
|
|
87
|
-
document.removeEventListener("click", this._outsideClickHandler);
|
|
88
|
-
this._outsideClickHandler = null;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/** Toggle the mobile menu open/closed. */
|
|
92
|
-
toggleMenu() {
|
|
93
|
-
this.open = !this.open;
|
|
94
|
-
}
|
|
95
|
-
render() {
|
|
96
|
-
return html(({ div, nav, button, span, slot }) => {
|
|
97
|
-
div({ class: "inner", "@click": this._handleInnerClick }, () => {
|
|
98
|
-
div({ part: "brand" }, () => {
|
|
99
|
-
slot({ name: "brand" });
|
|
100
|
-
});
|
|
101
|
-
nav({ part: "nav", "aria-label": "Main navigation" }, () => {
|
|
102
|
-
div({ part: "start" }, () => {
|
|
103
|
-
slot({ name: "start" });
|
|
104
|
-
});
|
|
105
|
-
div({ part: "end" }, () => {
|
|
106
|
-
slot({ name: "end" });
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
button(
|
|
110
|
-
{
|
|
111
|
-
part: "hamburger",
|
|
112
|
-
type: "button",
|
|
113
|
-
"aria-expanded": String(this.open),
|
|
114
|
-
"aria-label": "Toggle navigation",
|
|
115
|
-
"@click": this._toggleMenu
|
|
116
|
-
},
|
|
117
|
-
() => {
|
|
118
|
-
span({ "aria-hidden": "true" });
|
|
119
|
-
span({ "aria-hidden": "true" });
|
|
120
|
-
span({ "aria-hidden": "true" });
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
_init = __decoratorStart(_a);
|
|
128
|
-
_color = /* @__PURE__ */ new WeakMap();
|
|
129
|
-
_sticky = /* @__PURE__ */ new WeakMap();
|
|
130
|
-
_appearance = /* @__PURE__ */ new WeakMap();
|
|
131
|
-
_open = /* @__PURE__ */ new WeakMap();
|
|
132
|
-
__decorateElement(_init, 4, "color", _color_dec, Navbar, _color);
|
|
133
|
-
__decorateElement(_init, 4, "sticky", _sticky_dec, Navbar, _sticky);
|
|
134
|
-
__decorateElement(_init, 4, "appearance", _appearance_dec, Navbar, _appearance);
|
|
135
|
-
__decorateElement(_init, 4, "open", _open_dec, Navbar, _open);
|
|
136
|
-
__decoratorMetadata(_init, Navbar);
|
|
137
|
-
__publicField(Navbar, "tagName", "navbar");
|
|
138
|
-
__publicField(Navbar, "styles", [variables, colorCSS, navbarStyle]);
|
|
139
|
-
Navbar.register();
|
|
140
|
-
export {
|
|
141
|
-
Navbar as N
|
|
142
|
-
};
|
|
143
|
-
//# sourceMappingURL=navbar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navbar.js","sources":["../../src/navbar/navbar.ts"],"sourcesContent":["import type { InferProps } from 'aeico';\nimport styleVariables from '../styles/variables.css?inline';\nimport colorCSS from '../styles/color.css?inline';\nimport navbarStyle from '../styles/components/navbar.css?inline';\nimport AeicoComponent from '../aeico-component';\nimport { html } from 'aeico';\nimport { prop } from 'aeico';\nimport type { NavbarColor, NavbarAppearance } from './defines';\n\n/**\n * Navbar Component\n *\n * A sticky top navigation bar with three slot regions and built-in\n * mobile hamburger collapse.\n *\n * Slots:\n * - `brand` — leftmost area, typically a logo or site name link\n * - `start` — main navigation links / dropdowns\n * - `end` — right-side actions (login button, avatar, etc.)\n *\n * Slotted `<a>` elements receive default link styling controlled via\n * CSS custom properties. Mark the active link with `aria-current=\"page\"`.\n *\n * @example\n * ```html\n * <ae-navbar color=\"primary\" appearance=\"block\">\n * <a slot=\"brand\" href=\"/\">MyApp</a>\n * <a slot=\"start\" href=\"/\" aria-current=\"page\">Home</a>\n * <a slot=\"start\" href=\"/docs\">Docs</a>\n * <ae-button slot=\"end\" size=\"sm\" variant=\"outlined\">Sign in</ae-button>\n * </ae-navbar>\n * ```\n *\n * @example\n * ```css\n * /* Custom height and transparent background *\\/\n * ae-navbar {\n * --ae-navbar-height: 4rem;\n * --ae-navbar-bg: transparent;\n * --ae-navbar-border-width: 0;\n * --ae-navbar-shadow: 0 1px 8px rgba(0, 0, 0, 0.08);\n * }\n * ```\n */\nclass Navbar extends AeicoComponent {\n static tagName = 'navbar';\n\n protected static styles = [styleVariables, colorCSS, navbarStyle];\n\n /** Background color using the design-system color token set. */\n @prop({ type: String })\n accessor color: NavbarColor | undefined;\n\n /** When true (default), the navbar sticks to the top of the viewport while scrolling. Set to false to let it scroll with the page. */\n @prop({ type: Boolean })\n accessor sticky: boolean = false;\n\n /**\n * Hover style preset for slotted `<a>` links.\n * - `text` — only the font color changes on hover (default)\n * - `block` — a subtle filled background block appears on hover\n *\n * Fine-tune further with `--ae-navbar-link-hover-color` /\n * `--ae-navbar-link-hover-bg` CSS variables.\n */\n @prop({ type: String })\n accessor appearance: NavbarAppearance = 'text';\n\n /** Whether the mobile menu is expanded. Reflects as the `open` attribute. */\n @prop({ type: Boolean })\n accessor open: boolean = false;\n\n private _outsideClickHandler: ((e: MouseEvent) => void) | null = null;\n\n connectedCallback() {\n super.connectedCallback();\n // Close menu when clicking outside the navbar\n this._outsideClickHandler = (e: MouseEvent) => {\n // Event retargeting in shadow DOM means e.target is the host element\n // when the click originates inside the shadow root, so this check is safe.\n if (!this.contains(e.target as Node) && !this.shadowRoot?.contains(e.target as Node)) {\n this._closeMenu();\n }\n };\n document.addEventListener('click', this._outsideClickHandler);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this._outsideClickHandler) {\n document.removeEventListener('click', this._outsideClickHandler);\n this._outsideClickHandler = null;\n }\n }\n\n /** Toggle the mobile menu open/closed. */\n toggleMenu(): void {\n this.open = !this.open;\n }\n\n private _handleInnerClick = (e: Event) => {\n if (!this.open) return;\n // Close mobile menu when a slotted <a> link is clicked\n const path = e.composedPath() as Element[];\n if (path.some((el) => (el as HTMLElement).tagName === 'A')) {\n this._closeMenu();\n }\n };\n\n private _toggleMenu = () => {\n this.open = !this.open;\n };\n\n private _closeMenu = () => {\n if (this.open) this.open = false;\n };\n\n protected render() {\n return html(({ div, nav, button, span, slot }) => {\n div({ class: 'inner', '@click': this._handleInnerClick }, () => {\n div({ part: 'brand' }, () => {\n slot({ name: 'brand' });\n });\n nav({ part: 'nav', 'aria-label': 'Main navigation' }, () => {\n div({ part: 'start' }, () => {\n slot({ name: 'start' });\n });\n div({ part: 'end' }, () => {\n slot({ name: 'end' });\n });\n });\n button(\n {\n part: 'hamburger',\n type: 'button',\n 'aria-expanded': String(this.open),\n 'aria-label': 'Toggle navigation',\n '@click': this._toggleMenu,\n },\n () => {\n span({ 'aria-hidden': 'true' });\n span({ 'aria-hidden': 'true' });\n span({ 'aria-hidden': 'true' });\n },\n );\n });\n });\n }\n}\n\nNavbar.register();\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ae-navbar': Navbar;\n }\n}\n\nexport default Navbar;\nexport type NavbarProps = InferProps<typeof Navbar>;\n"],"names":["_a","styleVariables"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,WAAA,iBAAA,aAAA,YAAA,IAAA,OAAA,QAAA,SAAA,aAAA;AA4CA,MAAM,gBAAe,KAAA,gBAMnB,aAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAItB,cAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,CAAA,GAWvB,kBAAA,CAAC,KAAK,EAAE,MAAM,OAAA,CAAQ,CAAA,GAItB,YAAA,CAAC,KAAK,EAAE,MAAM,QAAA,CAAS,IAzBJ,IAAe;AAAA,EAApC,cAAA;AAAA,UAAA,GAAA,SAAA;AAOE,iBAAA,MAAS,QAAT,kBAAA,OAAA,GAAA,IAAA,CAAA,GAAA,kBAAA,OAAA,IAAA,IAAA;AAIA,iBAAA,MAAS,SAAkB,kBAA3B,OAAA,IAAA,MAA2B,KAAA,CAAA,GAA3B,kBAAA,OAAA,IAAA,IAAA;AAWA,iBAAA,MAAS,aAA+B,kBAAxC,OAAA,IAAA,MAAwC,MAAA,CAAA,GAAxC,kBAAA,OAAA,IAAA,IAAA;AAIA,iBAAA,MAAS,OAAgB,kBAAzB,OAAA,IAAA,MAAyB,KAAA,CAAA,GAAzB,kBAAA,OAAA,IAAA,IAAA;AAEA,kBAAA,MAAQ,wBAAyD,IAAA;AA4BjE,kBAAA,MAAQ,qBAAoB,CAAC,MAAa;AACxC,UAAI,CAAC,KAAK,KAAM;AAEhB,YAAM,OAAO,EAAE,aAAA;AACf,UAAI,KAAK,KAAK,CAAC,OAAQ,GAAmB,YAAY,GAAG,GAAG;AAC1D,aAAK,WAAA;AAAA,MACP;AAAA,IACF,CAAA;AAEA,kBAAA,MAAQ,eAAc,MAAM;AAC1B,WAAK,OAAO,CAAC,KAAK;AAAA,IACpB,CAAA;AAEA,kBAAA,MAAQ,cAAa,MAAM;AACzB,UAAI,KAAK,KAAM,MAAK,OAAO;AAAA,IAC7B,CAAA;AAAA,EAAA;AAAA,EAzCA,oBAAoB;AAClB,UAAM,kBAAA;AAEN,SAAK,uBAAuB,CAAC,MAAkB;;AAG7C,UAAI,CAAC,KAAK,SAAS,EAAE,MAAc,KAAK,GAACA,MAAA,KAAK,eAAL,gBAAAA,IAAiB,SAAS,EAAE,UAAiB;AACpF,aAAK,WAAA;AAAA,MACP;AAAA,IACF;AACA,aAAS,iBAAiB,SAAS,KAAK,oBAAoB;AAAA,EAC9D;AAAA,EAEA,uBAAuB;AACrB,UAAM,qBAAA;AACN,QAAI,KAAK,sBAAsB;AAC7B,eAAS,oBAAoB,SAAS,KAAK,oBAAoB;AAC/D,WAAK,uBAAuB;AAAA,IAC9B;AAAA,EACF;AAAA;AAAA,EAGA,aAAmB;AACjB,SAAK,OAAO,CAAC,KAAK;AAAA,EACpB;AAAA,EAmBU,SAAS;AACjB,WAAO,KAAK,CAAC,EAAE,KAAK,KAAK,QAAQ,MAAM,WAAW;AAChD,UAAI,EAAE,OAAO,SAAS,UAAU,KAAK,kBAAA,GAAqB,MAAM;AAC9D,YAAI,EAAE,MAAM,QAAA,GAAW,MAAM;AAC3B,eAAK,EAAE,MAAM,SAAS;AAAA,QACxB,CAAC;AACD,YAAI,EAAE,MAAM,OAAO,cAAc,kBAAA,GAAqB,MAAM;AAC1D,cAAI,EAAE,MAAM,QAAA,GAAW,MAAM;AAC3B,iBAAK,EAAE,MAAM,SAAS;AAAA,UACxB,CAAC;AACD,cAAI,EAAE,MAAM,MAAA,GAAS,MAAM;AACzB,iBAAK,EAAE,MAAM,OAAO;AAAA,UACtB,CAAC;AAAA,QACH,CAAC;AACD;AAAA,UACE;AAAA,YACE,MAAM;AAAA,YACN,MAAM;AAAA,YACN,iBAAiB,OAAO,KAAK,IAAI;AAAA,YACjC,cAAc;AAAA,YACd,UAAU,KAAK;AAAA,UAAA;AAAA,UAEjB,MAAM;AACJ,iBAAK,EAAE,eAAe,QAAQ;AAC9B,iBAAK,EAAE,eAAe,QAAQ;AAC9B,iBAAK,EAAE,eAAe,QAAQ;AAAA,UAChC;AAAA,QAAA;AAAA,MAEJ,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAxGA,QAAA,iBAAA,EAAA;AAOW,SAAA,oBAAA,QAAA;AAIA,UAAA,oBAAA,QAAA;AAWA,cAAA,oBAAA,QAAA;AAIA,QAAA,oBAAA,QAAA;AAnBT,kBAAA,OAAA,GAAS,SADT,YANI,QAOK,MAAA;AAIT,kBAAA,OAAA,GAAS,UADT,aAVI,QAWK,OAAA;AAWT,kBAAA,OAAA,GAAS,cADT,iBArBI,QAsBK,WAAA;AAIT,kBAAA,OAAA,GAAS,QADT,WAzBI,QA0BK,KAAA;AA1BX,oBAAA,OAAM,MAAA;AACJ,cADI,QACG,WAAU,QAAA;AAEjB,cAHI,QAGa,UAAS,CAACC,WAAgB,UAAU,WAAW,CAAA;AAuGlE,OAAO,SAAA;"}
|
|
@@ -1,475 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
const aeico = require("aeico");
|
|
3
|
-
const aeicoComponent = require("./aeico-component.cjs");
|
|
4
|
-
const variables = require("./variables.cjs");
|
|
5
|
-
const size = require("./size.cjs");
|
|
6
|
-
const paginationStyle = `:host {
|
|
7
|
-
display: inline-flex;
|
|
8
|
-
align-items: center;
|
|
9
|
-
font-size: var(--size-m);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
nav {
|
|
13
|
-
display: flex;
|
|
14
|
-
align-items: center;
|
|
15
|
-
gap: 4px;
|
|
16
|
-
margin: 0;
|
|
17
|
-
padding: 0;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
button {
|
|
21
|
-
display: inline-flex;
|
|
22
|
-
align-items: center;
|
|
23
|
-
justify-content: center;
|
|
24
|
-
min-width: 2em;
|
|
25
|
-
height: 2em;
|
|
26
|
-
padding: 0 0.5em;
|
|
27
|
-
font-family: inherit;
|
|
28
|
-
font-size: inherit;
|
|
29
|
-
line-height: 1;
|
|
30
|
-
cursor: pointer;
|
|
31
|
-
user-select: none;
|
|
32
|
-
border-radius: 4px;
|
|
33
|
-
border: 1px solid var(--border-default);
|
|
34
|
-
background: transparent;
|
|
35
|
-
color: var(--color-text-main);
|
|
36
|
-
transition: background 0.15s, border-color 0.15s, color 0.15s;
|
|
37
|
-
outline: none;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
button:focus-visible {
|
|
41
|
-
box-shadow: 0 0 0 2px var(--focus-ring);
|
|
42
|
-
border-color: var(--border-focus);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
button:hover:not(:disabled) {
|
|
46
|
-
border-color: var(--color-primary);
|
|
47
|
-
color: var(--color-primary);
|
|
48
|
-
background: var(--color-primary-bg-subtle);
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
button:active:not(:disabled) {
|
|
52
|
-
background: color-mix(in srgb, var(--color-primary-bg-subtle), var(--color-primary) 10%);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
button:disabled {
|
|
56
|
-
opacity: 0.45;
|
|
57
|
-
cursor: not-allowed;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
button.active {
|
|
61
|
-
background: var(--color-primary);
|
|
62
|
-
border-color: var(--color-primary);
|
|
63
|
-
color: white;
|
|
64
|
-
font-weight: 600;
|
|
65
|
-
cursor: default;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
button.active:hover:not(:disabled) {
|
|
69
|
-
background: var(--color-primary-hover);
|
|
70
|
-
border-color: var(--color-primary-hover);
|
|
71
|
-
color: white;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
button.nav-btn {
|
|
75
|
-
min-width: 2em;
|
|
76
|
-
width: 2em;
|
|
77
|
-
padding: 0;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
[part="ellipsis"] {
|
|
81
|
-
display: inline-flex;
|
|
82
|
-
align-items: flex-end;
|
|
83
|
-
justify-content: center;
|
|
84
|
-
min-width: 2em;
|
|
85
|
-
height: 2em;
|
|
86
|
-
color: var(--color-text-muted);
|
|
87
|
-
user-select: none;
|
|
88
|
-
letter-spacing: 0.1em;
|
|
89
|
-
padding-bottom: 0.2em;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
input[part="page-input"] {
|
|
93
|
-
width: 3em;
|
|
94
|
-
height: 2em;
|
|
95
|
-
padding: 0 0.4em;
|
|
96
|
-
text-align: center;
|
|
97
|
-
border: 1px solid var(--border-subtle);
|
|
98
|
-
border-radius: 4px;
|
|
99
|
-
font-size: inherit;
|
|
100
|
-
font-family: inherit;
|
|
101
|
-
color: var(--color-text-main);
|
|
102
|
-
background: var(--surface-base);
|
|
103
|
-
box-shadow: none;
|
|
104
|
-
-webkit-appearance: none;
|
|
105
|
-
-moz-appearance: textfield;
|
|
106
|
-
appearance: textfield;
|
|
107
|
-
outline: none;
|
|
108
|
-
transition: border-color 0.15s, box-shadow 0.15s;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
input[part="page-input"]:hover:not(:disabled) {
|
|
112
|
-
border-color: var(--border-default);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
input[part="page-input"]::-webkit-inner-spin-button,
|
|
116
|
-
input[part="page-input"]::-webkit-outer-spin-button {
|
|
117
|
-
-webkit-appearance: none;
|
|
118
|
-
appearance: none;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
input[part="page-input"]:focus {
|
|
122
|
-
border-color: var(--border-focus);
|
|
123
|
-
box-shadow: 0 0 0 2px var(--focus-ring);
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
input[part="page-input"]:disabled {
|
|
127
|
-
opacity: 0.45;
|
|
128
|
-
cursor: not-allowed;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
[part="page-total"] {
|
|
132
|
-
color: var(--color-text-muted);
|
|
133
|
-
white-space: nowrap;
|
|
134
|
-
padding: 0 0.25em;
|
|
135
|
-
line-height: 2em;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/* ── Borderless variant ──────────────────────────────────────────────── */
|
|
139
|
-
:host([variant='borderless']) button {
|
|
140
|
-
border-color: transparent;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
:host([variant='borderless']) button:hover:not(:disabled) {
|
|
144
|
-
border-color: transparent;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
:host([variant='borderless']) button.active {
|
|
148
|
-
border-color: transparent;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
:host([variant='borderless']) input[part='page-input'] {
|
|
152
|
-
border-color: transparent;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
:host([variant='borderless']) input[part='page-input']:hover:not(:disabled) {
|
|
156
|
-
border-color: transparent;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
:host([variant='borderless']) input[part='page-input']:focus {
|
|
160
|
-
border-color: var(--border-focus);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/* ── Link variant ────────────────────────────────────────────────────── */
|
|
164
|
-
:host([variant='link']) button {
|
|
165
|
-
border-color: transparent;
|
|
166
|
-
background: transparent;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
:host([variant='link']) button:hover:not(:disabled) {
|
|
170
|
-
border-color: transparent;
|
|
171
|
-
background: transparent;
|
|
172
|
-
color: var(--color-primary);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
:host([variant='link']) button:active:not(:disabled) {
|
|
176
|
-
background: transparent;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
:host([variant='link']) button:focus-visible {
|
|
180
|
-
border-color: transparent;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
:host([variant='link']) button.active {
|
|
184
|
-
background: transparent;
|
|
185
|
-
border-color: transparent;
|
|
186
|
-
color: var(--color-primary);
|
|
187
|
-
font-weight: 600;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
:host([variant='link']) button.active:hover:not(:disabled) {
|
|
191
|
-
background: transparent;
|
|
192
|
-
color: var(--color-primary);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
:host([variant='link']) input[part='page-input'] {
|
|
196
|
-
border-color: transparent;
|
|
197
|
-
border-bottom-color: var(--border-subtle);
|
|
198
|
-
border-radius: 0;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
:host([variant='link']) input[part='page-input']:hover:not(:disabled) {
|
|
202
|
-
border-color: transparent;
|
|
203
|
-
border-bottom-color: var(--border-default);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
:host([variant='link']) input[part='page-input']:focus {
|
|
207
|
-
border-color: transparent;
|
|
208
|
-
border-bottom-color: var(--border-focus);
|
|
209
|
-
box-shadow: none;
|
|
210
|
-
}
|
|
211
|
-
`;
|
|
212
|
-
var __create = Object.create;
|
|
213
|
-
var __defProp = Object.defineProperty;
|
|
214
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
215
|
-
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
216
|
-
var __typeError = (msg) => {
|
|
217
|
-
throw TypeError(msg);
|
|
218
|
-
};
|
|
219
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
220
|
-
var __decoratorStart = (base) => [, , , __create((base == null ? void 0 : base[__knownSymbol("metadata")]) ?? null)];
|
|
221
|
-
var __decoratorStrings = ["class", "method", "getter", "setter", "accessor", "field", "value", "get", "set"];
|
|
222
|
-
var __expectFn = (fn) => fn !== void 0 && typeof fn !== "function" ? __typeError("Function expected") : fn;
|
|
223
|
-
var __decoratorContext = (kind, name, done, metadata, fns) => ({ kind: __decoratorStrings[kind], name, metadata, addInitializer: (fn) => done._ ? __typeError("Already initialized") : fns.push(__expectFn(fn || null)) });
|
|
224
|
-
var __decoratorMetadata = (array, target) => __defNormalProp(target, __knownSymbol("metadata"), array[3]);
|
|
225
|
-
var __runInitializers = (array, flags, self, value) => {
|
|
226
|
-
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);
|
|
227
|
-
return value;
|
|
228
|
-
};
|
|
229
|
-
var __decorateElement = (array, flags, name, decorators, target, extra) => {
|
|
230
|
-
var fn, it, done, ctx, access, k = flags & 7, s = false, p = false;
|
|
231
|
-
var j = array.length + 1, key = __decoratorStrings[k + 5];
|
|
232
|
-
var initializers = array[j - 1] = [], extraInitializers = array[j] || (array[j] = []);
|
|
233
|
-
var desc = (target = target.prototype, __getOwnPropDesc({ get [name]() {
|
|
234
|
-
return __privateGet(this, extra);
|
|
235
|
-
}, set [name](x) {
|
|
236
|
-
return __privateSet(this, extra, x);
|
|
237
|
-
} }, name));
|
|
238
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
239
|
-
ctx = __decoratorContext(k, name, done = {}, array[3], extraInitializers);
|
|
240
|
-
{
|
|
241
|
-
ctx.static = s, ctx.private = p, access = ctx.access = { has: (x) => name in x };
|
|
242
|
-
access.get = (x) => x[name];
|
|
243
|
-
access.set = (x, y) => x[name] = y;
|
|
244
|
-
}
|
|
245
|
-
it = (0, decorators[i])({ get: desc.get, set: desc.set }, ctx), done._ = 1;
|
|
246
|
-
if (it === void 0) __expectFn(it) && (desc[key] = it);
|
|
247
|
-
else if (typeof it !== "object" || it === null) __typeError("Object expected");
|
|
248
|
-
else __expectFn(fn = it.get) && (desc.get = fn), __expectFn(fn = it.set) && (desc.set = fn), __expectFn(fn = it.init) && initializers.unshift(fn);
|
|
249
|
-
}
|
|
250
|
-
return desc && __defProp(target, name, desc), target;
|
|
251
|
-
};
|
|
252
|
-
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
253
|
-
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
254
|
-
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), member.get(obj));
|
|
255
|
-
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);
|
|
256
|
-
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
|
|
257
|
-
var _variant_dec, _showFirstLast_dec, _simple_dec, _disabled_dec, _size_dec, _siblingCount_dec, _pageCount_dec, _total_dec, _pageSize_dec, _page_dec, _a, _init, _page, _pageSize, _total, _pageCount, _siblingCount, _size, _disabled, _simple, _showFirstLast, _variant;
|
|
258
|
-
class Pagination extends (_a = aeicoComponent.AeicoComponent, _page_dec = [aeico.prop({ type: Number })], _pageSize_dec = [aeico.prop({ type: Number })], _total_dec = [aeico.prop({ type: Number })], _pageCount_dec = [aeico.prop({ type: Number })], _siblingCount_dec = [aeico.prop({ type: Number })], _size_dec = [aeico.prop({ type: String })], _disabled_dec = [aeico.prop({ type: Boolean })], _simple_dec = [aeico.prop({ type: Boolean })], _showFirstLast_dec = [aeico.prop({ type: Boolean })], _variant_dec = [aeico.prop({ type: String })], _a) {
|
|
259
|
-
constructor() {
|
|
260
|
-
super(...arguments);
|
|
261
|
-
__privateAdd(this, _page, __runInitializers(_init, 8, this, 1)), __runInitializers(_init, 11, this);
|
|
262
|
-
__privateAdd(this, _pageSize, __runInitializers(_init, 12, this, 10)), __runInitializers(_init, 15, this);
|
|
263
|
-
__privateAdd(this, _total, __runInitializers(_init, 16, this, 0)), __runInitializers(_init, 19, this);
|
|
264
|
-
__privateAdd(this, _pageCount, __runInitializers(_init, 20, this)), __runInitializers(_init, 23, this);
|
|
265
|
-
__privateAdd(this, _siblingCount, __runInitializers(_init, 24, this, 1)), __runInitializers(_init, 27, this);
|
|
266
|
-
__privateAdd(this, _size, __runInitializers(_init, 28, this)), __runInitializers(_init, 31, this);
|
|
267
|
-
__privateAdd(this, _disabled, __runInitializers(_init, 32, this, false)), __runInitializers(_init, 35, this);
|
|
268
|
-
__privateAdd(this, _simple, __runInitializers(_init, 36, this, false)), __runInitializers(_init, 39, this);
|
|
269
|
-
__privateAdd(this, _showFirstLast, __runInitializers(_init, 40, this, false)), __runInitializers(_init, 43, this);
|
|
270
|
-
__privateAdd(this, _variant, __runInitializers(_init, 44, this)), __runInitializers(_init, 47, this);
|
|
271
|
-
__publicField(this, "_simpleInput", null);
|
|
272
|
-
__publicField(this, "_handleItemClick", (e) => {
|
|
273
|
-
const btn = e.currentTarget;
|
|
274
|
-
const p = Number(btn.dataset.page);
|
|
275
|
-
if (!isNaN(p)) this._goToPage(p);
|
|
276
|
-
});
|
|
277
|
-
__publicField(this, "_handlePrevClick", () => {
|
|
278
|
-
this._goToPage(this._currentPage - 1);
|
|
279
|
-
});
|
|
280
|
-
__publicField(this, "_handleNextClick", () => {
|
|
281
|
-
this._goToPage(this._currentPage + 1);
|
|
282
|
-
});
|
|
283
|
-
__publicField(this, "_handleFirstClick", () => {
|
|
284
|
-
this._goToPage(1);
|
|
285
|
-
});
|
|
286
|
-
__publicField(this, "_handleLastClick", () => {
|
|
287
|
-
this._goToPage(this._computedPageCount);
|
|
288
|
-
});
|
|
289
|
-
__publicField(this, "_handleSimpleInputChange", (e) => {
|
|
290
|
-
const input = e.target;
|
|
291
|
-
const val = parseInt(input.value, 10);
|
|
292
|
-
if (!isNaN(val)) {
|
|
293
|
-
this._goToPage(val);
|
|
294
|
-
}
|
|
295
|
-
input.value = String(this._currentPage);
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
get _computedPageCount() {
|
|
299
|
-
if (this.pageCount != null) return Math.max(1, this.pageCount);
|
|
300
|
-
const ps = this.pageSize > 0 ? this.pageSize : 10;
|
|
301
|
-
return Math.max(1, Math.ceil(this.total / ps));
|
|
302
|
-
}
|
|
303
|
-
get _currentPage() {
|
|
304
|
-
const count = this._computedPageCount;
|
|
305
|
-
return Math.max(1, Math.min(this.page ?? 1, count));
|
|
306
|
-
}
|
|
307
|
-
_getPageItems() {
|
|
308
|
-
const count = this._computedPageCount;
|
|
309
|
-
const page = this._currentPage;
|
|
310
|
-
const sc = Math.max(0, this.siblingCount ?? 1);
|
|
311
|
-
const rangeStart = Math.max(2, page - sc);
|
|
312
|
-
const rangeEnd = Math.min(count - 1, page + sc);
|
|
313
|
-
const showLeftEllipsis = rangeStart > 2;
|
|
314
|
-
const showRightEllipsis = rangeEnd < count - 1;
|
|
315
|
-
const items = [];
|
|
316
|
-
items.push(1);
|
|
317
|
-
if (count <= 1) return items;
|
|
318
|
-
if (showLeftEllipsis) {
|
|
319
|
-
items.push("ellipsis-start");
|
|
320
|
-
} else {
|
|
321
|
-
for (let i = 2; i < rangeStart; i++) items.push(i);
|
|
322
|
-
}
|
|
323
|
-
for (let i = rangeStart; i <= rangeEnd; i++) items.push(i);
|
|
324
|
-
if (showRightEllipsis) {
|
|
325
|
-
items.push("ellipsis-end");
|
|
326
|
-
} else {
|
|
327
|
-
for (let i = rangeEnd + 1; i < count; i++) items.push(i);
|
|
328
|
-
}
|
|
329
|
-
items.push(count);
|
|
330
|
-
return items;
|
|
331
|
-
}
|
|
332
|
-
_goToPage(page) {
|
|
333
|
-
const count = this._computedPageCount;
|
|
334
|
-
const next = Math.max(1, Math.min(count, page));
|
|
335
|
-
if (next === this._currentPage) return;
|
|
336
|
-
this.page = next;
|
|
337
|
-
this.emit("change", { detail: { page: this.page } });
|
|
338
|
-
}
|
|
339
|
-
onUpdated() {
|
|
340
|
-
if (this._simpleInput) {
|
|
341
|
-
this._simpleInput.value = String(this._currentPage);
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
_renderNavBtn(name, iconName, label, disabled, onClick) {
|
|
345
|
-
const { button, slot, aeIcon } = aeico.tags;
|
|
346
|
-
button(
|
|
347
|
-
{
|
|
348
|
-
key: name,
|
|
349
|
-
part: name,
|
|
350
|
-
className: "nav-btn",
|
|
351
|
-
disabled,
|
|
352
|
-
"aria-label": label,
|
|
353
|
-
"@click": onClick
|
|
354
|
-
},
|
|
355
|
-
() => {
|
|
356
|
-
slot({ name }, () => {
|
|
357
|
-
aeIcon({ name: iconName });
|
|
358
|
-
});
|
|
359
|
-
}
|
|
360
|
-
);
|
|
361
|
-
}
|
|
362
|
-
_renderSimpleMode(page, count, disabled) {
|
|
363
|
-
this._simpleInput = aeico.tags.input({
|
|
364
|
-
key: "page-input",
|
|
365
|
-
part: "page-input",
|
|
366
|
-
type: "number",
|
|
367
|
-
min: "1",
|
|
368
|
-
max: String(count),
|
|
369
|
-
value: String(page),
|
|
370
|
-
disabled,
|
|
371
|
-
"aria-label": "Page number",
|
|
372
|
-
"@change": this._handleSimpleInputChange
|
|
373
|
-
});
|
|
374
|
-
aeico.tags.span({ key: "page-total", part: "page-total", textContent: `/ ${count}` });
|
|
375
|
-
}
|
|
376
|
-
_renderPageItems(page, disabled) {
|
|
377
|
-
for (const item of this._getPageItems()) {
|
|
378
|
-
if (item === "ellipsis-start" || item === "ellipsis-end") {
|
|
379
|
-
aeico.tags.span({
|
|
380
|
-
key: item,
|
|
381
|
-
part: "ellipsis",
|
|
382
|
-
className: "ellipsis",
|
|
383
|
-
"aria-hidden": "true",
|
|
384
|
-
textContent: "…"
|
|
385
|
-
});
|
|
386
|
-
} else {
|
|
387
|
-
const isActive = item === page;
|
|
388
|
-
aeico.tags.button({
|
|
389
|
-
key: `item-${item}`,
|
|
390
|
-
part: isActive ? "item item-active" : "item",
|
|
391
|
-
className: isActive ? "item active" : "item",
|
|
392
|
-
disabled,
|
|
393
|
-
"aria-current": isActive ? "page" : void 0,
|
|
394
|
-
"aria-label": `Page ${item}`,
|
|
395
|
-
"data-page": String(item),
|
|
396
|
-
textContent: String(item),
|
|
397
|
-
"@click": this._handleItemClick
|
|
398
|
-
});
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
}
|
|
402
|
-
render() {
|
|
403
|
-
const count = this._computedPageCount;
|
|
404
|
-
const page = this._currentPage;
|
|
405
|
-
const disabled = this.disabled;
|
|
406
|
-
const isFirst = page <= 1;
|
|
407
|
-
const isLast = page >= count;
|
|
408
|
-
return aeico.html(({ nav }) => {
|
|
409
|
-
nav({ part: "root", role: "navigation", "aria-label": "Pagination" }, () => {
|
|
410
|
-
if (this.showFirstLast)
|
|
411
|
-
this._renderNavBtn(
|
|
412
|
-
"first",
|
|
413
|
-
"chevrons-left",
|
|
414
|
-
"First page",
|
|
415
|
-
disabled || isFirst,
|
|
416
|
-
this._handleFirstClick
|
|
417
|
-
);
|
|
418
|
-
this._renderNavBtn(
|
|
419
|
-
"prev",
|
|
420
|
-
"chevron-left",
|
|
421
|
-
"Previous page",
|
|
422
|
-
disabled || isFirst,
|
|
423
|
-
this._handlePrevClick
|
|
424
|
-
);
|
|
425
|
-
if (this.simple) {
|
|
426
|
-
this._renderSimpleMode(page, count, disabled);
|
|
427
|
-
} else {
|
|
428
|
-
this._renderPageItems(page, disabled);
|
|
429
|
-
}
|
|
430
|
-
this._renderNavBtn(
|
|
431
|
-
"next",
|
|
432
|
-
"chevron-right",
|
|
433
|
-
"Next page",
|
|
434
|
-
disabled || isLast,
|
|
435
|
-
this._handleNextClick
|
|
436
|
-
);
|
|
437
|
-
if (this.showFirstLast)
|
|
438
|
-
this._renderNavBtn(
|
|
439
|
-
"last",
|
|
440
|
-
"chevrons-right",
|
|
441
|
-
"Last page",
|
|
442
|
-
disabled || isLast,
|
|
443
|
-
this._handleLastClick
|
|
444
|
-
);
|
|
445
|
-
});
|
|
446
|
-
});
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
_init = __decoratorStart(_a);
|
|
450
|
-
_page = /* @__PURE__ */ new WeakMap();
|
|
451
|
-
_pageSize = /* @__PURE__ */ new WeakMap();
|
|
452
|
-
_total = /* @__PURE__ */ new WeakMap();
|
|
453
|
-
_pageCount = /* @__PURE__ */ new WeakMap();
|
|
454
|
-
_siblingCount = /* @__PURE__ */ new WeakMap();
|
|
455
|
-
_size = /* @__PURE__ */ new WeakMap();
|
|
456
|
-
_disabled = /* @__PURE__ */ new WeakMap();
|
|
457
|
-
_simple = /* @__PURE__ */ new WeakMap();
|
|
458
|
-
_showFirstLast = /* @__PURE__ */ new WeakMap();
|
|
459
|
-
_variant = /* @__PURE__ */ new WeakMap();
|
|
460
|
-
__decorateElement(_init, 4, "page", _page_dec, Pagination, _page);
|
|
461
|
-
__decorateElement(_init, 4, "pageSize", _pageSize_dec, Pagination, _pageSize);
|
|
462
|
-
__decorateElement(_init, 4, "total", _total_dec, Pagination, _total);
|
|
463
|
-
__decorateElement(_init, 4, "pageCount", _pageCount_dec, Pagination, _pageCount);
|
|
464
|
-
__decorateElement(_init, 4, "siblingCount", _siblingCount_dec, Pagination, _siblingCount);
|
|
465
|
-
__decorateElement(_init, 4, "size", _size_dec, Pagination, _size);
|
|
466
|
-
__decorateElement(_init, 4, "disabled", _disabled_dec, Pagination, _disabled);
|
|
467
|
-
__decorateElement(_init, 4, "simple", _simple_dec, Pagination, _simple);
|
|
468
|
-
__decorateElement(_init, 4, "showFirstLast", _showFirstLast_dec, Pagination, _showFirstLast);
|
|
469
|
-
__decorateElement(_init, 4, "variant", _variant_dec, Pagination, _variant);
|
|
470
|
-
__decoratorMetadata(_init, Pagination);
|
|
471
|
-
__publicField(Pagination, "tagName", "pagination");
|
|
472
|
-
__publicField(Pagination, "styles", [variables.variables, size.sizeCSS, paginationStyle]);
|
|
473
|
-
Pagination.register();
|
|
474
|
-
exports.Pagination = Pagination;
|
|
475
|
-
//# sourceMappingURL=pagination.cjs.map
|