@adyen/bento-vue2 1.100.0 → 1.101.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 +2 -0
- package/dist/@types/index.d.ts +145 -15
- 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/anchor-scroller.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/date-range-picker.css +1 -1
- package/dist/assets/dialog-page.css +1 -1
- package/dist/assets/dropdown.css +1 -1
- 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 -1
- package/dist/assets/secondary-nav.css +1 -1
- package/dist/assets/sidepanel.css +1 -1
- package/dist/assets/table-of-contents.css +1 -0
- package/dist/button.js +1 -1
- package/dist/card.js +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/chunks/{action-bar.DxZchfve.js → action-bar.C2ybt5w2.js} +32 -19
- package/dist/chunks/{action-bar.DxZchfve.js.map → action-bar.C2ybt5w2.js.map} +1 -1
- package/dist/chunks/{ai-tag.CD1eQnr_.js → ai-tag.DcQ6Gb-K.js} +15 -11
- package/dist/chunks/{ai-tag.CD1eQnr_.js.map → ai-tag.DcQ6Gb-K.js.map} +1 -1
- package/dist/chunks/anchor-scroller.BjagnSrr.js +138 -0
- package/dist/chunks/anchor-scroller.BjagnSrr.js.map +1 -0
- package/dist/chunks/{base-modal.BbMTTAi5.js → base-modal.DVE-ERAq.js} +5 -5
- package/dist/chunks/{base-modal.BbMTTAi5.js.map → base-modal.DVE-ERAq.js.map} +1 -1
- package/dist/chunks/{button-actions-with-menu.CpqyoKG5.js → button-actions-with-menu.D0gfA7NK.js} +8 -8
- package/dist/chunks/{button-actions-with-menu.CpqyoKG5.js.map → button-actions-with-menu.D0gfA7NK.js.map} +1 -1
- package/dist/chunks/{button-actions.Dxez8SNL.js → button-actions.IzFrNFdl.js} +2 -2
- package/dist/chunks/{button-actions.Dxez8SNL.js.map → button-actions.IzFrNFdl.js.map} +1 -1
- package/dist/chunks/{calendar.BKddGc3j.js → calendar.C1er_WEQ.js} +3 -3
- package/dist/chunks/{calendar.BKddGc3j.js.map → calendar.C1er_WEQ.js.map} +1 -1
- package/dist/chunks/{card.BzDmgKjO.js → card.CrlT9cUZ.js} +2 -2
- package/dist/chunks/{card.BzDmgKjO.js.map → card.CrlT9cUZ.js.map} +1 -1
- package/dist/chunks/{checkbox-group.mgC7eJkE.js → checkbox-group.DB_jfkk7.js} +3 -3
- package/dist/chunks/{checkbox-group.mgC7eJkE.js.map → checkbox-group.DB_jfkk7.js.map} +1 -1
- package/dist/chunks/{checkbox.CBawZCc6.js → checkbox.h0N7IHm8.js} +2 -2
- package/dist/chunks/{checkbox.CBawZCc6.js.map → checkbox.h0N7IHm8.js.map} +1 -1
- package/dist/chunks/{code-snippet.CY_C6Xyz.js → code-snippet.kMt5cWoQ.js} +4 -4
- package/dist/chunks/{code-snippet.CY_C6Xyz.js.map → code-snippet.kMt5cWoQ.js.map} +1 -1
- package/dist/chunks/{controls-group.BWzCb_GU.js → controls-group.CY_OeZWj.js} +2 -2
- package/dist/chunks/{controls-group.BWzCb_GU.js.map → controls-group.CY_OeZWj.js.map} +1 -1
- package/dist/chunks/{copy.DSFXER-x.js → copy.BZsYGReo.js} +3 -3
- package/dist/chunks/{copy.DSFXER-x.js.map → copy.BZsYGReo.js.map} +1 -1
- package/dist/chunks/{country.nGZJwp_A.js → country.DySY9sbA.js} +3 -3
- package/dist/chunks/{country.nGZJwp_A.js.map → country.DySY9sbA.js.map} +1 -1
- package/dist/chunks/{country.types.jjXwaoMl.js → country.types.8GCHsdGN.js} +264 -12
- package/dist/chunks/{country.types.jjXwaoMl.js.map → country.types.8GCHsdGN.js.map} +1 -1
- package/dist/chunks/{dashboard-section.BtqE_6Zy.js → dashboard-section.C0am_Mg0.js} +4 -4
- package/dist/chunks/{dashboard-section.BtqE_6Zy.js.map → dashboard-section.C0am_Mg0.js.map} +1 -1
- package/dist/chunks/{dashed-underline.Cl158pHL.js → dashed-underline.DsLL0ngM.js} +4 -4
- package/dist/chunks/{dashed-underline.Cl158pHL.js.map → dashed-underline.DsLL0ngM.js.map} +1 -1
- package/dist/chunks/{data-grid-template.yOSdF4nN.js → data-grid-template.CdUOgyY7.js} +4 -4
- package/dist/chunks/{data-grid-template.yOSdF4nN.js.map → data-grid-template.CdUOgyY7.js.map} +1 -1
- package/dist/chunks/{data-grid.D26rPQcn.js → data-grid.Bf6zUdyX.js} +457 -397
- package/dist/chunks/{data-grid.D26rPQcn.js.map → data-grid.Bf6zUdyX.js.map} +1 -1
- package/dist/chunks/{date-picker.nNtLItmg.js → date-picker.BBepKUgO.js} +21 -14
- package/dist/chunks/{date-picker.nNtLItmg.js.map → date-picker.BBepKUgO.js.map} +1 -1
- package/dist/chunks/{date-range-picker.DL-oePHl.js → date-range-picker.D0uLCflx.js} +333 -299
- package/dist/chunks/{date-range-picker.DL-oePHl.js.map → date-range-picker.D0uLCflx.js.map} +1 -1
- package/dist/chunks/{date-time-picker.D89IemgM.js → date-time-picker.BhN_QfHz.js} +33 -26
- package/dist/chunks/{date-time-picker.D89IemgM.js.map → date-time-picker.BhN_QfHz.js.map} +1 -1
- package/dist/chunks/{dialog-page.D_m11exR.js → dialog-page.DmFgW2fj.js} +10 -10
- package/dist/chunks/{dialog-page.D_m11exR.js.map → dialog-page.DmFgW2fj.js.map} +1 -1
- package/dist/chunks/{draggable-handle.BDUQTWrd.js → draggable-handle.CDqrZT_S.js} +455 -446
- package/dist/chunks/{draggable-handle.BDUQTWrd.js.map → draggable-handle.CDqrZT_S.js.map} +1 -1
- package/dist/chunks/{draggable.Jqy1iXq_.js → draggable.Nb5vnT8m.js} +10 -10
- package/dist/chunks/{draggable.Jqy1iXq_.js.map → draggable.Nb5vnT8m.js.map} +1 -1
- package/dist/chunks/{drawer.BuCNjIKQ.js → drawer.BNNqjUfa.js} +5 -5
- package/dist/chunks/{drawer.BuCNjIKQ.js.map → drawer.BNNqjUfa.js.map} +1 -1
- package/dist/chunks/{dropdown-tag.CCItycfH.js → dropdown-tag.kif6bX9j.js} +5 -5
- package/dist/chunks/{dropdown-tag.CCItycfH.js.map → dropdown-tag.kif6bX9j.js.map} +1 -1
- package/dist/chunks/{dropdown.CLHXtH0r.js → dropdown.CNeiCIX1.js} +1168 -981
- package/dist/chunks/dropdown.CNeiCIX1.js.map +1 -0
- package/dist/chunks/{field-label.CkMM3cXO.js → field-label.BK492U-5.js} +2 -2
- package/dist/chunks/{field-label.CkMM3cXO.js.map → field-label.BK492U-5.js.map} +1 -1
- package/dist/chunks/{file-uploader.C1GuWVEI.js → file-uploader.BfYeFveb.js} +178 -149
- package/dist/chunks/{file-uploader.C1GuWVEI.js.map → file-uploader.BfYeFveb.js.map} +1 -1
- package/dist/chunks/{filter-bar.Dq3fo3rZ.js → filter-bar.8e-FTGtC.js} +34 -17
- package/dist/chunks/{filter-bar.Dq3fo3rZ.js.map → filter-bar.8e-FTGtC.js.map} +1 -1
- package/dist/chunks/{focus-trap.CUZQ1kQD.js → focus-trap.Bu-ikp7k.js} +22 -22
- package/dist/chunks/{focus-trap.CUZQ1kQD.js.map → focus-trap.Bu-ikp7k.js.map} +1 -1
- package/dist/chunks/{footer-actions.BB94G3iB.js → footer-actions.Dd7P41be.js} +2 -2
- package/dist/chunks/{footer-actions.BB94G3iB.js.map → footer-actions.Dd7P41be.js.map} +1 -1
- package/dist/chunks/{header-meta.Bq8moJ6A.js → header-meta.fpJBnhvY.js} +4 -4
- package/dist/chunks/{header-meta.Bq8moJ6A.js.map → header-meta.fpJBnhvY.js.map} +1 -1
- package/dist/chunks/{header-with-views.yjk4GuOn.js → header-with-views.CK2y86LY.js} +312 -267
- package/dist/chunks/{header-with-views.yjk4GuOn.js.map → header-with-views.CK2y86LY.js.map} +1 -1
- package/dist/chunks/{header.C8dI-yo1.js → header.BX5Tzbwf.js} +3 -3
- package/dist/chunks/{header.C8dI-yo1.js.map → header.BX5Tzbwf.js.map} +1 -1
- package/dist/chunks/index.v5OGTDYQ.js +685 -0
- package/dist/chunks/{index.BPUMyryR.js.map → index.v5OGTDYQ.js.map} +1 -1
- package/dist/chunks/{info-icon.ZVQsMymB.js → info-icon.W_lLmt4_.js} +3 -3
- package/dist/chunks/{info-icon.ZVQsMymB.js.map → info-icon.W_lLmt4_.js.map} +1 -1
- package/dist/chunks/{input-field-password.Dkty2s5M.js → input-field-password.Bd0EP9aP.js} +67 -52
- package/dist/chunks/{input-field-password.Dkty2s5M.js.map → input-field-password.Bd0EP9aP.js.map} +1 -1
- package/dist/chunks/{input-field-phone-number.CdT4hLCR.js → input-field-phone-number.DU6PcBhh.js} +3 -3
- package/dist/chunks/{input-field-phone-number.CdT4hLCR.js.map → input-field-phone-number.DU6PcBhh.js.map} +1 -1
- package/dist/chunks/{input-field.3BC9gdvi.js → input-field.da7JJxbN.js} +3 -3
- package/dist/chunks/{input-field.3BC9gdvi.js.map → input-field.da7JJxbN.js.map} +1 -1
- package/dist/chunks/{input-time.OTVaDCFj.js → input-time.DRgOtk85.js} +3 -3
- package/dist/chunks/{input-time.OTVaDCFj.js.map → input-time.DRgOtk85.js.map} +1 -1
- package/dist/chunks/{inspector.Cas-Z-VC.js → inspector.Cp6Er3Ms.js} +19 -12
- package/dist/chunks/{inspector.Cas-Z-VC.js.map → inspector.Cp6Er3Ms.js.map} +1 -1
- package/dist/chunks/{layout-row.CTBhpBUq.js → layout-row.BJauMQF5.js} +2 -2
- package/dist/chunks/{layout-row.CTBhpBUq.js.map → layout-row.BJauMQF5.js.map} +1 -1
- package/dist/chunks/{list-item.Cf3IFDnG.js → list-item.ueytfaOM.js} +28 -28
- package/dist/chunks/{list-item.Cf3IFDnG.js.map → list-item.ueytfaOM.js.map} +1 -1
- package/dist/chunks/{listbox-option-tag.BFW39wpD.js → listbox-option-tag.1fFyp2M_.js} +2 -2
- package/dist/chunks/{listbox-option-tag.BFW39wpD.js.map → listbox-option-tag.1fFyp2M_.js.map} +1 -1
- package/dist/chunks/{modal-fullscreen.B1iYD7lc.js → modal-fullscreen.p_FV_vXG.js} +4 -4
- package/dist/chunks/{modal-fullscreen.B1iYD7lc.js.map → modal-fullscreen.p_FV_vXG.js.map} +1 -1
- package/dist/chunks/{modal.Cp2cNQbD.js → modal.DgeYMVDb.js} +4 -4
- package/dist/chunks/{modal.Cp2cNQbD.js.map → modal.DgeYMVDb.js.map} +1 -1
- package/dist/chunks/{navigation-menu-group.Dvs0wWHC.js → navigation-menu-group.BCYHB3Mu.js} +3 -3
- package/dist/chunks/{navigation-menu-group.Dvs0wWHC.js.map → navigation-menu-group.BCYHB3Mu.js.map} +1 -1
- package/dist/chunks/{pagination.9fxG-UWo.js → pagination.CdI10wgA.js} +2 -2
- package/dist/chunks/{pagination.9fxG-UWo.js.map → pagination.CdI10wgA.js.map} +1 -1
- package/dist/chunks/popover.types.BlDGQMDh.js +6 -0
- package/dist/chunks/{popover.types.ZXsQ9bA6.js.map → popover.types.BlDGQMDh.js.map} +1 -1
- package/dist/chunks/{popper-container.dxpRn9a5.js → popper-container.CupcVcH4.js} +2 -2
- package/dist/chunks/{popper-container.dxpRn9a5.js.map → popper-container.CupcVcH4.js.map} +1 -1
- package/dist/chunks/{promo-banner.eVbU1xqj.js → promo-banner.BSM_p36y.js} +2 -2
- package/dist/chunks/{promo-banner.eVbU1xqj.js.map → promo-banner.BSM_p36y.js.map} +1 -1
- package/dist/chunks/{radio-group.D5fpHqkP.js → radio-group.Pt5G8AsM.js} +3 -3
- package/dist/chunks/{radio-group.D5fpHqkP.js.map → radio-group.Pt5G8AsM.js.map} +1 -1
- package/dist/chunks/{rich-text-editor.DYfdUHI6.js → rich-text-editor.DAV5dgA-.js} +115 -109
- package/dist/chunks/{rich-text-editor.DYfdUHI6.js.map → rich-text-editor.DAV5dgA-.js.map} +1 -1
- package/dist/chunks/scroll-to-section.MPzOkzfL.js +111 -0
- package/dist/chunks/scroll-to-section.MPzOkzfL.js.map +1 -0
- package/dist/chunks/{search-bar.d8qlBngk.js → search-bar.B_fGqmSD.js} +3 -3
- package/dist/chunks/{search-bar.d8qlBngk.js.map → search-bar.B_fGqmSD.js.map} +1 -1
- package/dist/chunks/{secondary-nav.BQ6DM8_b.js → secondary-nav.Bi1KX8SE.js} +4 -4
- package/dist/chunks/{secondary-nav.BQ6DM8_b.js.map → secondary-nav.Bi1KX8SE.js.map} +1 -1
- package/dist/chunks/{segmented-control.BOyYIUEp.js → segmented-control.DbsLdnFw.js} +2 -2
- package/dist/chunks/{segmented-control.BOyYIUEp.js.map → segmented-control.DbsLdnFw.js.map} +1 -1
- package/dist/chunks/{selection-card-group.lNZ8z318.js → selection-card-group.CLK_QWBz.js} +3 -3
- package/dist/chunks/{selection-card-group.lNZ8z318.js.map → selection-card-group.CLK_QWBz.js.map} +1 -1
- package/dist/chunks/{sidepanel.CUqjE_-9.js → sidepanel.BMqSdvei.js} +5 -5
- package/dist/chunks/{sidepanel.CUqjE_-9.js.map → sidepanel.BMqSdvei.js.map} +1 -1
- package/dist/chunks/{structured-list-item.jO4KtMuc.js → structured-list-item.BGJkRWzZ.js} +4 -4
- package/dist/chunks/{structured-list-item.jO4KtMuc.js.map → structured-list-item.BGJkRWzZ.js.map} +1 -1
- package/dist/chunks/{summary-grid.types.BsjF5xAH.js → summary-grid.types.DoqqC0Oh.js} +5 -5
- package/dist/chunks/{summary-grid.types.BsjF5xAH.js.map → summary-grid.types.DoqqC0Oh.js.map} +1 -1
- package/dist/chunks/{tab.qhcMgSD1.js → tab.Czc7MNHi.js} +2 -2
- package/dist/chunks/{tab.qhcMgSD1.js.map → tab.Czc7MNHi.js.map} +1 -1
- package/dist/chunks/table-of-contents.qdVwRFSZ.js +102 -0
- package/dist/chunks/table-of-contents.qdVwRFSZ.js.map +1 -0
- package/dist/chunks/{tag.XeZzHnx_.js → tag.iASz63QF.js} +2 -2
- package/dist/chunks/{tag.XeZzHnx_.js.map → tag.iASz63QF.js.map} +1 -1
- package/dist/chunks/{textarea.BOQbOPm4.js → textarea.CF6TlSCO.js} +2 -2
- package/dist/chunks/{textarea.BOQbOPm4.js.map → textarea.CF6TlSCO.js.map} +1 -1
- package/dist/chunks/{timeline-item.DXhpupK_.js → timeline-item.B20jb5oD.js} +6 -6
- package/dist/chunks/{timeline-item.DXhpupK_.js.map → timeline-item.B20jb5oD.js.map} +1 -1
- package/dist/chunks/{tooltip.CGeGVHyl.js → tooltip.BSKGP8TU.js} +3 -3
- package/dist/chunks/{tooltip.CGeGVHyl.js.map → tooltip.BSKGP8TU.js.map} +1 -1
- package/dist/chunks/{tutorial.CAcBuXib.js → tutorial.vDtiRIXg.js} +4 -4
- package/dist/chunks/{tutorial.CAcBuXib.js.map → tutorial.vDtiRIXg.js.map} +1 -1
- package/dist/chunks/{use-bento-delayed-hover.CxJOLxok.js → use-bento-delayed-hover.4geX83Rn.js} +2 -2
- package/dist/chunks/{use-bento-delayed-hover.CxJOLxok.js.map → use-bento-delayed-hover.4geX83Rn.js.map} +1 -1
- package/dist/chunks/{use-country-items.B4j8pAvW.js → use-country-items.CmCRY7QX.js} +3 -3
- package/dist/chunks/{use-country-items.B4j8pAvW.js.map → use-country-items.CmCRY7QX.js.map} +1 -1
- package/dist/chunks/{use-country-phon-code.ByqnuIni.js → use-country-phon-code.BWkb546s.js} +513 -258
- package/dist/chunks/{use-country-phon-code.ByqnuIni.js.map → use-country-phon-code.BWkb546s.js.map} +1 -1
- package/dist/chunks/{use-date-input-formatter.BR_O2GeY.js → use-date-input-formatter.CXmBPNf1.js} +2 -2
- package/dist/chunks/{use-date-input-formatter.BR_O2GeY.js.map → use-date-input-formatter.CXmBPNf1.js.map} +1 -1
- package/dist/code-snippet.js +1 -1
- package/dist/country.js +3 -3
- 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/date-time-picker.js +1 -1
- package/dist/draggable.js +2 -2
- package/dist/drawer.js +1 -1
- package/dist/dropdown.js +2 -2
- 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 +139 -137
- 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 +1 -1
- 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/summary-grid.js +1 -1
- package/dist/table-of-contents.js +5 -0
- package/dist/table-of-contents.js.map +1 -0
- package/dist/tabs.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 +226 -1
- package/package.json +4 -4
- package/dist/chunks/anchor-scroller.BiHtyUJz.js +0 -198
- package/dist/chunks/anchor-scroller.BiHtyUJz.js.map +0 -1
- package/dist/chunks/dropdown.CLHXtH0r.js.map +0 -1
- package/dist/chunks/index.BPUMyryR.js +0 -729
- package/dist/chunks/popover.types.ZXsQ9bA6.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
button[data-v-14334916]{background-color:transparent;border:0;font:inherit;text-align:inherit}button[data-v-14334916]:focus-visible{outline:none}.b-secondary-nav-item[data-v-14334916]{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-14334916],.b-secondary-nav-item[data-v-14334916]:before,.b-secondary-nav-item[data-v-14334916]:after{box-sizing:border-box}.b-secondary-nav-item *[data-v-14334916],.b-secondary-nav-item *[data-v-14334916]:before,.b-secondary-nav-item *[data-v-14334916]:after{box-sizing:border-box}.b-secondary-nav-item[data-v-14334916] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav-item[data-v-14334916] ::-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-14334916]{position:relative}.b-secondary-nav-item__option[data-v-14334916]{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-14334916]:hover{background-color:var(--b-color-background-primary-hover)}}.b-secondary-nav-item__option[data-v-14334916]:active,.b-secondary-nav-item__option--active[data-v-14334916]{background-color:var(--b-color-background-primary-active)}.b-secondary-nav-item__option[data-v-14334916]:focus-visible{animation:outer-ring-default-14334916 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-14334916{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-14334916]{padding-left:var(--b-spacer-080)}.b-secondary-nav-item__option--expandable[data-v-14334916]{padding-right:var(--b-spacer-100)}.b-secondary-nav-item__toggle[data-v-14334916]{position:absolute;right:var(--b-spacer-050);top:50%;transform:translateY(-50%)}.b-secondary-nav-item__toggle[data-v-14334916]:after{content:"";display:block;inset:calc(var(--b-spacer-050) * -1);position:absolute}.b-secondary-nav-item__visually-hidden[data-v-14334916]{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.b-secondary-nav-item__sub-items[data-v-14334916]{list-style:none;padding:0}.b-secondary-nav-item__animation--content-enter-active[data-v-14334916]{animation:fade-in-
|
|
1
|
+
button[data-v-14334916]{background-color:transparent;border:0;font:inherit;text-align:inherit}button[data-v-14334916]:focus-visible{outline:none}.b-secondary-nav-item[data-v-14334916]{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-14334916],.b-secondary-nav-item[data-v-14334916]:before,.b-secondary-nav-item[data-v-14334916]:after{box-sizing:border-box}.b-secondary-nav-item *[data-v-14334916],.b-secondary-nav-item *[data-v-14334916]:before,.b-secondary-nav-item *[data-v-14334916]:after{box-sizing:border-box}.b-secondary-nav-item[data-v-14334916] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav-item[data-v-14334916] ::-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-14334916]{position:relative}.b-secondary-nav-item__option[data-v-14334916]{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-14334916]:hover{background-color:var(--b-color-background-primary-hover)}}.b-secondary-nav-item__option[data-v-14334916]:active,.b-secondary-nav-item__option--active[data-v-14334916]{background-color:var(--b-color-background-primary-active)}.b-secondary-nav-item__option[data-v-14334916]:focus-visible{animation:outer-ring-default-14334916 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-14334916{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-14334916]{padding-left:var(--b-spacer-080)}.b-secondary-nav-item__option--expandable[data-v-14334916]{padding-right:var(--b-spacer-100)}.b-secondary-nav-item__toggle[data-v-14334916]{position:absolute;right:var(--b-spacer-050);top:50%;transform:translateY(-50%)}.b-secondary-nav-item__toggle[data-v-14334916]:after{content:"";display:block;inset:calc(var(--b-spacer-050) * -1);position:absolute}.b-secondary-nav-item__visually-hidden[data-v-14334916]{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.b-secondary-nav-item__sub-items[data-v-14334916]{list-style:none;padding:0}.b-secondary-nav-item__animation--content-enter-active[data-v-14334916]{animation:fade-in-uklriil-14334916 var(--b-animation-duration-moderate) var(--b-animation-easing-linear),enter-uklriil-14334916 var(--b-animation-duration-moderate) var(--b-animation-easing-enter),scale-up-uklriil-14334916 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-uklriil-14334916{0%{opacity:0}to{opacity:1}}@keyframes scale-up-uklriil-14334916{0%{scale:1}to{scale:1}}@keyframes enter-uklriil-14334916{0%{translate:0 -8px}to{translate:0 0}}.b-secondary-nav-item__animation--content-leave-active[data-v-14334916]{animation:fade-out-uklriiz-14334916 var(--b-animation-duration-moderate) var(--b-animation-easing-linear),exit-uklriiz-14334916 var(--b-animation-duration-moderate) var(--b-animation-easing-exit),scale-down-uklriiz-14334916 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-uklriiz-14334916{0%{opacity:1}to{opacity:0}}@keyframes scale-down-uklriiz-14334916{0%{scale:1}to{scale:1}}@keyframes exit-uklriiz-14334916{0%{translate:0 0}to{translate:0 -8px}}.b-secondary-nav-category[data-v-777b2ce6]{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-777b2ce6],.b-secondary-nav-category[data-v-777b2ce6]:before,.b-secondary-nav-category[data-v-777b2ce6]:after{box-sizing:border-box}.b-secondary-nav-category *[data-v-777b2ce6],.b-secondary-nav-category *[data-v-777b2ce6]:before,.b-secondary-nav-category *[data-v-777b2ce6]:after{box-sizing:border-box}.b-secondary-nav-category[data-v-777b2ce6] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav-category[data-v-777b2ce6] ::-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-777b2ce6]{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-900dc964]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.b-secondary-nav[data-v-900dc964],.b-secondary-nav[data-v-900dc964]:before,.b-secondary-nav[data-v-900dc964]:after{box-sizing:border-box}.b-secondary-nav *[data-v-900dc964],.b-secondary-nav *[data-v-900dc964]:before,.b-secondary-nav *[data-v-900dc964]:after{box-sizing:border-box}.b-secondary-nav[data-v-900dc964] ::-webkit-scrollbar{height:14px;width:14px}.b-secondary-nav[data-v-900dc964] ::-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-900dc964]{max-width:250px}}.b-secondary-nav[data-v-900dc964] .b-secondary-nav__list{list-style:none;margin:0;padding:0}.b-secondary-nav__option[data-v-900dc964]{align-items:center;display:flex;gap:var(--b-spacer-040)}.b-secondary-nav__nested-option[data-v-900dc964]{padding-left:var(--b-spacer-070)}.b-secondary-nav__visually-hidden[data-v-900dc964]{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
|
|
@@ -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-uklri7d-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-enter)}@keyframes enter-uklri7d-e2c7d722{0%{translate:100% 0}to{translate:0 0}}.b-sidepanel[open][data-v-e2c7d722]::backdrop{animation:fade-in-uklri8d-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-linear)}@keyframes fade-in-uklri8d-e2c7d722{0%{opacity:0}to{opacity:.5}}.b-sidepanel--hide[open][data-v-e2c7d722]{animation:exit-uklri95-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-exit)}@keyframes exit-uklri95-e2c7d722{0%{translate:0 0}to{translate:100% 0}}.b-sidepanel--hide[open][data-v-e2c7d722]::backdrop{animation:fade-out-uklria0-e2c7d722 var(--b-animation-duration-slow, .25s) var(--b-animation-easing-linear)}@keyframes fade-out-uklria0-e2c7d722{0%{opacity:.5}to{opacity:0}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.b-table-of-contents__toc[data-v-daeebeb1]{all:unset;list-style-type:none}.b-table-of-contents__item[data-v-daeebeb1]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.b-table-of-contents__item[data-v-daeebeb1],.b-table-of-contents__item[data-v-daeebeb1]:before,.b-table-of-contents__item[data-v-daeebeb1]:after{box-sizing:border-box}.b-table-of-contents__item *[data-v-daeebeb1],.b-table-of-contents__item *[data-v-daeebeb1]:before,.b-table-of-contents__item *[data-v-daeebeb1]:after{box-sizing:border-box}.b-table-of-contents__item[data-v-daeebeb1] ::-webkit-scrollbar{height:14px;width:14px}.b-table-of-contents__item[data-v-daeebeb1] ::-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-table-of-contents__item-title[data-v-daeebeb1]{align-items:center;color:var(--b-color-label-primary);cursor:pointer;display:flex;min-height:24px;text-decoration:underline}.b-table-of-contents__item-title[data-v-daeebeb1]:focus-visible{outline:none}.b-table-of-contents__item-title[data-v-daeebeb1]:focus-visible{animation:outer-ring-default-daeebeb1 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);border-radius:var(--b-border-radius-xs)}@keyframes outer-ring-default-daeebeb1{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)}}@media(min-width:376px){.b-table-of-contents__item-title[data-v-daeebeb1]{border-left:var(--b-border-width-m) solid var(--b-color-separator-primary);color:var(--b-color-label-secondary);padding-left:var(--b-spacer-070);text-decoration:none}}@media(min-width:376px)and (hover:hover){.b-table-of-contents__item-title[data-v-daeebeb1]:hover{color:var(--b-color-label-primary)}}@media(min-width:376px){.b-table-of-contents__item-title[data-v-daeebeb1]:focus-visible{border-radius:0}}.b-table-of-contents__item-label[data-v-daeebeb1]{min-width:0;overflow-wrap:break-word}@media(min-width:376px){.b-table-of-contents__item--active .b-table-of-contents__item-title[data-v-daeebeb1]{border-left:var(--b-border-width-m) solid var(--b-color-background-inverse-primary);color:var(--b-color-label-primary)}}.b-table-of-contents__item--level-2 .b-table-of-contents__item-title[data-v-daeebeb1]{padding-left:var(--b-spacer-070)}@media(min-width:376px){.b-table-of-contents__item--level-2 .b-table-of-contents__item-title[data-v-daeebeb1]{padding-left:calc(var(--b-spacer-070) + var(--b-spacer-060))}}.b-table-of-contents__item--level-3 .b-table-of-contents__item-title[data-v-daeebeb1]{padding-left:calc(var(--b-spacer-070) + var(--b-spacer-060))}@media(min-width:376px){.b-table-of-contents__item--level-3 .b-table-of-contents__item-title[data-v-daeebeb1]{padding-left:calc(var(--b-spacer-070) + var(--b-spacer-060) * 2)}}.b-table-of-contents__item--level-4 .b-table-of-contents__item-title[data-v-daeebeb1]{padding-left:calc(var(--b-spacer-070) + var(--b-spacer-060) * 2)}@media(min-width:376px){.b-table-of-contents__item--level-4 .b-table-of-contents__item-title[data-v-daeebeb1]{padding-left:calc(var(--b-spacer-070) + var(--b-spacer-060) * 3)}}.b-table-of-contents__item-separator[data-v-daeebeb1]{height:10px}@media(min-width:376px){.b-table-of-contents__item-separator[data-v-daeebeb1]{border-left:var(--b-border-width-m) solid var(--b-color-separator-primary)}}.b-table-of-contents[data-v-325b3a45]{scrollbar-color:var(--b-color-background-quaternary) transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;flex-direction:column;gap:var(--b-spacer-080)}.b-table-of-contents[data-v-325b3a45],.b-table-of-contents[data-v-325b3a45]:before,.b-table-of-contents[data-v-325b3a45]:after{box-sizing:border-box}.b-table-of-contents *[data-v-325b3a45],.b-table-of-contents *[data-v-325b3a45]:before,.b-table-of-contents *[data-v-325b3a45]:after{box-sizing:border-box}.b-table-of-contents[data-v-325b3a45] ::-webkit-scrollbar{height:14px;width:14px}.b-table-of-contents[data-v-325b3a45] ::-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-table-of-contents__header[data-v-325b3a45]{color:var(--b-color-label-primary);min-width:0;overflow-wrap:break-word}
|
package/dist/button.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { B as n, a as B, b as a } from "./chunks/button.Df_UH5wZ.js";
|
|
2
2
|
import { a as s } from "./chunks/ai-button.y1t1nqpv.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.IzFrNFdl.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.h0N7IHm8.js";
|
|
2
|
+
import { B as x, a as n } from "./chunks/checkbox-group.DB_jfkk7.js";
|
|
3
3
|
import { C } from "./chunks/minus-small.DJacLGTw.js";
|
|
4
4
|
export {
|
|
5
5
|
t as BentoCheckbox,
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { defineComponent as D, computed as s, ref as c, toRefs as G, watch as w, provide as j, nextTick as
|
|
1
|
+
import { defineComponent as D, computed as s, ref as c, toRefs as G, watch as w, provide as j, nextTick as y } from "vue";
|
|
2
2
|
import { B as J } from "./button.Df_UH5wZ.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.D0gfA7NK.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 {
|
|
11
|
-
import { P as ne, B as te } from "./button-actions.
|
|
10
|
+
import { b as ee } from "./index.v5OGTDYQ.js";
|
|
11
|
+
import { P as ne, B as te } from "./button-actions.IzFrNFdl.js";
|
|
12
12
|
import { n as ae } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
13
13
|
import "../assets/action-bar.css";
|
|
14
14
|
const se = {
|
|
@@ -51,6 +51,19 @@ const se = {
|
|
|
51
51
|
undo: "Undo",
|
|
52
52
|
unsavedChanges: "Unsaved changes | unsaved change | unsaved changes"
|
|
53
53
|
},
|
|
54
|
+
"es-419": {
|
|
55
|
+
actionBar: "Barra de acción",
|
|
56
|
+
applying: "Aplicando...",
|
|
57
|
+
cancel: "Cancelar",
|
|
58
|
+
close: "Cerrar",
|
|
59
|
+
retry: "Reintentar",
|
|
60
|
+
save: "Guardar",
|
|
61
|
+
selected: "seleccionado",
|
|
62
|
+
somethingWentWrong: "Ocurrió un error",
|
|
63
|
+
success: "¡Éxito!",
|
|
64
|
+
undo: "Deshacer",
|
|
65
|
+
unsavedChanges: "Cambios no guardados | cambio no guardado | cambios no guardados"
|
|
66
|
+
},
|
|
54
67
|
"es-ES": {
|
|
55
68
|
actionBar: "Barra de acción",
|
|
56
69
|
applying: "Aplicando...",
|
|
@@ -226,7 +239,7 @@ const se = {
|
|
|
226
239
|
},
|
|
227
240
|
emits: ["close", "cancel", "save", "undo-action", "retry-action", "cancel-action"],
|
|
228
241
|
setup(l, { emit: n }) {
|
|
229
|
-
const t = l, e = 100, r = 7, B = 500,
|
|
242
|
+
const t = l, e = 100, r = 7, B = 500, h = 32, { t: i, tc: E, n: I } = H(), k = s(() => t.selectionLabel ? t.selectionLabel : i("selected")), x = s(() => {
|
|
230
243
|
switch (t.state) {
|
|
231
244
|
case "loading":
|
|
232
245
|
return i("applying");
|
|
@@ -237,12 +250,12 @@ const se = {
|
|
|
237
250
|
default:
|
|
238
251
|
return "";
|
|
239
252
|
}
|
|
240
|
-
}), m = c(null), u = c(null),
|
|
253
|
+
}), m = c(null), u = c(null), f = c(null), g = c(!1), R = s(
|
|
241
254
|
() => t.state === "loading" ? "out-in" : void 0
|
|
242
255
|
), T = s(
|
|
243
256
|
() => t.state === "loading" || t.state === "success" && !t.showUndoAction
|
|
244
257
|
), F = (a) => {
|
|
245
|
-
t.state === "loading" && (u.value = `${a.offsetWidth}px`,
|
|
258
|
+
t.state === "loading" && (u.value = `${a.offsetWidth}px`, f.value = "100%");
|
|
246
259
|
}, U = (a) => {
|
|
247
260
|
if (t.state !== "loading")
|
|
248
261
|
return;
|
|
@@ -252,7 +265,7 @@ const se = {
|
|
|
252
265
|
u.value = `${v}px`;
|
|
253
266
|
});
|
|
254
267
|
}, L = () => {
|
|
255
|
-
u.value = null,
|
|
268
|
+
u.value = null, f.value = null, t.state === "fail" && (g.value = !0);
|
|
256
269
|
}, N = (a) => {
|
|
257
270
|
a.animationName.startsWith("shake-") && (g.value = !1);
|
|
258
271
|
}, { extraBottomSpacing: A, visibleActions: W } = G(t), { width: d } = ee(), o = c(null), p = c(null), S = s(() => t.variant === "confirmation");
|
|
@@ -263,11 +276,11 @@ const se = {
|
|
|
263
276
|
},
|
|
264
277
|
{ immediate: !0 }
|
|
265
278
|
);
|
|
266
|
-
const
|
|
279
|
+
const O = s(() => ({
|
|
267
280
|
"b-action-bar--extra-spacing": A.value,
|
|
268
281
|
"b-action-bar--confirmation": S.value,
|
|
269
282
|
"b-action-bar__state-animation--shake": g.value
|
|
270
|
-
})),
|
|
283
|
+
})), M = s(() => ({
|
|
271
284
|
[`b-action-bar__container--${t.state}`]: t.state !== "start"
|
|
272
285
|
}));
|
|
273
286
|
j(ne, r);
|
|
@@ -275,8 +288,8 @@ const se = {
|
|
|
275
288
|
const a = t.actions.map((z) => ({
|
|
276
289
|
...z,
|
|
277
290
|
variant: "secondary"
|
|
278
|
-
})), v = a.slice(0, o.value).reverse(),
|
|
279
|
-
return [...v, ...
|
|
291
|
+
})), v = a.slice(0, o.value).reverse(), b = a.slice(o.value);
|
|
292
|
+
return [...v, ...b];
|
|
280
293
|
}), P = s(() => [
|
|
281
294
|
{
|
|
282
295
|
title: i("save"),
|
|
@@ -288,20 +301,20 @@ const se = {
|
|
|
288
301
|
event: () => n("cancel")
|
|
289
302
|
}
|
|
290
303
|
]), $ = s(() => t.itemCounter == null || t.itemCounter < 1), _ = async () => {
|
|
291
|
-
await
|
|
304
|
+
await y(), d.value > m.value.clientWidth + h + e && o.value < p.value && (o.value += 1, _());
|
|
292
305
|
}, C = async () => {
|
|
293
|
-
await
|
|
306
|
+
await y(), d.value < m.value.clientWidth + h && o.value > 0 && (o.value -= 1, C());
|
|
294
307
|
};
|
|
295
308
|
return w(
|
|
296
309
|
() => d.value,
|
|
297
310
|
async (a, v) => {
|
|
298
|
-
if (await
|
|
311
|
+
if (await y(), !m.value)
|
|
299
312
|
return;
|
|
300
|
-
const
|
|
301
|
-
d.value < B ? o.value = 0 :
|
|
313
|
+
const b = a > v;
|
|
314
|
+
d.value < B ? o.value = 0 : b ? _() : C();
|
|
302
315
|
},
|
|
303
316
|
{ immediate: !0 }
|
|
304
|
-
), { __sfc: !0, AVERAGE_BUTTON_SIZE: e, MENU_OFFSET: r, RESPONSIVE_BREAKPOINT: B, SPACING:
|
|
317
|
+
), { __sfc: !0, AVERAGE_BUTTON_SIZE: e, MENU_OFFSET: r, RESPONSIVE_BREAKPOINT: B, SPACING: h, props: t, emit: n, t: i, tc: E, n: I, label: k, defaultStateLabel: x, actionBar: m, containerMaxWidth: u, containerWidth: f, isShaking: g, stateTransitionMode: R, hideStateActions: T, onBeforeLeave: F, onEnter: U, onAfterEnter: L, onAnimationEnd: N, extraBottomSpacing: A, visibleActions: W, width: d, internalDisplayedActions: o, internalVisibleActions: p, isConfirmationVariant: S, conditionalClasses: O, containerClasses: M, actionsInternal: V, confirmationActions: P, noItemCounter: $, showActions: _, hideActions: C, BentoButton: J, BentoButtonActions: te, BentoTypography: K, BentoLoadingIndicator: q, ButtonActionsWithMenu: Q, CrossIcon: X, CheckmarkCircleFill: Y, CrossCircleFill: Z };
|
|
305
318
|
}
|
|
306
319
|
});
|
|
307
320
|
var re = function() {
|
|
@@ -331,4 +344,4 @@ const Be = le.exports;
|
|
|
331
344
|
export {
|
|
332
345
|
Be as B
|
|
333
346
|
};
|
|
334
|
-
//# sourceMappingURL=action-bar.
|
|
347
|
+
//# sourceMappingURL=action-bar.C2ybt5w2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-bar.DxZchfve.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgZIA,KAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,GAAA;AAEf;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAjSAC,IAAA,KACAC,IAAA,GACAC,IAAA,KACAC,IAAA,IAkFA,EAAA,GAAAC,GAAA,IAAAC,GAAA,GAAAC,EAAA,IAAAC,EAAA,GACAC,IAAAC,EAAA,MAAAC,EAAA,iBAAAA,EAAA,iBAAAN,EAAA,UAAA,CAAA,GAEAO,IAAAF,EAAA,MAAA;AACI,cAAAC,EAAA,OAAA;AAAA,QAAqB,KAAA;AAEb,iBAAAN,EAAA,UAAA;AAAA,QAAmB,KAAA;AAEnB,iBAAAA,EAAA,SAAA;AAAA,QAAkB,KAAA;AAElB,iBAAAA,EAAA,oBAAA;AAAA,QAA6B;AAE7B,iBAAA;AAAA,MAAO;AAAA,IACf,CAAA,GAIJQ,IAAAC,EAAA,IAAA,GACAC,IAAAD,EAAA,IAAA,GACAE,IAAAF,EAAA,IAAA,GACAG,IAAAH,EAAA,EAAA,GAEAI,IAAAR;AAAA,MAA4B,MAAAC,EAAA,UAAA,YAAA,WAAA;AAAA,IACsB,GAGlDQ,IAAAT;AAAA,MAAyB,MAAAC,EAAA,UAAA,aAAAA,EAAA,UAAA,aAAA,CAAAA,EAAA;AAAA,IACmD,GAG5ES,IAAA,CAAAC,MAAA;AACI,MAAAV,EAAA,UAAA,cAIAI,EAAA,QAAA,GAAAM,EAAA,WAAA,MACAL,EAAA,QAAA;AAAA,IAAuB,GAG3BM,IAAA,CAAAD,MAAA;AACI,UAAAV,EAAA,UAAA;AACI;AAIJ,aAAA,OAAAU,EAAA,OAAA,EAAA,OAAA,QAAA,UAAA,OAAA,CAAA;AACA,YAAAE,IAAAF,EAAA;AAGA,aAAA,OAAAA,EAAA,OAAA,EAAA,OAAA,QAAA,UAAAN,EAAA,MAAA,CAAA,GAEA,sBAAA,MAAA;AACI,QAAAA,EAAA,QAAA,GAAAQ,CAAA;AAAA,MAAqC,CAAA;AAAA,IACxC,GAGLC,IAAA,MAAA;AACI,MAAAT,EAAA,QAAA,MACAC,EAAA,QAAA,MAEAL,EAAA,UAAA,WACIM,EAAA,QAAA;AAAA,IACJ,GAGJQ,IAAA,CAAAC,MAAA;AACI,MAAAA,EAAA,cAAA,WAAA,QAAA,MACIT,EAAA,QAAA;AAAA,IACJ,GAGJ,EAAA,oBAAAU,GAAA,gBAAAC,EAAA,IAAAC,EAAAlB,CAAA,GACA,EAAA,OAAAmB,EAAA,IAAAC,GAAA,GACAC,IAAAlB,EAAA,IAAA,GACAmB,IAAAnB,EAAA,IAAA,GAEAoB,IAAAxB,EAAA,MAAAC,EAAA,YAAA,cAAA;AAEA,IAAAwB;AAAA,MAAA,MAAAP,EAAA;AAAA,MACyB,CAAAQ,MAAA;AAEjB,QAAAH,EAAA,QAAAG,KAAA,IAAAA,IAAA,GACAJ,EAAA,QAAAC,EAAA;AAAA,MAAwD;AAAA,MAC5D,EAAA,WAAA,GAAA;AAAA,IACkB;AAItB,UAAAI,IAAA3B,EAAA,OAAA;AAAA,MAA2C,+BAAAiB,EAAA;AAAA,MACW,8BAAAO,EAAA;AAAA,MACE,wCAAAjB,EAAA;AAAA,IACF,EAAA,GAGtDqB,IAAA5B,EAAA,OAAA;AAAA,MAAyC,CAAA,4BAAAC,EAAA,KAAA,EAAA,GAAAA,EAAA,UAAA;AAAA,IACwB,EAAA;AAIjE,IAAA4B,EAAAC,IAAAtC,CAAA;AAGA,UAAAuC,IAAA/B,EAAA,MAAA;AAEI,YAAAgC,IAAA/B,EAAA,QAAA,IAAA,CAAAgC,OAAA;AAAA,QAA6C,GAAAA;AAAA,QACtC,SAAA;AAAA,MACM,EAAA,GAGbC,IAAAF,EAAA,MAAA,GAAAV,EAAA,KAAA,EAAA,QAAA,GACAa,IAAAH,EAAA,MAAAV,EAAA,KAAA;AAEA,aAAA,CAAA,GAAAY,GAAA,GAAAC,CAAA;AAAA,IAAyC,CAAA,GAG7CC,IAAApC,EAAA,MAAA;AAAA,MAAmE;AAAA,QAC/D,OAAAL,EAAA,MAAA;AAAA,QACmB,OAAA,MAAA0C,EAAA,MAAA;AAAA,MACS;AAAA,MAC5B;AAAA,QACA,OAAA1C,EAAA,QAAA;AAAA,QACqB,SAAA;AAAA,QACR,OAAA,MAAA0C,EAAA,QAAA;AAAA,MACiB;AAAA,IAC9B,CAAA,GAGJC,IAAAtC,EAAA,MACIC,EAAA,eAAA,QAAAA,EAAA,cAAA,CAAwD,GAI5DsC,IAAA,YAAA;AACI,YAAAC,EAAA,GACApB,EAAA,QAAAjB,EAAA,MAAA,cAAAT,IAAAH,KAAA+B,EAAA,QAAAC,EAAA,UAIID,EAAA,SAAA,GACAiB,EAAA;AAAA,IACJ,GAGJE,IAAA,YAAA;AACI,YAAAD,EAAA,GACApB,EAAA,QAAAjB,EAAA,MAAA,cAAAT,KAAA4B,EAAA,QAAA,MACIA,EAAA,SAAA,GACAmB,EAAA;AAAA,IACJ;AAIJ,WAAAhB;AAAA,MAAA,MAAAL,EAAA;AAAA,MACgB,OAAAsB,GAAAC,MAAA;AAGR,YADA,MAAAH,EAAA,GACA,CAAArC,EAAA;AACI;AAEJ,cAAAyC,IAAAF,IAAAC;AACA,QAAAvB,EAAA,QAAA3B,IACI6B,EAAA,QAAA,IAAiCsB,IAEjCL,EAAA,IAEAE,EAAA;AAAA,MACJ;AAAA,MACJ,EAAA,WAAA,GAAA;AAAA,IACkB;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"action-bar.C2ybt5w2.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.IzFrNFdl.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";
|
|
@@ -20,6 +20,10 @@ const h = {
|
|
|
20
20
|
ai: "AI",
|
|
21
21
|
aiExplained: "AI explained"
|
|
22
22
|
},
|
|
23
|
+
"es-419": {
|
|
24
|
+
ai: "AI",
|
|
25
|
+
aiExplained: "IA explicada"
|
|
26
|
+
},
|
|
23
27
|
"es-ES": {
|
|
24
28
|
ai: "IA",
|
|
25
29
|
aiExplained: "IA explicada"
|
|
@@ -62,11 +66,11 @@ const h = {
|
|
|
62
66
|
},
|
|
63
67
|
emits: ["update:toggled"],
|
|
64
68
|
setup(l, { emit: e }) {
|
|
65
|
-
const a = l, { t } = x(),
|
|
69
|
+
const a = l, { t } = x(), i = n(a.toggled), r = n(null), c = n(null), d = y("b-ai-tag-popover");
|
|
66
70
|
f(
|
|
67
71
|
() => a.toggled,
|
|
68
|
-
(
|
|
69
|
-
|
|
72
|
+
(o) => {
|
|
73
|
+
i.value = o;
|
|
70
74
|
}
|
|
71
75
|
), v(r, () => {
|
|
72
76
|
p();
|
|
@@ -78,18 +82,18 @@ const h = {
|
|
|
78
82
|
variant: "secondary"
|
|
79
83
|
}
|
|
80
84
|
] : void 0
|
|
81
|
-
), s = (
|
|
82
|
-
|
|
85
|
+
), s = (o) => {
|
|
86
|
+
i.value = o, e("update:toggled", o);
|
|
83
87
|
}, p = () => {
|
|
84
|
-
|
|
88
|
+
i.value && s(!1);
|
|
85
89
|
};
|
|
86
|
-
return { __sfc: !0, props: a, t, toggled:
|
|
90
|
+
return { __sfc: !0, props: a, t, toggled: i, aiTagRef: r, targetElement: c, popoverId: d, popoverActions: g, emit: e, onToggle: s, closePopover: p, BentoPopover: I, BentoToggleButton: m, BentoTypography: A, ArtificialIntelligenceAiIcon: E };
|
|
87
91
|
}
|
|
88
92
|
});
|
|
89
93
|
var k = function() {
|
|
90
94
|
var e = this, a = e._self._c, t = e._self._setupProxy;
|
|
91
|
-
return a("div", { ref: "aiTagRef", staticClass: "b-ai-tag", on: { keydown: function(
|
|
92
|
-
return !
|
|
95
|
+
return a("div", { ref: "aiTagRef", staticClass: "b-ai-tag", on: { keydown: function(i) {
|
|
96
|
+
return !i.type.indexOf("key") && e._k(i.keyCode, "esc", 27, i.key, ["Esc", "Escape"]) ? null : t.closePopover.apply(null, arguments);
|
|
93
97
|
} } }, [a(t.BentoToggleButton, { ref: "targetElement", staticClass: "b-ai-tag__trigger", attrs: { toggled: t.toggled, "aria-controls": t.popoverId, variant: "secondary", condensed: "" }, on: { "update:toggled": t.onToggle }, scopedSlots: e._u([{ key: "iconLeft", fn: function() {
|
|
94
98
|
return [a(t.ArtificialIntelligenceAiIcon, { staticClass: "b-ai-tag__trigger-icon", attrs: { "aria-hidden": !0 } })];
|
|
95
99
|
}, proxy: !0 }]) }, [e._v(" " + e._s(t.t("ai")) + " ")]), t.targetElement ? a(t.BentoPopover, { attrs: { id: t.popoverId, open: t.toggled, "target-element": t.targetElement, actions: t.popoverActions, "actions-layout": "fill-container", title: t.t("aiExplained"), "trap-all": "", "trap-all-options": { onDeactivate: t.closePopover, allowOutsideClick: !0 }, "fixed-positioning": "", "overflow-visible": "" }, on: { dismiss: t.closePopover }, scopedSlots: e._u([{ key: "headerIcon", fn: function() {
|
|
@@ -107,4 +111,4 @@ const F = P.exports;
|
|
|
107
111
|
export {
|
|
108
112
|
F as a
|
|
109
113
|
};
|
|
110
|
-
//# sourceMappingURL=ai-tag.
|
|
114
|
+
//# sourceMappingURL=ai-tag.DcQ6Gb-K.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-tag.
|
|
1
|
+
{"version":3,"file":"ai-tag.DcQ6Gb-K.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;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { defineComponent as v, computed as c, toRef as b, ref as S, watch as f } from "vue";
|
|
2
|
+
import { i as y, r as T } from "./index.v5OGTDYQ.js";
|
|
3
|
+
import { p as C, B as k } from "./typography.C8lPlsbD.js";
|
|
4
|
+
import { u as j } from "./index.B6WW_F-J.js";
|
|
5
|
+
import { g as B } from "./generate-uid.NJ8tVoha.js";
|
|
6
|
+
import { u as F } from "./utils.BzUwtTXc.js";
|
|
7
|
+
import { u as R, s as w, a as A } from "./scroll-to-section.MPzOkzfL.js";
|
|
8
|
+
import { B as D } from "./button.Df_UH5wZ.js";
|
|
9
|
+
import { n as I } from "./_plugin-vue2_normalizer.CeySl7Fu.js";
|
|
10
|
+
import { F as N } from "./fixed-scroller.BFuYW-M3.js";
|
|
11
|
+
import "../assets/anchor-scroller.css";
|
|
12
|
+
const O = /* @__PURE__ */ v({
|
|
13
|
+
__name: "anchor-scroller-list",
|
|
14
|
+
props: {
|
|
15
|
+
activeIndex: { default: void 0 },
|
|
16
|
+
items: null,
|
|
17
|
+
scrollOffset: { default: void 0 }
|
|
18
|
+
},
|
|
19
|
+
setup(u) {
|
|
20
|
+
const e = u, n = c(() => e.items), { isFocusable: t, navigationItemRefs: l, onKeydownNavigation: s } = R(n, {
|
|
21
|
+
isDisabled: (a) => a.disabled,
|
|
22
|
+
initialIndex: b(e, "activeIndex")
|
|
23
|
+
});
|
|
24
|
+
return { __sfc: !0, props: e, navigationItems: n, isFocusable: t, navigationItemRefs: l, onKeydownNavigation: s, onScrollToSection: (a, r) => w(a, {
|
|
25
|
+
disabled: r,
|
|
26
|
+
scrollOffset: e.scrollOffset,
|
|
27
|
+
warningPrefix: "bento-anchor-scroller"
|
|
28
|
+
}), BentoButton: D };
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
var E = function() {
|
|
32
|
+
var e = this, n = e._self._c, t = e._self._setupProxy;
|
|
33
|
+
return n("ul", { staticClass: "b-anchor-scroller-list", on: { keydown: t.onKeydownNavigation } }, e._l(e.items, function({ title: l, disabled: s, elementRef: i }, a) {
|
|
34
|
+
return n("li", { key: a, staticClass: "b-anchor-scroller-list__item" }, [n(t.BentoButton, { ref: "navigationItemRefs", refInFor: !0, staticClass: "b-anchor-scroller-list__item-button", class: {
|
|
35
|
+
"b-anchor-scroller-list__item-button--active": e.activeIndex === a,
|
|
36
|
+
"b-anchor-scroller-list__item-button--disabled": s
|
|
37
|
+
}, attrs: { "aria-current": e.activeIndex === a ? "location" : null, "aria-disabled": s, tabindex: t.isFocusable(a) ? null : "-1", variant: "tertiary-with-background" }, on: { click: function(r) {
|
|
38
|
+
return t.onScrollToSection(i, s);
|
|
39
|
+
} }, nativeOn: { keydown: [function(r) {
|
|
40
|
+
return !r.type.indexOf("key") && e._k(r.keyCode, "space", 32, r.key, [" ", "Spacebar"]) ? null : (r.preventDefault(), t.onScrollToSection(i, s));
|
|
41
|
+
}, function(r) {
|
|
42
|
+
return !r.type.indexOf("key") && e._k(r.keyCode, "enter", 13, r.key, "Enter") ? null : (r.preventDefault(), t.onScrollToSection(i, s));
|
|
43
|
+
}] } }, [e._v(" " + e._s(l) + " ")])], 1);
|
|
44
|
+
}), 0);
|
|
45
|
+
}, L = [], P = /* @__PURE__ */ I(
|
|
46
|
+
O,
|
|
47
|
+
E,
|
|
48
|
+
L,
|
|
49
|
+
!1,
|
|
50
|
+
null,
|
|
51
|
+
"a49180be"
|
|
52
|
+
);
|
|
53
|
+
const z = P.exports, J = {
|
|
54
|
+
"de-DE": {
|
|
55
|
+
jumpTo: "Springe zu"
|
|
56
|
+
},
|
|
57
|
+
"en-GB": {
|
|
58
|
+
jumpTo: "Jump to"
|
|
59
|
+
},
|
|
60
|
+
"en-US": {
|
|
61
|
+
jumpTo: "Jump to"
|
|
62
|
+
},
|
|
63
|
+
"es-ES": {
|
|
64
|
+
jumpTo: "Saltar a"
|
|
65
|
+
},
|
|
66
|
+
"es-MX": {
|
|
67
|
+
jumpTo: "Saltar a"
|
|
68
|
+
},
|
|
69
|
+
"fr-FR": {
|
|
70
|
+
jumpTo: "Passer à"
|
|
71
|
+
},
|
|
72
|
+
"it-IT": {
|
|
73
|
+
jumpTo: "Vai a"
|
|
74
|
+
},
|
|
75
|
+
"ja-JP": {
|
|
76
|
+
jumpTo: "移動先"
|
|
77
|
+
},
|
|
78
|
+
"pt-BR": {
|
|
79
|
+
jumpTo: "Ir para"
|
|
80
|
+
},
|
|
81
|
+
"zh-CN": {
|
|
82
|
+
jumpTo: "跳转到"
|
|
83
|
+
}
|
|
84
|
+
}, K = {
|
|
85
|
+
i18n: { messages: J },
|
|
86
|
+
name: "bento-anchor-scroller"
|
|
87
|
+
}, U = /* @__PURE__ */ v({
|
|
88
|
+
...K,
|
|
89
|
+
props: {
|
|
90
|
+
activeIndex: { default: void 0 },
|
|
91
|
+
items: null
|
|
92
|
+
},
|
|
93
|
+
emits: ["update:active-index"],
|
|
94
|
+
setup(u, { emit: e }) {
|
|
95
|
+
const n = u, { t } = j(), l = S(null), s = c(() => n.items.map((o) => ({ ...o }))), i = c(
|
|
96
|
+
() => n.items.map((o, x) => ({
|
|
97
|
+
element: F(o.elementRef),
|
|
98
|
+
originalIndex: x,
|
|
99
|
+
disabled: o.disabled
|
|
100
|
+
})).filter(
|
|
101
|
+
(o) => !o.disabled && !!o.element
|
|
102
|
+
)
|
|
103
|
+
), { top: a, bottom: r } = y(l), d = c(() => i.value.map((o) => o.element)), g = c(() => ({
|
|
104
|
+
"b-anchor-scroller__navigation--pinned": a.value <= 1
|
|
105
|
+
})), { activeIndex: m } = A(d, {
|
|
106
|
+
default: b(n, "activeIndex")
|
|
107
|
+
}), p = T(m, 200), _ = c(() => {
|
|
108
|
+
const o = i.value[p.value];
|
|
109
|
+
return o ? o.originalIndex : 0;
|
|
110
|
+
});
|
|
111
|
+
f(_, (o) => {
|
|
112
|
+
Number.isFinite(o) && e("update:active-index", o);
|
|
113
|
+
}), f(
|
|
114
|
+
() => n.activeIndex,
|
|
115
|
+
(o) => {
|
|
116
|
+
Number.isFinite(o) && s.value[o].disabled && C("[bento-anchor-scroller] activeIndex should not be a disabled item");
|
|
117
|
+
}
|
|
118
|
+
);
|
|
119
|
+
const h = B("bento-anchor-scroller-label");
|
|
120
|
+
return { __sfc: !0, t, props: n, emit: e, navigationRef: l, computedItems: s, enabledItems: i, top: a, bottom: r, scrollToTargets: d, navigationConditionalClasses: g, relativeActiveIndex: m, debouncedActiveIndex: p, currentActiveIndex: _, navLabelId: h, BentoTypography: k, FixedScroller: N, AnchorScrollerList: z };
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
var G = function() {
|
|
124
|
+
var e = this, n = e._self._c, t = e._self._setupProxy;
|
|
125
|
+
return t.computedItems.length ? n("div", { staticClass: "b-anchor-scroller" }, [n("nav", { ref: "navigationRef", staticClass: "b-anchor-scroller__navigation", class: t.navigationConditionalClasses, attrs: { "aria-labelledby": t.navLabelId } }, [n(t.FixedScroller, { attrs: { condensed: "", centered: "" } }, [n("div", { staticClass: "b-anchor-scroller__navigation-panel" }, [n(t.BentoTypography, { staticClass: "b-anchor-scroller__navigation-panel-label", attrs: { id: t.navLabelId, el: "span", stronger: "" } }, [e._v(" " + e._s(t.t("jumpTo")) + " ")]), n(t.AnchorScrollerList, { attrs: { items: t.computedItems, "active-index": t.currentActiveIndex, "scroll-offset": t.bottom } })], 1)])], 1), e._t("default")], 2) : e._e();
|
|
126
|
+
}, M = [], V = /* @__PURE__ */ I(
|
|
127
|
+
U,
|
|
128
|
+
G,
|
|
129
|
+
M,
|
|
130
|
+
!1,
|
|
131
|
+
null,
|
|
132
|
+
"a963f9fd"
|
|
133
|
+
);
|
|
134
|
+
const ne = V.exports;
|
|
135
|
+
export {
|
|
136
|
+
ne as a
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=anchor-scroller.BjagnSrr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anchor-scroller.BjagnSrr.js","sources":["../../src/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.vue","../../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=\"navigationItemRefs\"\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=\"isFocusable(index) ? null : '-1'\"\n variant=\"tertiary-with-background\"\n @click=\"onScrollToSection(elementRef, disabled)\"\n @keydown.space.native.prevent=\"onScrollToSection(elementRef, disabled)\"\n @keydown.enter.native.prevent=\"onScrollToSection(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 { useSectionNavigationKeyboard } from '@/composables/use-section-navigation-keyboard';\n import { scrollToSection, type ScrollToSectionTarget } from '@/utils/ts/scroll-to-section';\n import { type AnchorScrollerListProps } from './anchor-scroller-list.types';\n import { computed, toRef } from 'vue';\n\n const props = defineProps({\n activeIndex: { default: undefined },\n items: null,\n scrollOffset: { default: undefined }\n});\n\n const navigationItems = computed(() => props.items);\n const { isFocusable, navigationItemRefs, onKeydownNavigation } = useSectionNavigationKeyboard(navigationItems, {\n isDisabled: item => item.disabled,\n initialIndex: toRef(props, 'activeIndex'),\n });\n\n const onScrollToSection = (\n elementRef: AnchorScrollerListProps['items'][number]['elementRef'],\n disabled?: boolean\n ) =>\n scrollToSection(elementRef as ScrollToSectionTarget, {\n disabled,\n scrollOffset: props.scrollOffset,\n warningPrefix: 'bento-anchor-scroller',\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./anchor-scroller-list.scss\" />\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/use-scroll-spy';\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":["navigationItems","computed","props","isFocusable","navigationItemRefs","onKeydownNavigation","useSectionNavigationKeyboard","item","toRef","elementRef","disabled","scrollToSection","__default__","messages","useI18n","navigationRef","ref","computedItems","enabledItems","originalIndex","unrefElement","top","bottom","useElementBounding","scrollToTargets","c","navigationConditionalClasses","relativeActiveIndex","useScrollSpy","debouncedActiveIndex","refDebounced","currentActiveIndex","candidate","watch","val","emit","printDevelopmentWarning","navLabelId","generateUid"],"mappings":";;;;;;;;;;;;;;;;;;;iBAqCIA,IAAAC,EAAA,MAAAC,EAAA,KAAA,GACA,EAAA,aAAAC,GAAA,oBAAAC,GAAA,qBAAAC,EAAA,IAAAC,EAAAN,GAAA;AAAA,MAA+G,YAAA,CAAAO,MAAAA,EAAA;AAAA,MAClF,cAAAC,EAAAN,GAAA,aAAA;AAAA,IACe,CAAA;wIAG5C,CAAAO,GAAAC,MAAAC,EAAAF,GAAA;AAAA,MAIyD,UAAAC;AAAA,MACjD,cAAAR,EAAA;AAAA,MACoB,eAAA;AAAA,IACL,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GC+FvBU,IAAA;AAAA,EAAe,MAAA,EAAA,UAAAC,EAAA;AAAA,EACM,MAAA;AAErB;;;;;;;;iBApGA,EAAA,EAAA,IAAAC,EAAA,GASAC,IAAAC,EAAA,IAAA,GAEAC,IAAAhB,EAAA,MAAAC,EAAA,MAAA,IAAA,CAAAK,OAAA,EAAA,GAAAA,EAAA,EAAA,CAAA,GAGAW,IAAAjB;AAAA,MAAqB,MAAAC,EAAA,MAAA,IAAA,CAAAK,GAAAY,OAAA;AAAA,QAEkB,SAAAC,EAAAb,EAAA,UAAA;AAAA,QACU,eAAAY;AAAA,QACrC,UAAAZ,EAAA;AAAA,MACe,EAAA,EAAA;AAAA,QAElB,CAAAA,MAAA,CAAAA,EAAA,YAAA,CAAA,CAAAA,EAAA;AAAA,MAEgC;AAAA,IACjC,GAGR,EAAA,KAAAc,GAAA,QAAAC,EAAA,IAAAC,EAAAR,CAAA,GAGAS,IAAAvB,EAAA,MAAAiB,EAAA,MAAA,IAAA,CAAAO,MAAAA,EAAA,OAAA,CAAA,GAEAC,IAAAzB,EAAA,OAAA;AAAA,MAAqD,yCAAAoB,EAAA,SAAA;AAAA,IACK,EAAA,GAG1D,EAAA,aAAAM,EAAA,IAAAC,EAAAJ,GAAA;AAAA,MAA2E,SAAAhB,EAAAN,GAAA,aAAA;AAAA,IACpC,CAAA,GAGvC2B,IAAAC,EAAAH,GAAA,GAAA,GAEAI,IAAA9B,EAAA,MAAA;AACI,YAAA+B,IAAAd,EAAA,MAAAW,EAAA,KAAA;AAEA,aAAAG,IAAAA,EAAA,gBAAA;AAAA,IAA6C,CAAA;AAGjD,IAAAC,EAAAF,GAAA,CAAAG,MAAA;AACI,MAAA,OAAA,SAAAA,CAAA,KACIC,EAAA,uBAAAD,CAAA;AAAA,IACJ,CAAA,GAGJD;AAAA,MAAA,MAAA/B,EAAA;AAAA,MACgB,CAAAgC,MAAA;AAER,QAAA,OAAA,SAAAA,CAAA,KAAAjB,EAAA,MAAAiB,CAAA,EAAA,YACIE,EAAA,mEAAA;AAAA,MACJ;AAAA,IACJ;AAGJ,UAAAC,IAAAC,EAAA,6BAAA;;;;;;;;;;;;;;;;"}
|
|
@@ -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.Df_UH5wZ.js";
|
|
3
|
-
import { B as ot } from "./focus-trap.
|
|
3
|
+
import { B as ot } from "./focus-trap.Bu-ikp7k.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.IzFrNFdl.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.DmFgW2fj.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.Dd7P41be.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.DVE-ERAq.js.map
|