@tylertech/forge 3.0.0-next.8 → 3.0.0-next.9
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/custom-elements.json +2080 -487
- package/dist/button/forge-button.css +1 -1
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/banner/index.js +1 -1
- package/dist/esm/bottom-sheet/index.js +1 -1
- package/dist/esm/busy-indicator/index.js +1 -1
- package/dist/esm/button/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/index.js +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +1 -1
- package/dist/esm/chips/chip/index.js +1 -1
- package/dist/esm/chips/chip-set/index.js +1 -1
- package/dist/esm/chips/index.js +1 -1
- package/dist/esm/chunks/{chunk.PPPTT3SM.js → chunk.2VP57RZO.js} +2 -2
- package/dist/esm/chunks/{chunk.PPPTT3SM.js.map → chunk.2VP57RZO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.TXFYS6EU.js → chunk.33EJTOVA.js} +2 -2
- package/dist/esm/chunks/{chunk.OTVT3XM2.js → chunk.3JDFBEF7.js} +2 -2
- package/dist/esm/chunks/chunk.3ME47JIX.js +7 -0
- package/dist/esm/chunks/chunk.3ME47JIX.js.map +7 -0
- package/dist/esm/chunks/{chunk.V6JVHYVW.js → chunk.44UCSD46.js} +2 -2
- package/dist/esm/chunks/{chunk.EUE3OVC7.js → chunk.4WVHON6T.js} +2 -2
- package/dist/esm/chunks/chunk.4WVHON6T.js.map +7 -0
- package/dist/esm/chunks/{chunk.6SBTLXLH.js → chunk.5IQGVS6U.js} +2 -2
- package/dist/esm/chunks/{chunk.6SBTLXLH.js.map → chunk.5IQGVS6U.js.map} +1 -1
- package/dist/esm/chunks/{chunk.7JQHQKXN.js → chunk.6MPXRRMB.js} +2 -2
- package/dist/esm/chunks/{chunk.MXNLCQRB.js → chunk.6VDF54LZ.js} +2 -2
- package/dist/esm/chunks/{chunk.GF2GUVYS.js → chunk.7TGGJGTG.js} +2 -2
- package/dist/esm/chunks/{chunk.GF2GUVYS.js.map → chunk.7TGGJGTG.js.map} +1 -1
- package/dist/esm/chunks/{chunk.4EB5NVCK.js → chunk.AHHNJSZK.js} +2 -2
- package/dist/esm/chunks/chunk.BBKRPL6R.js +7 -0
- package/dist/esm/chunks/chunk.BBKRPL6R.js.map +7 -0
- package/dist/esm/chunks/{chunk.BSTIDYQJ.js → chunk.BBWMSCVG.js} +2 -2
- package/dist/esm/chunks/{chunk.BKCEVPKW.js → chunk.BDCJIRNK.js} +2 -2
- package/dist/esm/chunks/{chunk.IIXLFXHZ.js → chunk.BSVFCJCQ.js} +2 -2
- package/dist/esm/chunks/chunk.CAUWWFF4.js +7 -0
- package/dist/esm/chunks/chunk.CAUWWFF4.js.map +7 -0
- package/dist/esm/chunks/{chunk.SYZB7B4F.js → chunk.CL65KLH7.js} +2 -2
- package/dist/esm/chunks/{chunk.4LVS2EYJ.js → chunk.DFGBVJBE.js} +2 -2
- package/dist/esm/chunks/chunk.DXZ5LVFJ.js +7 -0
- package/dist/esm/chunks/chunk.DXZ5LVFJ.js.map +7 -0
- package/dist/esm/chunks/{chunk.YUAU5IWT.js → chunk.F776DWXU.js} +2 -2
- package/dist/esm/chunks/{chunk.HKJEGD6C.js → chunk.FIBGOPNP.js} +2 -2
- package/dist/esm/chunks/{chunk.HKJEGD6C.js.map → chunk.FIBGOPNP.js.map} +1 -1
- package/dist/esm/chunks/{chunk.CN27IHDN.js → chunk.GEGK55XX.js} +2 -2
- package/dist/esm/chunks/{chunk.CN27IHDN.js.map → chunk.GEGK55XX.js.map} +2 -2
- package/dist/esm/chunks/{chunk.2QFIMTVP.js → chunk.GT3XBPZY.js} +2 -2
- package/dist/esm/chunks/{chunk.5MK5YWCK.js → chunk.HUGRRRQA.js} +2 -2
- package/dist/esm/chunks/{chunk.GJW4WS4I.js → chunk.HXJCTE47.js} +2 -2
- package/dist/esm/chunks/{chunk.RHYRMQS7.js → chunk.IPGZ24EH.js} +2 -2
- package/dist/esm/chunks/{chunk.RHYRMQS7.js.map → chunk.IPGZ24EH.js.map} +1 -1
- package/dist/esm/chunks/chunk.ISC7SZSP.js +7 -0
- package/dist/esm/chunks/chunk.ISC7SZSP.js.map +7 -0
- package/dist/esm/chunks/{chunk.RUSHOL23.js → chunk.JAAJDT5E.js} +2 -2
- package/dist/esm/chunks/{chunk.SIJGKRYS.js → chunk.JCRC2VEI.js} +2 -2
- package/dist/esm/chunks/{chunk.SIJGKRYS.js.map → chunk.JCRC2VEI.js.map} +1 -1
- package/dist/esm/chunks/{chunk.3AF7CJP2.js → chunk.JFKSREWG.js} +2 -2
- package/dist/esm/chunks/{chunk.3AF7CJP2.js.map → chunk.JFKSREWG.js.map} +1 -1
- package/dist/esm/chunks/{chunk.FAANPQES.js → chunk.JL4XB4RI.js} +2 -2
- package/dist/esm/chunks/{chunk.24L5GDD2.js → chunk.JTIPXKV6.js} +2 -2
- package/dist/esm/chunks/{chunk.24L5GDD2.js.map → chunk.JTIPXKV6.js.map} +2 -2
- package/dist/esm/chunks/chunk.KO45GDOA.js +7 -0
- package/dist/esm/chunks/{chunk.2CTK5R37.js.map → chunk.KO45GDOA.js.map} +2 -2
- package/dist/esm/chunks/chunk.KSCUIS5C.js +7 -0
- package/dist/esm/chunks/chunk.KSCUIS5C.js.map +7 -0
- package/dist/esm/chunks/{chunk.2LRDPTHK.js → chunk.M2M47T4L.js} +2 -2
- package/dist/esm/chunks/{chunk.JVW6JGV3.js → chunk.MGWY7YIL.js} +2 -2
- package/dist/esm/chunks/{chunk.JVW6JGV3.js.map → chunk.MGWY7YIL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.3CBVRCKM.js → chunk.MJSLXZBM.js} +2 -2
- package/dist/esm/chunks/{chunk.3CBVRCKM.js.map → chunk.MJSLXZBM.js.map} +1 -1
- package/dist/esm/chunks/{chunk.2YAU7AXH.js → chunk.N7PQ2MUQ.js} +2 -2
- package/dist/esm/chunks/{chunk.2YAU7AXH.js.map → chunk.N7PQ2MUQ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.NDGFQILG.js → chunk.NE4NCRRZ.js} +2 -2
- package/dist/esm/chunks/chunk.NF4J3Q5X.js +7 -0
- package/dist/esm/chunks/chunk.NF4J3Q5X.js.map +7 -0
- package/dist/esm/chunks/chunk.OEYALYRM.js +7 -0
- package/dist/esm/chunks/chunk.OEYALYRM.js.map +7 -0
- package/dist/esm/chunks/{chunk.GHSAKRYH.js → chunk.OKKH7F7M.js} +2 -2
- package/dist/esm/chunks/{chunk.AGMPIMJV.js → chunk.QL45FKVJ.js} +2 -2
- package/dist/esm/chunks/{chunk.AGMPIMJV.js.map → chunk.QL45FKVJ.js.map} +2 -2
- package/dist/esm/chunks/chunk.QU76MOCS.js +12 -0
- package/dist/esm/chunks/chunk.QU76MOCS.js.map +7 -0
- package/dist/esm/chunks/{chunk.5PHLKON3.js → chunk.R5HZFOUK.js} +2 -2
- package/dist/esm/chunks/{chunk.5PHLKON3.js.map → chunk.R5HZFOUK.js.map} +2 -2
- package/dist/esm/chunks/chunk.SAXRW6GB.js +7 -0
- package/dist/esm/chunks/chunk.SAXRW6GB.js.map +7 -0
- package/dist/esm/chunks/{chunk.2IQGDFQS.js → chunk.SEP3L4QL.js} +2 -2
- package/dist/esm/chunks/{chunk.2IQGDFQS.js.map → chunk.SEP3L4QL.js.map} +1 -1
- package/dist/esm/chunks/{chunk.Z5TWWM7I.js → chunk.SN5LPTHH.js} +2 -2
- package/dist/esm/chunks/{chunk.Z5TWWM7I.js.map → chunk.SN5LPTHH.js.map} +1 -1
- package/dist/esm/chunks/{chunk.CNQESSA3.js → chunk.UKFJHDO7.js} +2 -2
- package/dist/esm/chunks/{chunk.IGK3VYZG.js → chunk.VI2GRQO3.js} +2 -2
- package/dist/esm/chunks/{chunk.A5MBSCSQ.js → chunk.VNOJO2PF.js} +2 -2
- package/dist/esm/chunks/chunk.W7PZTNZ4.js +7 -0
- package/dist/esm/chunks/chunk.W7PZTNZ4.js.map +7 -0
- package/dist/esm/chunks/{chunk.2YX7ASSX.js → chunk.WXN4S7CN.js} +2 -2
- package/dist/esm/chunks/{chunk.ER52NFXX.js → chunk.X5BG35YX.js} +2 -2
- package/dist/esm/chunks/{chunk.THPU5KBV.js → chunk.XRESQBNE.js} +2 -2
- package/dist/esm/chunks/{chunk.632OMHHN.js → chunk.YDY2IGBF.js} +2 -2
- package/dist/esm/chunks/{chunk.632OMHHN.js.map → chunk.YDY2IGBF.js.map} +1 -1
- package/dist/esm/chunks/{chunk.QYKO543K.js → chunk.YWCLKUK7.js} +2 -2
- package/dist/esm/chunks/{chunk.QA3NU7EN.js → chunk.Z4J4D5FD.js} +2 -2
- package/dist/esm/chunks/{chunk.QA3NU7EN.js.map → chunk.Z4J4D5FD.js.map} +1 -1
- package/dist/esm/chunks/{chunk.V4RBOYNH.js → chunk.ZTGPXIC2.js} +2 -2
- package/dist/esm/chunks/{chunk.V4RBOYNH.js.map → chunk.ZTGPXIC2.js.map} +1 -1
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/utils/index.js +1 -1
- package/dist/esm/date-picker/index.js +1 -1
- package/dist/esm/date-range-picker/index.js +1 -1
- package/dist/esm/expansion-panel/index.js +1 -1
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/focus-indicator/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/state-layer/index.js +7 -0
- package/dist/esm/state-layer/index.js.map +7 -0
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/icon-button/forge-icon-button.css +1 -1
- package/dist/table/forge-table.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/esm/app-bar/app-bar.js +1 -1
- package/esm/banner/banner.js +1 -1
- package/esm/bottom-sheet/bottom-sheet.js +1 -1
- package/esm/busy-indicator/busy-indicator.js +1 -1
- package/esm/button/button.d.ts +1 -0
- package/esm/button/button.js +8 -2
- package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
- package/esm/calendar/calendar.js +1 -1
- package/esm/checkbox/checkbox-adapter.d.ts +1 -0
- package/esm/checkbox/checkbox-adapter.js +9 -2
- package/esm/checkbox/checkbox.js +1 -1
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/chips/chip/chip.js +1 -1
- package/esm/circular-progress/circular-progress.d.ts +3 -3
- package/esm/circular-progress/circular-progress.js +4 -4
- package/esm/color-picker/color-picker.js +1 -1
- package/esm/core/testing/pointer.d.ts +13 -0
- package/esm/core/testing/pointer.js +42 -0
- package/esm/core/utils/utils.d.ts +16 -2
- package/esm/core/utils/utils.js +47 -6
- package/esm/file-picker/file-picker.js +1 -1
- package/esm/focus-indicator/focus-indicator-adapter.d.ts +0 -8
- package/esm/focus-indicator/focus-indicator-adapter.js +2 -22
- package/esm/focus-indicator/focus-indicator-foundation.js +1 -1
- package/esm/focus-indicator/focus-indicator.js +1 -1
- package/esm/icon-button/icon-button.d.ts +1 -0
- package/esm/icon-button/icon-button.js +9 -2
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -0
- package/esm/list/list-item/list-item-adapter.d.ts +3 -3
- package/esm/list/list-item/list-item-adapter.js +2 -2
- package/esm/list/list-item/list-item-foundation.d.ts +1 -0
- package/esm/list/list-item/list-item-foundation.js +8 -1
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/paginator/paginator.js +1 -1
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/radio/radio-adapter.d.ts +1 -0
- package/esm/radio/radio-adapter.js +9 -2
- package/esm/select/select/select.js +1 -1
- package/esm/slider/slider-adapter.d.ts +0 -16
- package/esm/slider/slider-adapter.js +11 -71
- package/esm/slider/slider-constants.d.ts +0 -3
- package/esm/slider/slider-constants.js +0 -3
- package/esm/slider/slider-foundation.d.ts +0 -1
- package/esm/slider/slider-foundation.js +0 -6
- package/esm/slider/slider-utils.js +3 -3
- package/esm/slider/slider.d.ts +0 -1
- package/esm/slider/slider.js +5 -6
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/state-layer/index.d.ts +10 -0
- package/esm/state-layer/index.js +14 -0
- package/esm/state-layer/state-layer-adapter.d.ts +41 -0
- package/esm/state-layer/state-layer-adapter.js +101 -0
- package/esm/state-layer/state-layer-constants.d.ts +79 -0
- package/esm/state-layer/state-layer-constants.js +89 -0
- package/esm/state-layer/state-layer-foundation.d.ts +57 -0
- package/esm/state-layer/state-layer-foundation.js +237 -0
- package/esm/state-layer/state-layer-utils.d.ts +26 -0
- package/esm/state-layer/state-layer-utils.js +54 -0
- package/esm/state-layer/state-layer.d.ts +66 -0
- package/esm/state-layer/state-layer.js +96 -0
- package/esm/stepper/step/step.js +1 -1
- package/esm/switch/switch.js +10 -3
- package/esm/tabs/tab/tab-adapter.d.ts +3 -5
- package/esm/tabs/tab/tab-adapter.js +6 -15
- package/esm/tabs/tab/tab-constants.d.ts +0 -1
- package/esm/tabs/tab/tab-constants.js +0 -1
- package/esm/tabs/tab/tab-foundation.d.ts +0 -1
- package/esm/tabs/tab/tab-foundation.js +1 -3
- package/esm/tabs/tab/tab.d.ts +0 -1
- package/esm/tabs/tab/tab.js +5 -6
- package/esm/tabs/tab-bar/tab-bar.d.ts +2 -2
- package/esm/tabs/tab-bar/tab-bar.js +3 -3
- package/esm/text-field/text-field.js +1 -1
- package/esm/toast/toast.js +1 -1
- package/package.json +1 -1
- package/styles/app-bar/_mixins.scss +9 -1
- package/styles/circular-progress/_mixins.scss +3 -10
- package/styles/core/{style-layer → styles}/circular-progress/_core.scss +5 -8
- package/styles/core/styles/focus-indicator/_core.scss +5 -0
- package/styles/core/styles/focus-indicator/_variables.scss +8 -0
- package/styles/core/styles/focus-indicator/index.scss +7 -0
- package/styles/core/{style-layer → styles}/slider/_core.scss +13 -31
- package/styles/core/styles/state-layer/_core.scss +144 -0
- package/styles/core/styles/state-layer/_variables.scss +8 -0
- package/styles/core/{style-layer/tabs/tab → styles/state-layer}/index.scss +0 -4
- package/styles/core/{style-layer → styles}/tabs/tab/_core.scss +36 -40
- package/styles/core/{style-layer → styles}/tabs/tab-bar/_core.scss +2 -2
- package/styles/core/{style-layer → styles}/tabs/tab-bar/_variables.scss +1 -1
- package/styles/core/styles/tabs/tab-bar/index.scss +7 -0
- package/styles/core/styles/tokens/_color-palette.scss +299 -0
- package/styles/core/styles/tokens/circular-progress/_tokens.scss +14 -0
- package/styles/core/styles/tokens/focus-indicator/_tokens.scss +24 -0
- package/styles/core/styles/tokens/index.scss +58 -0
- package/styles/core/styles/tokens/state-layer/_tokens.scss +17 -0
- package/styles/core/styles/tokens/theme/_tokens.scss +185 -0
- package/styles/core/styles/tokens/typography/_tokens.scss +47 -0
- package/styles/core/styles/utils/_elevation.scss +5 -0
- package/styles/focus-indicator/_mixins.scss +4 -13
- package/styles/focus-indicator/_variables.scss +0 -15
- package/styles/linear-progress/_mixins.scss +1 -1
- package/styles/linear-progress/_variables.scss +1 -1
- package/styles/slider/_mixins.scss +8 -1
- package/styles/state-layer/_mixins.scss +23 -0
- package/styles/state-layer/state-layer.scss +20 -0
- package/styles/tabs/tab/_mixins.scss +9 -1
- package/styles/tabs/tab/_variables.scss +2 -0
- package/styles/tabs/tab-bar/_mixins.scss +2 -1
- package/styles/tabs/tab-bar/_variables.scss +2 -2
- package/styles/theme/_theme-dark.scss +5 -3
- package/styles/theme/_theme.scss +3 -36
- package/dist/esm/chunks/chunk.246JM2YT.js +0 -7
- package/dist/esm/chunks/chunk.246JM2YT.js.map +0 -7
- package/dist/esm/chunks/chunk.2CTK5R37.js +0 -7
- package/dist/esm/chunks/chunk.2XFVFZ3P.js +0 -7
- package/dist/esm/chunks/chunk.2XFVFZ3P.js.map +0 -7
- package/dist/esm/chunks/chunk.57XQ4F6F.js +0 -12
- package/dist/esm/chunks/chunk.57XQ4F6F.js.map +0 -7
- package/dist/esm/chunks/chunk.5IVB5L5Z.js +0 -7
- package/dist/esm/chunks/chunk.5IVB5L5Z.js.map +0 -7
- package/dist/esm/chunks/chunk.A5R7KUIP.js +0 -7
- package/dist/esm/chunks/chunk.A5R7KUIP.js.map +0 -7
- package/dist/esm/chunks/chunk.C2LTB7EX.js +0 -7
- package/dist/esm/chunks/chunk.C2LTB7EX.js.map +0 -7
- package/dist/esm/chunks/chunk.EUE3OVC7.js.map +0 -7
- package/dist/esm/chunks/chunk.GUYPITGA.js +0 -7
- package/dist/esm/chunks/chunk.GUYPITGA.js.map +0 -7
- package/dist/esm/chunks/chunk.JQIOVCKI.js +0 -7
- package/dist/esm/chunks/chunk.JQIOVCKI.js.map +0 -7
- package/dist/esm/chunks/chunk.LJYTJ3RV.js +0 -7
- package/dist/esm/chunks/chunk.LJYTJ3RV.js.map +0 -7
- package/dist/esm/chunks/chunk.NVMILGC2.js +0 -7
- package/dist/esm/chunks/chunk.NVMILGC2.js.map +0 -7
- package/esm/slider/slider-handle-ripple.d.ts +0 -18
- package/esm/slider/slider-handle-ripple.js +0 -37
- package/esm/tabs/tab/tab-ripple.d.ts +0 -17
- package/esm/tabs/tab/tab-ripple.js +0 -33
- package/styles/circular-progress/_variables.scss +0 -12
- /package/dist/esm/chunks/{chunk.TXFYS6EU.js.map → chunk.33EJTOVA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OTVT3XM2.js.map → chunk.3JDFBEF7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.V6JVHYVW.js.map → chunk.44UCSD46.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7JQHQKXN.js.map → chunk.6MPXRRMB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MXNLCQRB.js.map → chunk.6VDF54LZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4EB5NVCK.js.map → chunk.AHHNJSZK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BSTIDYQJ.js.map → chunk.BBWMSCVG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BKCEVPKW.js.map → chunk.BDCJIRNK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IIXLFXHZ.js.map → chunk.BSVFCJCQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SYZB7B4F.js.map → chunk.CL65KLH7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4LVS2EYJ.js.map → chunk.DFGBVJBE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YUAU5IWT.js.map → chunk.F776DWXU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2QFIMTVP.js.map → chunk.GT3XBPZY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5MK5YWCK.js.map → chunk.HUGRRRQA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GJW4WS4I.js.map → chunk.HXJCTE47.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RUSHOL23.js.map → chunk.JAAJDT5E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FAANPQES.js.map → chunk.JL4XB4RI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2LRDPTHK.js.map → chunk.M2M47T4L.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NDGFQILG.js.map → chunk.NE4NCRRZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GHSAKRYH.js.map → chunk.OKKH7F7M.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CNQESSA3.js.map → chunk.UKFJHDO7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IGK3VYZG.js.map → chunk.VI2GRQO3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A5MBSCSQ.js.map → chunk.VNOJO2PF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2YX7ASSX.js.map → chunk.WXN4S7CN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ER52NFXX.js.map → chunk.X5BG35YX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.THPU5KBV.js.map → chunk.XRESQBNE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QYKO543K.js.map → chunk.YWCLKUK7.js.map} +0 -0
- /package/styles/core/{style-layer → styles}/circular-progress/_animations.scss +0 -0
- /package/styles/core/{style-layer → styles}/circular-progress/_variables.scss +0 -0
- /package/styles/core/{style-layer → styles}/circular-progress/index.scss +0 -0
- /package/styles/core/{style-layer → styles}/core/_config.scss +0 -0
- /package/styles/core/{style-layer → styles}/linear-progress/_animations.scss +0 -0
- /package/styles/core/{style-layer → styles}/linear-progress/_core.scss +0 -0
- /package/styles/core/{style-layer → styles}/linear-progress/_variables.scss +0 -0
- /package/styles/core/{style-layer → styles}/linear-progress/index.scss +0 -0
- /package/styles/core/{style-layer → styles}/slider/_functions.scss +0 -0
- /package/styles/core/{style-layer → styles}/slider/_variables.scss +0 -0
- /package/styles/core/{style-layer → styles}/slider/index.scss +0 -0
- /package/styles/core/{style-layer → styles}/tabs/tab/_variables.scss +0 -0
- /package/styles/core/{style-layer/tabs/tab-bar → styles/tabs/tab}/index.scss +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/tabs/tab-bar/tab-bar-adapter.ts", "../../src/tabs/tab-bar/tab-bar-foundation.ts", "../../src/tabs/tab-bar/tab-bar.ts", "../../src/tabs/tab-bar/index.ts"],
|
|
4
|
-
"sourcesContent": ["\nimport { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\nimport { ITabBarComponent } from './tab-bar';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\n\nexport interface ITabBarAdapter extends IBaseAdapter {\n initializeContainerSizeObserver(listener: () => void): void;\n destroyContainerSizeObserver(): void;\n initializeScrollObserver(listener: EventListener): void;\n destroyScrollObserver(listener: EventListener): void;\n setVertical(value: boolean): void;\n setScrollBackwardButtonListener(listener: EventListener): void;\n setScrollForwardButtonListener(listener: EventListener): void;\n addSlotListener(listener: EventListener): void;\n getTabs(): ITabComponent[];\n tryScrollTabIntoView(tab: ITabComponent): Promise<void>;\n isScrollable(): boolean;\n getScrollState(): ITabBarScrollInfo;\n setScrollButtons(value: boolean): void;\n syncScrollButtons(state: ITabBarScrollButtonState): void;\n scroll(which: 'backward' | 'forward'): void;\n updateScrollButtonIcons(vertical: boolean): void;\n}\n\nexport interface ITabBarScrollInfo {\n isScrolledStart: boolean;\n isScrolledEnd: boolean;\n}\n\nexport interface ITabBarScrollButtonState {\n backwardEnabled: boolean;\n forwardEnabled: boolean;\n}\n\nexport class TabBarAdapter extends BaseAdapter<ITabBarComponent> implements ITabBarAdapter {\n private readonly _defaultSlotElement: HTMLSlotElement;\n private readonly _container: HTMLElement;\n private readonly _scrollContainer: HTMLElement;\n private _resizeObserver: ResizeObserver | undefined;\n private _backwardScrollButton: HTMLElement | undefined;\n private _forwardScrollButton: HTMLElement | undefined;\n\n constructor(component: ITabBarComponent) {\n super(component);\n\n this._defaultSlotElement = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n this._container = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.CONTAINER);\n this._scrollContainer = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.SCROLL_CONTAINER);\n }\n\n public initializeContainerSizeObserver(listener: () => void): void {\n this._resizeObserver = new ResizeObserver(() => listener());\n this._resizeObserver.observe(this._component);\n }\n \n public initializeScrollObserver(listener: EventListener): void {\n this._scrollContainer.addEventListener('scroll', listener, { passive: true });\n }\n\n public destroyContainerSizeObserver(): void {\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n }\n\n public destroyScrollObserver(listener: EventListener): void {\n this._scrollContainer.removeEventListener('scroll', listener, { passive: true } as AddEventListenerOptions);\n }\n\n public setVertical(value: boolean): void {\n toggleAttribute(this._scrollContainer, !!value, 'aria-orientation', 'vertical');\n }\n\n public setScrollBackwardButtonListener(listener: EventListener): void {\n this._backwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n \n public setScrollForwardButtonListener(listener: EventListener): void {\n this._forwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n\n public addSlotListener(listener: EventListener): void {\n this._defaultSlotElement.addEventListener('slotchange', listener);\n }\n\n public getTabs(): ITabComponent[] {\n return Array.from(this._component.querySelectorAll(TAB_CONSTANTS.elementName));\n }\n\n public async tryScrollTabIntoView(tab: ITabComponent): Promise<void> {\n await new Promise(requestAnimationFrame);\n\n // Due to the async nature of this method, make sure we still need to scroll this tab into view...\n if (!tab.isConnected || (!tab.selected && !tab.matches(':focus'))) {\n return;\n }\n\n const isVertical = this._component.vertical;\n const scrollContainerOffset = isVertical ? this._scrollContainer.offsetTop : this._scrollContainer.offsetLeft;\n const offset = isVertical ? tab.offsetTop : tab.offsetLeft;\n const extent = isVertical ? tab.offsetHeight : tab.offsetWidth;\n const scroll = isVertical ? this._scrollContainer.scrollTop : this._scrollContainer.scrollLeft;\n const hostExtent = isVertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n const min = offset - (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN + scrollContainerOffset);\n const max = offset + extent - hostExtent + (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN - scrollContainerOffset);\n const to = Math.min(min, Math.max(max, scroll));\n const behavior = tab.matches(':focus') ? 'smooth' : 'instant' as ScrollBehavior;\n\n this._scrollContainer.scrollTo({\n behavior,\n [isVertical ? 'left' : 'top']: 0,\n [isVertical ? 'top' : 'left']: to\n });\n }\n\n public getScrollState(): ITabBarScrollInfo {\n const { scrollHeight, scrollWidth, scrollLeft, scrollTop, clientHeight, clientWidth } = this._scrollContainer;\n const scrollPosition = this._component.vertical ? clientHeight + scrollTop : clientWidth + scrollLeft;\n const scrollSize = this._component.vertical ? scrollHeight : scrollWidth;\n const isScrolledEnd = scrollPosition === scrollSize;\n const isScrolledStart = (this._component.vertical ? scrollPosition - clientHeight : scrollPosition - clientWidth) === 0;\n return { isScrolledStart, isScrolledEnd };\n }\n\n public isScrollable(): boolean {\n const { scrollHeight, scrollWidth, clientHeight, clientWidth } = this._scrollContainer;\n return this._component.vertical ? scrollHeight > clientHeight : scrollWidth > clientWidth;\n }\n\n public setScrollButtons(value: boolean): void {\n if (value) {\n this._backwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name);\n this._container.insertAdjacentElement('afterbegin', this._backwardScrollButton);\n\n this._forwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name);\n this._container.insertAdjacentElement('beforeend', this._forwardScrollButton);\n } else {\n this._backwardScrollButton?.remove();\n this._backwardScrollButton = undefined;\n\n this._forwardScrollButton?.remove();\n this._forwardScrollButton = undefined;\n }\n }\n\n public syncScrollButtons({ backwardEnabled, forwardEnabled }: ITabBarScrollButtonState): void {\n const backButton = this._backwardScrollButton?.querySelector('button');\n const forwardButton = this._forwardScrollButton?.querySelector('button');\n\n if (backButton) {\n const disabled = !backwardEnabled;\n if (disabled && backButton.matches(':focus')) {\n forwardButton?.focus();\n }\n backButton.disabled = disabled;\n }\n\n if (forwardButton) {\n const disabled = !forwardEnabled;\n if (disabled && forwardButton.matches(':focus')) {\n backButton?.focus();\n }\n forwardButton.disabled = disabled;\n }\n }\n\n public scroll(which: 'backward' | 'forward'): void {\n const amount = this._component.vertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n this._scrollContainer.scrollBy({\n behavior: 'smooth',\n [this._component.vertical ? 'top' : 'left']: amount * (which === 'forward' ? 1 : -1)\n });\n }\n\n public updateScrollButtonIcons(vertical: boolean): void {\n const backButtonIcon = this._backwardScrollButton?.querySelector('forge-icon');\n if (backButtonIcon) {\n backButtonIcon.name = vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name;\n }\n\n const nextButtonIcon = this._forwardScrollButton?.querySelector('forge-icon');\n if (nextButtonIcon) {\n nextButtonIcon.name = vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name;\n }\n }\n\n private _createScrollButton(iconName: string): HTMLElement {\n const iconButton = document.createElement('forge-icon-button');\n iconButton.classList.add(TAB_BAR_CONSTANTS.classes.SCROLL_BUTTON);\n\n const button = document.createElement('button');\n button.type = 'button';\n button.tabIndex = -1;\n button.setAttribute('aria-hidden', 'true');\n iconButton.appendChild(button);\n\n const icon = document.createElement('forge-icon');\n icon.name = iconName;\n button.appendChild(icon);\n\n return iconButton;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { NAVIGATION_KEYS, TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\n\nimport { ITabBarAdapter, ITabBarScrollButtonState } from './tab-bar-adapter';\n\nexport interface ITabBarFoundation extends ICustomElementFoundation {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n initialize(): void;\n destroy(): void;\n}\n\nexport class TabBarFoundation implements ITabBarFoundation {\n // State\n private _isInitialized = false;\n private _activeTab: number | null | undefined;\n private _disabled = false;\n private _vertical = false;\n private _clustered = false;\n private _stacked = false;\n private _secondary = false;\n private _inverted = false;\n private _autoActivate = false;\n private _scrollButtons = false;\n private _tabs: ITabComponent[] = [];\n private _scrollButtonsVisible = false;\n private _tabScrollAnimationFrame: number | undefined;\n\n // Listeners\n private _tabsChangedListener: EventListener;\n private _tabSelectedListener: EventListener;\n private _keydownListener: EventListener;\n private _resizeListener: () => void;\n private _scrollListener: EventListener;\n private _scrollBackwardButtonListener: EventListener;\n private _scrollForwardButtonListener: EventListener;\n\n constructor(private _adapter: ITabBarAdapter) {\n this._tabsChangedListener = () => this._onTabsChanged();\n this._tabSelectedListener = (evt: CustomEvent<void>) => this._onTabSelected(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._resizeListener = () => this._onResize();\n this._scrollListener = () => this._onScroll();\n this._scrollBackwardButtonListener = () => this._onScrollBackward();\n this._scrollForwardButtonListener = () => this._onScrollForward();\n }\n\n public initialize(): void {\n this._adapter.addSlotListener(this._tabsChangedListener);\n this._adapter.addHostListener(TAB_CONSTANTS.events.SELECT, this._tabSelectedListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n this._adapter.setVertical(this._vertical);\n\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n }\n\n this._tryScrollActiveTabIntoView();\n this._isInitialized = true;\n }\n\n public destroy(): void {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._isInitialized = false;\n }\n\n private async _onTabsChanged(): Promise<void> {\n this._tabs = this._adapter.getTabs();\n this._syncTabState();\n this._tryScrollActiveTabIntoView();\n }\n\n private _onTabSelected(evt: CustomEvent<void>): void {\n this._selectTab(evt.target as ITabComponent);\n }\n\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n const orientation = this._vertical ? 'vertical' : 'horizontal';\n const isNavigationKey = NAVIGATION_KEYS.get('default')?.has(evt.key) ||\n NAVIGATION_KEYS.get(orientation)?.has(evt.key);\n\n if (!isNavigationKey) {\n return;\n }\n\n evt.preventDefault();\n let index = -1;\n\n if (evt.key === 'Home') {\n // Locate the first non-disabled tab\n index = this._tabs.findIndex(tab => !tab.disabled);\n } else if (evt.key === 'End') {\n // Locate the last non-disabled tab\n index = this._tabs.reduceRight((acc, tab, i) => !tab.disabled && acc === -1 ? i : acc, -1);\n } else {\n // Locate the next or previous tab based on the key that was pressed\n const currentIndex = this._tabs.findIndex(tab => tab.matches(':focus'));\n const isPrevKey = evt.key === 'ArrowLeft' || evt.key === 'ArrowUp';\n const calcIndex = (startIndex: number): void => {\n index = startIndex + (isPrevKey ? -1 : 1);\n index = index < 0 ? this._tabs.length - 1 : index % this._tabs.length;\n\n // Try to recurse until we find a non-disabled tab (unless all tabs are disabled already)\n const isAllTabsDisabled = this._tabs.every(tab => tab.disabled);\n if (!isAllTabsDisabled && this._tabs[index]?.disabled) {\n calcIndex(index);\n }\n };\n calcIndex(currentIndex);\n }\n\n if (index === -1) {\n return;\n }\n\n if (this._autoActivate) {\n this._selectTab(this._tabs[index]);\n } else {\n this._tabs[index].focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(this._tabs[index]);\n }\n }\n\n private async _selectTab(tab: ITabComponent, emitEvent = true): Promise<void> {\n if (!tab || tab.disabled) {\n return;\n }\n\n const currentSelectedTab = this._tabs.find(t => t.selected);\n if (currentSelectedTab === tab) {\n return;\n }\n\n if (emitEvent) {\n const index = this._tabs.indexOf(tab);\n const cancelled = !this._adapter.emitHostEvent(TAB_BAR_CONSTANTS.events.CHANGE, index, true, true);\n if (cancelled) {\n return;\n }\n }\n\n // Selecting a tab causes an animation of the indicator to start relative to the currently selected tab\n tab.selected = true;\n tab.focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(tab);\n\n // Always deselect the currently selected tab after selecting a new tab to allow\n // for the tab indicator animation to run properly (the newly selected tab attempts\n // to locate the current selected tab for its calculations)\n if (currentSelectedTab) {\n currentSelectedTab.selected = false;\n }\n\n this._activeTab = this._tabs.indexOf(tab);\n }\n\n /**\n * Ensures that all tabs have the correct state based on the tab bar state.\n * \n * This is called whenever a child tab is added to the DOM.\n */\n private _syncTabState(): void {\n this._tabs.forEach((tab, index) => {\n tab.selected = index === this._activeTab;\n tab.disabled = this._disabled;\n tab.vertical = this._vertical;\n tab.stacked = this._stacked;\n tab.secondary = this._secondary;\n tab.inverted = this._inverted;\n });\n }\n\n /** Called when the container size changes, but only if scroll buttons are enabled. */\n private _onResize(): void {\n this._detectScrollableStatus();\n }\n\n /** Called when the scroll container scrolls, but only if scroll buttons are enabled. */\n private _onScroll(): void {\n this._updateScrollState();\n }\n\n /** Handles clicking the scroll backward button. */\n private _onScrollBackward(): void {\n this._adapter.scroll('backward');\n }\n\n /** Handles clicking the scroll forward button. */\n private _onScrollForward(): void {\n this._adapter.scroll('forward');\n }\n\n /** Determines whether scroll buttons should be displayed based on the size of the container. */\n private _detectScrollableStatus(): void {\n const scrollable = this._adapter.isScrollable();\n\n if (this._scrollButtonsVisible === scrollable) {\n return;\n }\n \n this._adapter.setScrollButtons(scrollable);\n\n if (scrollable) {\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener);\n this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener);\n } else {\n this._adapter.destroyScrollObserver(this._scrollListener);\n }\n\n this._scrollButtonsVisible = scrollable;\n }\n\n /** Updates the enabled/disabled state of the scroll buttons. */\n private _updateScrollState(): void {\n const { isScrolledEnd, isScrolledStart } = this._adapter.getScrollState();\n const state: ITabBarScrollButtonState = {\n backwardEnabled: !isScrolledStart,\n forwardEnabled: !isScrolledEnd\n };\n this._adapter.syncScrollButtons(state);\n }\n\n private _tryScrollActiveTabIntoView(): void {\n if (this._tabScrollAnimationFrame) {\n window.cancelAnimationFrame(this._tabScrollAnimationFrame);\n }\n\n // We batch the tab scrolling into a single animation frame to unnecessarily scrolling for each tab\n this._tabScrollAnimationFrame = window.requestAnimationFrame(() => {\n this._tabScrollAnimationFrame = undefined;\n if (this._adapter.isScrollable()) {\n if (typeof this._activeTab === 'number' && this._activeTab >= 0 && this._tabs[this._activeTab]) {\n this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab]);\n }\n }\n });\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n if (this._disabled !== value) {\n this._disabled = value;\n this._tabs.forEach(tab => tab.disabled = this._disabled);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get activeTab(): number | null | undefined {\n return this._activeTab;\n }\n public set activeTab(value: number | null | undefined) {\n if (this._activeTab !== value) {\n this._activeTab = value ?? undefined;\n\n if (typeof this._activeTab === 'number') {\n const newSelectedTab = this._tabs[this._activeTab];\n this._selectTab(newSelectedTab, false);\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB, String(this._activeTab));\n } else {\n this._tabs.forEach(tab => tab.selected = false);\n this._adapter.removeHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB);\n }\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n value = Boolean(value);\n if (this._vertical !== value) {\n this._vertical = value;\n\n if (this._isInitialized) {\n this._adapter.setVertical(this._vertical);\n }\n\n this._tabs.forEach(tab => tab.vertical = this._vertical);\n if (this._scrollButtonsVisible) {\n this._adapter.updateScrollButtonIcons(this._vertical);\n }\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n public get clustered(): boolean {\n return this._clustered;\n }\n public set clustered(value: boolean) {\n value = Boolean(value);\n if (this._clustered !== value) {\n this._clustered = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.CLUSTERED, this._clustered);\n }\n }\n\n public get stacked(): boolean {\n return this._stacked;\n }\n public set stacked(value: boolean) {\n value = Boolean(value);\n if (this._stacked !== value) {\n this._stacked = value;\n this._tabs.forEach(tab => tab.stacked = this._stacked);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.STACKED, this._stacked);\n }\n }\n\n public get secondary(): boolean {\n return this._secondary;\n }\n public set secondary(value: boolean) {\n value = Boolean(value);\n if (this._secondary !== value) {\n this._secondary = value;\n this._tabs.forEach(tab => tab.secondary = this._secondary);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.SECONDARY, this._secondary);\n }\n }\n\n public get inverted(): boolean {\n return this._inverted;\n }\n public set inverted(value: boolean) {\n value = Boolean(value);\n if (this._inverted !== value) {\n this._inverted = value;\n this._tabs.forEach(tab => tab.inverted = this._inverted);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.INVERTED, this._inverted);\n }\n }\n\n public get autoActivate(): boolean {\n return this._autoActivate;\n }\n public set autoActivate(value: boolean) {\n value = Boolean(value);\n if (this._autoActivate !== value) {\n this._autoActivate = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE, this._autoActivate);\n }\n }\n\n public get scrollButtons(): boolean {\n return this._scrollButtons;\n }\n public set scrollButtons(value: boolean) {\n value = Boolean(value);\n if (this._scrollButtons !== value) {\n this._scrollButtons = Boolean(value);\n\n if (this._isInitialized) {\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._detectScrollableStatus();\n this._updateScrollState();\n this._tryScrollActiveTabIntoView();\n } else {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._adapter.setScrollButtons(this._scrollButtons);\n this._scrollButtonsVisible = false;\n }\n }\n\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS, String(this._scrollButtons));\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { TabComponent } from '../tab/tab';\nimport { TabBarAdapter } from './tab-bar-adapter';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { TabBarFoundation } from './tab-bar-foundation';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\n\nconst template = '<template><div class=\\\"container\\\" part=\\\"container\\\"><div role=\\\"tablist\\\" class=\\\"scroll-container\\\" part=\\\"scroll-container\\\"><slot></slot></div></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.container{--_container-justify:var(--forge-tab-bar-justify, space-between);--_tab-flex:var(--forge-tab-bar-stretch, 1);--_divider-color:var(--forge-tab-bar-underline-color, var(--forge-theme-border-color, #e0e0e0));--_divider-thickness:var(--forge-tab-bar-underline-thickness, 1px);position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_divider-thickness) solid var(--_divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_container-justify);justify-content:var(--_container-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-flex);flex:var(--_tab-flex)}::slotted([selected]){z-index:1}:host{position:relative;display:block}:host([vertical]) .container{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .container{border-bottom:none;border-top:var(--_divider-thickness) solid var(--_divider-color)}:host([inverted][vertical]) .container{border-right:none;border-left:var(--_divider-thickness) solid var(--_divider-color)}:host([clustered]){--forge-tab-bar-justify:flex-start;--forge-tab-bar-stretch:0}:host([clustered=start]){--forge-tab-bar-justify:flex-start}:host([clustered=center]){--forge-tab-bar-justify:center}:host([clustered=end]){--forge-tab-bar-justify:flex-end}:host([hidden]){display:none}';\n\nexport interface ITabBarComponent extends IBaseComponent {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tab-bar': ITabBarComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-tab-bar-change': CustomEvent<number>;\n }\n}\n\n/**\n * @tag forge-tab-bar\n * \n * @summary Tabs organize content across different screens and views.\n * \n * @description\n * Use tabs to group content into helpful categories. Tabs are typically placed\n * above the content they relate to. Tabs can be used to navigate between screens,\n * or to group related content within a screen.\n * \n * @property {boolean} disabled - The disabled state of the tab bar.\n * @property {number} activeTab - The index of the active tab.\n * @property {boolean} vertical - Controls whether the tab bar is vertical or horizontal.\n * @property {boolean} clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @property {boolean} stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @property {boolean} secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @property {boolean} inverted - Controls whether the tabs are rendered inverted (tab indicator at top instead of bottom).\n * @property {boolean} autoActivate - Controls whether the tabs are automatically activated when receiving focus.\n * @property {boolean} scrollButtons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @attribute disabled - The disabled state of the tab bar.\n * @attribute active-tab - The index of the active tab.\n * @attribute vertical - Controls whether the tab bar is vertical or horizontal.\n * @attribute clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @attribute stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @attribute secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @attribute auto-activate - Controls whether the tabs are automatically activated when receiving focus.\n * @attribute scroll-buttons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @event forge-tab-bar-change {CustomEvent<number>} - Dispatches when the active tab changes.\n * \n * @cssproperty --forge-tab-bar-justify - The `justify-content` value for the tab bar flex container.\n * @cssproperty --forge-tab-bar-stretch - The `flex` value for the child `<forge-tab>` elements.\n * @cssproperty --forge-tab-bar-underline-color - The color of the underline.\n * @cssproperty --forge-tab-bar-underline-thickness - The thickness of the underline.\n * \n * @csspart container - The container element.\n * @csspart scroll-container - The scroll container element.\n */\n@CustomElement({\n name: TAB_BAR_CONSTANTS.elementName,\n dependencies: [\n TabComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class TabBarComponent extends BaseComponent implements ITabBarComponent {\n public static get observedAttributes(): string[] {\n return [\n TAB_BAR_CONSTANTS.attributes.DISABLED,\n TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB,\n TAB_BAR_CONSTANTS.attributes.VERTICAL,\n TAB_BAR_CONSTANTS.attributes.CLUSTERED,\n TAB_BAR_CONSTANTS.attributes.STACKED,\n TAB_BAR_CONSTANTS.attributes.SECONDARY,\n TAB_BAR_CONSTANTS.attributes.INVERTED,\n TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE,\n TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS\n ];\n }\n\n private _foundation: TabBarFoundation;\n\n constructor() {\n super();\n IconRegistry.define([\n tylIconKeyboardArrowLeft,\n tylIconKeyboardArrowRight,\n tylIconKeyboardArrowUp,\n tylIconKeyboardArrowDown\n ]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new TabBarFoundation(new TabBarAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TAB_BAR_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB:\n this.activeTab = newValue ? coerceNumber(newValue) : undefined;\n break;\n case TAB_BAR_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.CLUSTERED:\n this.clustered = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.STACKED:\n this.stacked = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SECONDARY:\n this.secondary = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.INVERTED:\n this.inverted = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE:\n this.autoActivate = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS:\n this.scrollButtons = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare activeTab: number | null | undefined;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare clustered: boolean;\n\n @FoundationProperty()\n public declare stacked: boolean;\n\n @FoundationProperty()\n public declare secondary: boolean;\n\n @FoundationProperty()\n public declare inverted: boolean;\n\n @FoundationProperty()\n public declare autoActivate: boolean;\n\n @FoundationProperty()\n public declare scrollButtons: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TabBarComponent } from './tab-bar';\n\nexport * from './tab-bar-adapter';\nexport * from './tab-bar-constants';\nexport * from './tab-bar-foundation';\nexport * from './tab-bar';\n\nexport function defineTabBarComponent(): void {\n defineCustomElement(TabBarComponent);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["\nimport { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\nimport { ITabBarComponent } from './tab-bar';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\n\nexport interface ITabBarAdapter extends IBaseAdapter {\n initializeContainerSizeObserver(listener: () => void): void;\n destroyContainerSizeObserver(): void;\n initializeScrollObserver(listener: EventListener): void;\n destroyScrollObserver(listener: EventListener): void;\n setVertical(value: boolean): void;\n setScrollBackwardButtonListener(listener: EventListener): void;\n setScrollForwardButtonListener(listener: EventListener): void;\n addSlotListener(listener: EventListener): void;\n getTabs(): ITabComponent[];\n tryScrollTabIntoView(tab: ITabComponent): Promise<void>;\n isScrollable(): boolean;\n getScrollState(): ITabBarScrollInfo;\n setScrollButtons(value: boolean): void;\n syncScrollButtons(state: ITabBarScrollButtonState): void;\n scroll(which: 'backward' | 'forward'): void;\n updateScrollButtonIcons(vertical: boolean): void;\n}\n\nexport interface ITabBarScrollInfo {\n isScrolledStart: boolean;\n isScrolledEnd: boolean;\n}\n\nexport interface ITabBarScrollButtonState {\n backwardEnabled: boolean;\n forwardEnabled: boolean;\n}\n\nexport class TabBarAdapter extends BaseAdapter<ITabBarComponent> implements ITabBarAdapter {\n private readonly _defaultSlotElement: HTMLSlotElement;\n private readonly _container: HTMLElement;\n private readonly _scrollContainer: HTMLElement;\n private _resizeObserver: ResizeObserver | undefined;\n private _backwardScrollButton: HTMLElement | undefined;\n private _forwardScrollButton: HTMLElement | undefined;\n\n constructor(component: ITabBarComponent) {\n super(component);\n\n this._defaultSlotElement = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.DEFAULT_SLOT) as HTMLSlotElement;\n this._container = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.CONTAINER);\n this._scrollContainer = getShadowElement(this._component, TAB_BAR_CONSTANTS.selectors.SCROLL_CONTAINER);\n }\n\n public initializeContainerSizeObserver(listener: () => void): void {\n this._resizeObserver = new ResizeObserver(() => listener());\n this._resizeObserver.observe(this._component);\n }\n \n public initializeScrollObserver(listener: EventListener): void {\n this._scrollContainer.addEventListener('scroll', listener, { passive: true });\n }\n\n public destroyContainerSizeObserver(): void {\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n }\n\n public destroyScrollObserver(listener: EventListener): void {\n this._scrollContainer.removeEventListener('scroll', listener, { passive: true } as AddEventListenerOptions);\n }\n\n public setVertical(value: boolean): void {\n toggleAttribute(this._scrollContainer, !!value, 'aria-orientation', 'vertical');\n }\n\n public setScrollBackwardButtonListener(listener: EventListener): void {\n this._backwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n \n public setScrollForwardButtonListener(listener: EventListener): void {\n this._forwardScrollButton?.querySelector('button')?.addEventListener('click', listener);\n }\n\n public addSlotListener(listener: EventListener): void {\n this._defaultSlotElement.addEventListener('slotchange', listener);\n }\n\n public getTabs(): ITabComponent[] {\n return Array.from(this._component.querySelectorAll(TAB_CONSTANTS.elementName));\n }\n\n public async tryScrollTabIntoView(tab: ITabComponent): Promise<void> {\n await new Promise(requestAnimationFrame);\n\n // Due to the async nature of this method, make sure we still need to scroll this tab into view...\n if (!tab.isConnected || (!tab.selected && !tab.matches(':focus'))) {\n return;\n }\n\n const isVertical = this._component.vertical;\n const scrollContainerOffset = isVertical ? this._scrollContainer.offsetTop : this._scrollContainer.offsetLeft;\n const offset = isVertical ? tab.offsetTop : tab.offsetLeft;\n const extent = isVertical ? tab.offsetHeight : tab.offsetWidth;\n const scroll = isVertical ? this._scrollContainer.scrollTop : this._scrollContainer.scrollLeft;\n const hostExtent = isVertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n const min = offset - (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN + scrollContainerOffset);\n const max = offset + extent - hostExtent + (TAB_BAR_CONSTANTS.numbers.SCROLL_MARGIN - scrollContainerOffset);\n const to = Math.min(min, Math.max(max, scroll));\n const behavior = tab.matches(':focus') ? 'smooth' : 'instant' as ScrollBehavior;\n\n this._scrollContainer.scrollTo({\n behavior,\n [isVertical ? 'left' : 'top']: 0,\n [isVertical ? 'top' : 'left']: to\n });\n }\n\n public getScrollState(): ITabBarScrollInfo {\n const { scrollHeight, scrollWidth, scrollLeft, scrollTop, clientHeight, clientWidth } = this._scrollContainer;\n const scrollPosition = this._component.vertical ? clientHeight + scrollTop : clientWidth + scrollLeft;\n const scrollSize = this._component.vertical ? scrollHeight : scrollWidth;\n const isScrolledEnd = scrollPosition === scrollSize;\n const isScrolledStart = (this._component.vertical ? scrollPosition - clientHeight : scrollPosition - clientWidth) === 0;\n return { isScrolledStart, isScrolledEnd };\n }\n\n public isScrollable(): boolean {\n const { scrollHeight, scrollWidth, clientHeight, clientWidth } = this._scrollContainer;\n return this._component.vertical ? scrollHeight > clientHeight : scrollWidth > clientWidth;\n }\n\n public setScrollButtons(value: boolean): void {\n if (value) {\n this._backwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name);\n this._container.insertAdjacentElement('afterbegin', this._backwardScrollButton);\n\n this._forwardScrollButton = this._createScrollButton(this._component.vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name);\n this._container.insertAdjacentElement('beforeend', this._forwardScrollButton);\n } else {\n this._backwardScrollButton?.remove();\n this._backwardScrollButton = undefined;\n\n this._forwardScrollButton?.remove();\n this._forwardScrollButton = undefined;\n }\n }\n\n public syncScrollButtons({ backwardEnabled, forwardEnabled }: ITabBarScrollButtonState): void {\n const backButton = this._backwardScrollButton?.querySelector('button');\n const forwardButton = this._forwardScrollButton?.querySelector('button');\n\n if (backButton) {\n const disabled = !backwardEnabled;\n if (disabled && backButton.matches(':focus')) {\n forwardButton?.focus();\n }\n backButton.disabled = disabled;\n }\n\n if (forwardButton) {\n const disabled = !forwardEnabled;\n if (disabled && forwardButton.matches(':focus')) {\n backButton?.focus();\n }\n forwardButton.disabled = disabled;\n }\n }\n\n public scroll(which: 'backward' | 'forward'): void {\n const amount = this._component.vertical ? this._scrollContainer.offsetHeight : this._scrollContainer.offsetWidth;\n this._scrollContainer.scrollBy({\n behavior: 'smooth',\n [this._component.vertical ? 'top' : 'left']: amount * (which === 'forward' ? 1 : -1)\n });\n }\n\n public updateScrollButtonIcons(vertical: boolean): void {\n const backButtonIcon = this._backwardScrollButton?.querySelector('forge-icon');\n if (backButtonIcon) {\n backButtonIcon.name = vertical ? tylIconKeyboardArrowUp.name : tylIconKeyboardArrowLeft.name;\n }\n\n const nextButtonIcon = this._forwardScrollButton?.querySelector('forge-icon');\n if (nextButtonIcon) {\n nextButtonIcon.name = vertical ? tylIconKeyboardArrowDown.name : tylIconKeyboardArrowRight.name;\n }\n }\n\n private _createScrollButton(iconName: string): HTMLElement {\n const iconButton = document.createElement('forge-icon-button');\n iconButton.classList.add(TAB_BAR_CONSTANTS.classes.SCROLL_BUTTON);\n\n const button = document.createElement('button');\n button.type = 'button';\n button.tabIndex = -1;\n button.setAttribute('aria-hidden', 'true');\n iconButton.appendChild(button);\n\n const icon = document.createElement('forge-icon');\n icon.name = iconName;\n button.appendChild(icon);\n\n return iconButton;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { NAVIGATION_KEYS, TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { ITabComponent } from '../tab/tab';\nimport { TAB_CONSTANTS } from '../tab/tab-constants';\n\nimport { ITabBarAdapter, ITabBarScrollButtonState } from './tab-bar-adapter';\n\nexport interface ITabBarFoundation extends ICustomElementFoundation {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n initialize(): void;\n destroy(): void;\n}\n\nexport class TabBarFoundation implements ITabBarFoundation {\n // State\n private _isInitialized = false;\n private _activeTab: number | null | undefined;\n private _disabled = false;\n private _vertical = false;\n private _clustered = false;\n private _stacked = false;\n private _secondary = false;\n private _inverted = false;\n private _autoActivate = false;\n private _scrollButtons = false;\n private _tabs: ITabComponent[] = [];\n private _scrollButtonsVisible = false;\n private _tabScrollAnimationFrame: number | undefined;\n\n // Listeners\n private _tabsChangedListener: EventListener;\n private _tabSelectedListener: EventListener;\n private _keydownListener: EventListener;\n private _resizeListener: () => void;\n private _scrollListener: EventListener;\n private _scrollBackwardButtonListener: EventListener;\n private _scrollForwardButtonListener: EventListener;\n\n constructor(private _adapter: ITabBarAdapter) {\n this._tabsChangedListener = () => this._onTabsChanged();\n this._tabSelectedListener = (evt: CustomEvent<void>) => this._onTabSelected(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._resizeListener = () => this._onResize();\n this._scrollListener = () => this._onScroll();\n this._scrollBackwardButtonListener = () => this._onScrollBackward();\n this._scrollForwardButtonListener = () => this._onScrollForward();\n }\n\n public initialize(): void {\n this._adapter.addSlotListener(this._tabsChangedListener);\n this._adapter.addHostListener(TAB_CONSTANTS.events.SELECT, this._tabSelectedListener);\n this._adapter.addHostListener('keydown', this._keydownListener);\n this._adapter.setVertical(this._vertical);\n\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n }\n\n this._tryScrollActiveTabIntoView();\n this._isInitialized = true;\n }\n\n public destroy(): void {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._isInitialized = false;\n }\n\n private async _onTabsChanged(): Promise<void> {\n this._tabs = this._adapter.getTabs();\n this._syncTabState();\n this._tryScrollActiveTabIntoView();\n }\n\n private _onTabSelected(evt: CustomEvent<void>): void {\n this._selectTab(evt.target as ITabComponent);\n }\n\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n const orientation = this._vertical ? 'vertical' : 'horizontal';\n const isNavigationKey = NAVIGATION_KEYS.get('default')?.has(evt.key) ||\n NAVIGATION_KEYS.get(orientation)?.has(evt.key);\n\n if (!isNavigationKey) {\n return;\n }\n\n evt.preventDefault();\n let index = -1;\n\n if (evt.key === 'Home') {\n // Locate the first non-disabled tab\n index = this._tabs.findIndex(tab => !tab.disabled);\n } else if (evt.key === 'End') {\n // Locate the last non-disabled tab\n index = this._tabs.reduceRight((acc, tab, i) => !tab.disabled && acc === -1 ? i : acc, -1);\n } else {\n // Locate the next or previous tab based on the key that was pressed\n const currentIndex = this._tabs.findIndex(tab => tab.matches(':focus'));\n const isPrevKey = evt.key === 'ArrowLeft' || evt.key === 'ArrowUp';\n const calcIndex = (startIndex: number): void => {\n index = startIndex + (isPrevKey ? -1 : 1);\n index = index < 0 ? this._tabs.length - 1 : index % this._tabs.length;\n\n // Try to recurse until we find a non-disabled tab (unless all tabs are disabled already)\n const isAllTabsDisabled = this._tabs.every(tab => tab.disabled);\n if (!isAllTabsDisabled && this._tabs[index]?.disabled) {\n calcIndex(index);\n }\n };\n calcIndex(currentIndex);\n }\n\n if (index === -1) {\n return;\n }\n\n if (this._autoActivate) {\n this._selectTab(this._tabs[index]);\n } else {\n this._tabs[index].focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(this._tabs[index]);\n }\n }\n\n private async _selectTab(tab: ITabComponent, emitEvent = true): Promise<void> {\n if (!tab || tab.disabled) {\n return;\n }\n\n const currentSelectedTab = this._tabs.find(t => t.selected);\n if (currentSelectedTab === tab) {\n return;\n }\n\n if (emitEvent) {\n const index = this._tabs.indexOf(tab);\n const cancelled = !this._adapter.emitHostEvent(TAB_BAR_CONSTANTS.events.CHANGE, index, true, true);\n if (cancelled) {\n return;\n }\n }\n\n // Selecting a tab causes an animation of the indicator to start relative to the currently selected tab\n tab.selected = true;\n tab.focus({ preventScroll: true });\n await this._adapter.tryScrollTabIntoView(tab);\n\n // Always deselect the currently selected tab after selecting a new tab to allow\n // for the tab indicator animation to run properly (the newly selected tab attempts\n // to locate the current selected tab for its calculations)\n if (currentSelectedTab) {\n currentSelectedTab.selected = false;\n }\n\n this._activeTab = this._tabs.indexOf(tab);\n }\n\n /**\n * Ensures that all tabs have the correct state based on the tab bar state.\n * \n * This is called whenever a child tab is added to the DOM.\n */\n private _syncTabState(): void {\n this._tabs.forEach((tab, index) => {\n tab.selected = index === this._activeTab;\n tab.disabled = this._disabled;\n tab.vertical = this._vertical;\n tab.stacked = this._stacked;\n tab.secondary = this._secondary;\n tab.inverted = this._inverted;\n });\n }\n\n /** Called when the container size changes, but only if scroll buttons are enabled. */\n private _onResize(): void {\n this._detectScrollableStatus();\n }\n\n /** Called when the scroll container scrolls, but only if scroll buttons are enabled. */\n private _onScroll(): void {\n this._updateScrollState();\n }\n\n /** Handles clicking the scroll backward button. */\n private _onScrollBackward(): void {\n this._adapter.scroll('backward');\n }\n\n /** Handles clicking the scroll forward button. */\n private _onScrollForward(): void {\n this._adapter.scroll('forward');\n }\n\n /** Determines whether scroll buttons should be displayed based on the size of the container. */\n private _detectScrollableStatus(): void {\n const scrollable = this._adapter.isScrollable();\n\n if (this._scrollButtonsVisible === scrollable) {\n return;\n }\n \n this._adapter.setScrollButtons(scrollable);\n\n if (scrollable) {\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._updateScrollState();\n this._adapter.setScrollBackwardButtonListener(this._scrollBackwardButtonListener);\n this._adapter.setScrollForwardButtonListener(this._scrollForwardButtonListener);\n } else {\n this._adapter.destroyScrollObserver(this._scrollListener);\n }\n\n this._scrollButtonsVisible = scrollable;\n }\n\n /** Updates the enabled/disabled state of the scroll buttons. */\n private _updateScrollState(): void {\n const { isScrolledEnd, isScrolledStart } = this._adapter.getScrollState();\n const state: ITabBarScrollButtonState = {\n backwardEnabled: !isScrolledStart,\n forwardEnabled: !isScrolledEnd\n };\n this._adapter.syncScrollButtons(state);\n }\n\n private _tryScrollActiveTabIntoView(): void {\n if (this._tabScrollAnimationFrame) {\n window.cancelAnimationFrame(this._tabScrollAnimationFrame);\n }\n\n // We batch the tab scrolling into a single animation frame to unnecessarily scrolling for each tab\n this._tabScrollAnimationFrame = window.requestAnimationFrame(() => {\n this._tabScrollAnimationFrame = undefined;\n if (this._adapter.isScrollable()) {\n if (typeof this._activeTab === 'number' && this._activeTab >= 0 && this._tabs[this._activeTab]) {\n this._adapter.tryScrollTabIntoView(this._tabs[this._activeTab]);\n }\n }\n });\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n if (this._disabled !== value) {\n this._disabled = value;\n this._tabs.forEach(tab => tab.disabled = this._disabled);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get activeTab(): number | null | undefined {\n return this._activeTab;\n }\n public set activeTab(value: number | null | undefined) {\n if (this._activeTab !== value) {\n this._activeTab = value ?? undefined;\n\n if (typeof this._activeTab === 'number') {\n const newSelectedTab = this._tabs[this._activeTab];\n this._selectTab(newSelectedTab, false);\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB, String(this._activeTab));\n } else {\n this._tabs.forEach(tab => tab.selected = false);\n this._adapter.removeHostAttribute(TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB);\n }\n }\n }\n\n public get vertical(): boolean {\n return this._vertical;\n }\n public set vertical(value: boolean) {\n value = Boolean(value);\n if (this._vertical !== value) {\n this._vertical = value;\n\n if (this._isInitialized) {\n this._adapter.setVertical(this._vertical);\n }\n\n this._tabs.forEach(tab => tab.vertical = this._vertical);\n if (this._scrollButtonsVisible) {\n this._adapter.updateScrollButtonIcons(this._vertical);\n }\n this._adapter.toggleHostAttribute(TAB_CONSTANTS.attributes.VERTICAL, this._vertical);\n }\n }\n\n public get clustered(): boolean {\n return this._clustered;\n }\n public set clustered(value: boolean) {\n value = Boolean(value);\n if (this._clustered !== value) {\n this._clustered = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.CLUSTERED, this._clustered);\n }\n }\n\n public get stacked(): boolean {\n return this._stacked;\n }\n public set stacked(value: boolean) {\n value = Boolean(value);\n if (this._stacked !== value) {\n this._stacked = value;\n this._tabs.forEach(tab => tab.stacked = this._stacked);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.STACKED, this._stacked);\n }\n }\n\n public get secondary(): boolean {\n return this._secondary;\n }\n public set secondary(value: boolean) {\n value = Boolean(value);\n if (this._secondary !== value) {\n this._secondary = value;\n this._tabs.forEach(tab => tab.secondary = this._secondary);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.SECONDARY, this._secondary);\n }\n }\n\n public get inverted(): boolean {\n return this._inverted;\n }\n public set inverted(value: boolean) {\n value = Boolean(value);\n if (this._inverted !== value) {\n this._inverted = value;\n this._tabs.forEach(tab => tab.inverted = this._inverted);\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.INVERTED, this._inverted);\n }\n }\n\n public get autoActivate(): boolean {\n return this._autoActivate;\n }\n public set autoActivate(value: boolean) {\n value = Boolean(value);\n if (this._autoActivate !== value) {\n this._autoActivate = value;\n this._adapter.toggleHostAttribute(TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE, this._autoActivate);\n }\n }\n\n public get scrollButtons(): boolean {\n return this._scrollButtons;\n }\n public set scrollButtons(value: boolean) {\n value = Boolean(value);\n if (this._scrollButtons !== value) {\n this._scrollButtons = Boolean(value);\n\n if (this._isInitialized) {\n if (this._scrollButtons) {\n this._adapter.initializeContainerSizeObserver(this._resizeListener);\n this._adapter.initializeScrollObserver(this._scrollListener);\n this._detectScrollableStatus();\n this._updateScrollState();\n this._tryScrollActiveTabIntoView();\n } else {\n this._adapter.destroyContainerSizeObserver();\n this._adapter.destroyScrollObserver(this._scrollListener);\n this._adapter.setScrollButtons(this._scrollButtons);\n this._scrollButtonsVisible = false;\n }\n }\n\n this._adapter.setHostAttribute(TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS, String(this._scrollButtons));\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { IconButtonComponent } from '../../icon-button';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { TabComponent } from '../tab/tab';\nimport { TabBarAdapter } from './tab-bar-adapter';\nimport { TAB_BAR_CONSTANTS } from './tab-bar-constants';\nimport { TabBarFoundation } from './tab-bar-foundation';\nimport { tylIconKeyboardArrowLeft, tylIconKeyboardArrowRight, tylIconKeyboardArrowUp, tylIconKeyboardArrowDown } from '@tylertech/tyler-icons/standard';\n\nconst template = '<template><div class=\\\"container\\\" part=\\\"container\\\"><div role=\\\"tablist\\\" class=\\\"scroll-container\\\" part=\\\"scroll-container\\\"><slot></slot></div></div></template>';\nconst styles = '.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\\\"\\\"}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.container{--_container-justify:var(--forge-tab-bar-justify, space-between);--_tab-flex:var(--forge-tab-bar-stretch, 1);--_divider-color:var(--forge-tab-bar-divider-color, var(--forge-theme-border-color, #e0e0e0));--_divider-thickness:var(--forge-tab-bar-divider-thickness, 1px);position:relative;display:grid;grid-template-columns:auto 1fr auto;max-width:100%;max-height:100%;-webkit-box-align:center;align-items:center;border-bottom:var(--_divider-thickness) solid var(--_divider-color)}.scroll-container{position:relative;display:-webkit-box;display:flex;-webkit-box-pack:var(--_container-justify);justify-content:var(--_container-justify);-webkit-box-align:end;align-items:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;scroll-behavior:smooth;scrollbar-width:none;grid-column:2}.scroll-container::-webkit-scrollbar{display:none}::slotted(*){-webkit-box-flex:var(--_tab-flex);flex:var(--_tab-flex)}::slotted([selected]){z-index:1}:host{position:relative;display:block}:host([vertical]) .container{grid-template-columns:none;grid-template-rows:auto 1fr auto;-webkit-box-align:initial;align-items:initial;border-bottom:none;border-right:var(--_divider-thickness) solid var(--_divider-color);height:100%}:host([vertical]) .scroll-container{display:-webkit-inline-box;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-align:stretch;align-items:stretch;gap:0;grid-column:auto;grid-row:2}:host([vertical]) .scroll-button{justify-self:center}:host([inverted]:not([vertical])) .container{border-bottom:none;border-top:var(--_divider-thickness) solid var(--_divider-color)}:host([inverted][vertical]) .container{border-right:none;border-left:var(--_divider-thickness) solid var(--_divider-color)}:host([clustered]){--forge-tab-bar-justify:flex-start;--forge-tab-bar-stretch:0}:host([clustered=start]){--forge-tab-bar-justify:flex-start}:host([clustered=center]){--forge-tab-bar-justify:center}:host([clustered=end]){--forge-tab-bar-justify:flex-end}:host([hidden]){display:none}';\n\nexport interface ITabBarComponent extends IBaseComponent {\n disabled: boolean;\n activeTab: number | null | undefined;\n vertical: boolean;\n clustered: boolean;\n stacked: boolean;\n secondary: boolean;\n inverted: boolean;\n autoActivate: boolean;\n scrollButtons: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-tab-bar': ITabBarComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-tab-bar-change': CustomEvent<number>;\n }\n}\n\n/**\n * @tag forge-tab-bar\n * \n * @summary Tabs organize content across different screens and views.\n * \n * @description\n * Use tabs to group content into helpful categories. Tabs are typically placed\n * above the content they relate to. Tabs can be used to navigate between screens,\n * or to group related content within a screen.\n * \n * @property {boolean} disabled - The disabled state of the tab bar.\n * @property {number} activeTab - The index of the active tab.\n * @property {boolean} vertical - Controls whether the tab bar is vertical or horizontal.\n * @property {boolean} clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @property {boolean} stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @property {boolean} secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @property {boolean} inverted - Controls whether the tabs are rendered inverted (tab indicator at top instead of bottom).\n * @property {boolean} autoActivate - Controls whether the tabs are automatically activated when receiving focus.\n * @property {boolean} scrollButtons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @attribute disabled - The disabled state of the tab bar.\n * @attribute active-tab - The index of the active tab.\n * @attribute vertical - Controls whether the tab bar is vertical or horizontal.\n * @attribute clustered - Controls whether the tabs stretch the full width of their container or cluster together at their minimum width.\n * @attribute stacked - Controls whether the tabs are taller to allow for slotted leading/trailing elements.\n * @attribute secondary - Controls whether the tabs are styled as secondary tab navigation.\n * @attribute auto-activate - Controls whether the tabs are automatically activated when receiving focus.\n * @attribute scroll-buttons - Controls whether scroll buttons are displayed when the tabs overflow their container.\n * \n * @event forge-tab-bar-change {CustomEvent<number>} - Dispatches when the active tab changes.\n * \n * @cssproperty --forge-tab-bar-justify - The `justify-content` value for the tab bar flex container.\n * @cssproperty --forge-tab-bar-stretch - The `flex` value for the child `<forge-tab>` elements.\n * @cssproperty --forge-tab-bar-divider-color - The color of the divider.\n * @cssproperty --forge-tab-bar-divider-thickness - The thickness of the divider.\n * \n * @csspart container - The container element.\n * @csspart scroll-container - The scroll container element.\n */\n@CustomElement({\n name: TAB_BAR_CONSTANTS.elementName,\n dependencies: [\n TabComponent,\n IconButtonComponent,\n IconComponent\n ]\n})\nexport class TabBarComponent extends BaseComponent implements ITabBarComponent {\n public static get observedAttributes(): string[] {\n return [\n TAB_BAR_CONSTANTS.attributes.DISABLED,\n TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB,\n TAB_BAR_CONSTANTS.attributes.VERTICAL,\n TAB_BAR_CONSTANTS.attributes.CLUSTERED,\n TAB_BAR_CONSTANTS.attributes.STACKED,\n TAB_BAR_CONSTANTS.attributes.SECONDARY,\n TAB_BAR_CONSTANTS.attributes.INVERTED,\n TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE,\n TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS\n ];\n }\n\n private _foundation: TabBarFoundation;\n\n constructor() {\n super();\n IconRegistry.define([\n tylIconKeyboardArrowLeft,\n tylIconKeyboardArrowRight,\n tylIconKeyboardArrowUp,\n tylIconKeyboardArrowDown\n ]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new TabBarFoundation(new TabBarAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public disconnectedCallback(): void {\n this._foundation.destroy();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case TAB_BAR_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.ACTIVE_TAB:\n this.activeTab = newValue ? coerceNumber(newValue) : undefined;\n break;\n case TAB_BAR_CONSTANTS.attributes.VERTICAL:\n this.vertical = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.CLUSTERED:\n this.clustered = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.STACKED:\n this.stacked = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SECONDARY:\n this.secondary = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.INVERTED:\n this.inverted = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.AUTO_ACTIVATE:\n this.autoActivate = coerceBoolean(newValue);\n break;\n case TAB_BAR_CONSTANTS.attributes.SCROLL_BUTTONS:\n this.scrollButtons = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare activeTab: number | null | undefined;\n\n @FoundationProperty()\n public declare vertical: boolean;\n\n @FoundationProperty()\n public declare clustered: boolean;\n\n @FoundationProperty()\n public declare stacked: boolean;\n\n @FoundationProperty()\n public declare secondary: boolean;\n\n @FoundationProperty()\n public declare inverted: boolean;\n\n @FoundationProperty()\n public declare autoActivate: boolean;\n\n @FoundationProperty()\n public declare scrollButtons: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { TabBarComponent } from './tab-bar';\n\nexport * from './tab-bar-adapter';\nexport * from './tab-bar-constants';\nexport * from './tab-bar-foundation';\nexport * from './tab-bar';\n\nexport function defineTabBarComponent(): void {\n defineCustomElement(TabBarComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["TabBarAdapter", "BaseAdapter", "component", "getShadowElement", "TAB_BAR_CONSTANTS", "listener", "_a", "value", "toggleAttribute", "_b", "TAB_CONSTANTS", "tab", "isVertical", "scrollContainerOffset", "offset", "extent", "scroll", "hostExtent", "min", "max", "to", "behavior", "scrollHeight", "scrollWidth", "scrollLeft", "scrollTop", "clientHeight", "clientWidth", "scrollPosition", "scrollSize", "isScrolledEnd", "tylIconKeyboardArrowUp", "tylIconKeyboardArrowLeft", "tylIconKeyboardArrowDown", "tylIconKeyboardArrowRight", "backwardEnabled", "forwardEnabled", "backButton", "forwardButton", "disabled", "which", "amount", "vertical", "backButtonIcon", "nextButtonIcon", "iconName", "iconButton", "button", "icon", "TabBarFoundation", "_adapter", "evt", "TAB_CONSTANTS", "_a", "_b", "orientation", "NAVIGATION_KEYS", "index", "tab", "acc", "i", "currentIndex", "isPrevKey", "calcIndex", "startIndex", "emitEvent", "currentSelectedTab", "t", "TAB_BAR_CONSTANTS", "scrollable", "isScrolledEnd", "isScrolledStart", "state", "value", "newSelectedTab", "template", "styles", "TabBarComponent", "BaseComponent", "IconRegistry", "tylIconKeyboardArrowLeft", "tylIconKeyboardArrowRight", "tylIconKeyboardArrowUp", "tylIconKeyboardArrowDown", "attachShadowTemplate", "TabBarFoundation", "TabBarAdapter", "TAB_BAR_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "coerceNumber", "__decorateClass", "FoundationProperty", "CustomElement", "TabComponent", "IconButtonComponent", "IconComponent", "defineTabBarComponent", "defineCustomElement", "TabBarComponent"]
|
|
7
7
|
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as i,b as u,e as y}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as i,b as u,e as y}from"./chunk.SAXRW6GB.js";import{a as r}from"./chunk.NVUMRW44.js";import{a as g}from"./chunk.5V5ABSHI.js";import{a as _}from"./chunk.DTZFWZPB.js";import{a as b,e as I,k as L}from"./chunk.NK7H3MMM.js";import{r as l,s as m}from"./chunk.CFDK4RCW.js";import{b as h,k as d}from"./chunk.J2M2MXP2.js";import{d as a}from"./chunk.M3QDAYD2.js";var p=class extends g{constructor(t){super(t)}initializeAccessibility(){this._component.hasAttribute("role")||this._component.setAttribute("role","list")}addListener(t,e){this._component.addEventListener(t,e)}removeListener(t,e){this._component.removeEventListener(t,e)}getListItems(){return Array.from(this._component.children).filter(t=>t.tagName===u.elementName.toUpperCase())}focusNextListItem(){let t=l(this._component,i.selectors.FOCUSABLE_LIST_ITEMS,!1);if(t&&t.length>0){let e=t.indexOf(m()),s=e<t.length-1?e+1:0;s<=t.length-1&&t[s].focus()}}focusPreviousListItem(){let t=l(this._component,i.selectors.FOCUSABLE_LIST_ITEMS,!1);if(t&&t.length>0){let e=t.indexOf(m()),s=e>0?e-1:t.length-1;s>=0&&t[s].focus()}}focusFirstListItem(){let t=l(this._component,i.selectors.FOCUSABLE_LIST_ITEMS,!1);t&&t.length>0&&t[0].focus()}focusLastListItem(){let t=l(this._component,i.selectors.FOCUSABLE_LIST_ITEMS,!1);t&&t.length>0&&t[t.length-1].focus()}setSelectedListItems(t){let e=Array.from(this._component.querySelectorAll(u.elementName));if(e&&e.length)for(let s of e)s.selected=t.includes(s.value)}updateListItems(t){this.getListItems().forEach(e=>t(e))}};var C=["input","button","textarea","select"],c=class{constructor(t){this._adapter=t;this._static=!1;this._dense=!1;this._propagateClick=!0;this._indented=!1;this._keydownListener=e=>this._onKeydown(e)}initialize(){this._adapter.initializeAccessibility(),this._static||this._adapter.addListener("keydown",this._keydownListener),this._selectedValue&&this._adapter.setSelectedListItems(this._selectedValue)}_onKeydown(t){let e=t.key==="ArrowDown"||t.keyCode===40,s=t.key==="ArrowUp"||t.keyCode===38,n=t.key==="Home"||t.keyCode===36,E=t.key==="End"||t.keyCode===35,v=t.key==="Tab"||t.keyCode===9;t.altKey||t.ctrlKey||t.shiftKey||t.metaKey||(v||this._preventDefaultEvent(t),n?this._adapter.focusFirstListItem():E?this._adapter.focusLastListItem():e?this._adapter.focusNextListItem():s&&this._adapter.focusPreviousListItem())}_preventDefaultEvent(t){let e=`${t.target.tagName}`.toLowerCase();C.indexOf(e)===-1&&t.preventDefault()}_setSelectedValue(t){let e=t instanceof Array?t:[t];e=e.filter(s=>h(s)),this._adapter.setSelectedListItems(e)}get static(){return this._static}set static(t){this._static!==t&&(this._static=t,this._static?this._adapter.removeListener("keydown",this._keydownListener):this._adapter.addListener("keydown",this._keydownListener),this._adapter.updateListItems(e=>e.static=this._static),this._static?this._adapter.setHostAttribute(i.attributes.STATIC):this._adapter.removeHostAttribute(i.attributes.STATIC))}get dense(){return this._dense}set dense(t){this._dense!==t&&(this._dense=t,this._adapter.updateListItems(e=>e.dense=this._dense),this._dense?this._adapter.setHostAttribute(i.attributes.DENSE):this._adapter.removeHostAttribute(i.attributes.DENSE))}get propagateClick(){return this._propagateClick}set propagateClick(t){this._propagateClick!==t&&(this._propagateClick=t,this._adapter.updateListItems(e=>e.propagateClick=this._propagateClick),this._adapter.setHostAttribute(i.attributes.PROPAGATE_CLICK,""+!!this._propagateClick))}get indented(){return this._indented}set indented(t){this._indented!==t&&(this._indented=t,this._adapter.updateListItems(e=>e.indented=this._indented),this._indented?this._adapter.setHostAttribute(i.attributes.INDENTED):this._adapter.removeHostAttribute(i.attributes.INDENTED))}get selectedValue(){return this._selectedValue}set selectedValue(t){this._selectedValue=t,this._setSelectedValue(t)}};var T='<template><div class="forge-list" part="root"><slot></slot></div></template>',A=".forge-list{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);line-height:1.5rem;padding-top:8px;padding-top:var(--forge-list-padding,8px);padding-bottom:8px;padding-bottom:var(--forge-list-padding,8px);margin:0;list-style-type:none}.forge-list:focus{outline:0}:host{display:block;contain:content}:host([hidden]){display:none}",o=class extends L{constructor(){super();I(this,T,A),this._foundation=new c(new p(this))}static get observedAttributes(){return[i.attributes.STATIC,i.attributes.DENSE,i.attributes.SELECTED_VALUE,i.attributes.PROPAGATE_CLICK,i.attributes.INDENTED]}initializedCallback(){this._foundation.initialize()}attributeChangedCallback(e,s,n){switch(e){case i.attributes.STATIC:this.static=d(n);break;case i.attributes.DENSE:this.dense=d(n);break;case i.attributes.PROPAGATE_CLICK:this.propagateClick=d(n);break;case i.attributes.INDENTED:this.indented=d(n);break;case i.attributes.SELECTED_VALUE:this.selectedValue=n;break}}};a([r()],o.prototype,"static",2),a([r()],o.prototype,"dense",2),a([r()],o.prototype,"propagateClick",2),a([r()],o.prototype,"indented",2),a([r()],o.prototype,"selectedValue",2),o=a([_({name:i.elementName,dependencies:[y]})],o);function j(){b(o)}export{p as a,c as b,o as c,j as d};
|
|
7
|
+
//# sourceMappingURL=chunk.GT3XBPZY.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{f as e}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{f as e}from"./chunk.CAUWWFF4.js";import{a as o}from"./chunk.NK7H3MMM.js";function t(){o(e)}export{t as a};
|
|
7
|
+
//# sourceMappingURL=chunk.HUGRRRQA.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{e}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{e}from"./chunk.2VP57RZO.js";import{a as o}from"./chunk.NK7H3MMM.js";function t(){o(e)}export{t as a};
|
|
7
|
+
//# sourceMappingURL=chunk.HXJCTE47.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{d as F}from"./chunk.SIJGKRYS.js";import{d as w}from"./chunk.X3YNJSDT.js";import{b as G}from"./chunk.A5R7KUIP.js";import{n as y,r as B,s as N,v as z}from"./chunk.FYWPZFLJ.js";import{d as O,l as k}from"./chunk.H5D54EHO.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as x}from"./chunk.5V5ABSHI.js";import{a as S,b as I}from"./chunk.DTZFWZPB.js";import{a as A,e as L,f as r,i as d,k as T}from"./chunk.NK7H3MMM.js";import{d as v,f as _,g as P,t as E}from"./chunk.CFDK4RCW.js";import{b,i as m,k as l,l as c}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var R=`${I}paginator`,g={LABEL:"forge-paginator__label",PAGE_SIZE_OPTIONS:"forge-paginator__page-size-options",RANGE_LABEL:"forge-paginator__range-label",RANGE_LABEL_ALTERNATIVE:"forge-paginator__range-label--alternative",FIRST_PAGE_BUTTON:"forge-paginator__first-page",PREVIOUS_PAGE_BUTTON:"forge-paginator__previous-page",NEXT_PAGE_BUTTON:"forge-paginator__next-page",LAST_PAGE_BUTTON:"forge-paginator__last-page",ROOT:"forge-paginator",ALTERNATIVE:"forge-paginator--alternative",ALIGNMENT_START:"forge-paginator--alignment-start",ALIGNMENT_SPACE_BETWEEN:"forge-paginator--alignment-center",ALIGNMENT_END:"forge-paginator--alignment-end"},U={LABEL:`.${g.LABEL}`,PAGE_SIZE_SELECT:`.${g.PAGE_SIZE_OPTIONS}`,RANGE_LABEL:`.${g.RANGE_LABEL}`,FIRST_PAGE_BUTTON:`.${g.FIRST_PAGE_BUTTON} > button`,FIRST_PAGE_ICON_BUTTON:`.${g.FIRST_PAGE_BUTTON}`,PREVIOUS_PAGE_BUTTON:`.${g.PREVIOUS_PAGE_BUTTON} > button`,NEXT_PAGE_BUTTON:`.${g.NEXT_PAGE_BUTTON} > button`,LAST_PAGE_BUTTON:`.${g.LAST_PAGE_BUTTON} > button`,LAST_PAGE_ICON_BUTTON:`.${g.LAST_PAGE_BUTTON}`,ROOT:`.${g.ROOT}`,RANGE_LABEL_ALTERNATIVE:`.${g.RANGE_LABEL_ALTERNATIVE}`},M={PAGE_INDEX:"page-index",PAGE_SIZE:"page-size",OFFSET:"offset",PAGE_SIZE_OPTIONS:"page-size-options",TOTAL:"total",LABEL:"label",FIRST_LAST:"first-last",FIRST:"first",DISABLED:"disabled",ALTERNATIVE:"alternative",ALIGNMENT:"alignment"},D={CHANGE:`${R}-change`},H={DEFAULT_PAGE_INDEX:0,DEFAULT_TOTAL:0,DEFAULT_PAGE_SIZE:25,DEFAULT_PAGE_SIZE_OPTIONS:[5,15,25,50,100]},$={DEFAULT_LABEL:"Rows per page:",RANGE_SEPARATOR_LABEL:"of",FIRST_PAGE:"first-page",PREVIOUS_PAGE:"previous-page",NEXT_PAGE:"next-page",LAST_PAGE:"last-page",PAGE_SIZE:"page-size"},e={elementName:R,classes:g,selectors:U,attributes:M,events:D,numbers:H,strings:$};var h=class{constructor(i){this._adapter=i;this._pageIndex=e.numbers.DEFAULT_PAGE_INDEX;this._pageSize=e.numbers.DEFAULT_PAGE_SIZE;this._total=e.numbers.DEFAULT_TOTAL;this._pageSizeOptions=[];this._label=e.strings.DEFAULT_LABEL;this._firstLast=!1;this._first=!1;this._disabled=!1;this._alignment="space-between";this._pageSizeListener=t=>this._onPageSizeChanged(t),this._firstPageListener=t=>this._onFirstPage(t),this._previousPageListener=t=>this._onPreviousPage(t),this._nextPageListener=t=>this._onNextPage(t),this._lastPageListener=t=>this._onLastPage(t),this._pageSizeOptions=e.numbers.DEFAULT_PAGE_SIZE_OPTIONS.map(t=>({label:t.toString(),value:t.toString()}))}set pageIndex(i){this._pageIndex!==i&&(b(i)?(this._pageIndex=i,this._update(),this._adapter.setHostAttribute(e.attributes.PAGE_INDEX,this._pageIndex.toString())):this._adapter.removeHostAttribute(e.attributes.PAGE_INDEX))}get pageIndex(){return this._pageIndex}set pageSize(i){this._pageSize!==i&&(this._pageSize=i,this._adapter.setPageSize(this._pageSize),this._update(),this._adapter.setHostAttribute(e.attributes.PAGE_SIZE,this._pageSize.toString()))}get pageSize(){return this._pageSize}set offset(i){i>=this._total&&(this._total>=this._pageSize?i=this._total-this._pageSize:i=0);let t=Math.min(Math.max(i,0),this._total);this.pageIndex=Math.floor(t/this._pageSize)}get offset(){return this._pageIndex*this._pageSize}set total(i){this._total!==i&&(this._total=i,this._update(),this._adapter.setHostAttribute(e.attributes.TOTAL,this._total.toString()))}get total(){return this._total}set pageSizeOptions(i){m(i)?(this._pageSizeOptions=i.map(t=>({label:t.toString(),value:t.toString()})).sort((t,s)=>c(t.value)-c(s.value)),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!0),b(this._pageSize)&&this._pageSizeOptions.length&&!this._pageSizeOptions.find(t=>c(t.value)===this._pageSize)&&(this.pageSize=c(this._pageSizeOptions[0].value))):i.toString().toLowerCase()==="false"&&(this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!1))}get pageSizeOptions(){return this._pageSizeOptions.map(i=>Number(i.value))}set label(i){this._label!==i&&(this._label=i,this._adapter.setLabel(this._label),this._adapter.setHostAttribute(e.attributes.LABEL,b(this._label)?this._label.toString():""))}get label(){return this._label}set firstLast(i){this._firstLast!==i&&(this._firstLast=i,this._toggleFirstLastButtons(),this._firstLast?this._adapter.setHostAttribute(e.attributes.FIRST_LAST):this._adapter.removeHostAttribute(e.attributes.FIRST_LAST))}get firstLast(){return this._firstLast}set first(i){this._first!==i&&(this._first=i,this._toggleFirstButton(),this._first?this._adapter.setHostAttribute(e.attributes.FIRST):this._adapter.removeHostAttribute(e.attributes.FIRST))}get first(){return this._first}set disabled(i){this._disabled!==i&&(this._disabled=i,this._update(),this._disabled?this._adapter.setHostAttribute(e.attributes.DISABLED):this._adapter.removeHostAttribute(e.attributes.DISABLED))}get disabled(){return this._disabled}get alternative(){return this._alternative}set alternative(i){i!==this._alternative&&(this._alternative=i,this._applyAlternative())}get alignment(){return this._alignment}set alignment(i){i!==this._alignment&&(this._alignment=i,this._applyAlternativeAlignment())}_applyAlternativeAlignment(){this._adapter.setHostAttribute(e.attributes.ALIGNMENT,this._alignment),this._adapter.setAlignment(this._alignment)}_applyAlternative(){this._adapter.toggleHostAttribute(e.attributes.ALTERNATIVE,this._alternative),this._adapter.setAlternative(this._alternative),this._applyAlternativeAlignment()}initialize(){this._update(),this._adapter.setLabel(this._label),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.setPageSize(this._pageSize),this._attachListeners(),this._toggleFirstLastButtons()}disconnect(){this._detachListeners()}_attachListeners(){this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.attachFirstPageListener(this._firstPageListener),this._adapter.attachPreviousPageListener(this._previousPageListener),this._adapter.attachNextPageListener(this._nextPageListener),this._adapter.attachLastPageListener(this._lastPageListener)}_detachListeners(){this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.detachFirstPageListener(this._firstPageListener),this._adapter.detachPreviousPageListener(this._previousPageListener),this._adapter.detachNextPageListener(this._nextPageListener),this._adapter.detachLastPageListener(this._lastPageListener)}_onFirstPage(i){if(i.stopPropagation(),!this._hasFirstPage())return;let t=0;this._emitChangeEvent(e.strings.FIRST_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onPreviousPage(i){if(i.stopPropagation(),!this._hasPreviousPage())return;let t=this._pageIndex-1;this._emitChangeEvent(e.strings.PREVIOUS_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onNextPage(i){if(i.stopPropagation(),!this._hasNextPage())return;let t=this._pageIndex+1;this._emitChangeEvent(e.strings.NEXT_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onLastPage(i){if(i.stopPropagation(),!this._hasLastPage())return;let t=this._getMaxPages();this._emitChangeEvent(e.strings.LAST_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onPageSizeChanged(i){i.stopPropagation();let t=Number(i.detail);this._emitChangeEvent(e.strings.PAGE_SIZE,{pageIndex:0,pageSize:t})?(this.pageIndex=0,this.pageSize=t):i.preventDefault()}_emitChangeEvent(i,{pageSize:t=this._pageSize,pageIndex:s=this._pageIndex}={}){let o=s*t,C={type:i,pageSize:t,pageIndex:s,offset:o};return this._adapter.emitHostEvent(e.events.CHANGE,C,!0,!0)}_getMaxPages(){return Math.ceil(this._total/this._pageSize)-1}_update(){if(this.pageSize>1){let i=this._pageIndex*this._pageSize,s=(Math.floor(i/this._pageSize)||0)*this._pageSize+1,o=i<this._total?Math.min(i+this._pageSize,this._total):i+this._pageSize;this._rangeLabel=`${s}-${o} ${e.strings.RANGE_SEPARATOR_LABEL} ${this._total}`}else this._rangeLabel=`${this._pageIndex+1} ${e.strings.RANGE_SEPARATOR_LABEL} ${this._total}`;this._adapter.setRangeLabel(this._rangeLabel),this.disabled?(this._adapter.disablePageSizeSelect(),this._adapter.disableFirstPageButton(),this._adapter.disablePreviousPageButton(),this._adapter.disableNextPageButton(),this._adapter.disableLastPageButton()):(this._adapter.enablePageSizeSelect(),this._hasFirstPage()?this._adapter.enableFirstPageButton():this._adapter.disableFirstPageButton(),this._hasPreviousPage()?this._adapter.enablePreviousPageButton():this._adapter.disablePreviousPageButton(),this._hasNextPage()?this._adapter.enableNextPageButton():this._adapter.disableNextPageButton(),this._hasLastPage()?this._adapter.enableLastPageButton():this._adapter.disableLastPageButton())}_toggleFirstLastButtons(){this._toggleFirstButton(),this._firstLast?this._adapter.hasLastPageButton()||this._adapter.showLastPageButton():this._adapter.hasLastPageButton()&&this._adapter.hideLastPageButton()}_toggleFirstButton(){this._first||this._firstLast?this._adapter.hasFirstPageButton()||this._adapter.showFirstPageButton():this._adapter.hasFirstPageButton()&&this._adapter.hideFirstPageButton()}_hasFirstPage(){return this._hasPreviousPage()}_hasPreviousPage(){return this._pageIndex>=1&&this._pageSize!==0}_hasNextPage(){let i=this._getMaxPages();return this._pageIndex<i&&this._pageSize!==0}_hasLastPage(){return this._hasNextPage()}};var u=class extends x{constructor(t){super(t);this._labelElement=r(t,e.selectors.LABEL),this._root=r(t,e.selectors.ROOT),this._pageSizeSelect=r(t,e.selectors.PAGE_SIZE_SELECT),this._rangeLabel=r(t,e.selectors.RANGE_LABEL),this._rangeLabelAlternative=r(t,e.selectors.RANGE_LABEL_ALTERNATIVE),this._firstPageButton=r(t,e.selectors.FIRST_PAGE_BUTTON),this._firstPageIconButton=r(t,e.selectors.FIRST_PAGE_ICON_BUTTON),this._previousPageButton=r(t,e.selectors.PREVIOUS_PAGE_BUTTON),this._nextPageButton=r(t,e.selectors.NEXT_PAGE_BUTTON),this._lastPageButton=r(t,e.selectors.LAST_PAGE_BUTTON),this._lastPageIconButton=r(t,e.selectors.LAST_PAGE_ICON_BUTTON)}setLabel(t){this._labelElement.textContent=t}setPageSizeOptions(t){v(this._pageSizeSelect),this._pageSizeSelect.options=t}setPageSize(t){this._pageSizeSelect.value=t.toString()}setRangeLabel(t){this._rangeLabel.innerText=t,this._rangeLabelAlternative.innerText=t}hasFirstPageButton(){return!!r(this._component,e.selectors.FIRST_PAGE_ICON_BUTTON)}showFirstPageButton(){this._firstPagePlaceholder=d(this._component,!0,e.elementName,e.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hideFirstPageButton(){this._firstPagePlaceholder=d(this._component,!1,e.elementName,e.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hasLastPageButton(){return!!r(this._component,e.selectors.LAST_PAGE_ICON_BUTTON)}showLastPageButton(){this._lastPagePlaceholder=d(this._component,!0,e.elementName,e.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}hideLastPageButton(){this._lastPagePlaceholder=d(this._component,!1,e.elementName,e.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}attachPageSizeChangeListener(t){this._pageSizeSelect.addEventListener("change",t)}attachFirstPageListener(t){this._firstPageButton.addEventListener("click",t)}attachPreviousPageListener(t){this._previousPageButton.addEventListener("click",t)}attachNextPageListener(t){this._nextPageButton.addEventListener("click",t)}attachLastPageListener(t){this._lastPageButton.addEventListener("click",t)}detachPageSizeChangeListener(t){this._pageSizeSelect.removeEventListener("change",t)}detachFirstPageListener(t){this._firstPageButton.removeEventListener("click",t)}detachPreviousPageListener(t){this._previousPageButton.removeEventListener("click",t)}detachNextPageListener(t){this._nextPageButton.removeEventListener("click",t)}detachLastPageListener(t){this._lastPageButton.removeEventListener("click",t)}disableFirstPageButton(){this._firstPageButton.setAttribute("disabled","disabled")}enableFirstPageButton(){this._firstPageButton.removeAttribute("disabled")}disablePreviousPageButton(){this._previousPageButton.setAttribute("disabled","disabled")}enablePreviousPageButton(){this._previousPageButton.removeAttribute("disabled")}disableNextPageButton(){this._nextPageButton.setAttribute("disabled","disabled")}enableNextPageButton(){this._nextPageButton.removeAttribute("disabled")}disablePageSizeSelect(){this._pageSizeSelect.setAttribute("disabled","disabled")}enablePageSizeSelect(){this._pageSizeSelect.removeAttribute("disabled")}setPageSizeVisibility(t){t?this._pageSizeSelect.style.removeProperty("display"):this._pageSizeSelect.style.display="none"}disableLastPageButton(){this._lastPageButton.setAttribute("disabled","disabled")}enableLastPageButton(){this._lastPageButton.removeAttribute("disabled")}setAlternative(t){E(this._root,t,e.classes.ALTERNATIVE)}setAlignment(t){switch(P([e.classes.ALIGNMENT_SPACE_BETWEEN,e.classes.ALIGNMENT_START,e.classes.ALIGNMENT_END],this._root),t){case"start":_(e.classes.ALIGNMENT_START,this._root);break;case"end":_(e.classes.ALIGNMENT_END,this._root);break;case"space-between":default:_(e.classes.ALIGNMENT_SPACE_BETWEEN,this._root);break}}};var Z='<template><div class="forge-paginator" part="root"><div class="forge-paginator__container" part="container"><div class="forge-paginator__label" part="label"></div><forge-select class="forge-paginator__page-size-options" aria-label="Choose page size" density="dense" part="page-size-options"></forge-select><div class="forge-paginator__range-label" part="range-label"></div><forge-icon-button class="forge-paginator__first-page" part="first-page-button"><button aria-label="First Page" part="first-page-button-element"><forge-icon name="first_page" part="first-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the first page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__previous-page" part="previous-page-button"><button aria-label="Previous Page" part="previous-page-button-element"><forge-icon name="keyboard_arrow_left" part="previous-page-button-icon"></forge-icon></button><forge-tooltip position="top">Go to the previous page</forge-tooltip></forge-icon-button><div class="forge-paginator__range-label--alternative" part="range-label-alternative"></div><forge-icon-button class="forge-paginator__next-page" part="next-page-button"><button aria-label="Next Page" part="next-page-button-element"><forge-icon name="keyboard_arrow_right" part="next-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the next page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__last-page" part="last-page-button"><button aria-label="Last Page" part="last-page-button-element"><forge-icon name="last_page" part="last-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the last page</forge-tooltip></forge-icon-button></div></div></template>',X='.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}',a=class extends T{constructor(){super();O.define([y,B,N,z]),L(this,Z,X),this._foundation=new h(new u(this))}static get observedAttributes(){return[e.attributes.PAGE_INDEX,e.attributes.PAGE_SIZE,e.attributes.OFFSET,e.attributes.TOTAL,e.attributes.PAGE_SIZE_OPTIONS,e.attributes.LABEL,e.attributes.FIRST_LAST,e.attributes.FIRST,e.attributes.DISABLED,e.attributes.ALTERNATIVE,e.attributes.ALIGNMENT]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,s,o){switch(t){case e.attributes.PAGE_INDEX:this.pageIndex=Number(o)||e.numbers.DEFAULT_PAGE_INDEX;break;case e.attributes.PAGE_SIZE:this.pageSize=Number(o)||e.numbers.DEFAULT_PAGE_SIZE;break;case e.attributes.OFFSET:this.offset=Number(o);break;case e.attributes.TOTAL:this.total=Number(o)||e.numbers.DEFAULT_TOTAL;break;case e.attributes.PAGE_SIZE_OPTIONS:this.pageSizeOptions=o;break;case e.attributes.LABEL:this.label=o;break;case e.attributes.FIRST_LAST:this.firstLast=l(o);break;case e.attributes.FIRST:this.first=l(o);break;case e.attributes.DISABLED:this.disabled=l(o);break;case e.attributes.ALTERNATIVE:this.alternative=l(o);break;case e.attributes.ALIGNMENT:this.alignment=o;break}}};n([p()],a.prototype,"pageIndex",2),n([p()],a.prototype,"pageSize",2),n([p()],a.prototype,"offset",2),n([p()],a.prototype,"total",2),n([p()],a.prototype,"pageSizeOptions",2),n([p()],a.prototype,"label",2),n([p()],a.prototype,"firstLast",2),n([p()],a.prototype,"first",2),n([p()],a.prototype,"disabled",2),n([p()],a.prototype,"alternative",2),n([p()],a.prototype,"alignment",2),a=n([S({name:e.elementName,dependencies:[G,F,k,w]})],a);function Lt(){A(a)}export{e as a,h as b,u as c,a as d,Lt as e};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{d as F}from"./chunk.JCRC2VEI.js";import{d as w}from"./chunk.X3YNJSDT.js";import{b as G}from"./chunk.KSCUIS5C.js";import{n as y,r as B,s as N,v as z}from"./chunk.FYWPZFLJ.js";import{d as O,l as k}from"./chunk.H5D54EHO.js";import{a as p}from"./chunk.NVUMRW44.js";import{a as x}from"./chunk.5V5ABSHI.js";import{a as S,b as I}from"./chunk.DTZFWZPB.js";import{a as A,e as L,f as r,i as d,k as T}from"./chunk.NK7H3MMM.js";import{d as v,f as _,g as P,t as E}from"./chunk.CFDK4RCW.js";import{b,i as m,k as l,l as c}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var R=`${I}paginator`,g={LABEL:"forge-paginator__label",PAGE_SIZE_OPTIONS:"forge-paginator__page-size-options",RANGE_LABEL:"forge-paginator__range-label",RANGE_LABEL_ALTERNATIVE:"forge-paginator__range-label--alternative",FIRST_PAGE_BUTTON:"forge-paginator__first-page",PREVIOUS_PAGE_BUTTON:"forge-paginator__previous-page",NEXT_PAGE_BUTTON:"forge-paginator__next-page",LAST_PAGE_BUTTON:"forge-paginator__last-page",ROOT:"forge-paginator",ALTERNATIVE:"forge-paginator--alternative",ALIGNMENT_START:"forge-paginator--alignment-start",ALIGNMENT_SPACE_BETWEEN:"forge-paginator--alignment-center",ALIGNMENT_END:"forge-paginator--alignment-end"},U={LABEL:`.${g.LABEL}`,PAGE_SIZE_SELECT:`.${g.PAGE_SIZE_OPTIONS}`,RANGE_LABEL:`.${g.RANGE_LABEL}`,FIRST_PAGE_BUTTON:`.${g.FIRST_PAGE_BUTTON} > button`,FIRST_PAGE_ICON_BUTTON:`.${g.FIRST_PAGE_BUTTON}`,PREVIOUS_PAGE_BUTTON:`.${g.PREVIOUS_PAGE_BUTTON} > button`,NEXT_PAGE_BUTTON:`.${g.NEXT_PAGE_BUTTON} > button`,LAST_PAGE_BUTTON:`.${g.LAST_PAGE_BUTTON} > button`,LAST_PAGE_ICON_BUTTON:`.${g.LAST_PAGE_BUTTON}`,ROOT:`.${g.ROOT}`,RANGE_LABEL_ALTERNATIVE:`.${g.RANGE_LABEL_ALTERNATIVE}`},M={PAGE_INDEX:"page-index",PAGE_SIZE:"page-size",OFFSET:"offset",PAGE_SIZE_OPTIONS:"page-size-options",TOTAL:"total",LABEL:"label",FIRST_LAST:"first-last",FIRST:"first",DISABLED:"disabled",ALTERNATIVE:"alternative",ALIGNMENT:"alignment"},D={CHANGE:`${R}-change`},H={DEFAULT_PAGE_INDEX:0,DEFAULT_TOTAL:0,DEFAULT_PAGE_SIZE:25,DEFAULT_PAGE_SIZE_OPTIONS:[5,15,25,50,100]},$={DEFAULT_LABEL:"Rows per page:",RANGE_SEPARATOR_LABEL:"of",FIRST_PAGE:"first-page",PREVIOUS_PAGE:"previous-page",NEXT_PAGE:"next-page",LAST_PAGE:"last-page",PAGE_SIZE:"page-size"},e={elementName:R,classes:g,selectors:U,attributes:M,events:D,numbers:H,strings:$};var h=class{constructor(i){this._adapter=i;this._pageIndex=e.numbers.DEFAULT_PAGE_INDEX;this._pageSize=e.numbers.DEFAULT_PAGE_SIZE;this._total=e.numbers.DEFAULT_TOTAL;this._pageSizeOptions=[];this._label=e.strings.DEFAULT_LABEL;this._firstLast=!1;this._first=!1;this._disabled=!1;this._alignment="space-between";this._pageSizeListener=t=>this._onPageSizeChanged(t),this._firstPageListener=t=>this._onFirstPage(t),this._previousPageListener=t=>this._onPreviousPage(t),this._nextPageListener=t=>this._onNextPage(t),this._lastPageListener=t=>this._onLastPage(t),this._pageSizeOptions=e.numbers.DEFAULT_PAGE_SIZE_OPTIONS.map(t=>({label:t.toString(),value:t.toString()}))}set pageIndex(i){this._pageIndex!==i&&(b(i)?(this._pageIndex=i,this._update(),this._adapter.setHostAttribute(e.attributes.PAGE_INDEX,this._pageIndex.toString())):this._adapter.removeHostAttribute(e.attributes.PAGE_INDEX))}get pageIndex(){return this._pageIndex}set pageSize(i){this._pageSize!==i&&(this._pageSize=i,this._adapter.setPageSize(this._pageSize),this._update(),this._adapter.setHostAttribute(e.attributes.PAGE_SIZE,this._pageSize.toString()))}get pageSize(){return this._pageSize}set offset(i){i>=this._total&&(this._total>=this._pageSize?i=this._total-this._pageSize:i=0);let t=Math.min(Math.max(i,0),this._total);this.pageIndex=Math.floor(t/this._pageSize)}get offset(){return this._pageIndex*this._pageSize}set total(i){this._total!==i&&(this._total=i,this._update(),this._adapter.setHostAttribute(e.attributes.TOTAL,this._total.toString()))}get total(){return this._total}set pageSizeOptions(i){m(i)?(this._pageSizeOptions=i.map(t=>({label:t.toString(),value:t.toString()})).sort((t,s)=>c(t.value)-c(s.value)),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!0),b(this._pageSize)&&this._pageSizeOptions.length&&!this._pageSizeOptions.find(t=>c(t.value)===this._pageSize)&&(this.pageSize=c(this._pageSizeOptions[0].value))):i.toString().toLowerCase()==="false"&&(this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!1))}get pageSizeOptions(){return this._pageSizeOptions.map(i=>Number(i.value))}set label(i){this._label!==i&&(this._label=i,this._adapter.setLabel(this._label),this._adapter.setHostAttribute(e.attributes.LABEL,b(this._label)?this._label.toString():""))}get label(){return this._label}set firstLast(i){this._firstLast!==i&&(this._firstLast=i,this._toggleFirstLastButtons(),this._firstLast?this._adapter.setHostAttribute(e.attributes.FIRST_LAST):this._adapter.removeHostAttribute(e.attributes.FIRST_LAST))}get firstLast(){return this._firstLast}set first(i){this._first!==i&&(this._first=i,this._toggleFirstButton(),this._first?this._adapter.setHostAttribute(e.attributes.FIRST):this._adapter.removeHostAttribute(e.attributes.FIRST))}get first(){return this._first}set disabled(i){this._disabled!==i&&(this._disabled=i,this._update(),this._disabled?this._adapter.setHostAttribute(e.attributes.DISABLED):this._adapter.removeHostAttribute(e.attributes.DISABLED))}get disabled(){return this._disabled}get alternative(){return this._alternative}set alternative(i){i!==this._alternative&&(this._alternative=i,this._applyAlternative())}get alignment(){return this._alignment}set alignment(i){i!==this._alignment&&(this._alignment=i,this._applyAlternativeAlignment())}_applyAlternativeAlignment(){this._adapter.setHostAttribute(e.attributes.ALIGNMENT,this._alignment),this._adapter.setAlignment(this._alignment)}_applyAlternative(){this._adapter.toggleHostAttribute(e.attributes.ALTERNATIVE,this._alternative),this._adapter.setAlternative(this._alternative),this._applyAlternativeAlignment()}initialize(){this._update(),this._adapter.setLabel(this._label),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.setPageSize(this._pageSize),this._attachListeners(),this._toggleFirstLastButtons()}disconnect(){this._detachListeners()}_attachListeners(){this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.attachFirstPageListener(this._firstPageListener),this._adapter.attachPreviousPageListener(this._previousPageListener),this._adapter.attachNextPageListener(this._nextPageListener),this._adapter.attachLastPageListener(this._lastPageListener)}_detachListeners(){this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.detachFirstPageListener(this._firstPageListener),this._adapter.detachPreviousPageListener(this._previousPageListener),this._adapter.detachNextPageListener(this._nextPageListener),this._adapter.detachLastPageListener(this._lastPageListener)}_onFirstPage(i){if(i.stopPropagation(),!this._hasFirstPage())return;let t=0;this._emitChangeEvent(e.strings.FIRST_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onPreviousPage(i){if(i.stopPropagation(),!this._hasPreviousPage())return;let t=this._pageIndex-1;this._emitChangeEvent(e.strings.PREVIOUS_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onNextPage(i){if(i.stopPropagation(),!this._hasNextPage())return;let t=this._pageIndex+1;this._emitChangeEvent(e.strings.NEXT_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onLastPage(i){if(i.stopPropagation(),!this._hasLastPage())return;let t=this._getMaxPages();this._emitChangeEvent(e.strings.LAST_PAGE,{pageIndex:t})&&(this.pageIndex=t)}_onPageSizeChanged(i){i.stopPropagation();let t=Number(i.detail);this._emitChangeEvent(e.strings.PAGE_SIZE,{pageIndex:0,pageSize:t})?(this.pageIndex=0,this.pageSize=t):i.preventDefault()}_emitChangeEvent(i,{pageSize:t=this._pageSize,pageIndex:s=this._pageIndex}={}){let o=s*t,C={type:i,pageSize:t,pageIndex:s,offset:o};return this._adapter.emitHostEvent(e.events.CHANGE,C,!0,!0)}_getMaxPages(){return Math.ceil(this._total/this._pageSize)-1}_update(){if(this.pageSize>1){let i=this._pageIndex*this._pageSize,s=(Math.floor(i/this._pageSize)||0)*this._pageSize+1,o=i<this._total?Math.min(i+this._pageSize,this._total):i+this._pageSize;this._rangeLabel=`${s}-${o} ${e.strings.RANGE_SEPARATOR_LABEL} ${this._total}`}else this._rangeLabel=`${this._pageIndex+1} ${e.strings.RANGE_SEPARATOR_LABEL} ${this._total}`;this._adapter.setRangeLabel(this._rangeLabel),this.disabled?(this._adapter.disablePageSizeSelect(),this._adapter.disableFirstPageButton(),this._adapter.disablePreviousPageButton(),this._adapter.disableNextPageButton(),this._adapter.disableLastPageButton()):(this._adapter.enablePageSizeSelect(),this._hasFirstPage()?this._adapter.enableFirstPageButton():this._adapter.disableFirstPageButton(),this._hasPreviousPage()?this._adapter.enablePreviousPageButton():this._adapter.disablePreviousPageButton(),this._hasNextPage()?this._adapter.enableNextPageButton():this._adapter.disableNextPageButton(),this._hasLastPage()?this._adapter.enableLastPageButton():this._adapter.disableLastPageButton())}_toggleFirstLastButtons(){this._toggleFirstButton(),this._firstLast?this._adapter.hasLastPageButton()||this._adapter.showLastPageButton():this._adapter.hasLastPageButton()&&this._adapter.hideLastPageButton()}_toggleFirstButton(){this._first||this._firstLast?this._adapter.hasFirstPageButton()||this._adapter.showFirstPageButton():this._adapter.hasFirstPageButton()&&this._adapter.hideFirstPageButton()}_hasFirstPage(){return this._hasPreviousPage()}_hasPreviousPage(){return this._pageIndex>=1&&this._pageSize!==0}_hasNextPage(){let i=this._getMaxPages();return this._pageIndex<i&&this._pageSize!==0}_hasLastPage(){return this._hasNextPage()}};var u=class extends x{constructor(t){super(t);this._labelElement=r(t,e.selectors.LABEL),this._root=r(t,e.selectors.ROOT),this._pageSizeSelect=r(t,e.selectors.PAGE_SIZE_SELECT),this._rangeLabel=r(t,e.selectors.RANGE_LABEL),this._rangeLabelAlternative=r(t,e.selectors.RANGE_LABEL_ALTERNATIVE),this._firstPageButton=r(t,e.selectors.FIRST_PAGE_BUTTON),this._firstPageIconButton=r(t,e.selectors.FIRST_PAGE_ICON_BUTTON),this._previousPageButton=r(t,e.selectors.PREVIOUS_PAGE_BUTTON),this._nextPageButton=r(t,e.selectors.NEXT_PAGE_BUTTON),this._lastPageButton=r(t,e.selectors.LAST_PAGE_BUTTON),this._lastPageIconButton=r(t,e.selectors.LAST_PAGE_ICON_BUTTON)}setLabel(t){this._labelElement.textContent=t}setPageSizeOptions(t){v(this._pageSizeSelect),this._pageSizeSelect.options=t}setPageSize(t){this._pageSizeSelect.value=t.toString()}setRangeLabel(t){this._rangeLabel.innerText=t,this._rangeLabelAlternative.innerText=t}hasFirstPageButton(){return!!r(this._component,e.selectors.FIRST_PAGE_ICON_BUTTON)}showFirstPageButton(){this._firstPagePlaceholder=d(this._component,!0,e.elementName,e.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hideFirstPageButton(){this._firstPagePlaceholder=d(this._component,!1,e.elementName,e.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hasLastPageButton(){return!!r(this._component,e.selectors.LAST_PAGE_ICON_BUTTON)}showLastPageButton(){this._lastPagePlaceholder=d(this._component,!0,e.elementName,e.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}hideLastPageButton(){this._lastPagePlaceholder=d(this._component,!1,e.elementName,e.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}attachPageSizeChangeListener(t){this._pageSizeSelect.addEventListener("change",t)}attachFirstPageListener(t){this._firstPageButton.addEventListener("click",t)}attachPreviousPageListener(t){this._previousPageButton.addEventListener("click",t)}attachNextPageListener(t){this._nextPageButton.addEventListener("click",t)}attachLastPageListener(t){this._lastPageButton.addEventListener("click",t)}detachPageSizeChangeListener(t){this._pageSizeSelect.removeEventListener("change",t)}detachFirstPageListener(t){this._firstPageButton.removeEventListener("click",t)}detachPreviousPageListener(t){this._previousPageButton.removeEventListener("click",t)}detachNextPageListener(t){this._nextPageButton.removeEventListener("click",t)}detachLastPageListener(t){this._lastPageButton.removeEventListener("click",t)}disableFirstPageButton(){this._firstPageButton.setAttribute("disabled","disabled")}enableFirstPageButton(){this._firstPageButton.removeAttribute("disabled")}disablePreviousPageButton(){this._previousPageButton.setAttribute("disabled","disabled")}enablePreviousPageButton(){this._previousPageButton.removeAttribute("disabled")}disableNextPageButton(){this._nextPageButton.setAttribute("disabled","disabled")}enableNextPageButton(){this._nextPageButton.removeAttribute("disabled")}disablePageSizeSelect(){this._pageSizeSelect.setAttribute("disabled","disabled")}enablePageSizeSelect(){this._pageSizeSelect.removeAttribute("disabled")}setPageSizeVisibility(t){t?this._pageSizeSelect.style.removeProperty("display"):this._pageSizeSelect.style.display="none"}disableLastPageButton(){this._lastPageButton.setAttribute("disabled","disabled")}enableLastPageButton(){this._lastPageButton.removeAttribute("disabled")}setAlternative(t){E(this._root,t,e.classes.ALTERNATIVE)}setAlignment(t){switch(P([e.classes.ALIGNMENT_SPACE_BETWEEN,e.classes.ALIGNMENT_START,e.classes.ALIGNMENT_END],this._root),t){case"start":_(e.classes.ALIGNMENT_START,this._root);break;case"end":_(e.classes.ALIGNMENT_END,this._root);break;case"space-between":default:_(e.classes.ALIGNMENT_SPACE_BETWEEN,this._root);break}}};var Z='<template><div class="forge-paginator" part="root"><div class="forge-paginator__container" part="container"><div class="forge-paginator__label" part="label"></div><forge-select class="forge-paginator__page-size-options" aria-label="Choose page size" density="dense" part="page-size-options"></forge-select><div class="forge-paginator__range-label" part="range-label"></div><forge-icon-button class="forge-paginator__first-page" part="first-page-button"><button aria-label="First Page" part="first-page-button-element"><forge-icon name="first_page" part="first-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the first page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__previous-page" part="previous-page-button"><button aria-label="Previous Page" part="previous-page-button-element"><forge-icon name="keyboard_arrow_left" part="previous-page-button-icon"></forge-icon></button><forge-tooltip position="top">Go to the previous page</forge-tooltip></forge-icon-button><div class="forge-paginator__range-label--alternative" part="range-label-alternative"></div><forge-icon-button class="forge-paginator__next-page" part="next-page-button"><button aria-label="Next Page" part="next-page-button-element"><forge-icon name="keyboard_arrow_right" part="next-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the next page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__last-page" part="last-page-button"><button aria-label="Last Page" part="last-page-button-element"><forge-icon name="last_page" part="last-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the last page</forge-tooltip></forge-icon-button></div></div></template>',X='.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#6200ee;color:var(--mdc-theme-primary,#6200ee)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#6200ee))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#6200ee;background-color:var(--mdc-theme-primary,#6200ee);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}',a=class extends T{constructor(){super();O.define([y,B,N,z]),L(this,Z,X),this._foundation=new h(new u(this))}static get observedAttributes(){return[e.attributes.PAGE_INDEX,e.attributes.PAGE_SIZE,e.attributes.OFFSET,e.attributes.TOTAL,e.attributes.PAGE_SIZE_OPTIONS,e.attributes.LABEL,e.attributes.FIRST_LAST,e.attributes.FIRST,e.attributes.DISABLED,e.attributes.ALTERNATIVE,e.attributes.ALIGNMENT]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,s,o){switch(t){case e.attributes.PAGE_INDEX:this.pageIndex=Number(o)||e.numbers.DEFAULT_PAGE_INDEX;break;case e.attributes.PAGE_SIZE:this.pageSize=Number(o)||e.numbers.DEFAULT_PAGE_SIZE;break;case e.attributes.OFFSET:this.offset=Number(o);break;case e.attributes.TOTAL:this.total=Number(o)||e.numbers.DEFAULT_TOTAL;break;case e.attributes.PAGE_SIZE_OPTIONS:this.pageSizeOptions=o;break;case e.attributes.LABEL:this.label=o;break;case e.attributes.FIRST_LAST:this.firstLast=l(o);break;case e.attributes.FIRST:this.first=l(o);break;case e.attributes.DISABLED:this.disabled=l(o);break;case e.attributes.ALTERNATIVE:this.alternative=l(o);break;case e.attributes.ALIGNMENT:this.alignment=o;break}}};n([p()],a.prototype,"pageIndex",2),n([p()],a.prototype,"pageSize",2),n([p()],a.prototype,"offset",2),n([p()],a.prototype,"total",2),n([p()],a.prototype,"pageSizeOptions",2),n([p()],a.prototype,"label",2),n([p()],a.prototype,"firstLast",2),n([p()],a.prototype,"first",2),n([p()],a.prototype,"disabled",2),n([p()],a.prototype,"alternative",2),n([p()],a.prototype,"alignment",2),a=n([S({name:e.elementName,dependencies:[G,F,k,w]})],a);function Lt(){A(a)}export{e as a,h as b,u as c,a as d,Lt as e};
|
|
7
|
+
//# sourceMappingURL=chunk.IPGZ24EH.js.map
|