@adyen/bento-vue2 1.92.2 → 1.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@types/components.d.ts +8 -0
- package/dist/@types/index.d.ts +483 -136
- package/dist/action-bar.js +1 -1
- package/dist/ai-tag.js +1 -1
- package/dist/anchor-scroller.js +1 -1
- package/dist/assets/accordion-item.css +1 -1
- package/dist/assets/action-bar.css +1 -1
- package/dist/assets/base-modal.css +1 -1
- package/dist/assets/button-actions.css +1 -1
- package/dist/assets/card.css +1 -1
- package/dist/assets/data-grid.css +1 -1
- package/dist/assets/dialog-page.css +1 -1
- package/dist/assets/drawer.css +1 -0
- package/dist/assets/file-uploader.css +1 -1
- package/dist/assets/inspector.css +1 -1
- package/dist/assets/modal-fullscreen.css +1 -1
- package/dist/assets/navigation-menu-group.css +1 -0
- package/dist/assets/secondary-nav.css +1 -1
- package/dist/assets/sidepanel.css +1 -1
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/chunks/{action-bar.ChuPTyQG.js → action-bar.BPsug0x7.js} +4 -4
- package/dist/chunks/{action-bar.ChuPTyQG.js.map → action-bar.BPsug0x7.js.map} +1 -1
- package/dist/chunks/{ai-tag.Dt8nijLW.js → ai-tag.BfAbJI_v.js} +2 -2
- package/dist/chunks/{ai-tag.Dt8nijLW.js.map → ai-tag.BfAbJI_v.js.map} +1 -1
- package/dist/chunks/{anchor-scroller.DWaykZQj.js → anchor-scroller.cFxql5sk.js} +2 -2
- package/dist/chunks/{anchor-scroller.DWaykZQj.js.map → anchor-scroller.cFxql5sk.js.map} +1 -1
- package/dist/chunks/{base-modal.DMdzcBrq.js → base-modal.ByhHqRuT.js} +5 -5
- package/dist/chunks/{base-modal.DMdzcBrq.js.map → base-modal.ByhHqRuT.js.map} +1 -1
- package/dist/chunks/{button-actions-with-menu.CXFziNUr.js → button-actions-with-menu.Ctu2EwxW.js} +3 -3
- package/dist/chunks/{button-actions-with-menu.CXFziNUr.js.map → button-actions-with-menu.Ctu2EwxW.js.map} +1 -1
- package/dist/chunks/{button-actions.CXD6_9qN.js → button-actions.CdsmKyvj.js} +3 -3
- package/dist/chunks/{button-actions.CXD6_9qN.js.map → button-actions.CdsmKyvj.js.map} +1 -1
- package/dist/chunks/{calendar.rZsIZPxm.js → calendar.BaPh-1UW.js} +2 -2
- package/dist/chunks/{calendar.rZsIZPxm.js.map → calendar.BaPh-1UW.js.map} +1 -1
- package/dist/chunks/{card.Brma5kdb.js → card.BHssPRpx.js} +2 -2
- package/dist/chunks/{card.Brma5kdb.js.map → card.BHssPRpx.js.map} +1 -1
- package/dist/chunks/{checkbox-group.DmKZQlxZ.js → checkbox-group.KJvcjvpx.js} +3 -3
- package/dist/chunks/{checkbox-group.DmKZQlxZ.js.map → checkbox-group.KJvcjvpx.js.map} +1 -1
- package/dist/chunks/{checkbox.BObXaofv.js → checkbox.B2lQl9BE.js} +2 -2
- package/dist/chunks/{checkbox.BObXaofv.js.map → checkbox.B2lQl9BE.js.map} +1 -1
- package/dist/chunks/{code-snippet.DHAymIXp.js → code-snippet.7SHuhPxc.js} +5 -5
- package/dist/chunks/{code-snippet.DHAymIXp.js.map → code-snippet.7SHuhPxc.js.map} +1 -1
- package/dist/chunks/{controls-group.DSm2Ujwt.js → controls-group.DNmVV2pt.js} +2 -2
- package/dist/chunks/{controls-group.DSm2Ujwt.js.map → controls-group.DNmVV2pt.js.map} +1 -1
- package/dist/chunks/{copy.qqGYFbKJ.js → copy.DcpG08B_.js} +3 -3
- package/dist/chunks/{copy.qqGYFbKJ.js.map → copy.DcpG08B_.js.map} +1 -1
- package/dist/chunks/{dashboard-section.D9rS8myE.js → dashboard-section.BWhw2hvx.js} +3 -3
- package/dist/chunks/{dashboard-section.D9rS8myE.js.map → dashboard-section.BWhw2hvx.js.map} +1 -1
- package/dist/chunks/{dashed-underline.D_FhFRXM.js → dashed-underline.CPTkubjQ.js} +3 -3
- package/dist/chunks/{dashed-underline.D_FhFRXM.js.map → dashed-underline.CPTkubjQ.js.map} +1 -1
- package/dist/chunks/{data-grid-template.CRijG20n.js → data-grid-template.ZB5anthH.js} +3 -3
- package/dist/chunks/{data-grid-template.CRijG20n.js.map → data-grid-template.ZB5anthH.js.map} +1 -1
- package/dist/chunks/{data-grid.CJzEtn4Q.js → data-grid.CuLOPenn.js} +18 -18
- package/dist/chunks/{data-grid.CJzEtn4Q.js.map → data-grid.CuLOPenn.js.map} +1 -1
- package/dist/chunks/{date-picker.C9DIeaWH.js → date-picker.NdHdiufy.js} +8 -8
- package/dist/chunks/{date-picker.C9DIeaWH.js.map → date-picker.NdHdiufy.js.map} +1 -1
- package/dist/chunks/date-range-picker.BFgnw81F.js +1133 -0
- package/dist/chunks/{date-range-picker.zT42F9r4.js.map → date-range-picker.BFgnw81F.js.map} +1 -1
- package/dist/chunks/{dialog-page.EdejG53a.js → dialog-page.CziegEuc.js} +2 -2
- package/dist/chunks/{dialog-page.EdejG53a.js.map → dialog-page.CziegEuc.js.map} +1 -1
- package/dist/chunks/{draggable-handle.BR_aQH5N.js → draggable-handle.BsGnEMAT.js} +2 -2
- package/dist/chunks/{draggable-handle.BR_aQH5N.js.map → draggable-handle.BsGnEMAT.js.map} +1 -1
- package/dist/chunks/drawer.BqqodvlR.js +47 -0
- package/dist/chunks/drawer.BqqodvlR.js.map +1 -0
- package/dist/chunks/{dropdown-tag.z3rsxbpW.js → dropdown-tag.C6hkNptM.js} +3 -3
- package/dist/chunks/{dropdown-tag.z3rsxbpW.js.map → dropdown-tag.C6hkNptM.js.map} +1 -1
- package/dist/chunks/{dropdown.BYJwx-JD.js → dropdown.CF6Gf7ya.js} +5 -5
- package/dist/chunks/{dropdown.BYJwx-JD.js.map → dropdown.CF6Gf7ya.js.map} +1 -1
- package/dist/chunks/{es6.C1DXQV6f.js → es6.Cu3DYUPA.js} +3 -3
- package/dist/chunks/es6.Cu3DYUPA.js.map +1 -0
- package/dist/chunks/{field-label.DjjjkcO6.js → field-label.D7w7mHvW.js} +2 -2
- package/dist/chunks/{field-label.DjjjkcO6.js.map → field-label.D7w7mHvW.js.map} +1 -1
- package/dist/chunks/{file-uploader.Djl0xaDN.js → file-uploader.CX48W2BT.js} +3 -3
- package/dist/chunks/{file-uploader.Djl0xaDN.js.map → file-uploader.CX48W2BT.js.map} +1 -1
- package/dist/chunks/{filter-bar.C5NxhUhF.js → filter-bar.CFXeAK8X.js} +17 -17
- package/dist/chunks/{filter-bar.C5NxhUhF.js.map → filter-bar.CFXeAK8X.js.map} +1 -1
- package/dist/chunks/{focus-trap.DRqjHzt6.js → focus-trap.D4WDxUwu.js} +2 -2
- package/dist/chunks/{focus-trap.DRqjHzt6.js.map → focus-trap.D4WDxUwu.js.map} +1 -1
- package/dist/chunks/{footer-actions.D9mHwk5l.js → footer-actions.BoAzqs48.js} +2 -2
- package/dist/chunks/{footer-actions.D9mHwk5l.js.map → footer-actions.BoAzqs48.js.map} +1 -1
- package/dist/chunks/{header-meta.BSPnWWmi.js → header-meta.pubDFdDH.js} +3 -3
- package/dist/chunks/{header-meta.BSPnWWmi.js.map → header-meta.pubDFdDH.js.map} +1 -1
- package/dist/chunks/{header-with-views.DKD7O8pU.js → header-with-views.wMqUhzME.js} +10 -10
- package/dist/chunks/{header-with-views.DKD7O8pU.js.map → header-with-views.wMqUhzME.js.map} +1 -1
- package/dist/chunks/{header.DyZG7qWe.js → header.9h-5ZCv8.js} +3 -3
- package/dist/chunks/{header.DyZG7qWe.js.map → header.9h-5ZCv8.js.map} +1 -1
- package/dist/chunks/{index.CwzYJHw2.js → index.ByaCaB1Z.js} +15 -15
- package/dist/chunks/{index.CwzYJHw2.js.map → index.ByaCaB1Z.js.map} +1 -1
- package/dist/chunks/{info-icon.DCR42Kvm.js → info-icon.BOX4oIVD.js} +3 -3
- package/dist/chunks/{info-icon.DCR42Kvm.js.map → info-icon.BOX4oIVD.js.map} +1 -1
- package/dist/chunks/{input-field-password.hd-w1gkL.js → input-field-password.Ir5jAkAn.js} +6 -6
- package/dist/chunks/{input-field-password.hd-w1gkL.js.map → input-field-password.Ir5jAkAn.js.map} +1 -1
- package/dist/chunks/{input-field-phone-number.BRmSDrCn.js → input-field-phone-number.DmC5am2a.js} +3 -3
- package/dist/chunks/{input-field-phone-number.BRmSDrCn.js.map → input-field-phone-number.DmC5am2a.js.map} +1 -1
- package/dist/chunks/{input-field.BgzXEyxn.js → input-field.Cwep4H_C.js} +3 -3
- package/dist/chunks/input-field.Cwep4H_C.js.map +1 -0
- package/dist/chunks/{input-time.CF2kTtAp.js → input-time.CNgIob-u.js} +4 -4
- package/dist/chunks/{input-time.CF2kTtAp.js.map → input-time.CNgIob-u.js.map} +1 -1
- package/dist/chunks/{inspector.BzBPlz-5.js → inspector._xqiBe9X.js} +3 -3
- package/dist/chunks/{inspector.BzBPlz-5.js.map → inspector._xqiBe9X.js.map} +1 -1
- package/dist/chunks/{layout-row.B_IQC9Nq.js → layout-row.Du_4NPVx.js} +8 -8
- package/dist/chunks/{layout-row.B_IQC9Nq.js.map → layout-row.Du_4NPVx.js.map} +1 -1
- package/dist/chunks/{list-item.DqTHh8-Z.js → list-item.Disq4nSZ.js} +2 -2
- package/dist/chunks/{list-item.DqTHh8-Z.js.map → list-item.Disq4nSZ.js.map} +1 -1
- package/dist/chunks/{listbox-option-tag.CvbE-EuG.js → listbox-option-tag.B28d45lY.js} +2 -2
- package/dist/chunks/{listbox-option-tag.CvbE-EuG.js.map → listbox-option-tag.B28d45lY.js.map} +1 -1
- package/dist/chunks/{modal-fullscreen.De6mevyD.js → modal-fullscreen.CEGc-wKf.js} +4 -4
- package/dist/chunks/{modal-fullscreen.De6mevyD.js.map → modal-fullscreen.CEGc-wKf.js.map} +1 -1
- package/dist/chunks/{modal.B6n5AWs2.js → modal.DMMqMdJF.js} +4 -4
- package/dist/chunks/{modal.B6n5AWs2.js.map → modal.DMMqMdJF.js.map} +1 -1
- package/dist/chunks/navigation-menu-group.KJvGw1tX.js +231 -0
- package/dist/chunks/navigation-menu-group.KJvGw1tX.js.map +1 -0
- package/dist/chunks/{pagination.BzsKZFnw.js → pagination.hOIvu4hj.js} +2 -2
- package/dist/chunks/{pagination.BzsKZFnw.js.map → pagination.hOIvu4hj.js.map} +1 -1
- package/dist/chunks/popover.types.DhuEjpRI.js +6 -0
- package/dist/chunks/{popover.types.hA13DZPg.js.map → popover.types.DhuEjpRI.js.map} +1 -1
- package/dist/chunks/{popper-container.C_n9Ds1W.js → popper-container.D7-KbKnN.js} +2 -2
- package/dist/chunks/{popper-container.C_n9Ds1W.js.map → popper-container.D7-KbKnN.js.map} +1 -1
- package/dist/chunks/{promo-banner.Dc_kK1x9.js → promo-banner.BzKZCMJp.js} +2 -2
- package/dist/chunks/{promo-banner.Dc_kK1x9.js.map → promo-banner.BzKZCMJp.js.map} +1 -1
- package/dist/chunks/{radio-group.Bb-L-0io.js → radio-group.U3G8U7p0.js} +3 -3
- package/dist/chunks/{radio-group.Bb-L-0io.js.map → radio-group.U3G8U7p0.js.map} +1 -1
- package/dist/chunks/{rich-text-editor.CmsmiW87.js → rich-text-editor.BHo3e81W.js} +4 -4
- package/dist/chunks/{rich-text-editor.CmsmiW87.js.map → rich-text-editor.BHo3e81W.js.map} +1 -1
- package/dist/chunks/{search-bar.Brb3OP-y.js → search-bar.CHINuvXx.js} +4 -4
- package/dist/chunks/{search-bar.Brb3OP-y.js.map → search-bar.CHINuvXx.js.map} +1 -1
- package/dist/chunks/{secondary-nav.BBL5zZPK.js → secondary-nav.BWn_I33v.js} +4 -4
- package/dist/chunks/{secondary-nav.BBL5zZPK.js.map → secondary-nav.BWn_I33v.js.map} +1 -1
- package/dist/chunks/{segmented-control.DDtjX-V5.js → segmented-control.Dww21VC2.js} +2 -2
- package/dist/chunks/{segmented-control.DDtjX-V5.js.map → segmented-control.Dww21VC2.js.map} +1 -1
- package/dist/chunks/{selection-card-group.5jzX23fU.js → selection-card-group.DRP4Vk2d.js} +21 -21
- package/dist/chunks/{selection-card-group.5jzX23fU.js.map → selection-card-group.DRP4Vk2d.js.map} +1 -1
- package/dist/chunks/{sidepanel.nW0Bhk_u.js → sidepanel.B9ecjbyC.js} +5 -5
- package/dist/chunks/{sidepanel.nW0Bhk_u.js.map → sidepanel.B9ecjbyC.js.map} +1 -1
- package/dist/chunks/{structured-list-item.BBBtie1s.js → structured-list-item.De_yYayn.js} +4 -4
- package/dist/chunks/{structured-list-item.BBBtie1s.js.map → structured-list-item.De_yYayn.js.map} +1 -1
- package/dist/chunks/{summary-grid.types.Dp_efYVN.js → summary-grid.types.Dc-PJlfH.js} +5 -5
- package/dist/chunks/{summary-grid.types.Dp_efYVN.js.map → summary-grid.types.Dc-PJlfH.js.map} +1 -1
- package/dist/chunks/{tag.D2xagTJv.js → tag.DPNSUeue.js} +2 -2
- package/dist/chunks/{tag.D2xagTJv.js.map → tag.DPNSUeue.js.map} +1 -1
- package/dist/chunks/{textarea.CJS-1I41.js → textarea.C2gJX1kj.js} +3 -3
- package/dist/chunks/{textarea.CJS-1I41.js.map → textarea.C2gJX1kj.js.map} +1 -1
- package/dist/chunks/{timeline-item.CF9jbIRr.js → timeline-item.BKc5c9sS.js} +6 -6
- package/dist/chunks/{timeline-item.CF9jbIRr.js.map → timeline-item.BKc5c9sS.js.map} +1 -1
- package/dist/chunks/{tooltip.BxtnF3is.js → tooltip.Bl6kedql.js} +3 -3
- package/dist/chunks/{tooltip.BxtnF3is.js.map → tooltip.Bl6kedql.js.map} +1 -1
- package/dist/chunks/{tutorial.CoWDVs7_.js → tutorial.C1dZpvsz.js} +4 -4
- package/dist/chunks/{tutorial.CoWDVs7_.js.map → tutorial.C1dZpvsz.js.map} +1 -1
- package/dist/chunks/{use-cached-selected-values.Du8-wWR2.js → use-cached-selected-values.C6aShVBp.js} +2 -2
- package/dist/chunks/{use-cached-selected-values.Du8-wWR2.js.map → use-cached-selected-values.C6aShVBp.js.map} +1 -1
- package/dist/chunks/{use-date-input-formatter.ibZeLD_V.js → use-date-input-formatter.CrkJ_UfS.js} +2 -2
- package/dist/chunks/{use-date-input-formatter.ibZeLD_V.js.map → use-date-input-formatter.CrkJ_UfS.js.map} +1 -1
- package/dist/code-snippet.js +1 -1
- package/dist/dashboard-template.js +1 -1
- package/dist/dashed-underline.js +1 -1
- package/dist/data-grid-template.js +1 -1
- package/dist/data-grid.js +1 -1
- package/dist/date-picker.js +2 -2
- package/dist/date-range-picker.js +2 -2
- package/dist/draggable.js +1 -1
- package/dist/drawer.js +5 -0
- package/dist/drawer.js.map +1 -0
- package/dist/dropdown.js +3 -3
- package/dist/file-uploader.js +1 -1
- package/dist/filter-bar.js +1 -1
- package/dist/focus-trap.js +1 -1
- package/dist/header-with-views.js +1 -1
- package/dist/header.js +1 -1
- package/dist/index.js +291 -285
- package/dist/index.js.map +1 -1
- package/dist/info-icon.js +1 -1
- package/dist/input-field-password.js +1 -1
- package/dist/input-field-phone-number.js +1 -1
- package/dist/input-field.js +1 -1
- package/dist/input-time.js +1 -1
- package/dist/inspector.js +1 -1
- package/dist/internal.js +11 -11
- package/dist/layout.js +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.js +1 -1
- package/dist/modal-fullscreen.js +1 -1
- package/dist/modal.js +2 -2
- package/dist/navigation-menu.js +7 -0
- package/dist/navigation-menu.js.map +1 -0
- package/dist/pagination.js +1 -1
- package/dist/popover.js +2 -2
- package/dist/popper-container.js +1 -1
- package/dist/promo-banner.js +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/rich-text-editor.js +1 -1
- package/dist/search-bar.js +2 -2
- package/dist/secondary-nav.js +1 -1
- package/dist/segmented-control.js +1 -1
- package/dist/selection-card.js +1 -1
- package/dist/sidepanel.js +1 -1
- package/dist/structured-list.js +1 -1
- package/dist/styles/bento-dark.css +3 -0
- package/dist/styles/bento-light.css +3 -0
- package/dist/styles/bento.css +3 -0
- package/dist/styles/legacy.css +3 -0
- package/dist/styles/styleguide.css +3 -0
- package/dist/styles/utility.css +9 -0
- package/dist/summary-grid.js +1 -1
- package/dist/tag.js +1 -1
- package/dist/textarea.js +1 -1
- package/dist/timeline.js +1 -1
- package/dist/tutorial.js +1 -1
- package/dist/web-types.json +236 -2
- package/package.json +5 -5
- package/dist/chunks/date-range-picker.zT42F9r4.js +0 -1097
- package/dist/chunks/es6.C1DXQV6f.js.map +0 -1
- package/dist/chunks/input-field.BgzXEyxn.js.map +0 -1
- package/dist/chunks/popover.types.hA13DZPg.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
.b-inspector[data-v-62a28c4d]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;height:100%;position:relative}.b-inspector[data-v-62a28c4d],.b-inspector[data-v-62a28c4d]:before,.b-inspector[data-v-62a28c4d]:after{box-sizing:border-box}.b-inspector *[data-v-62a28c4d],.b-inspector *[data-v-62a28c4d]:before,.b-inspector *[data-v-62a28c4d]:after{box-sizing:border-box}.b-inspector[data-v-62a28c4d] ::-webkit-scrollbar{height:14px;width:14px}.b-inspector[data-v-62a28c4d] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-inspector--overlay-content .b-inspector__container-wrapper[data-v-62a28c4d]{box-shadow:var(--b-shadow-medium);position:absolute;right:0;z-index:var(--b-z-index-global-elevated)}.b-inspector__page-wrapper[data-v-62a28c4d]{flex-grow:1;height:100%;overflow:auto}.b-inspector__page[data-v-62a28c4d]{height:100%}.b-inspector__container-wrapper[data-v-62a28c4d]{background-color:var(--b-color-background-primary);border-left:1px solid var(--b-color-separator-secondary);flex-shrink:0;height:100%;overflow-x:hidden}.b-inspector__container[data-v-62a28c4d]{display:flex;flex-direction:column;height:100%;padding:var(--b-spacer-070) var(--b-spacer-090)}.b-inspector__header[data-v-62a28c4d]{color:var(--b-color-label-primary);display:flex;gap:var(--b-spacer-060);padding-bottom:var(--b-spacer-070)}.b-inspector__title[data-v-62a28c4d]{flex-grow:1}.b-inspector__icons[data-v-62a28c4d]{display:flex;flex-shrink:0;gap:var(--b-spacer-050)}.b-inspector__content[data-v-62a28c4d]{flex-grow:1}.b-inspector__loading-indicator[data-v-62a28c4d]{top:50%;right:50%;bottom:50%;left:50%;transform:translate(-50%,-50%)}.b-inspector__return-content[data-v-62a28c4d]{clip-path:rect(0,0,0,0);height:1px;opacity:0;overflow:hidden;position:absolute;right:0;width:1px}.b-inspector__return-content[data-v-62a28c4d]:focus-visible{clip-path:auto;height:auto;opacity:1;right:var(--b-spacer-040);width:auto;z-index:1}.b-inspector__return-content-description[data-v-62a28c4d]{display:none}.b-inspector--small .b-inspector__container-wrapper[data-v-62a28c4d]{width:420px}.b-inspector--small .b-inspector__container[data-v-62a28c4d]{width:419px}@keyframes expand-small-62a28c4d{0%{width:0}to{width:420px}}@keyframes shrink-small-62a28c4d{0%{width:420px}to{width:0}}.b-inspector--small .b-inspector__animation-enter-active[data-v-62a28c4d]{animation:expand-small-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-enter)}.b-inspector--small .b-inspector__animation-leave-active[data-v-62a28c4d]{animation:shrink-small-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-exit)}.b-inspector--small.b-inspector--is-compact .b-inspector__container-wrapper[data-v-62a28c4d]{border-left:0;position:absolute;width:100%;z-index:var(--b-z-index-global-elevated)}.b-inspector--small.b-inspector--is-compact .b-inspector__container[data-v-62a28c4d]{width:100%}.b-inspector--small.b-inspector--is-compact .b-inspector__animation-enter-active[data-v-62a28c4d]{animation:enter-
|
|
1
|
+
.b-inspector[data-v-62a28c4d]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;height:100%;position:relative}.b-inspector[data-v-62a28c4d],.b-inspector[data-v-62a28c4d]:before,.b-inspector[data-v-62a28c4d]:after{box-sizing:border-box}.b-inspector *[data-v-62a28c4d],.b-inspector *[data-v-62a28c4d]:before,.b-inspector *[data-v-62a28c4d]:after{box-sizing:border-box}.b-inspector[data-v-62a28c4d] ::-webkit-scrollbar{height:14px;width:14px}.b-inspector[data-v-62a28c4d] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-inspector--overlay-content .b-inspector__container-wrapper[data-v-62a28c4d]{box-shadow:var(--b-shadow-medium);position:absolute;right:0;z-index:var(--b-z-index-global-elevated)}.b-inspector__page-wrapper[data-v-62a28c4d]{flex-grow:1;height:100%;overflow:auto}.b-inspector__page[data-v-62a28c4d]{height:100%}.b-inspector__container-wrapper[data-v-62a28c4d]{background-color:var(--b-color-background-primary);border-left:1px solid var(--b-color-separator-secondary);flex-shrink:0;height:100%;overflow-x:hidden}.b-inspector__container[data-v-62a28c4d]{display:flex;flex-direction:column;height:100%;padding:var(--b-spacer-070) var(--b-spacer-090)}.b-inspector__header[data-v-62a28c4d]{color:var(--b-color-label-primary);display:flex;gap:var(--b-spacer-060);padding-bottom:var(--b-spacer-070)}.b-inspector__title[data-v-62a28c4d]{flex-grow:1}.b-inspector__icons[data-v-62a28c4d]{display:flex;flex-shrink:0;gap:var(--b-spacer-050)}.b-inspector__content[data-v-62a28c4d]{flex-grow:1}.b-inspector__loading-indicator[data-v-62a28c4d]{top:50%;right:50%;bottom:50%;left:50%;transform:translate(-50%,-50%)}.b-inspector__return-content[data-v-62a28c4d]{clip-path:rect(0,0,0,0);height:1px;opacity:0;overflow:hidden;position:absolute;right:0;width:1px}.b-inspector__return-content[data-v-62a28c4d]:focus-visible{clip-path:auto;height:auto;opacity:1;right:var(--b-spacer-040);width:auto;z-index:1}.b-inspector__return-content-description[data-v-62a28c4d]{display:none}.b-inspector--small .b-inspector__container-wrapper[data-v-62a28c4d]{width:420px}.b-inspector--small .b-inspector__container[data-v-62a28c4d]{width:419px}@keyframes expand-small-62a28c4d{0%{width:0}to{width:420px}}@keyframes shrink-small-62a28c4d{0%{width:420px}to{width:0}}.b-inspector--small .b-inspector__animation-enter-active[data-v-62a28c4d]{animation:expand-small-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-enter)}.b-inspector--small .b-inspector__animation-leave-active[data-v-62a28c4d]{animation:shrink-small-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-exit)}.b-inspector--small.b-inspector--is-compact .b-inspector__container-wrapper[data-v-62a28c4d]{border-left:0;position:absolute;width:100%;z-index:var(--b-z-index-global-elevated)}.b-inspector--small.b-inspector--is-compact .b-inspector__container[data-v-62a28c4d]{width:100%}.b-inspector--small.b-inspector--is-compact .b-inspector__animation-enter-active[data-v-62a28c4d]{animation:enter-ud5kvtk-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-enter)}@keyframes enter-ud5kvtk-62a28c4d{0%{translate:100% 0}to{translate:0 0}}.b-inspector--small.b-inspector--is-compact .b-inspector__animation-leave-active[data-v-62a28c4d]{animation:exit-ud5kvtw-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-exit)}@keyframes exit-ud5kvtw-62a28c4d{0%{translate:0 0}to{translate:100% 0}}.b-inspector--large .b-inspector__container-wrapper[data-v-62a28c4d]{width:595px}.b-inspector--large .b-inspector__container[data-v-62a28c4d]{width:594px}@keyframes expand-large-62a28c4d{0%{width:0}to{width:595px}}@keyframes shrink-large-62a28c4d{0%{width:595px}to{width:0}}.b-inspector--large .b-inspector__animation-enter-active[data-v-62a28c4d]{animation:expand-large-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-enter)}.b-inspector--large .b-inspector__animation-leave-active[data-v-62a28c4d]{animation:shrink-large-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-exit)}.b-inspector--large.b-inspector--is-compact .b-inspector__container-wrapper[data-v-62a28c4d]{border-left:0;position:absolute;width:100%;z-index:var(--b-z-index-global-elevated)}.b-inspector--large.b-inspector--is-compact .b-inspector__container[data-v-62a28c4d]{width:100%}.b-inspector--large.b-inspector--is-compact .b-inspector__animation-enter-active[data-v-62a28c4d]{animation:enter-ud5kvtz-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-enter)}@keyframes enter-ud5kvtz-62a28c4d{0%{translate:100% 0}to{translate:0 0}}.b-inspector--large.b-inspector--is-compact .b-inspector__animation-leave-active[data-v-62a28c4d]{animation:exit-ud5kvue-62a28c4d var(--b-animation-duration-slow) var(--b-animation-easing-exit)}@keyframes exit-ud5kvue-62a28c4d{0%{translate:0 0}to{translate:100% 0}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.b-modal-fullscreen-page[data-v-50f40dc1]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;height:100%;overflow:hidden;position:absolute;width:100%}.b-modal-fullscreen-page[data-v-50f40dc1],.b-modal-fullscreen-page[data-v-50f40dc1]:before,.b-modal-fullscreen-page[data-v-50f40dc1]:after{box-sizing:border-box}.b-modal-fullscreen-page *[data-v-50f40dc1],.b-modal-fullscreen-page *[data-v-50f40dc1]:before,.b-modal-fullscreen-page *[data-v-50f40dc1]:after{box-sizing:border-box}.b-modal-fullscreen-page[data-v-50f40dc1] ::-webkit-scrollbar{height:14px;width:14px}.b-modal-fullscreen-page[data-v-50f40dc1] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-modal-fullscreen-page__header[data-v-50f40dc1]{align-items:center;display:flex;flex-grow:1;gap:var(--b-spacer-090);height:64px;overflow:auto hidden;padding:var(--b-spacer-060) var(--b-spacer-090)}.b-modal-fullscreen-page__header-section[data-v-50f40dc1]{display:flex;flex:1 1 0}.b-modal-fullscreen-page__header-section--title[data-v-50f40dc1]{min-width:150px;overflow:hidden}.b-modal-fullscreen-page__header-section--slot[data-v-50f40dc1]{flex-grow:0;justify-content:center}.b-modal-fullscreen-page__header-section--actions[data-v-50f40dc1]{align-items:center;gap:var(--b-spacer-090);justify-content:end}.b-modal-fullscreen-page__title[data-v-50f40dc1]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-modal-fullscreen-page__contextual-label[data-v-50f40dc1]{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden}.b-modal-fullscreen-page__actions[data-v-50f40dc1]{container-type:normal;flex-grow:unset}.b-modal-fullscreen-page__actions[data-v-50f40dc1] .b-button-actions__container-wrapper{flex-direction:row}.b-modal-fullscreen-page__separator[data-v-50f40dc1]{border-left:var(--b-border-width-s) solid var(--b-color-separator-primary);height:26px;margin-right:var(--b-spacer-110)}.b-modal-fullscreen-page__close-button[data-v-50f40dc1]{align-items:center;background-color:var(--b-color-background-primary);display:flex;height:64px;padding-inline:var(--b-spacer-090);position:absolute;right:0;z-index:var(--b-z-index-local-tier-1)}.b-modal-fullscreen[data-v-9349b04a]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--b-color-background-primary);border:0;color:var(--b-color-label-primary);height:100%;max-height:100%;max-width:100%;overflow:hidden;padding:0;width:100%}.b-modal-fullscreen[data-v-9349b04a],.b-modal-fullscreen[data-v-9349b04a]:before,.b-modal-fullscreen[data-v-9349b04a]:after{box-sizing:border-box}.b-modal-fullscreen *[data-v-9349b04a],.b-modal-fullscreen *[data-v-9349b04a]:before,.b-modal-fullscreen *[data-v-9349b04a]:after{box-sizing:border-box}.b-modal-fullscreen[data-v-9349b04a] ::-webkit-scrollbar{height:14px;width:14px}.b-modal-fullscreen[data-v-9349b04a] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-modal-fullscreen__wrapper[data-v-9349b04a]{display:flex;flex-direction:column;height:100%}.b-modal-fullscreen[data-v-9349b04a]::backdrop{background-color:transparent}.b-modal-fullscreen[open][data-v-9349b04a]{animation:fade-in-
|
|
1
|
+
.b-modal-fullscreen-page[data-v-50f40dc1]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;height:100%;overflow:hidden;position:absolute;width:100%}.b-modal-fullscreen-page[data-v-50f40dc1],.b-modal-fullscreen-page[data-v-50f40dc1]:before,.b-modal-fullscreen-page[data-v-50f40dc1]:after{box-sizing:border-box}.b-modal-fullscreen-page *[data-v-50f40dc1],.b-modal-fullscreen-page *[data-v-50f40dc1]:before,.b-modal-fullscreen-page *[data-v-50f40dc1]:after{box-sizing:border-box}.b-modal-fullscreen-page[data-v-50f40dc1] ::-webkit-scrollbar{height:14px;width:14px}.b-modal-fullscreen-page[data-v-50f40dc1] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-modal-fullscreen-page__header[data-v-50f40dc1]{align-items:center;display:flex;flex-grow:1;gap:var(--b-spacer-090);height:64px;overflow:auto hidden;padding:var(--b-spacer-060) var(--b-spacer-090)}.b-modal-fullscreen-page__header-section[data-v-50f40dc1]{display:flex;flex:1 1 0}.b-modal-fullscreen-page__header-section--title[data-v-50f40dc1]{min-width:150px;overflow:hidden}.b-modal-fullscreen-page__header-section--slot[data-v-50f40dc1]{flex-grow:0;justify-content:center}.b-modal-fullscreen-page__header-section--actions[data-v-50f40dc1]{align-items:center;gap:var(--b-spacer-090);justify-content:end}.b-modal-fullscreen-page__title[data-v-50f40dc1]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-modal-fullscreen-page__contextual-label[data-v-50f40dc1]{-webkit-box-orient:vertical;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden}.b-modal-fullscreen-page__actions[data-v-50f40dc1]{container-type:normal;flex-grow:unset}.b-modal-fullscreen-page__actions[data-v-50f40dc1] .b-button-actions__container-wrapper{flex-direction:row}.b-modal-fullscreen-page__separator[data-v-50f40dc1]{border-left:var(--b-border-width-s) solid var(--b-color-separator-primary);height:26px;margin-right:var(--b-spacer-110)}.b-modal-fullscreen-page__close-button[data-v-50f40dc1]{align-items:center;background-color:var(--b-color-background-primary);display:flex;height:64px;padding-inline:var(--b-spacer-090);position:absolute;right:0;z-index:var(--b-z-index-local-tier-1)}.b-modal-fullscreen[data-v-9349b04a]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--b-color-background-primary);border:0;color:var(--b-color-label-primary);height:100%;max-height:100%;max-width:100%;overflow:hidden;padding:0;width:100%}.b-modal-fullscreen[data-v-9349b04a],.b-modal-fullscreen[data-v-9349b04a]:before,.b-modal-fullscreen[data-v-9349b04a]:after{box-sizing:border-box}.b-modal-fullscreen *[data-v-9349b04a],.b-modal-fullscreen *[data-v-9349b04a]:before,.b-modal-fullscreen *[data-v-9349b04a]:after{box-sizing:border-box}.b-modal-fullscreen[data-v-9349b04a] ::-webkit-scrollbar{height:14px;width:14px}.b-modal-fullscreen[data-v-9349b04a] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-modal-fullscreen__wrapper[data-v-9349b04a]{display:flex;flex-direction:column;height:100%}.b-modal-fullscreen[data-v-9349b04a]::backdrop{background-color:transparent}.b-modal-fullscreen[open][data-v-9349b04a]{animation:fade-in-ud5kv57-9349b04a var(--b-animation-duration-moderate) var(--b-animation-easing-linear),enter-ud5kv57-9349b04a var(--b-animation-duration-moderate) var(--b-animation-easing-enter),scale-up-ud5kv57-9349b04a var(--b-animation-duration-moderate) var(--b-animation-easing-linear)}@keyframes fade-in-ud5kv57-9349b04a{0%{opacity:0}to{opacity:1}}@keyframes scale-up-ud5kv57-9349b04a{0%{scale:1}to{scale:1}}@keyframes enter-ud5kv57-9349b04a{0%{translate:0 64px}to{translate:0 0}}.b-modal-fullscreen--hide[open][data-v-9349b04a]{animation:fade-out-ud5kv7r-9349b04a var(--b-animation-duration-moderate) var(--b-animation-easing-linear),exit-ud5kv7r-9349b04a var(--b-animation-duration-moderate) var(--b-animation-easing-exit),scale-down-ud5kv7r-9349b04a var(--b-animation-duration-moderate) var(--b-animation-easing-linear)}@keyframes fade-out-ud5kv7r-9349b04a{0%{opacity:1}to{opacity:0}}@keyframes scale-down-ud5kv7r-9349b04a{0%{scale:1}to{scale:1}}@keyframes exit-ud5kv7r-9349b04a{0%{translate:0 0}to{translate:0 64px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.b-navigation-menu[data-v-ff9bef84]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;padding:var(--b-spacer-020) var(--b-spacer-040) var(--b-spacer-040)}.b-navigation-menu[data-v-ff9bef84],.b-navigation-menu[data-v-ff9bef84]:before,.b-navigation-menu[data-v-ff9bef84]:after{box-sizing:border-box}.b-navigation-menu *[data-v-ff9bef84],.b-navigation-menu *[data-v-ff9bef84]:before,.b-navigation-menu *[data-v-ff9bef84]:after{box-sizing:border-box}.b-navigation-menu[data-v-ff9bef84] ::-webkit-scrollbar{height:14px;width:14px}.b-navigation-menu[data-v-ff9bef84] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-navigation-menu__header[data-v-ff9bef84]{align-items:center;display:flex;gap:var(--b-spacer-070);justify-content:space-between;min-height:32px;padding:var(--b-spacer-010) var(--b-spacer-030) var(--b-spacer-010) var(--b-spacer-060)}.b-navigation-menu__title[data-v-ff9bef84]{color:var(--b-color-label-secondary);font-family:var(--b-text-caption-font-family-secondary);font-variant-numeric:slashed-zero;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.b-navigation-menu__actions-container[data-v-ff9bef84],.b-navigation-menu__actions[data-v-ff9bef84]{align-items:center;display:flex;gap:var(--b-spacer-040)}.b-navigation-menu__actions-container[data-v-ff9bef84] .b-button--icon-only{padding:var(--b-spacer-030)}.b-navigation-menu__content[data-v-ff9bef84]{display:flex;flex-direction:column;gap:var(--b-spacer-010);list-style:none;margin:0;padding:0}.b-navigation-menu__content[data-v-ff9bef84] a{text-decoration:none}.b-navigation-menu-item[data-v-0f8822ce]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;border-radius:var(--b-border-radius-m);cursor:pointer;display:flex;gap:var(--b-spacer-020);min-height:32px;opacity:1;padding:var(--b-spacer-010) var(--b-spacer-030) var(--b-spacer-010) var(--b-spacer-020);text-decoration:none;width:100%}.b-navigation-menu-item[data-v-0f8822ce],.b-navigation-menu-item[data-v-0f8822ce]:before,.b-navigation-menu-item[data-v-0f8822ce]:after{box-sizing:border-box}.b-navigation-menu-item *[data-v-0f8822ce],.b-navigation-menu-item *[data-v-0f8822ce]:before,.b-navigation-menu-item *[data-v-0f8822ce]:after{box-sizing:border-box}.b-navigation-menu-item[data-v-0f8822ce] ::-webkit-scrollbar{height:14px;width:14px}.b-navigation-menu-item[data-v-0f8822ce] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-navigation-menu-item--no-icon[data-v-0f8822ce]{padding-left:var(--b-spacer-060)}.b-navigation-menu-item[data-v-0f8822ce]:focus-visible{border-radius:var(--b-border-radius-m)}.b-navigation-menu-item[data-v-0f8822ce]:hover{background-color:var(--b-color-background-modal-hover)}.b-navigation-menu-item[data-v-0f8822ce]:active{background-color:var(--b-color-background-modal-active)}.b-navigation-menu-item__icon[data-v-0f8822ce]{display:flex;flex-shrink:0;padding:var(--b-spacer-030)}.b-navigation-menu-item__label[data-v-0f8822ce]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-navigation-menu-item__icon[data-v-0f8822ce],.b-navigation-menu-item__label[data-v-0f8822ce]{color:var(--b-color-label-primary)}.b-navigation-menu-item__action[data-v-0f8822ce]{display:none;flex-shrink:0;padding:var(--b-spacer-030)}.b-navigation-menu-item:hover .b-navigation-menu-item__action[data-v-0f8822ce],.b-navigation-menu-item:focus-within .b-navigation-menu-item__action[data-v-0f8822ce],.b-navigation-menu-item--always-show-actions .b-navigation-menu-item__action[data-v-0f8822ce]{display:flex}@media(prefers-reduced-motion:no-preference){.b-navigation-menu-item:hover .b-navigation-menu-item__action[data-v-0f8822ce],.b-navigation-menu-item:focus-within .b-navigation-menu-item__action[data-v-0f8822ce],.b-navigation-menu-item--always-show-actions .b-navigation-menu-item__action[data-v-0f8822ce]{animation:fade-in-ud5kvji-0f8822ce var(--b-animation-duration-fast) var(--b-animation-easing-linear)}@keyframes fade-in-ud5kvji-0f8822ce{0%{opacity:0}to{opacity:1}}}.b-navigation-menu-item--selected[data-v-0f8822ce]{background-color:var(--b-color-background-navigation)}.b-navigation-menu-item--selected[data-v-0f8822ce]:hover{background-color:var(--b-color-background-navigation-hover)}.b-navigation-menu-item--selected[data-v-0f8822ce]:active{background-color:var(--b-color-background-navigation-active)}.b-navigation-menu-item--nested[data-v-0f8822ce]{margin-top:var(--b-spacer-010);padding-left:36px}.b-navigation-menu-item--nested .b-navigation-menu-item__label[data-v-0f8822ce]{color:var(--b-color-label-secondary)}.b-navigation-menu-item--nested:hover .b-navigation-menu-item__label[data-v-0f8822ce],.b-navigation-menu-item--nested:active .b-navigation-menu-item__label[data-v-0f8822ce],.b-navigation-menu-item--nested.b-navigation-menu-item--selected .b-navigation-menu-item__label[data-v-0f8822ce]{color:var(--b-color-label-primary)}.b-navigation-menu-item--hidden[data-v-0f8822ce]{margin-top:0;max-height:0;min-height:0;opacity:0;padding-bottom:0;padding-top:0}@media(prefers-reduced-motion:no-preference){.b-navigation-menu-item--hidden[data-v-0f8822ce]{transition:all var(--b-animation-duration-moderate) var(--b-animation-easing-standard)}}.b-navigation-menu-group[data-v-abca1d36]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.b-navigation-menu-group[data-v-abca1d36],.b-navigation-menu-group[data-v-abca1d36]:before,.b-navigation-menu-group[data-v-abca1d36]:after{box-sizing:border-box}.b-navigation-menu-group *[data-v-abca1d36],.b-navigation-menu-group *[data-v-abca1d36]:before,.b-navigation-menu-group *[data-v-abca1d36]:after{box-sizing:border-box}.b-navigation-menu-group[data-v-abca1d36] ::-webkit-scrollbar{height:14px;width:14px}.b-navigation-menu-group[data-v-abca1d36] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-navigation-menu-group button[data-v-abca1d36]{background-color:transparent;border:0;font:inherit;text-align:inherit}.b-navigation-menu-group button[data-v-abca1d36]:focus-visible{outline:none}.b-navigation-menu-group__header[data-v-abca1d36]{align-items:center;border-radius:var(--b-border-radius-m);color:var(--b-color-label-primary);cursor:pointer;display:flex;gap:var(--b-spacer-020);min-height:32px;padding:var(--b-spacer-010) var(--b-spacer-030);padding-left:var(--b-spacer-020);position:relative;width:100%}.b-navigation-menu-group__header[data-v-abca1d36]:hover{background-color:var(--b-color-background-modal-hover)}.b-navigation-menu-group__header[data-v-abca1d36]:active{background-color:var(--b-color-background-modal-active)}.b-navigation-menu-group__header[data-v-abca1d36]:focus-visible{animation:outer-ring-default-abca1d36 var(--b-animation-duration-fast) var(--b-animation-easing-standard);box-shadow:0 0 0 var(--b-focus-ring-spacer) var(--b-color-background-primary),0 0 0 var(--b-focus-ring-outline) var(--b-focus-ring-color);outline:none}@keyframes outer-ring-default-abca1d36{0%{box-shadow:0 0 0 var(--b-border-width-s) var(--b-color-background-primary),0 0 0 0 var(--b-focus-ring-color)}to{box-shadow:0 0 0 var(--b-border-width-s) var(--b-color-background-primary),0 0 0 var(--b-border-width-l) var(--b-focus-ring-color)}}.b-navigation-menu-group__header--no-icon[data-v-abca1d36]{padding-left:var(--b-spacer-050)}.b-navigation-menu-group__icon[data-v-abca1d36]{display:flex;flex-shrink:0;padding:var(--b-spacer-030)}.b-navigation-menu-group__icon--chevron[data-v-abca1d36]{display:none}.b-navigation-menu-group__header:hover .b-navigation-menu-group__icon--chevron[data-v-abca1d36],.b-navigation-menu-group__header:focus-visible .b-navigation-menu-group__icon--chevron[data-v-abca1d36]{display:flex}@media(prefers-reduced-motion:no-preference){.b-navigation-menu-group__header:hover .b-navigation-menu-group__icon--chevron[data-v-abca1d36],.b-navigation-menu-group__header:focus-visible .b-navigation-menu-group__icon--chevron[data-v-abca1d36]{animation:fade-in-ud5kvnf-abca1d36 var(--b-animation-duration-fast) var(--b-animation-easing-linear)}@keyframes fade-in-ud5kvnf-abca1d36{0%{opacity:0}to{opacity:1}}}.b-navigation-menu-group__label[data-v-abca1d36]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.b-navigation-menu-group__content-wrapper[data-v-abca1d36]{overflow:clip;overflow-clip-margin:var(--b-spacer-020)}@media(prefers-reduced-motion:no-preference){.b-navigation-menu-group__content-wrapper[data-v-abca1d36]{transition:max-height var(--b-animation-duration-moderate) var(--b-animation-easing-standard)}}.b-navigation-menu-group__content[data-v-abca1d36]{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.b-navigation-menu-group__animation--content-enter-active[data-v-abca1d36]{overflow:hidden}@media(prefers-reduced-motion:no-preference){.b-navigation-menu-group__animation--content-enter-active[data-v-abca1d36]{animation:fade-in-ud5kvnl-abca1d36 var(--b-animation-duration-moderate) var(--b-animation-easing-linear),enter-ud5kvnl-abca1d36 var(--b-animation-duration-moderate) var(--b-animation-easing-enter),scale-up-ud5kvnl-abca1d36 var(--b-animation-duration-moderate) var(--b-animation-easing-linear);transition:max-height var(--b-animation-duration-moderate) var(--b-animation-easing-standard)}@keyframes fade-in-ud5kvnl-abca1d36{0%{opacity:0}to{opacity:1}}@keyframes scale-up-ud5kvnl-abca1d36{0%{scale:1}to{scale:1}}@keyframes enter-ud5kvnl-abca1d36{0%{translate:0 -8px}to{translate:0 0}}}.b-navigation-menu-group__animation--content-leave-active[data-v-abca1d36]{max-height:0!important;overflow:hidden}@media(prefers-reduced-motion:no-preference){.b-navigation-menu-group__animation--content-leave-active[data-v-abca1d36]{animation:fade-out-ud5kvo0-abca1d36 var(--b-animation-duration-moderate) var(--b-animation-easing-linear),exit-ud5kvo0-abca1d36 var(--b-animation-duration-moderate) var(--b-animation-easing-exit),scale-down-ud5kvo0-abca1d36 var(--b-animation-duration-moderate) var(--b-animation-easing-linear);transition:max-height var(--b-animation-duration-moderate) var(--b-animation-easing-standard)}@keyframes fade-out-ud5kvo0-abca1d36{0%{opacity:1}to{opacity:0}}@keyframes scale-down-ud5kvo0-abca1d36{0%{scale:1}to{scale:1}}@keyframes exit-ud5kvo0-abca1d36{0%{translate:0 0}to{translate:0 -8px}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
button[data-v-384347ea]{background-color:transparent;border:0;font:inherit;text-align:inherit}button[data-v-384347ea]:focus-visible{outline:none}.b-secondary-nav-item[data-v-384347ea]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:var(--b-spacer-020)}.b-secondary-nav-item[data-v-384347ea],.b-secondary-nav-item[data-v-384347ea]:before,.b-secondary-nav-item[data-v-384347ea]:after{box-sizing:border-box}.b-secondary-nav-item *[data-v-384347ea],.b-secondary-nav-item *[data-v-384347ea]:before,.b-secondary-nav-item *[data-v-384347ea]:after{box-sizing:border-box}.b-secondary-nav-item[data-v-384347ea] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav-item[data-v-384347ea] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-secondary-nav-item__wrapper[data-v-384347ea]{position:relative}.b-secondary-nav-item__option[data-v-384347ea]{align-items:center;border-radius:var(--b-border-radius-m);color:var(--b-color-label-primary);cursor:pointer;display:flex;justify-content:space-between;padding:var(--b-spacer-040) var(--b-spacer-050);width:100%}@media(hover:hover){.b-secondary-nav-item__option[data-v-384347ea]:hover{background-color:var(--b-color-background-primary-hover)}}.b-secondary-nav-item__option[data-v-384347ea]:active,.b-secondary-nav-item__option--active[data-v-384347ea]{background-color:var(--b-color-background-primary-active)}.b-secondary-nav-item__option[data-v-384347ea]:focus-visible{animation:outer-ring-default-384347ea var(--b-animation-duration-fast) var(--b-animation-easing-standard);box-shadow:0 0 0 var(--b-focus-ring-spacer) var(--b-color-background-primary),0 0 0 var(--b-focus-ring-outline) var(--b-focus-ring-color)}@keyframes outer-ring-default-384347ea{0%{box-shadow:0 0 0 var(--b-border-width-s) var(--b-color-background-primary),0 0 0 0 var(--b-focus-ring-color)}to{box-shadow:0 0 0 var(--b-border-width-s) var(--b-color-background-primary),0 0 0 var(--b-border-width-l) var(--b-focus-ring-color)}}.b-secondary-nav-item__option--sub-item[data-v-384347ea]{padding-left:var(--b-spacer-080)}.b-secondary-nav-item__option--expandable[data-v-384347ea]{padding-right:var(--b-spacer-100)}.b-secondary-nav-item__toggle[data-v-384347ea]{position:absolute;right:var(--b-spacer-050);top:50%;transform:translateY(-50%)}.b-secondary-nav-item__toggle[data-v-384347ea]:after{content:"";display:block;inset:calc(var(--b-spacer-050) * -1);position:absolute}.b-secondary-nav-item__sub-items[data-v-384347ea]{list-style:none;padding:0}.b-secondary-nav-item__animation--content-enter-active[data-v-384347ea]{animation:fade-in-
|
|
1
|
+
button[data-v-384347ea]{background-color:transparent;border:0;font:inherit;text-align:inherit}button[data-v-384347ea]:focus-visible{outline:none}.b-secondary-nav-item[data-v-384347ea]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:var(--b-spacer-020)}.b-secondary-nav-item[data-v-384347ea],.b-secondary-nav-item[data-v-384347ea]:before,.b-secondary-nav-item[data-v-384347ea]:after{box-sizing:border-box}.b-secondary-nav-item *[data-v-384347ea],.b-secondary-nav-item *[data-v-384347ea]:before,.b-secondary-nav-item *[data-v-384347ea]:after{box-sizing:border-box}.b-secondary-nav-item[data-v-384347ea] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav-item[data-v-384347ea] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-secondary-nav-item__wrapper[data-v-384347ea]{position:relative}.b-secondary-nav-item__option[data-v-384347ea]{align-items:center;border-radius:var(--b-border-radius-m);color:var(--b-color-label-primary);cursor:pointer;display:flex;justify-content:space-between;padding:var(--b-spacer-040) var(--b-spacer-050);width:100%}@media(hover:hover){.b-secondary-nav-item__option[data-v-384347ea]:hover{background-color:var(--b-color-background-primary-hover)}}.b-secondary-nav-item__option[data-v-384347ea]:active,.b-secondary-nav-item__option--active[data-v-384347ea]{background-color:var(--b-color-background-primary-active)}.b-secondary-nav-item__option[data-v-384347ea]:focus-visible{animation:outer-ring-default-384347ea var(--b-animation-duration-fast) var(--b-animation-easing-standard);box-shadow:0 0 0 var(--b-focus-ring-spacer) var(--b-color-background-primary),0 0 0 var(--b-focus-ring-outline) var(--b-focus-ring-color)}@keyframes outer-ring-default-384347ea{0%{box-shadow:0 0 0 var(--b-border-width-s) var(--b-color-background-primary),0 0 0 0 var(--b-focus-ring-color)}to{box-shadow:0 0 0 var(--b-border-width-s) var(--b-color-background-primary),0 0 0 var(--b-border-width-l) var(--b-focus-ring-color)}}.b-secondary-nav-item__option--sub-item[data-v-384347ea]{padding-left:var(--b-spacer-080)}.b-secondary-nav-item__option--expandable[data-v-384347ea]{padding-right:var(--b-spacer-100)}.b-secondary-nav-item__toggle[data-v-384347ea]{position:absolute;right:var(--b-spacer-050);top:50%;transform:translateY(-50%)}.b-secondary-nav-item__toggle[data-v-384347ea]:after{content:"";display:block;inset:calc(var(--b-spacer-050) * -1);position:absolute}.b-secondary-nav-item__sub-items[data-v-384347ea]{list-style:none;padding:0}.b-secondary-nav-item__animation--content-enter-active[data-v-384347ea]{animation:fade-in-ud5kvsh-384347ea var(--b-animation-duration-moderate) var(--b-animation-easing-linear),enter-ud5kvsh-384347ea var(--b-animation-duration-moderate) var(--b-animation-easing-enter),scale-up-ud5kvsh-384347ea var(--b-animation-duration-moderate) var(--b-animation-easing-linear);overflow:hidden;transition:max-height var(--b-animation-duration-moderate) var(--b-animation-easing-standard)}@keyframes fade-in-ud5kvsh-384347ea{0%{opacity:0}to{opacity:1}}@keyframes scale-up-ud5kvsh-384347ea{0%{scale:1}to{scale:1}}@keyframes enter-ud5kvsh-384347ea{0%{translate:0 -8px}to{translate:0 0}}.b-secondary-nav-item__animation--content-leave-active[data-v-384347ea]{animation:fade-out-ud5kvsy-384347ea var(--b-animation-duration-moderate) var(--b-animation-easing-linear),exit-ud5kvsy-384347ea var(--b-animation-duration-moderate) var(--b-animation-easing-exit),scale-down-ud5kvsy-384347ea var(--b-animation-duration-moderate) var(--b-animation-easing-linear);max-height:0!important;overflow:hidden;transition:max-height var(--b-animation-duration-moderate) var(--b-animation-easing-standard)}@keyframes fade-out-ud5kvsy-384347ea{0%{opacity:1}to{opacity:0}}@keyframes scale-down-ud5kvsy-384347ea{0%{scale:1}to{scale:1}}@keyframes exit-ud5kvsy-384347ea{0%{translate:0 0}to{translate:0 -8px}}.b-secondary-nav-category[data-v-99d14d1a]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-bottom:var(--b-spacer-080)}.b-secondary-nav-category[data-v-99d14d1a],.b-secondary-nav-category[data-v-99d14d1a]:before,.b-secondary-nav-category[data-v-99d14d1a]:after{box-sizing:border-box}.b-secondary-nav-category *[data-v-99d14d1a],.b-secondary-nav-category *[data-v-99d14d1a]:before,.b-secondary-nav-category *[data-v-99d14d1a]:after{box-sizing:border-box}.b-secondary-nav-category[data-v-99d14d1a] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav-category[data-v-99d14d1a] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-secondary-nav-category__label[data-v-99d14d1a]{color:var(--b-color-label-secondary);padding:0 var(--b-spacer-050) var(--b-spacer-020) var(--b-spacer-050)}.b-secondary-nav[data-v-f2d49daa]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.b-secondary-nav[data-v-f2d49daa],.b-secondary-nav[data-v-f2d49daa]:before,.b-secondary-nav[data-v-f2d49daa]:after{box-sizing:border-box}.b-secondary-nav *[data-v-f2d49daa],.b-secondary-nav *[data-v-f2d49daa]:before,.b-secondary-nav *[data-v-f2d49daa]:after{box-sizing:border-box}.b-secondary-nav[data-v-f2d49daa] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav[data-v-f2d49daa] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}@media(min-width:500px){.b-secondary-nav[data-v-f2d49daa]{max-width:250px}}.b-secondary-nav[data-v-f2d49daa] .b-secondary-nav__list{list-style:none;margin:0;padding:0}.b-secondary-nav__nested-option[data-v-f2d49daa]{padding-left:var(--b-spacer-070)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.b-sidepanel-page[data-v-12d4c262]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.b-sidepanel-page[data-v-12d4c262],.b-sidepanel-page[data-v-12d4c262]:before,.b-sidepanel-page[data-v-12d4c262]:after{box-sizing:border-box}.b-sidepanel-page *[data-v-12d4c262],.b-sidepanel-page *[data-v-12d4c262]:before,.b-sidepanel-page *[data-v-12d4c262]:after{box-sizing:border-box}.b-sidepanel-page[data-v-12d4c262] ::-webkit-scrollbar{height:14px;width:14px}.b-sidepanel-page[data-v-12d4c262] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-sidepanel-page__header[data-v-12d4c262]{align-items:center;background-color:var(--b-color-background-modal);border-top-left-radius:var(--b-border-radius-l);display:flex;overflow:hidden;padding:var(--b-spacer-070) var(--b-spacer-130) var(--b-spacer-070) var(--b-spacer-090);position:sticky;white-space:nowrap;width:100%}.b-sidepanel-page__title[data-v-12d4c262]{color:var(--b-color-label-primary);flex-grow:1;overflow:hidden;text-overflow:ellipsis}.b-sidepanel-page__content[data-v-12d4c262]{color:var(--b-color-label-primary);flex-grow:1;overflow:auto;padding:0 var(--b-spacer-090)}.b-sidepanel-page__actions[data-v-12d4c262]{background-color:var(--b-color-background-modal);border-bottom-left-radius:var(--b-border-radius-l);color:var(--b-color-label-primary);padding:var(--b-spacer-070) var(--b-spacer-090)}.b-sidepanel[data-v-e2c7d722]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--b-color-background-modal);border:0;height:100%;max-height:100%;max-width:100%;overflow:visible;padding:0;width:100%}.b-sidepanel[data-v-e2c7d722],.b-sidepanel[data-v-e2c7d722]:before,.b-sidepanel[data-v-e2c7d722]:after{box-sizing:border-box}.b-sidepanel *[data-v-e2c7d722],.b-sidepanel *[data-v-e2c7d722]:before,.b-sidepanel *[data-v-e2c7d722]:after{box-sizing:border-box}.b-sidepanel[data-v-e2c7d722] ::-webkit-scrollbar{height:14px;width:14px}.b-sidepanel[data-v-e2c7d722] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}@media(min-width:500px){.b-sidepanel[data-v-e2c7d722]{border-radius:var(--b-border-radius-l) 0 0 var(--b-border-radius-l);margin:0 0 0 auto;width:480px}}@media(min-width:768px){.b-sidepanel[data-v-e2c7d722]{max-width:680px;min-width:480px;width:33%}}.b-sidepanel__close-button[data-v-e2c7d722]{align-items:center;display:flex;height:64px;position:absolute;right:var(--b-spacer-090);z-index:var(--b-z-index-local-tier-1)}.b-sidepanel--animation[data-v-e2c7d722]{overflow:hidden}.b-sidepanel[data-v-e2c7d722]::backdrop{background-color:var(--b-color-support-overlay, #00112c);opacity:.5}.b-sidepanel[open][data-v-e2c7d722]{animation:enter-
|
|
1
|
+
.b-sidepanel-page[data-v-12d4c262]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.b-sidepanel-page[data-v-12d4c262],.b-sidepanel-page[data-v-12d4c262]:before,.b-sidepanel-page[data-v-12d4c262]:after{box-sizing:border-box}.b-sidepanel-page *[data-v-12d4c262],.b-sidepanel-page *[data-v-12d4c262]:before,.b-sidepanel-page *[data-v-12d4c262]:after{box-sizing:border-box}.b-sidepanel-page[data-v-12d4c262] ::-webkit-scrollbar{height:14px;width:14px}.b-sidepanel-page[data-v-12d4c262] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}.b-sidepanel-page__header[data-v-12d4c262]{align-items:center;background-color:var(--b-color-background-modal);border-top-left-radius:var(--b-border-radius-l);display:flex;overflow:hidden;padding:var(--b-spacer-070) var(--b-spacer-130) var(--b-spacer-070) var(--b-spacer-090);position:sticky;white-space:nowrap;width:100%}.b-sidepanel-page__title[data-v-12d4c262]{color:var(--b-color-label-primary);flex-grow:1;overflow:hidden;text-overflow:ellipsis}.b-sidepanel-page__content[data-v-12d4c262]{color:var(--b-color-label-primary);flex-grow:1;overflow:auto;padding:0 var(--b-spacer-090)}.b-sidepanel-page__actions[data-v-12d4c262]{background-color:var(--b-color-background-modal);border-bottom-left-radius:var(--b-border-radius-l);color:var(--b-color-label-primary);padding:var(--b-spacer-070) var(--b-spacer-090)}.b-sidepanel[data-v-e2c7d722]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--b-color-background-modal);border:0;height:100%;max-height:100%;max-width:100%;overflow:visible;padding:0;width:100%}.b-sidepanel[data-v-e2c7d722],.b-sidepanel[data-v-e2c7d722]:before,.b-sidepanel[data-v-e2c7d722]:after{box-sizing:border-box}.b-sidepanel *[data-v-e2c7d722],.b-sidepanel *[data-v-e2c7d722]:before,.b-sidepanel *[data-v-e2c7d722]:after{box-sizing:border-box}.b-sidepanel[data-v-e2c7d722] ::-webkit-scrollbar{height:14px;width:14px}.b-sidepanel[data-v-e2c7d722] ::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:var(--b-color-background-quaternary);border:3px solid transparent;border-radius:var(--b-border-radius-l)}@media(min-width:500px){.b-sidepanel[data-v-e2c7d722]{border-radius:var(--b-border-radius-l) 0 0 var(--b-border-radius-l);margin:0 0 0 auto;width:480px}}@media(min-width:768px){.b-sidepanel[data-v-e2c7d722]{max-width:680px;min-width:480px;width:33%}}.b-sidepanel__close-button[data-v-e2c7d722]{align-items:center;display:flex;height:64px;position:absolute;right:var(--b-spacer-090);z-index:var(--b-z-index-local-tier-1)}.b-sidepanel--animation[data-v-e2c7d722]{overflow:hidden}.b-sidepanel[data-v-e2c7d722]::backdrop{background-color:var(--b-color-support-overlay, #00112c);opacity:.5}.b-sidepanel[open][data-v-e2c7d722]{animation:enter-ud5kvjt-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-enter)}@keyframes enter-ud5kvjt-e2c7d722{0%{translate:100% 0}to{translate:0 0}}.b-sidepanel[open][data-v-e2c7d722]::backdrop{animation:fade-in-ud5kvks-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-linear)}@keyframes fade-in-ud5kvks-e2c7d722{0%{opacity:0}to{opacity:.5}}.b-sidepanel--hide[open][data-v-e2c7d722]{animation:exit-ud5kvlg-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-exit)}@keyframes exit-ud5kvlg-e2c7d722{0%{translate:0 0}to{translate:100% 0}}.b-sidepanel--hide[open][data-v-e2c7d722]::backdrop{animation:fade-out-ud5kvmg-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-linear)}@keyframes fade-out-ud5kvmg-e2c7d722{0%{opacity:.5}to{opacity:0}}
|
package/dist/button.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as n, a as B, b as a } from "./chunks/button.C9b2AC9w.js";
|
|
2
2
|
import { a as s } from "./chunks/ai-button.7L9bANlk.js";
|
|
3
|
-
import { B as r, a as i, b as c, c as p } from "./chunks/button-actions.
|
|
3
|
+
import { B as r, a as i, b as c, c as p } from "./chunks/button-actions.CdsmKyvj.js";
|
|
4
4
|
import { B as A, a as L, b as d } from "./chunks/button-actions.types.BptAXjD8.js";
|
|
5
5
|
export {
|
|
6
6
|
s as BentoAiButton,
|
package/dist/card.js
CHANGED
package/dist/checkbox.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B as t, a } from "./chunks/checkbox.
|
|
2
|
-
import { B as x, a as n } from "./chunks/checkbox-group.
|
|
1
|
+
import { B as t, a } from "./chunks/checkbox.B2lQl9BE.js";
|
|
2
|
+
import { B as x, a as n } from "./chunks/checkbox-group.KJvcjvpx.js";
|
|
3
3
|
import { C } from "./chunks/minus-small.DJacLGTw.js";
|
|
4
4
|
export {
|
|
5
5
|
t as BentoCheckbox,
|
|
@@ -2,13 +2,13 @@ import { defineComponent as D, computed as s, ref as c, toRefs as G, watch as w,
|
|
|
2
2
|
import { B as J } from "./button.C9b2AC9w.js";
|
|
3
3
|
import { B as K } from "./typography.C8lPlsbD.js";
|
|
4
4
|
import { B as q } from "./loading-indicator.PxbRzshH.js";
|
|
5
|
-
import { B as Q } from "./button-actions-with-menu.
|
|
5
|
+
import { B as Q } from "./button-actions-with-menu.Ctu2EwxW.js";
|
|
6
6
|
import { C as X } from "./cross.CC_B-vG-.js";
|
|
7
7
|
import { C as Y } from "./checkmark-circle-fill.BttTCjrM.js";
|
|
8
8
|
import { C as Z } from "./cross-circle-fill.DTDtgLMf.js";
|
|
9
9
|
import { u as H } from "./index.B6WW_F-J.js";
|
|
10
|
-
import { u as ee } from "./index.
|
|
11
|
-
import { P as ne, B as te } from "./button-actions.
|
|
10
|
+
import { u as ee } from "./index.ByaCaB1Z.js";
|
|
11
|
+
import { P as ne, B as te } from "./button-actions.CdsmKyvj.js";
|
|
12
12
|
import { n as ae } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
13
13
|
import "../assets/action-bar.css";
|
|
14
14
|
const se = {
|
|
@@ -331,4 +331,4 @@ const Be = le.exports;
|
|
|
331
331
|
export {
|
|
332
332
|
Be as B
|
|
333
333
|
};
|
|
334
|
-
//# sourceMappingURL=action-bar.
|
|
334
|
+
//# sourceMappingURL=action-bar.BPsug0x7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-bar.ChuPTyQG.js","sources":["../../src/components/action-bar/action-bar.vue"],"sourcesContent":["<template>\n <Transition name=\"b-action-bar__animation\" appear>\n <section\n class=\"b-action-bar\"\n :class=\"conditionalClasses\"\n :aria-label=\"t('actionBar')\"\n @animationend=\"onAnimationEnd\"\n >\n <Transition\n :name=\"`b-action-bar__state-animation--${state}`\"\n :mode=\"stateTransitionMode\"\n @before-leave=\"onBeforeLeave\"\n @enter=\"onEnter\"\n @after-enter=\"onAfterEnter\"\n >\n <div\n ref=\"actionBar\"\n :key=\"state\"\n class=\"b-action-bar__container\"\n :class=\"containerClasses\"\n :style=\"{ width: containerWidth, maxWidth: containerMaxWidth }\"\n >\n <div v-if=\"state === 'start'\" class=\"b-action-bar__container-inner\">\n <div v-if=\"!isConfirmationVariant\" class=\"b-action-bar__close-button\">\n <bento-button variant=\"tertiary\" inverse :aria-label=\"t('close')\" @click=\"emit('close')\">\n <template #iconLeft><cross-icon :aria-hidden=\"true\" /></template>\n </bento-button>\n </div>\n <bento-typography el=\"span\" stronger class=\"b-action-bar__selection\">\n <template v-if=\"isConfirmationVariant && noItemCounter\">\n {{ tc('unsavedChanges', 0) }}\n </template>\n <template v-else>\n {{ n(itemCounter) }}\n {{ isConfirmationVariant ? tc('unsavedChanges', itemCounter) : label }}\n </template>\n </bento-typography>\n <bento-button-actions\n v-if=\"isConfirmationVariant\"\n :actions=\"confirmationActions\"\n class=\"b-action-bar__actions\"\n inverse\n />\n <button-actions-with-menu\n v-else\n :actions=\"actionsInternal\"\n class=\"b-action-bar__actions\"\n :displayed-actions=\"internalDisplayedActions\"\n menu-position=\"top-end\"\n disable-responsive-behavior\n inverse\n />\n </div>\n <div v-else class=\"b-action-bar__container-inner\">\n <div class=\"b-action-bar__state-icon\">\n <bento-loading-indicator v-if=\"state === 'loading'\" small inverse />\n <checkmark-circle-fill v-if=\"state === 'success'\" :aria-hidden=\"true\" />\n <cross-circle-fill v-if=\"state === 'fail'\" :aria-hidden=\"true\" />\n </div>\n <bento-typography stronger>\n <slot name=\"stateLabel\">{{ defaultStateLabel }}</slot>\n </bento-typography>\n <div v-if=\"!hideStateActions\" class=\"b-action-bar__state-actions\">\n <bento-button\n v-if=\"state === 'success' && showUndoAction\"\n variant=\"tertiary\"\n inverse\n @click=\"emit('undo-action')\"\n >{{ t('undo') }}</bento-button\n >\n <bento-button\n v-if=\"state === 'fail' && showRetryAction\"\n variant=\"tertiary\"\n inverse\n @click=\"emit('retry-action')\"\n >{{ t('retry') }}</bento-button\n >\n <bento-button\n v-if=\"state === 'fail'\"\n variant=\"tertiary\"\n inverse\n @click=\"emit('cancel-action')\"\n >{{ t('cancel') }}</bento-button\n >\n </div>\n </div>\n </div>\n </Transition>\n </section>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, type PropType, provide, ref, toRefs, type TransitionProps, watch } from 'vue';\n import { BentoButton, BentoButtonActions, type BentoButtonActionsList } from '@/components/button';\n import { BentoTypography } from '@/components/typography';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n\n import { type BentoActionBarState, type BentoActionBarVariant } from '@/components/action-bar/action-bar.types';\n import ButtonActionsWithMenu from '@/components/internal/button-actions-with-menu/button-actions-with-menu.vue';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n import CheckmarkCircleFill from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import CrossCircleFill from '@adyen/ui-assets-icons-16/vue/cross-circle-fill';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { useWindowSize } from '@vueuse/core';\n\n import messages from './messages.json';\n import { POPOVER_OFFSET_INJECTION_KEY } from '@/components/popover/popover.keys';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n // Constants\n const AVERAGE_BUTTON_SIZE = 100;\n const MENU_OFFSET = 7;\n const RESPONSIVE_BREAKPOINT = 500;\n const SPACING = 32;\n\n const props = defineProps({\n /**\n * List of actions that will be used to render the buttons.\n * Required and used for the `default` variant.\n *\n * Each object in the list should have a `title`, an `event` and,\n * optionally, an `icon`.\n *\n * The component will display 4 actions and the hide the rest inside a menu.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n default: () => [],\n },\n /**\n * How many actions should be visible outside the menu, cannot be more than 4\n */\n visibleActions: {\n type: Number,\n default: 4,\n validator: (value: number) => value > 0 && value <= 4,\n },\n /**\n * Use when there are sticky elements at the bottom, like sticky pagination\n */\n extraBottomSpacing: {\n type: Boolean,\n default: false,\n },\n /**\n * Show how many items are selected.\n * When omitted in the `confirmation` variant, a generic \"Unsaved changes\" label is displayed.\n */\n itemCounter: {\n type: Number,\n default: null,\n },\n /**\n * Label for the selection, e.g. 'selected'/'changed'\n */\n selectionLabel: {\n type: String,\n default: null,\n },\n /**\n * State of the action bar.\n * @values start, loading, success, fail\n */\n state: {\n type: String as PropType<BentoActionBarState>,\n default: 'start',\n },\n /**\n * Displays the undo action button in `success` state.\n */\n showUndoAction: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays the retry action button in `fail` state.\n */\n showRetryAction: {\n type: Boolean,\n default: false,\n },\n /**\n * Variant for the action bar\n * @values default, confirmation\n */\n variant: {\n type: String as PropType<BentoActionBarVariant>,\n default: 'default',\n },\n });\n\n const emit = defineEmits([\"close\", \"cancel\", \"save\", \"undo-action\", \"retry-action\", \"cancel-action\"]);\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n const label = computed(() => (props.selectionLabel ? props.selectionLabel : t('selected')));\n\n const defaultStateLabel = computed(() => {\n switch (props.state) {\n case 'loading':\n return t('applying');\n case 'success':\n return t('success');\n case 'fail':\n return t('somethingWentWrong');\n default:\n return '';\n }\n });\n\n // Refs\n const actionBar = ref<HTMLDivElement>(null);\n const containerMaxWidth = ref<string | null>(null);\n const containerWidth = ref<string | null>(null);\n const isShaking = ref(false);\n\n const stateTransitionMode = computed(\n () => (props.state === 'loading' ? 'out-in' : undefined) as TransitionProps['mode']\n );\n\n const hideStateActions = computed(\n () => props.state === 'loading' || (props.state === 'success' && !props.showUndoAction)\n );\n\n const onBeforeLeave = (el: HTMLElement) => {\n if (props.state !== 'loading') {\n return;\n }\n\n containerMaxWidth.value = `${el.offsetWidth}px`;\n containerWidth.value = '100%';\n };\n\n const onEnter = (el: HTMLElement) => {\n if (props.state !== 'loading') {\n return;\n }\n\n // Reset styles to get natural width\n Object.assign(el.style, { width: 'auto', maxWidth: 'none' });\n const newWidth = el.offsetWidth;\n\n // Reset it back to the original values\n Object.assign(el.style, { width: '100%', maxWidth: containerMaxWidth.value });\n\n requestAnimationFrame(() => {\n containerMaxWidth.value = `${newWidth}px`;\n });\n };\n\n const onAfterEnter = () => {\n containerMaxWidth.value = null;\n containerWidth.value = null;\n\n if (props.state === 'fail') {\n isShaking.value = true;\n }\n };\n\n const onAnimationEnd = (event: AnimationEvent) => {\n if (event.animationName.startsWith('shake-')) {\n isShaking.value = false;\n }\n };\n\n const { extraBottomSpacing, visibleActions } = toRefs(props);\n const { width } = useWindowSize();\n const internalDisplayedActions = ref(null);\n const internalVisibleActions = ref(null);\n\n const isConfirmationVariant = computed(() => props.variant === 'confirmation');\n\n watch(\n () => visibleActions.value,\n value => {\n internalVisibleActions.value = value <= 4 ? value : 4;\n internalDisplayedActions.value = internalVisibleActions.value;\n },\n { immediate: true }\n );\n\n // Styling\n const conditionalClasses = computed(() => ({\n 'b-action-bar--extra-spacing': extraBottomSpacing.value,\n 'b-action-bar--confirmation': isConfirmationVariant.value,\n 'b-action-bar__state-animation--shake': isShaking.value,\n }));\n\n const containerClasses = computed(() => ({\n [`b-action-bar__container--${props.state}`]: props.state !== 'start',\n }));\n\n // Provide POPOVER_OFFSET_INJECTION_KEY to change the value of the popover offset\n provide(POPOVER_OFFSET_INJECTION_KEY, MENU_OFFSET);\n\n // Manipulate actions array to display as intended\n const actionsInternal = computed(() => {\n // All buttons should be of type secondary in the action bar\n const actions = props.actions.map(action => ({\n ...action,\n variant: 'secondary',\n })) as BentoButtonActionsList;\n // Shown actions should display from left to right in action bar, instead of right to left which is the button actions default\n const shownActions = actions.slice(0, internalDisplayedActions.value).reverse();\n const hiddenActions = actions.slice(internalDisplayedActions.value);\n\n return [...shownActions, ...hiddenActions];\n });\n\n const confirmationActions = computed<BentoButtonActionsList>(() => [\n {\n title: t('save'),\n event: () => emit('save'),\n },\n {\n title: t('cancel'),\n variant: 'secondary',\n event: () => emit('cancel'),\n },\n ]);\n\n const noItemCounter = computed(() => {\n return props.itemCounter == null || props.itemCounter < 1;\n });\n\n // Recursive functions to determine how many actions should be visible/hidden based on the screens width\n const showActions = async () => {\n await nextTick();\n if (\n width.value > actionBar.value.clientWidth + SPACING + AVERAGE_BUTTON_SIZE &&\n internalDisplayedActions.value < internalVisibleActions.value\n ) {\n internalDisplayedActions.value += 1;\n showActions();\n }\n };\n\n const hideActions = async () => {\n await nextTick();\n if (width.value < actionBar.value.clientWidth + SPACING && internalDisplayedActions.value > 0) {\n internalDisplayedActions.value -= 1;\n hideActions();\n }\n };\n\n // Screen width watcher to toggle hidden/visible actions\n watch(\n () => width.value,\n async (newValue, oldValue) => {\n await nextTick();\n if (!actionBar.value) {\n return;\n }\n const isIncreasing = newValue > oldValue;\n if (width.value < RESPONSIVE_BREAKPOINT) {\n internalDisplayedActions.value = 0;\n } else if (isIncreasing) {\n showActions();\n } else {\n hideActions();\n }\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * Action bar is a floating bar that provides users with quick access to key actions that can be applied to one or multiple items.\n *\n * @example\n * import { BentoActionBar } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoActionBar },\n * template: `\n * <bento-action-bar\n * :actions='[\n * {\n * title: 'Delete',\n * critical: true,\n * icon: BinIcon,\n * event: () => true,\n * },\n * {\n * title: 'Edit',\n * icon: EditIcon,\n * event: () => true,\n * }\n * ]'\n * @close=\"closeAction\"\n * :item-counter=\"5\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./action-bar.scss\" />\n"],"names":["__default__","messages","AVERAGE_BUTTON_SIZE","MENU_OFFSET","RESPONSIVE_BREAKPOINT","SPACING","t","tc","n","useI18n","label","computed","props","defaultStateLabel","actionBar","ref","containerMaxWidth","containerWidth","isShaking","stateTransitionMode","hideStateActions","onBeforeLeave","el","onEnter","newWidth","onAfterEnter","onAnimationEnd","event","extraBottomSpacing","visibleActions","toRefs","width","useWindowSize","internalDisplayedActions","internalVisibleActions","isConfirmationVariant","watch","value","conditionalClasses","containerClasses","provide","POPOVER_OFFSET_INJECTION_KEY","actionsInternal","actions","action","shownActions","hiddenActions","confirmationActions","emit","noItemCounter","showActions","nextTick","hideActions","newValue","oldValue","isIncreasing"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"action-bar.BPsug0x7.js","sources":["../../src/components/action-bar/action-bar.vue"],"sourcesContent":["<template>\n <Transition name=\"b-action-bar__animation\" appear>\n <section\n class=\"b-action-bar\"\n :class=\"conditionalClasses\"\n :aria-label=\"t('actionBar')\"\n @animationend=\"onAnimationEnd\"\n >\n <Transition\n :name=\"`b-action-bar__state-animation--${state}`\"\n :mode=\"stateTransitionMode\"\n @before-leave=\"onBeforeLeave\"\n @enter=\"onEnter\"\n @after-enter=\"onAfterEnter\"\n >\n <div\n ref=\"actionBar\"\n :key=\"state\"\n class=\"b-action-bar__container\"\n :class=\"containerClasses\"\n :style=\"{ width: containerWidth, maxWidth: containerMaxWidth }\"\n >\n <div v-if=\"state === 'start'\" class=\"b-action-bar__container-inner\">\n <div v-if=\"!isConfirmationVariant\" class=\"b-action-bar__close-button\">\n <bento-button variant=\"tertiary\" inverse :aria-label=\"t('close')\" @click=\"emit('close')\">\n <template #iconLeft><cross-icon :aria-hidden=\"true\" /></template>\n </bento-button>\n </div>\n <bento-typography el=\"span\" stronger class=\"b-action-bar__selection\">\n <template v-if=\"isConfirmationVariant && noItemCounter\">\n {{ tc('unsavedChanges', 0) }}\n </template>\n <template v-else>\n {{ n(itemCounter) }}\n {{ isConfirmationVariant ? tc('unsavedChanges', itemCounter) : label }}\n </template>\n </bento-typography>\n <bento-button-actions\n v-if=\"isConfirmationVariant\"\n :actions=\"confirmationActions\"\n class=\"b-action-bar__actions\"\n inverse\n />\n <button-actions-with-menu\n v-else\n :actions=\"actionsInternal\"\n class=\"b-action-bar__actions\"\n :displayed-actions=\"internalDisplayedActions\"\n menu-position=\"top-end\"\n disable-responsive-behavior\n inverse\n />\n </div>\n <div v-else class=\"b-action-bar__container-inner\">\n <div class=\"b-action-bar__state-icon\">\n <bento-loading-indicator v-if=\"state === 'loading'\" small inverse />\n <checkmark-circle-fill v-if=\"state === 'success'\" :aria-hidden=\"true\" />\n <cross-circle-fill v-if=\"state === 'fail'\" :aria-hidden=\"true\" />\n </div>\n <bento-typography stronger>\n <slot name=\"stateLabel\">{{ defaultStateLabel }}</slot>\n </bento-typography>\n <div v-if=\"!hideStateActions\" class=\"b-action-bar__state-actions\">\n <bento-button\n v-if=\"state === 'success' && showUndoAction\"\n variant=\"tertiary\"\n inverse\n @click=\"emit('undo-action')\"\n >{{ t('undo') }}</bento-button\n >\n <bento-button\n v-if=\"state === 'fail' && showRetryAction\"\n variant=\"tertiary\"\n inverse\n @click=\"emit('retry-action')\"\n >{{ t('retry') }}</bento-button\n >\n <bento-button\n v-if=\"state === 'fail'\"\n variant=\"tertiary\"\n inverse\n @click=\"emit('cancel-action')\"\n >{{ t('cancel') }}</bento-button\n >\n </div>\n </div>\n </div>\n </Transition>\n </section>\n </Transition>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, nextTick, type PropType, provide, ref, toRefs, type TransitionProps, watch } from 'vue';\n import { BentoButton, BentoButtonActions, type BentoButtonActionsList } from '@/components/button';\n import { BentoTypography } from '@/components/typography';\n import { BentoLoadingIndicator } from '@/components/loading-indicator';\n\n import { type BentoActionBarState, type BentoActionBarVariant } from '@/components/action-bar/action-bar.types';\n import ButtonActionsWithMenu from '@/components/internal/button-actions-with-menu/button-actions-with-menu.vue';\n import CrossIcon from '@adyen/ui-assets-icons-16/vue/cross';\n import CheckmarkCircleFill from '@adyen/ui-assets-icons-16/vue/checkmark-circle-fill';\n import CrossCircleFill from '@adyen/ui-assets-icons-16/vue/cross-circle-fill';\n\n import { useI18n } from '@/utils/ts/i18n';\n import { useWindowSize } from '@vueuse/core';\n\n import messages from './messages.json';\n import { POPOVER_OFFSET_INJECTION_KEY } from '@/components/popover/popover.keys';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n // Constants\n const AVERAGE_BUTTON_SIZE = 100;\n const MENU_OFFSET = 7;\n const RESPONSIVE_BREAKPOINT = 500;\n const SPACING = 32;\n\n const props = defineProps({\n /**\n * List of actions that will be used to render the buttons.\n * Required and used for the `default` variant.\n *\n * Each object in the list should have a `title`, an `event` and,\n * optionally, an `icon`.\n *\n * The component will display 4 actions and the hide the rest inside a menu.\n *\n * @see BentoButton for a list of all the other props supported by each button action.\n */\n actions: {\n type: Array as PropType<BentoButtonActionsList>,\n default: () => [],\n },\n /**\n * How many actions should be visible outside the menu, cannot be more than 4\n */\n visibleActions: {\n type: Number,\n default: 4,\n validator: (value: number) => value > 0 && value <= 4,\n },\n /**\n * Use when there are sticky elements at the bottom, like sticky pagination\n */\n extraBottomSpacing: {\n type: Boolean,\n default: false,\n },\n /**\n * Show how many items are selected.\n * When omitted in the `confirmation` variant, a generic \"Unsaved changes\" label is displayed.\n */\n itemCounter: {\n type: Number,\n default: null,\n },\n /**\n * Label for the selection, e.g. 'selected'/'changed'\n */\n selectionLabel: {\n type: String,\n default: null,\n },\n /**\n * State of the action bar.\n * @values start, loading, success, fail\n */\n state: {\n type: String as PropType<BentoActionBarState>,\n default: 'start',\n },\n /**\n * Displays the undo action button in `success` state.\n */\n showUndoAction: {\n type: Boolean,\n default: false,\n },\n /**\n * Displays the retry action button in `fail` state.\n */\n showRetryAction: {\n type: Boolean,\n default: false,\n },\n /**\n * Variant for the action bar\n * @values default, confirmation\n */\n variant: {\n type: String as PropType<BentoActionBarVariant>,\n default: 'default',\n },\n });\n\n const emit = defineEmits([\"close\", \"cancel\", \"save\", \"undo-action\", \"retry-action\", \"cancel-action\"]);\n\n const { t, tc, n } = useI18n<{ message: MessageSchema }>({ messages });\n const label = computed(() => (props.selectionLabel ? props.selectionLabel : t('selected')));\n\n const defaultStateLabel = computed(() => {\n switch (props.state) {\n case 'loading':\n return t('applying');\n case 'success':\n return t('success');\n case 'fail':\n return t('somethingWentWrong');\n default:\n return '';\n }\n });\n\n // Refs\n const actionBar = ref<HTMLDivElement>(null);\n const containerMaxWidth = ref<string | null>(null);\n const containerWidth = ref<string | null>(null);\n const isShaking = ref(false);\n\n const stateTransitionMode = computed(\n () => (props.state === 'loading' ? 'out-in' : undefined) as TransitionProps['mode']\n );\n\n const hideStateActions = computed(\n () => props.state === 'loading' || (props.state === 'success' && !props.showUndoAction)\n );\n\n const onBeforeLeave = (el: HTMLElement) => {\n if (props.state !== 'loading') {\n return;\n }\n\n containerMaxWidth.value = `${el.offsetWidth}px`;\n containerWidth.value = '100%';\n };\n\n const onEnter = (el: HTMLElement) => {\n if (props.state !== 'loading') {\n return;\n }\n\n // Reset styles to get natural width\n Object.assign(el.style, { width: 'auto', maxWidth: 'none' });\n const newWidth = el.offsetWidth;\n\n // Reset it back to the original values\n Object.assign(el.style, { width: '100%', maxWidth: containerMaxWidth.value });\n\n requestAnimationFrame(() => {\n containerMaxWidth.value = `${newWidth}px`;\n });\n };\n\n const onAfterEnter = () => {\n containerMaxWidth.value = null;\n containerWidth.value = null;\n\n if (props.state === 'fail') {\n isShaking.value = true;\n }\n };\n\n const onAnimationEnd = (event: AnimationEvent) => {\n if (event.animationName.startsWith('shake-')) {\n isShaking.value = false;\n }\n };\n\n const { extraBottomSpacing, visibleActions } = toRefs(props);\n const { width } = useWindowSize();\n const internalDisplayedActions = ref(null);\n const internalVisibleActions = ref(null);\n\n const isConfirmationVariant = computed(() => props.variant === 'confirmation');\n\n watch(\n () => visibleActions.value,\n value => {\n internalVisibleActions.value = value <= 4 ? value : 4;\n internalDisplayedActions.value = internalVisibleActions.value;\n },\n { immediate: true }\n );\n\n // Styling\n const conditionalClasses = computed(() => ({\n 'b-action-bar--extra-spacing': extraBottomSpacing.value,\n 'b-action-bar--confirmation': isConfirmationVariant.value,\n 'b-action-bar__state-animation--shake': isShaking.value,\n }));\n\n const containerClasses = computed(() => ({\n [`b-action-bar__container--${props.state}`]: props.state !== 'start',\n }));\n\n // Provide POPOVER_OFFSET_INJECTION_KEY to change the value of the popover offset\n provide(POPOVER_OFFSET_INJECTION_KEY, MENU_OFFSET);\n\n // Manipulate actions array to display as intended\n const actionsInternal = computed(() => {\n // All buttons should be of type secondary in the action bar\n const actions = props.actions.map(action => ({\n ...action,\n variant: 'secondary',\n })) as BentoButtonActionsList;\n // Shown actions should display from left to right in action bar, instead of right to left which is the button actions default\n const shownActions = actions.slice(0, internalDisplayedActions.value).reverse();\n const hiddenActions = actions.slice(internalDisplayedActions.value);\n\n return [...shownActions, ...hiddenActions];\n });\n\n const confirmationActions = computed<BentoButtonActionsList>(() => [\n {\n title: t('save'),\n event: () => emit('save'),\n },\n {\n title: t('cancel'),\n variant: 'secondary',\n event: () => emit('cancel'),\n },\n ]);\n\n const noItemCounter = computed(() => {\n return props.itemCounter == null || props.itemCounter < 1;\n });\n\n // Recursive functions to determine how many actions should be visible/hidden based on the screens width\n const showActions = async () => {\n await nextTick();\n if (\n width.value > actionBar.value.clientWidth + SPACING + AVERAGE_BUTTON_SIZE &&\n internalDisplayedActions.value < internalVisibleActions.value\n ) {\n internalDisplayedActions.value += 1;\n showActions();\n }\n };\n\n const hideActions = async () => {\n await nextTick();\n if (width.value < actionBar.value.clientWidth + SPACING && internalDisplayedActions.value > 0) {\n internalDisplayedActions.value -= 1;\n hideActions();\n }\n };\n\n // Screen width watcher to toggle hidden/visible actions\n watch(\n () => width.value,\n async (newValue, oldValue) => {\n await nextTick();\n if (!actionBar.value) {\n return;\n }\n const isIncreasing = newValue > oldValue;\n if (width.value < RESPONSIVE_BREAKPOINT) {\n internalDisplayedActions.value = 0;\n } else if (isIncreasing) {\n showActions();\n } else {\n hideActions();\n }\n },\n { immediate: true }\n );\n</script>\n\n<script lang=\"ts\">\n /**\n * Action bar is a floating bar that provides users with quick access to key actions that can be applied to one or multiple items.\n *\n * @example\n * import { BentoActionBar } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoActionBar },\n * template: `\n * <bento-action-bar\n * :actions='[\n * {\n * title: 'Delete',\n * critical: true,\n * icon: BinIcon,\n * event: () => true,\n * },\n * {\n * title: 'Edit',\n * icon: EditIcon,\n * event: () => true,\n * }\n * ]'\n * @close=\"closeAction\"\n * :item-counter=\"5\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./action-bar.scss\" />\n"],"names":["__default__","messages","AVERAGE_BUTTON_SIZE","MENU_OFFSET","RESPONSIVE_BREAKPOINT","SPACING","t","tc","n","useI18n","label","computed","props","defaultStateLabel","actionBar","ref","containerMaxWidth","containerWidth","isShaking","stateTransitionMode","hideStateActions","onBeforeLeave","el","onEnter","newWidth","onAfterEnter","onAnimationEnd","event","extraBottomSpacing","visibleActions","toRefs","width","useWindowSize","internalDisplayedActions","internalVisibleActions","isConfirmationVariant","watch","value","conditionalClasses","containerClasses","provide","POPOVER_OFFSET_INJECTION_KEY","actionsInternal","actions","action","shownActions","hiddenActions","confirmationActions","emit","noItemCounter","showActions","nextTick","hideActions","newValue","oldValue","isIncreasing"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as u, ref as n, watch as f, computed as _ } from "vue";
|
|
2
|
-
import { u as v, c as m, h as I } from "./button-actions.
|
|
2
|
+
import { u as v, c as m, h as I } from "./button-actions.CdsmKyvj.js";
|
|
3
3
|
import { B as A } from "./typography.C8lPlsbD.js";
|
|
4
4
|
import "./index.Cl4_42j5.js";
|
|
5
5
|
import { u as x } from "./index.B6WW_F-J.js";
|
|
@@ -107,4 +107,4 @@ const F = P.exports;
|
|
|
107
107
|
export {
|
|
108
108
|
F as a
|
|
109
109
|
};
|
|
110
|
-
//# sourceMappingURL=ai-tag.
|
|
110
|
+
//# sourceMappingURL=ai-tag.BfAbJI_v.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tag.
|
|
1
|
+
{"version":3,"file":"ai-tag.BfAbJI_v.js","sources":["../../src/components/ai-tag/ai-tag.vue"],"sourcesContent":["<template>\n <div ref=\"aiTagRef\" class=\"b-ai-tag\" @keydown.esc=\"closePopover\">\n <bento-toggle-button\n ref=\"targetElement\"\n :toggled=\"toggled\"\n :aria-controls=\"popoverId\"\n variant=\"secondary\"\n condensed\n class=\"b-ai-tag__trigger\"\n @update:toggled=\"onToggle\"\n >\n <template #iconLeft>\n <artificial-intelligence-ai-icon class=\"b-ai-tag__trigger-icon\" :aria-hidden=\"true\" />\n </template>\n {{ t('ai') }}\n </bento-toggle-button>\n\n <bento-popover\n v-if=\"targetElement\"\n :id=\"popoverId\"\n :open=\"toggled\"\n :target-element=\"targetElement\"\n :actions=\"popoverActions\"\n actions-layout=\"fill-container\"\n :title=\"t('aiExplained')\"\n trap-all\n :trap-all-options=\"{ onDeactivate: closePopover, allowOutsideClick: true }\"\n fixed-positioning\n overflow-visible\n @dismiss=\"closePopover\"\n >\n <template #headerIcon>\n <artificial-intelligence-ai-icon class=\"b-ai-tag__popover-header-icon\" :aria-hidden=\"true\" />\n </template>\n <div class=\"b-ai-tag__popover-content\">\n <bento-typography v-if=\"influencedValue\" variant=\"title\" medium class=\"b-ai-tag__influenced-value\">\n {{ influencedValue }}\n </bento-typography>\n\n <bento-typography variant=\"title\">\n {{ title }}\n </bento-typography>\n\n <bento-typography>\n {{ description }}\n </bento-typography>\n </div>\n </bento-popover>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, watch } from 'vue';\n import { BentoPopover } from '@/components/popover';\n import { BentoToggleButton } from '@/components/button';\n import { BentoTypography } from '@/components/typography';\n import { useClickOutside } from '@/composables';\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import type { BentoButtonActionsList } from '@/components/button/components/button-actions/button-actions.types';\n import ArtificialIntelligenceAiIcon from '@adyen/ui-assets-icons-16/vue/artificial-intelligence-ai-filled';\n import type { BentoAiTagProps } from './ai-tag.types';\n import messages from './messages.json';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const props = defineProps({\n title: null,\n description: null,\n influencedValue: { default: undefined },\n toggled: { type: Boolean, default: false },\n action: { default: undefined }\n});\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const toggled = ref(props.toggled);\n const aiTagRef = ref<HTMLElement | null>(null);\n const targetElement = ref<InstanceType<typeof BentoToggleButton> | null>(null);\n const popoverId = generateUid('b-ai-tag-popover');\n\n watch(\n () => props.toggled,\n value => {\n toggled.value = value;\n }\n );\n\n useClickOutside(aiTagRef, () => {\n closePopover();\n });\n\n const popoverActions = computed<BentoButtonActionsList>(() =>\n props.action\n ? [\n {\n ...props.action,\n variant: 'secondary',\n },\n ]\n : undefined\n );\n\n const emit = defineEmits([\"update:toggled\"]);\n\n const onToggle = (value: boolean) => {\n toggled.value = value;\n emit('update:toggled', value);\n };\n\n const closePopover = () => {\n if (toggled.value) {\n onToggle(false);\n }\n };\n</script>\n\n<script lang=\"ts\">\n /**\n * The AI tag is a component used to transparently identify content, data, or experiences that have been generated or\n * enhanced by artificial intelligence.\n *\n * @example\n * import { BentoAiTag } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoAiTag },\n * template: `\n * <bento-ai-tag\n * title=\"Input fields auto-filled by AI\"\n * description=\"Based on your documents uploaded, AI has auto-filled some information for you.\"\n * />\n * `\n * }\n */\n export default {\n i18n: { messages },\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./ai-tag.scss\" />\n"],"names":["__default__","messages","useI18n","toggled","ref","props","aiTagRef","targetElement","popoverId","generateUid","watch","value","useClickOutside","closePopover","popoverActions","computed","onToggle","emit"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuIIA,IAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAEf;;;;;;;;;;;;iBA/DA,EAAA,EAAA,IAAAC,EAAA,GAEAC,IAAAC,EAAAC,EAAA,OAAA,GACAC,IAAAF,EAAA,IAAA,GACAG,IAAAH,EAAA,IAAA,GACAI,IAAAC,EAAA,kBAAA;AAEA,IAAAC;AAAA,MAAA,MAAAL,EAAA;AAAA,MACgB,CAAAM,MAAA;AAER,QAAAR,EAAA,QAAAQ;AAAA,MAAgB;AAAA,IACpB,GAGJC,EAAAN,GAAA,MAAA;AACI,MAAAO,EAAA;AAAA,IAAa,CAAA;AAGjB,UAAAC,IAAAC;AAAA,MAAuB,MAAAV,EAAA,SAAA;AAAA,QAEb;AAAA,UACI,GAAAA,EAAA;AAAA,UACa,SAAA;AAAA,QACA;AAAA,MACb,IAAA;AAAA,IAEJ,GAKVW,IAAA,CAAAL,MAAA;AACI,MAAAR,EAAA,QAAAQ,GACAM,EAAA,kBAAAN,CAAA;AAAA,IAA4B,GAGhCE,IAAA,MAAA;AACI,MAAAV,EAAA,SACIa,EAAA,EAAA;AAAA,IACJ;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as T, ref as x, computed as m, watch as h, watchEffect as C, toRef as k } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { g as j, e as B, u as A, h as R, t as y, i as D, r as F } from "./index.ByaCaB1Z.js";
|
|
3
3
|
import { p as S, B as E } from "./typography.C8lPlsbD.js";
|
|
4
4
|
import { u as L } from "./index.B6WW_F-J.js";
|
|
5
5
|
import { g as M } from "./generate-uid.NJ8tVoha.js";
|
|
@@ -195,4 +195,4 @@ const se = q.exports;
|
|
|
195
195
|
export {
|
|
196
196
|
se as a
|
|
197
197
|
};
|
|
198
|
-
//# sourceMappingURL=anchor-scroller.
|
|
198
|
+
//# sourceMappingURL=anchor-scroller.cFxql5sk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anchor-scroller.DWaykZQj.js","sources":["../../src/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.vue","../../src/components/anchor-scroller/composables/use-scroll-spy/use-scroll-spy.ts","../../src/components/anchor-scroller/anchor-scroller.vue"],"sourcesContent":["<template>\n <ul class=\"b-anchor-scroller-list\" @keydown=\"onKeydownNavigation\">\n <li v-for=\"({ title, disabled, elementRef }, index) in items\" :key=\"index\" class=\"b-anchor-scroller-list__item\">\n <bento-button\n ref=\"listItemRefs\"\n :aria-current=\"activeIndex === index ? 'location' : null\"\n class=\"b-anchor-scroller-list__item-button\"\n :class=\"{\n 'b-anchor-scroller-list__item-button--active': activeIndex === index,\n 'b-anchor-scroller-list__item-button--disabled': disabled,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"activeIndex === index ? null : '-1'\"\n variant=\"tertiary-with-background\"\n @click=\"scrollToSection(elementRef, disabled)\"\n @keydown.space.native.prevent=\"scrollToSection(elementRef, disabled)\"\n @keydown.enter.native.prevent=\"scrollToSection(elementRef, disabled)\"\n >\n {{ title }}\n </bento-button>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\n import BentoButton from '@/components/button/button.vue';\n import { unrefElement } from '@/directives/click-outside/utils';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n import { type BentoAnchorScrollerItem } from '../../anchor-scroller.types';\n import { type AnchorScrollerListProps } from './anchor-scroller-list.types';\n import { computed, ref, watch } from 'vue';\n import { useCycleList } from '@vueuse/core';\n\n const props = defineProps({\n activeIndex: { default: undefined },\n items: null,\n scrollOffset: { default: undefined }\n});\n\n const listItemRefs = ref([]);\n const listIndices = computed(() =>\n props.items\n .map((item, index) => ({ disabled: item.disabled, originalIndex: index }))\n .filter(({ disabled }) => !disabled)\n .map(({ originalIndex }) => originalIndex)\n );\n\n const {\n state: focusedIndex,\n next,\n prev,\n } = useCycleList(listIndices, {\n initialValue: props.activeIndex ?? listIndices.value[0],\n });\n\n watch(focusedIndex, async newIndex => {\n const targetComponent = listItemRefs.value[newIndex];\n const el = unrefElement(targetComponent); // Handles Component or DOM node\n\n if (el && typeof el.focus === 'function') {\n el.focus();\n }\n });\n\n const scrollToSection = (elementRef: BentoAnchorScrollerItem['elementRef'], disabled?: boolean) => {\n if (disabled) {\n return;\n }\n\n const el = unrefElement(elementRef);\n\n if (!el) {\n printDevelopmentWarning(`[bento-anchor-scroller] element ref not found`);\n return;\n }\n\n if (!el.style.scrollMarginTop && props.scrollOffset) {\n const currentScrollMargin = window.getComputedStyle(el).scrollMarginTop;\n\n if (currentScrollMargin === '0px' || currentScrollMargin === '') {\n el.style.scrollMarginTop = `${props.scrollOffset}px`;\n }\n }\n\n if (!el.hasAttribute('tabindex')) {\n el.setAttribute('tabindex', '-1');\n }\n\n el.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'nearest',\n });\n\n el.focus({ preventScroll: true });\n };\n\n const onKeydownNavigation = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n prev();\n break;\n case 'Home':\n e.preventDefault();\n focusedIndex.value = 0;\n break;\n case 'End':\n e.preventDefault();\n focusedIndex.value = listIndices.value.length - 1;\n break;\n }\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller-list.scss\" />\n","import { type Ref, ref, watchEffect } from 'vue';\nimport { type MaybeRef, toValue, useWindowScroll, useWindowSize, watchThrottled } from '@vueuse/core';\n\n/**\n * Options for the useScrollSpy composable.\n */\nexport interface useScrollSpyOptions {\n /**\n * The default active index to use when no item is active or initially.\n */\n default?: Ref<number>;\n}\n\n/**\n * Composable to spy on scroll position and determine the active item based on visibility.\n *\n * @param items - The list of elements to spy on.\n * @param options - Configuration options for the scroll spy.\n * @returns An object containing the active index.\n */\nexport const useScrollSpy = (items: MaybeRef<Array<Element>>, options: useScrollSpyOptions) => {\n const activeIndex = ref(options.default?.value ?? -1);\n\n const { y: scrollY } = useWindowScroll();\n const { height: windowHeight } = useWindowSize();\n\n // Logic to find the \"winner\" when there are multiple items on the same page\n const calculateActiveIndex = () => {\n const list = toValue(items);\n const viewportHeight = windowHeight.value;\n const midpoint = viewportHeight / 2;\n\n let winnerIndex = -1;\n let maxVisibleRatio = 0;\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n const el = item;\n\n if (!el) {\n continue;\n }\n\n const rect = el.getBoundingClientRect();\n\n // Constraint 1: Must pass midpoint\n if (rect.top > midpoint) {\n continue;\n }\n\n // Constraint 2: Must be visible\n const visibleHeight = Math.min(rect.bottom, viewportHeight) - Math.max(rect.top, 0);\n if (visibleHeight <= 0) {\n continue;\n }\n\n // Constraint 3: Highest visible % wins\n const ratio = visibleHeight / rect.height;\n\n if (ratio > maxVisibleRatio) {\n maxVisibleRatio = ratio;\n winnerIndex = i;\n }\n }\n\n // Only update if changed to avoid unnecessary patch triggers\n if (winnerIndex !== -1 && activeIndex.value !== winnerIndex) {\n activeIndex.value = winnerIndex;\n }\n };\n\n watchThrottled([scrollY, windowHeight], calculateActiveIndex, { throttle: 100, trailing: true });\n\n watchEffect(() => {\n if (toValue(items).length) {\n calculateActiveIndex();\n }\n });\n\n return {\n activeIndex,\n };\n};\n","<template>\n <div v-if=\"computedItems.length\" class=\"b-anchor-scroller\">\n <nav\n ref=\"navigationRef\"\n class=\"b-anchor-scroller__navigation\"\n :class=\"navigationConditionalClasses\"\n :aria-labelledby=\"navLabelId\"\n >\n <fixed-scroller condensed centered>\n <div class=\"b-anchor-scroller__navigation-panel\">\n <bento-typography\n :id=\"navLabelId\"\n el=\"span\"\n class=\"b-anchor-scroller__navigation-panel-label\"\n stronger\n >\n {{ t('jumpTo') }}\n </bento-typography>\n\n <anchor-scroller-list\n :items=\"computedItems\"\n :active-index=\"currentActiveIndex\"\n :scroll-offset=\"bottom\"\n />\n </div>\n </fixed-scroller>\n </nav>\n\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, toRef, watch } from 'vue';\n import { refDebounced, useElementBounding } from '@vueuse/core';\n import BentoTypography from '@/components/typography/typography.vue';\n import { FixedScroller } from '@/internal';\n import { type BentoAnchorScrollerItem, type BentoAnchorScrollerProps } from './anchor-scroller.types';\n import { AnchorScrollerList } from './components/anchor-scroller-list';\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import { unrefElement } from '@/directives/click-outside/utils';\n import messages from './messages.json';\n import { useScrollSpy } from './composables';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const props = defineProps({\n activeIndex: { default: undefined },\n items: null\n});\n\n const emit = defineEmits([\"update:active-index\"]);\n\n const navigationRef = ref(null);\n\n const computedItems = computed<Array<BentoAnchorScrollerItem>>(() => props.items.map(item => ({ ...item })));\n\n // Skip and cache only items that are enabled\n const enabledItems = computed(() =>\n props.items\n .map((item, originalIndex) => ({\n element: unrefElement(item.elementRef),\n originalIndex,\n disabled: item.disabled,\n }))\n .filter(\n (item): item is { element: Element; originalIndex: number; disabled: boolean } =>\n !item.disabled && !!item.element\n )\n );\n\n const { top, bottom } = useElementBounding(navigationRef);\n\n // Extract strictly the elements for the ScrollSpy to watch\n const scrollToTargets = computed(() => enabledItems.value.map(c => c.element));\n\n const navigationConditionalClasses = computed(() => ({\n 'b-anchor-scroller__navigation--pinned': top.value <= 1,\n }));\n\n const { activeIndex: relativeActiveIndex } = useScrollSpy(scrollToTargets, {\n default: toRef(props, 'activeIndex'),\n });\n\n const debouncedActiveIndex = refDebounced(relativeActiveIndex, 200);\n\n const currentActiveIndex = computed(() => {\n const candidate = enabledItems.value[debouncedActiveIndex.value];\n\n return candidate ? candidate.originalIndex : 0;\n });\n\n watch(currentActiveIndex, val => {\n if (Number.isFinite(val)) {\n emit('update:active-index', val);\n }\n });\n\n watch(\n () => props.activeIndex,\n val => {\n if (Number.isFinite(val) && computedItems.value[val].disabled) {\n printDevelopmentWarning(`[bento-anchor-scroller] activeIndex should not be a disabled item`);\n }\n }\n );\n\n const navLabelId = generateUid('bento-anchor-scroller-label');\n</script>\n\n<script lang=\"ts\">\n /**\n * A navigation component that tracks page scroll and allows jumping to sections.\n *\n * @example\n * import { BentoAnchorScroller } from '@adyen/bento-vue2';\n * import { ref } from 'vue';\n *\n * export default {\n * components: { BentoAnchorScroller },\n * template: `\n * <bento-anchor-scroller :items=\"items\">\n * <section ref=\"section1\">Section 1</section>\n * <section ref=\"section2\">Section 2</section>\n * </bento-anchor-scroller>\n * `,\n * setup() {\n * const section1 = ref(null);\n * const section2 = ref(null);\n * const items = ref([\n * { title: 'Section 1', elementRef: section1 },\n * { title: 'Section 2', elementRef: section2 },\n * ]);\n * return {\n * items,\n * section1,\n * section2,\n * }\n * }\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-anchor-scroller',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller.scss\" />\n"],"names":["listItemRefs","ref","listIndices","computed","props","item","index","disabled","originalIndex","focusedIndex","next","prev","useCycleList","watch","newIndex","targetComponent","el","unrefElement","elementRef","printDevelopmentWarning","currentScrollMargin","e","useScrollSpy","items","options","activeIndex","_a","scrollY","useWindowScroll","windowHeight","useWindowSize","calculateActiveIndex","list","toValue","viewportHeight","midpoint","winnerIndex","maxVisibleRatio","i","rect","visibleHeight","ratio","watchThrottled","watchEffect","__default__","messages","useI18n","navigationRef","computedItems","enabledItems","top","bottom","useElementBounding","scrollToTargets","c","navigationConditionalClasses","relativeActiveIndex","toRef","debouncedActiveIndex","refDebounced","currentActiveIndex","candidate","val","emit","navLabelId","generateUid"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anchor-scroller.cFxql5sk.js","sources":["../../src/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.vue","../../src/components/anchor-scroller/composables/use-scroll-spy/use-scroll-spy.ts","../../src/components/anchor-scroller/anchor-scroller.vue"],"sourcesContent":["<template>\n <ul class=\"b-anchor-scroller-list\" @keydown=\"onKeydownNavigation\">\n <li v-for=\"({ title, disabled, elementRef }, index) in items\" :key=\"index\" class=\"b-anchor-scroller-list__item\">\n <bento-button\n ref=\"listItemRefs\"\n :aria-current=\"activeIndex === index ? 'location' : null\"\n class=\"b-anchor-scroller-list__item-button\"\n :class=\"{\n 'b-anchor-scroller-list__item-button--active': activeIndex === index,\n 'b-anchor-scroller-list__item-button--disabled': disabled,\n }\"\n :aria-disabled=\"disabled\"\n :tabindex=\"activeIndex === index ? null : '-1'\"\n variant=\"tertiary-with-background\"\n @click=\"scrollToSection(elementRef, disabled)\"\n @keydown.space.native.prevent=\"scrollToSection(elementRef, disabled)\"\n @keydown.enter.native.prevent=\"scrollToSection(elementRef, disabled)\"\n >\n {{ title }}\n </bento-button>\n </li>\n </ul>\n</template>\n\n<script setup lang=\"ts\">\n import BentoButton from '@/components/button/button.vue';\n import { unrefElement } from '@/directives/click-outside/utils';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n import { type BentoAnchorScrollerItem } from '../../anchor-scroller.types';\n import { type AnchorScrollerListProps } from './anchor-scroller-list.types';\n import { computed, ref, watch } from 'vue';\n import { useCycleList } from '@vueuse/core';\n\n const props = defineProps({\n activeIndex: { default: undefined },\n items: null,\n scrollOffset: { default: undefined }\n});\n\n const listItemRefs = ref([]);\n const listIndices = computed(() =>\n props.items\n .map((item, index) => ({ disabled: item.disabled, originalIndex: index }))\n .filter(({ disabled }) => !disabled)\n .map(({ originalIndex }) => originalIndex)\n );\n\n const {\n state: focusedIndex,\n next,\n prev,\n } = useCycleList(listIndices, {\n initialValue: props.activeIndex ?? listIndices.value[0],\n });\n\n watch(focusedIndex, async newIndex => {\n const targetComponent = listItemRefs.value[newIndex];\n const el = unrefElement(targetComponent); // Handles Component or DOM node\n\n if (el && typeof el.focus === 'function') {\n el.focus();\n }\n });\n\n const scrollToSection = (elementRef: BentoAnchorScrollerItem['elementRef'], disabled?: boolean) => {\n if (disabled) {\n return;\n }\n\n const el = unrefElement(elementRef);\n\n if (!el) {\n printDevelopmentWarning(`[bento-anchor-scroller] element ref not found`);\n return;\n }\n\n if (!el.style.scrollMarginTop && props.scrollOffset) {\n const currentScrollMargin = window.getComputedStyle(el).scrollMarginTop;\n\n if (currentScrollMargin === '0px' || currentScrollMargin === '') {\n el.style.scrollMarginTop = `${props.scrollOffset}px`;\n }\n }\n\n if (!el.hasAttribute('tabindex')) {\n el.setAttribute('tabindex', '-1');\n }\n\n el.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n inline: 'nearest',\n });\n\n el.focus({ preventScroll: true });\n };\n\n const onKeydownNavigation = (e: KeyboardEvent) => {\n switch (e.key) {\n case 'ArrowRight':\n e.preventDefault();\n next();\n break;\n case 'ArrowLeft':\n e.preventDefault();\n prev();\n break;\n case 'Home':\n e.preventDefault();\n focusedIndex.value = 0;\n break;\n case 'End':\n e.preventDefault();\n focusedIndex.value = listIndices.value.length - 1;\n break;\n }\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller-list.scss\" />\n","import { type Ref, ref, watchEffect } from 'vue';\nimport { type MaybeRef, toValue, useWindowScroll, useWindowSize, watchThrottled } from '@vueuse/core';\n\n/**\n * Options for the useScrollSpy composable.\n */\nexport interface useScrollSpyOptions {\n /**\n * The default active index to use when no item is active or initially.\n */\n default?: Ref<number>;\n}\n\n/**\n * Composable to spy on scroll position and determine the active item based on visibility.\n *\n * @param items - The list of elements to spy on.\n * @param options - Configuration options for the scroll spy.\n * @returns An object containing the active index.\n */\nexport const useScrollSpy = (items: MaybeRef<Array<Element>>, options: useScrollSpyOptions) => {\n const activeIndex = ref(options.default?.value ?? -1);\n\n const { y: scrollY } = useWindowScroll();\n const { height: windowHeight } = useWindowSize();\n\n // Logic to find the \"winner\" when there are multiple items on the same page\n const calculateActiveIndex = () => {\n const list = toValue(items);\n const viewportHeight = windowHeight.value;\n const midpoint = viewportHeight / 2;\n\n let winnerIndex = -1;\n let maxVisibleRatio = 0;\n\n for (let i = 0; i < list.length; i++) {\n const item = list[i];\n const el = item;\n\n if (!el) {\n continue;\n }\n\n const rect = el.getBoundingClientRect();\n\n // Constraint 1: Must pass midpoint\n if (rect.top > midpoint) {\n continue;\n }\n\n // Constraint 2: Must be visible\n const visibleHeight = Math.min(rect.bottom, viewportHeight) - Math.max(rect.top, 0);\n if (visibleHeight <= 0) {\n continue;\n }\n\n // Constraint 3: Highest visible % wins\n const ratio = visibleHeight / rect.height;\n\n if (ratio > maxVisibleRatio) {\n maxVisibleRatio = ratio;\n winnerIndex = i;\n }\n }\n\n // Only update if changed to avoid unnecessary patch triggers\n if (winnerIndex !== -1 && activeIndex.value !== winnerIndex) {\n activeIndex.value = winnerIndex;\n }\n };\n\n watchThrottled([scrollY, windowHeight], calculateActiveIndex, { throttle: 100, trailing: true });\n\n watchEffect(() => {\n if (toValue(items).length) {\n calculateActiveIndex();\n }\n });\n\n return {\n activeIndex,\n };\n};\n","<template>\n <div v-if=\"computedItems.length\" class=\"b-anchor-scroller\">\n <nav\n ref=\"navigationRef\"\n class=\"b-anchor-scroller__navigation\"\n :class=\"navigationConditionalClasses\"\n :aria-labelledby=\"navLabelId\"\n >\n <fixed-scroller condensed centered>\n <div class=\"b-anchor-scroller__navigation-panel\">\n <bento-typography\n :id=\"navLabelId\"\n el=\"span\"\n class=\"b-anchor-scroller__navigation-panel-label\"\n stronger\n >\n {{ t('jumpTo') }}\n </bento-typography>\n\n <anchor-scroller-list\n :items=\"computedItems\"\n :active-index=\"currentActiveIndex\"\n :scroll-offset=\"bottom\"\n />\n </div>\n </fixed-scroller>\n </nav>\n\n <slot />\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { computed, ref, toRef, watch } from 'vue';\n import { refDebounced, useElementBounding } from '@vueuse/core';\n import BentoTypography from '@/components/typography/typography.vue';\n import { FixedScroller } from '@/internal';\n import { type BentoAnchorScrollerItem, type BentoAnchorScrollerProps } from './anchor-scroller.types';\n import { AnchorScrollerList } from './components/anchor-scroller-list';\n import { useI18n } from '@/utils/ts/i18n';\n import { generateUid } from '@/core/utils/ts';\n import { unrefElement } from '@/directives/click-outside/utils';\n import messages from './messages.json';\n import { useScrollSpy } from './composables';\n import { printDevelopmentWarning } from '@/utils/ts/print-development-warning';\n\n type MessageSchema = (typeof messages)['en-US'];\n\n const { t } = useI18n<{ message: MessageSchema }>({ messages });\n\n const props = defineProps({\n activeIndex: { default: undefined },\n items: null\n});\n\n const emit = defineEmits([\"update:active-index\"]);\n\n const navigationRef = ref(null);\n\n const computedItems = computed<Array<BentoAnchorScrollerItem>>(() => props.items.map(item => ({ ...item })));\n\n // Skip and cache only items that are enabled\n const enabledItems = computed(() =>\n props.items\n .map((item, originalIndex) => ({\n element: unrefElement(item.elementRef),\n originalIndex,\n disabled: item.disabled,\n }))\n .filter(\n (item): item is { element: Element; originalIndex: number; disabled: boolean } =>\n !item.disabled && !!item.element\n )\n );\n\n const { top, bottom } = useElementBounding(navigationRef);\n\n // Extract strictly the elements for the ScrollSpy to watch\n const scrollToTargets = computed(() => enabledItems.value.map(c => c.element));\n\n const navigationConditionalClasses = computed(() => ({\n 'b-anchor-scroller__navigation--pinned': top.value <= 1,\n }));\n\n const { activeIndex: relativeActiveIndex } = useScrollSpy(scrollToTargets, {\n default: toRef(props, 'activeIndex'),\n });\n\n const debouncedActiveIndex = refDebounced(relativeActiveIndex, 200);\n\n const currentActiveIndex = computed(() => {\n const candidate = enabledItems.value[debouncedActiveIndex.value];\n\n return candidate ? candidate.originalIndex : 0;\n });\n\n watch(currentActiveIndex, val => {\n if (Number.isFinite(val)) {\n emit('update:active-index', val);\n }\n });\n\n watch(\n () => props.activeIndex,\n val => {\n if (Number.isFinite(val) && computedItems.value[val].disabled) {\n printDevelopmentWarning(`[bento-anchor-scroller] activeIndex should not be a disabled item`);\n }\n }\n );\n\n const navLabelId = generateUid('bento-anchor-scroller-label');\n</script>\n\n<script lang=\"ts\">\n /**\n * A navigation component that tracks page scroll and allows jumping to sections.\n *\n * @example\n * import { BentoAnchorScroller } from '@adyen/bento-vue2';\n * import { ref } from 'vue';\n *\n * export default {\n * components: { BentoAnchorScroller },\n * template: `\n * <bento-anchor-scroller :items=\"items\">\n * <section ref=\"section1\">Section 1</section>\n * <section ref=\"section2\">Section 2</section>\n * </bento-anchor-scroller>\n * `,\n * setup() {\n * const section1 = ref(null);\n * const section2 = ref(null);\n * const items = ref([\n * { title: 'Section 1', elementRef: section1 },\n * { title: 'Section 2', elementRef: section2 },\n * ]);\n * return {\n * items,\n * section1,\n * section2,\n * }\n * }\n * }\n */\n export default {\n i18n: { messages },\n name: 'bento-anchor-scroller',\n };\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller.scss\" />\n"],"names":["listItemRefs","ref","listIndices","computed","props","item","index","disabled","originalIndex","focusedIndex","next","prev","useCycleList","watch","newIndex","targetComponent","el","unrefElement","elementRef","printDevelopmentWarning","currentScrollMargin","e","useScrollSpy","items","options","activeIndex","_a","scrollY","useWindowScroll","windowHeight","useWindowSize","calculateActiveIndex","list","toValue","viewportHeight","midpoint","winnerIndex","maxVisibleRatio","i","rect","visibleHeight","ratio","watchThrottled","watchEffect","__default__","messages","useI18n","navigationRef","computedItems","enabledItems","top","bottom","useElementBounding","scrollToTargets","c","navigationConditionalClasses","relativeActiveIndex","toRef","debouncedActiveIndex","refDebounced","currentActiveIndex","candidate","val","emit","navLabelId","generateUid"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { defineComponent as G, useSlots as Y, ref as u, computed as l, inject as Q, watch as N, nextTick as X, onUnmounted as Z, useAttrs as V, onMounted as tt, provide as D, toRefs as et } from "vue";
|
|
2
2
|
import { B as at } from "./button.C9b2AC9w.js";
|
|
3
|
-
import { B as ot } from "./focus-trap.
|
|
3
|
+
import { B as ot } from "./focus-trap.D4WDxUwu.js";
|
|
4
4
|
import { u as q } from "./use-has-slot.C9lQZ6nz.js";
|
|
5
5
|
import { u as nt } from "./index.B6WW_F-J.js";
|
|
6
|
-
import { l as st } from "./button-actions.
|
|
6
|
+
import { l as st } from "./button-actions.CdsmKyvj.js";
|
|
7
7
|
import { g as lt } from "./generate-uid.NJ8tVoha.js";
|
|
8
8
|
import { C as it } from "./cross.CC_B-vG-.js";
|
|
9
|
-
import { b as ct, B as rt, D as ut, a as dt } from "./dialog-page.
|
|
9
|
+
import { b as ct, B as rt, D as ut, a as dt } from "./dialog-page.CziegEuc.js";
|
|
10
10
|
import { B as mt } from "./typography.C8lPlsbD.js";
|
|
11
|
-
import { F as pt } from "./footer-actions.
|
|
11
|
+
import { F as pt } from "./footer-actions.BoAzqs48.js";
|
|
12
12
|
import { o as ft } from "./resize.Bqks3WUm.js";
|
|
13
13
|
import { a as gt, G as _t } from "./grid-layout.1aIiz2N_.js";
|
|
14
14
|
import { n as W } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
@@ -337,4 +337,4 @@ export {
|
|
|
337
337
|
Ct as g,
|
|
338
338
|
Qt as h
|
|
339
339
|
};
|
|
340
|
-
//# sourceMappingURL=base-modal.
|
|
340
|
+
//# sourceMappingURL=base-modal.ByhHqRuT.js.map
|