@commercetools/nimbus 3.3.0 → 3.4.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/chunks/{Button-FcraQeen.esm.js → Button-B5g2BgY8.esm.js} +2 -2
- package/dist/chunks/{Button-FcraQeen.esm.js.map → Button-B5g2BgY8.esm.js.map} +1 -1
- package/dist/chunks/{Button-z5JjDtpy.cjs → Button-CZDjIKB1.cjs} +2 -2
- package/dist/chunks/{Button-z5JjDtpy.cjs.map → Button-CZDjIKB1.cjs.map} +1 -1
- package/dist/chunks/{Calendar-1qYv3Pn9.cjs → Calendar-B-gzTAl8.cjs} +2 -2
- package/dist/chunks/{Calendar-1qYv3Pn9.cjs.map → Calendar-B-gzTAl8.cjs.map} +1 -1
- package/dist/chunks/{Calendar-oiqHeWzY.esm.js → Calendar-B6F41FfL.esm.js} +2 -2
- package/dist/chunks/{Calendar-oiqHeWzY.esm.js.map → Calendar-B6F41FfL.esm.js.map} +1 -1
- package/dist/chunks/Collection-CgMG1nwQ.esm.js +53 -0
- package/dist/chunks/Collection-CgMG1nwQ.esm.js.map +1 -0
- package/dist/chunks/Collection-yMt_pwdK.cjs +2 -0
- package/dist/chunks/Collection-yMt_pwdK.cjs.map +1 -0
- package/dist/chunks/DateField-CHfV6zH4.cjs +2 -0
- package/dist/chunks/{DateField-DI1RhZqo.cjs.map → DateField-CHfV6zH4.cjs.map} +1 -1
- package/dist/chunks/{DateField-DUetJOyf.esm.js → DateField-C_r7fpt5.esm.js} +49 -48
- package/dist/chunks/{DateField-DUetJOyf.esm.js.map → DateField-C_r7fpt5.esm.js.map} +1 -1
- package/dist/chunks/{DatePicker-DRwvjTID.cjs → DatePicker--pX-2Qq-.cjs} +2 -2
- package/dist/chunks/{DatePicker-DRwvjTID.cjs.map → DatePicker--pX-2Qq-.cjs.map} +1 -1
- package/dist/chunks/{DatePicker-DeVufONT.esm.js → DatePicker-xQCOjOZ5.esm.js} +6 -6
- package/dist/chunks/{DatePicker-DeVufONT.esm.js.map → DatePicker-xQCOjOZ5.esm.js.map} +1 -1
- package/dist/chunks/{Dialog-tQOfG_On.esm.js → Dialog-Dy3vyR1i.esm.js} +488 -487
- package/dist/chunks/{Dialog-tQOfG_On.esm.js.map → Dialog-Dy3vyR1i.esm.js.map} +1 -1
- package/dist/chunks/Dialog-UjK50qiN.cjs +6 -0
- package/dist/chunks/{Dialog-s5tFTj72.cjs.map → Dialog-UjK50qiN.cjs.map} +1 -1
- package/dist/chunks/{Header-Cmmm6XZs.cjs → Header-Bp89-vFq.cjs} +2 -2
- package/dist/chunks/{Header-Cmmm6XZs.cjs.map → Header-Bp89-vFq.cjs.map} +1 -1
- package/dist/chunks/{Header-CdFIlJp5.esm.js → Header-CwBpRO8i.esm.js} +2 -2
- package/dist/chunks/{Header-CdFIlJp5.esm.js.map → Header-CwBpRO8i.esm.js.map} +1 -1
- package/dist/chunks/Link-BmoXcCA3.cjs +2 -0
- package/dist/chunks/Link-BmoXcCA3.cjs.map +1 -0
- package/dist/chunks/Link-D_CNmmCC.esm.js +41 -0
- package/dist/chunks/Link-D_CNmmCC.esm.js.map +1 -0
- package/dist/chunks/{ListBox-DlI6zwM7.esm.js → ListBox-B8JwiURT.esm.js} +62 -61
- package/dist/chunks/{ListBox-DlI6zwM7.esm.js.map → ListBox-B8JwiURT.esm.js.map} +1 -1
- package/dist/chunks/ListBox-Ccgvv13w.cjs +2 -0
- package/dist/chunks/{ListBox-CXgfDQSn.cjs.map → ListBox-Ccgvv13w.cjs.map} +1 -1
- package/dist/chunks/{Modal-BG58sEN8.esm.js → Modal-B0a1NTkk.esm.js} +3 -3
- package/dist/chunks/{Modal-BG58sEN8.esm.js.map → Modal-B0a1NTkk.esm.js.map} +1 -1
- package/dist/chunks/{Modal-B5d_4wBp.cjs → Modal-BhGqV2ga.cjs} +2 -2
- package/dist/chunks/{Modal-B5d_4wBp.cjs.map → Modal-BhGqV2ga.cjs.map} +1 -1
- package/dist/chunks/{ProgressBar-BleovkZ3.esm.js → ProgressBar-6_KRPPYN.esm.js} +2 -2
- package/dist/chunks/{ProgressBar-BleovkZ3.esm.js.map → ProgressBar-6_KRPPYN.esm.js.map} +1 -1
- package/dist/chunks/{ProgressBar-DAbyWfVX.cjs → ProgressBar-nd1ahEJC.cjs} +2 -2
- package/dist/chunks/{ProgressBar-DAbyWfVX.cjs.map → ProgressBar-nd1ahEJC.cjs.map} +1 -1
- package/dist/chunks/{accordion-BYfM5qEG.cjs → accordion-BJQKQHIG.cjs} +2 -2
- package/dist/chunks/{accordion-BYfM5qEG.cjs.map → accordion-BJQKQHIG.cjs.map} +1 -1
- package/dist/chunks/{accordion-BqlBCwmN.esm.js → accordion-DPnhySdl.esm.js} +2 -2
- package/dist/chunks/{accordion-BqlBCwmN.esm.js.map → accordion-DPnhySdl.esm.js.map} +1 -1
- package/dist/chunks/{alert-C4J2fv__.esm.js → alert-Coz95VgD.esm.js} +2 -2
- package/dist/chunks/{alert-C4J2fv__.esm.js.map → alert-Coz95VgD.esm.js.map} +1 -1
- package/dist/chunks/{alert-BeQzAjMf.cjs → alert-GP75E0QV.cjs} +2 -2
- package/dist/chunks/{alert-BeQzAjMf.cjs.map → alert-GP75E0QV.cjs.map} +1 -1
- package/dist/chunks/breadcrumbs-1MAxlCTS.esm.js +322 -0
- package/dist/chunks/breadcrumbs-1MAxlCTS.esm.js.map +1 -0
- package/dist/chunks/breadcrumbs-TP5PrTuN.cjs +2 -0
- package/dist/chunks/breadcrumbs-TP5PrTuN.cjs.map +1 -0
- package/dist/chunks/{button-Dc_J_PNN.cjs → button-D6f5OX0h.cjs} +2 -2
- package/dist/chunks/{button-Dc_J_PNN.cjs.map → button-D6f5OX0h.cjs.map} +1 -1
- package/dist/chunks/{button-BhvlZrT2.esm.js → button-DyM-iqBq.esm.js} +3 -3
- package/dist/chunks/{button-BhvlZrT2.esm.js.map → button-DyM-iqBq.esm.js.map} +1 -1
- package/dist/chunks/{calendar-DS0rNrhj.cjs → calendar-YtVTt0Tm.cjs} +2 -2
- package/dist/chunks/{calendar-DS0rNrhj.cjs.map → calendar-YtVTt0Tm.cjs.map} +1 -1
- package/dist/chunks/{calendar-C5GZoGge.esm.js → calendar-bydCjK4Q.esm.js} +5 -5
- package/dist/chunks/{calendar-C5GZoGge.esm.js.map → calendar-bydCjK4Q.esm.js.map} +1 -1
- package/dist/chunks/{chat-message-DW8IO5YJ.cjs → chat-message-BcuYfXqe.cjs} +2 -2
- package/dist/chunks/{chat-message-DW8IO5YJ.cjs.map → chat-message-BcuYfXqe.cjs.map} +1 -1
- package/dist/chunks/{chat-message-CDLvkgaw.esm.js → chat-message-D9947sio.esm.js} +2 -2
- package/dist/chunks/{chat-message-CDLvkgaw.esm.js.map → chat-message-D9947sio.esm.js.map} +1 -1
- package/dist/chunks/chat-message-list-BEQEQzhV.cjs +2 -0
- package/dist/chunks/chat-message-list-BEQEQzhV.cjs.map +1 -0
- package/dist/chunks/{chat-message-list-BhWZEg4l.esm.js → chat-message-list-D_4ZLopT.esm.js} +10 -10
- package/dist/chunks/chat-message-list-D_4ZLopT.esm.js.map +1 -0
- package/dist/chunks/{checkbox-CZCLSrFV.cjs → checkbox-DCVW3K9i.cjs} +2 -2
- package/dist/chunks/{checkbox-CZCLSrFV.cjs.map → checkbox-DCVW3K9i.cjs.map} +1 -1
- package/dist/chunks/{checkbox-Bto3lCdU.esm.js → checkbox-dSuozQvl.esm.js} +4 -4
- package/dist/chunks/{checkbox-Bto3lCdU.esm.js.map → checkbox-dSuozQvl.esm.js.map} +1 -1
- package/dist/chunks/{collapsible-motion-C5-B_qO-.cjs → collapsible-motion-BW3mF74f.cjs} +2 -2
- package/dist/chunks/{collapsible-motion-C5-B_qO-.cjs.map → collapsible-motion-BW3mF74f.cjs.map} +1 -1
- package/dist/chunks/{collapsible-motion-5Y-srpM4.esm.js → collapsible-motion-CKrXIpgY.esm.js} +3 -3
- package/dist/chunks/{collapsible-motion-5Y-srpM4.esm.js.map → collapsible-motion-CKrXIpgY.esm.js.map} +1 -1
- package/dist/chunks/{combobox-ot7fVTI7.cjs → combobox-3_YvuwlN.cjs} +2 -2
- package/dist/chunks/{combobox-ot7fVTI7.cjs.map → combobox-3_YvuwlN.cjs.map} +1 -1
- package/dist/chunks/{combobox-BW_VrIHV.esm.js → combobox-C9gMnokj.esm.js} +11 -11
- package/dist/chunks/{combobox-BW_VrIHV.esm.js.map → combobox-C9gMnokj.esm.js.map} +1 -1
- package/dist/chunks/{components-BaZ6iHgw.esm.js → components-DJj34Iqi.esm.js} +3 -3
- package/dist/chunks/{components-BaZ6iHgw.esm.js.map → components-DJj34Iqi.esm.js.map} +1 -1
- package/dist/chunks/{components-DHYEVZM_.cjs → components-tMYnGsnG.cjs} +2 -2
- package/dist/chunks/{components-DHYEVZM_.cjs.map → components-tMYnGsnG.cjs.map} +1 -1
- package/dist/chunks/{confirmation-dialog-JqWYM_7U.cjs → confirmation-dialog-DGV0mgM8.cjs} +2 -2
- package/dist/chunks/{confirmation-dialog-JqWYM_7U.cjs.map → confirmation-dialog-DGV0mgM8.cjs.map} +1 -1
- package/dist/chunks/{confirmation-dialog-CHUQLqNJ.esm.js → confirmation-dialog-EiNUlhQA.esm.js} +4 -4
- package/dist/chunks/{confirmation-dialog-CHUQLqNJ.esm.js.map → confirmation-dialog-EiNUlhQA.esm.js.map} +1 -1
- package/dist/chunks/{data-table-LoaR2VL5.esm.js → data-table-BjU1lBAt.esm.js} +715 -714
- package/dist/chunks/{data-table-LoaR2VL5.esm.js.map → data-table-BjU1lBAt.esm.js.map} +1 -1
- package/dist/chunks/data-table-DnlEkUhO.cjs +2 -0
- package/dist/chunks/{data-table-CHpJecej.cjs.map → data-table-DnlEkUhO.cjs.map} +1 -1
- package/dist/chunks/{date-input-BfCEzDBX.esm.js → date-input-BIMZk2u6.esm.js} +4 -4
- package/dist/chunks/{date-input-BfCEzDBX.esm.js.map → date-input-BIMZk2u6.esm.js.map} +1 -1
- package/dist/chunks/{date-input-B5yBTSm8.cjs → date-input-DbikA3Az.cjs} +2 -2
- package/dist/chunks/{date-input-B5yBTSm8.cjs.map → date-input-DbikA3Az.cjs.map} +1 -1
- package/dist/chunks/{date-picker-CcmAJYux.esm.js → date-picker--voC39id.esm.js} +11 -11
- package/dist/chunks/{date-picker-CcmAJYux.esm.js.map → date-picker--voC39id.esm.js.map} +1 -1
- package/dist/chunks/{date-picker-BYUOjbCN.cjs → date-picker-Dhb3cRFN.cjs} +2 -2
- package/dist/chunks/{date-picker-BYUOjbCN.cjs.map → date-picker-Dhb3cRFN.cjs.map} +1 -1
- package/dist/chunks/{date-range-picker-CD6CmAlq.esm.js → date-range-picker-B02yjYC_.esm.js} +11 -11
- package/dist/chunks/{date-range-picker-CD6CmAlq.esm.js.map → date-range-picker-B02yjYC_.esm.js.map} +1 -1
- package/dist/chunks/{date-range-picker-BladYzh3.cjs → date-range-picker-oFS0SF97.cjs} +2 -2
- package/dist/chunks/{date-range-picker-BladYzh3.cjs.map → date-range-picker-oFS0SF97.cjs.map} +1 -1
- package/dist/chunks/{default-page-B5bFn9gJ.cjs → default-page-BW66R099.cjs} +2 -2
- package/dist/chunks/{default-page-B5bFn9gJ.cjs.map → default-page-BW66R099.cjs.map} +1 -1
- package/dist/chunks/{default-page-De3ZyX7n.esm.js → default-page-oB4oiflC.esm.js} +2 -2
- package/dist/chunks/{default-page-De3ZyX7n.esm.js.map → default-page-oB4oiflC.esm.js.map} +1 -1
- package/dist/chunks/{dialog-Y4HKBxUr.cjs → dialog-CwCG4NKh.cjs} +2 -2
- package/dist/chunks/{dialog-Y4HKBxUr.cjs.map → dialog-CwCG4NKh.cjs.map} +1 -1
- package/dist/chunks/{dialog-XeM4qOa_.esm.js → dialog-lxgomHvu.esm.js} +6 -6
- package/dist/chunks/{dialog-XeM4qOa_.esm.js.map → dialog-lxgomHvu.esm.js.map} +1 -1
- package/dist/chunks/draggable-list-CAGO6acz.cjs +2 -0
- package/dist/chunks/{draggable-list-CKKl6A_a.cjs.map → draggable-list-CAGO6acz.cjs.map} +1 -1
- package/dist/chunks/{draggable-list-C5aulsay.esm.js → draggable-list-DKGfS4ob.esm.js} +243 -243
- package/dist/chunks/{draggable-list-C5aulsay.esm.js.map → draggable-list-DKGfS4ob.esm.js.map} +1 -1
- package/dist/chunks/{drawer-BKPP4f5K.cjs → drawer-Cj7eGaLQ.cjs} +2 -2
- package/dist/chunks/{drawer-BKPP4f5K.cjs.map → drawer-Cj7eGaLQ.cjs.map} +1 -1
- package/dist/chunks/{drawer-I6J9g1l4.esm.js → drawer-Dsnrsu2k.esm.js} +7 -7
- package/dist/chunks/{drawer-I6J9g1l4.esm.js.map → drawer-Dsnrsu2k.esm.js.map} +1 -1
- package/dist/chunks/{drop-zone-vRl7IFzc.esm.js → drop-zone-BKJQrFGG.esm.js} +6 -6
- package/dist/chunks/{drop-zone-vRl7IFzc.esm.js.map → drop-zone-BKJQrFGG.esm.js.map} +1 -1
- package/dist/chunks/{drop-zone-Dr4VzY5B.cjs → drop-zone-N7k0XExn.cjs} +2 -2
- package/dist/chunks/{drop-zone-Dr4VzY5B.cjs.map → drop-zone-N7k0XExn.cjs.map} +1 -1
- package/dist/chunks/{extract-style-props-BPnHKmWR.esm.js → extract-style-props-D519tVOc.esm.js} +2 -2
- package/dist/chunks/{extract-style-props-BPnHKmWR.esm.js.map → extract-style-props-D519tVOc.esm.js.map} +1 -1
- package/dist/chunks/{extract-style-props-CA1O0IF2.cjs → extract-style-props-WNdpT-ME.cjs} +2 -2
- package/dist/chunks/{extract-style-props-CA1O0IF2.cjs.map → extract-style-props-WNdpT-ME.cjs.map} +1 -1
- package/dist/chunks/{form-action-bar-C8wkuLiF.esm.js → form-action-bar-CfJjVyeS.esm.js} +3 -3
- package/dist/chunks/{form-action-bar-C8wkuLiF.esm.js.map → form-action-bar-CfJjVyeS.esm.js.map} +1 -1
- package/dist/chunks/{form-action-bar-C_pQubyB.cjs → form-action-bar-DhmjijBw.cjs} +2 -2
- package/dist/chunks/{form-action-bar-C_pQubyB.cjs.map → form-action-bar-DhmjijBw.cjs.map} +1 -1
- package/dist/chunks/{form-dialog-D14UuUnS.cjs → form-dialog-CLrL718p.cjs} +2 -2
- package/dist/chunks/{form-dialog-D14UuUnS.cjs.map → form-dialog-CLrL718p.cjs.map} +1 -1
- package/dist/chunks/{form-dialog-BaD03TZo.esm.js → form-dialog-D86jNeIZ.esm.js} +4 -4
- package/dist/chunks/{form-dialog-BaD03TZo.esm.js.map → form-dialog-D86jNeIZ.esm.js.map} +1 -1
- package/dist/chunks/{form-field-DRhB7O5k.esm.js → form-field-B5H98u7s.esm.js} +3 -3
- package/dist/chunks/{form-field-DRhB7O5k.esm.js.map → form-field-B5H98u7s.esm.js.map} +1 -1
- package/dist/chunks/{form-field-CrSE8x3q.cjs → form-field-CaTJgt57.cjs} +2 -2
- package/dist/chunks/{form-field-CrSE8x3q.cjs.map → form-field-CaTJgt57.cjs.map} +1 -1
- package/dist/chunks/{icon-button-CSlFdpjB.cjs → icon-button-BG5cQycc.cjs} +2 -2
- package/dist/chunks/{icon-button-CSlFdpjB.cjs.map → icon-button-BG5cQycc.cjs.map} +1 -1
- package/dist/chunks/{icon-button-6dtfz6Yf.esm.js → icon-button-CyhrlrIv.esm.js} +2 -2
- package/dist/chunks/{icon-button-6dtfz6Yf.esm.js.map → icon-button-CyhrlrIv.esm.js.map} +1 -1
- package/dist/chunks/{icon-toggle-button-DJbu9dBg.cjs → icon-toggle-button-CH90F1eK.cjs} +2 -2
- package/dist/chunks/{icon-toggle-button-DJbu9dBg.cjs.map → icon-toggle-button-CH90F1eK.cjs.map} +1 -1
- package/dist/chunks/{icon-toggle-button-Cesx6J1H.esm.js → icon-toggle-button-DzYb5JyL.esm.js} +2 -2
- package/dist/chunks/{icon-toggle-button-Cesx6J1H.esm.js.map → icon-toggle-button-DzYb5JyL.esm.js.map} +1 -1
- package/dist/chunks/item-DW8Z2EjT.cjs +2 -0
- package/dist/chunks/item-DW8Z2EjT.cjs.map +1 -0
- package/dist/chunks/item-YJDIjMGY.esm.js +132 -0
- package/dist/chunks/item-YJDIjMGY.esm.js.map +1 -0
- package/dist/chunks/item-group-BA2CvxjT.cjs +2 -0
- package/dist/chunks/item-group-BA2CvxjT.cjs.map +1 -0
- package/dist/chunks/item-group-Bu78JFep.esm.js +35 -0
- package/dist/chunks/item-group-Bu78JFep.esm.js.map +1 -0
- package/dist/chunks/{list-DpS1s3Ww.cjs → list-ClGk4Q7n.cjs} +2 -2
- package/dist/chunks/{list-DpS1s3Ww.cjs.map → list-ClGk4Q7n.cjs.map} +1 -1
- package/dist/chunks/{list-CuA_gr8m.esm.js → list-CvVw2FgQ.esm.js} +2 -2
- package/dist/chunks/{list-CuA_gr8m.esm.js.map → list-CvVw2FgQ.esm.js.map} +1 -1
- package/dist/chunks/{loading-spinner-CTPm1sYC.esm.js → loading-spinner-DZoySVDH.esm.js} +2 -2
- package/dist/chunks/{loading-spinner-CTPm1sYC.esm.js.map → loading-spinner-DZoySVDH.esm.js.map} +1 -1
- package/dist/chunks/{loading-spinner-DAZGwhe6.cjs → loading-spinner-p_cYuGNg.cjs} +2 -2
- package/dist/chunks/{loading-spinner-DAZGwhe6.cjs.map → loading-spinner-p_cYuGNg.cjs.map} +1 -1
- package/dist/chunks/{localized-field-tpT6376o.cjs → localized-field-CQ8GkZKo.cjs} +2 -2
- package/dist/chunks/{localized-field-tpT6376o.cjs.map → localized-field-CQ8GkZKo.cjs.map} +1 -1
- package/dist/chunks/{localized-field-rPZczTNY.esm.js → localized-field-edbtofV6.esm.js} +10 -10
- package/dist/chunks/{localized-field-rPZczTNY.esm.js.map → localized-field-edbtofV6.esm.js.map} +1 -1
- package/dist/chunks/{markdown-CxE72YNo.esm.js → markdown-C1aT-ZDT.esm.js} +34 -34
- package/dist/chunks/{markdown-CxE72YNo.esm.js.map → markdown-C1aT-ZDT.esm.js.map} +1 -1
- package/dist/chunks/{markdown-Dvf4iLu2.cjs → markdown-RayGWo-B.cjs} +2 -2
- package/dist/chunks/{markdown-Dvf4iLu2.cjs.map → markdown-RayGWo-B.cjs.map} +1 -1
- package/dist/chunks/{menu-tAepHyH2.esm.js → menu-C2ZLfnJM.esm.js} +5 -5
- package/dist/chunks/{menu-tAepHyH2.esm.js.map → menu-C2ZLfnJM.esm.js.map} +1 -1
- package/dist/chunks/{menu-WFLbN6in.cjs → menu-sokBButj.cjs} +2 -2
- package/dist/chunks/{menu-WFLbN6in.cjs.map → menu-sokBButj.cjs.map} +1 -1
- package/dist/chunks/{modal-page-BRDY8JIO.cjs → modal-page-BGs7DHvn.cjs} +2 -2
- package/dist/chunks/{modal-page-BRDY8JIO.cjs.map → modal-page-BGs7DHvn.cjs.map} +1 -1
- package/dist/chunks/{modal-page-CH6Dlz-D.esm.js → modal-page-BZGoeMPR.esm.js} +3 -3
- package/dist/chunks/{modal-page-CH6Dlz-D.esm.js.map → modal-page-BZGoeMPR.esm.js.map} +1 -1
- package/dist/chunks/{money-input-D-h6tlpV.cjs → money-input-3_CQxVa3.cjs} +2 -2
- package/dist/chunks/{money-input-D-h6tlpV.cjs.map → money-input-3_CQxVa3.cjs.map} +1 -1
- package/dist/chunks/{money-input-field-Dy6VCxeQ.esm.js → money-input-field-DMZMbP9B.esm.js} +3 -3
- package/dist/chunks/{money-input-field-Dy6VCxeQ.esm.js.map → money-input-field-DMZMbP9B.esm.js.map} +1 -1
- package/dist/chunks/{money-input-field-DeajMPme.cjs → money-input-field-Deavtpts.cjs} +2 -2
- package/dist/chunks/{money-input-field-DeajMPme.cjs.map → money-input-field-Deavtpts.cjs.map} +1 -1
- package/dist/chunks/{money-input-CKNrFSKT.esm.js → money-input-hdeI43mM.esm.js} +5 -5
- package/dist/chunks/{money-input-CKNrFSKT.esm.js.map → money-input-hdeI43mM.esm.js.map} +1 -1
- package/dist/chunks/{multiline-text-input-BZU8t53J.esm.js → multiline-text-input-BlQChE3E.esm.js} +4 -4
- package/dist/chunks/{multiline-text-input-BZU8t53J.esm.js.map → multiline-text-input-BlQChE3E.esm.js.map} +1 -1
- package/dist/chunks/{multiline-text-input-ipy-1vwz.cjs → multiline-text-input-BnbYMYjn.cjs} +2 -2
- package/dist/chunks/{multiline-text-input-ipy-1vwz.cjs.map → multiline-text-input-BnbYMYjn.cjs.map} +1 -1
- package/dist/chunks/{multiline-text-input-field-DDzHc9t0.cjs → multiline-text-input-field-Dmrep7c1.cjs} +2 -2
- package/dist/chunks/{multiline-text-input-field-DDzHc9t0.cjs.map → multiline-text-input-field-Dmrep7c1.cjs.map} +1 -1
- package/dist/chunks/{multiline-text-input-field-Dj3yuO2D.esm.js → multiline-text-input-field-DtKT6KA3.esm.js} +3 -3
- package/dist/chunks/{multiline-text-input-field-Dj3yuO2D.esm.js.map → multiline-text-input-field-DtKT6KA3.esm.js.map} +1 -1
- package/dist/chunks/{nimbus-provider-DcYjdMwh.cjs → nimbus-provider-DyiUPBgB.cjs} +2 -2
- package/dist/chunks/{nimbus-provider-DcYjdMwh.cjs.map → nimbus-provider-DyiUPBgB.cjs.map} +1 -1
- package/dist/chunks/{nimbus-provider-qYnfenns.esm.js → nimbus-provider-TxuMyLri.esm.js} +3 -3
- package/dist/chunks/{nimbus-provider-qYnfenns.esm.js.map → nimbus-provider-TxuMyLri.esm.js.map} +1 -1
- package/dist/chunks/number-input-DTS_KQVk.cjs +2 -0
- package/dist/chunks/{number-input-DU3522fK.cjs.map → number-input-DTS_KQVk.cjs.map} +1 -1
- package/dist/chunks/{number-input-D5jL0iW-.esm.js → number-input-Gpg_2UbB.esm.js} +23 -22
- package/dist/chunks/{number-input-D5jL0iW-.esm.js.map → number-input-Gpg_2UbB.esm.js.map} +1 -1
- package/dist/chunks/{number-input-field-C5DhaRwc.cjs → number-input-field-C0XJ94dJ.cjs} +2 -2
- package/dist/chunks/{number-input-field-C5DhaRwc.cjs.map → number-input-field-C0XJ94dJ.cjs.map} +1 -1
- package/dist/chunks/{number-input-field-BKAb5VQ2.esm.js → number-input-field-Da0Hux_Q.esm.js} +3 -3
- package/dist/chunks/{number-input-field-BKAb5VQ2.esm.js.map → number-input-field-Da0Hux_Q.esm.js.map} +1 -1
- package/dist/chunks/{pagination-ZSf9r9bz.esm.js → pagination-FtHeZ5vD.esm.js} +4 -4
- package/dist/chunks/{pagination-ZSf9r9bz.esm.js.map → pagination-FtHeZ5vD.esm.js.map} +1 -1
- package/dist/chunks/{pagination-CmXQNDbp.cjs → pagination-Teyq3Fc-.cjs} +2 -2
- package/dist/chunks/{pagination-CmXQNDbp.cjs.map → pagination-Teyq3Fc-.cjs.map} +1 -1
- package/dist/chunks/{password-input-DMJGpUt6.cjs → password-input-B6xQTVt3.cjs} +2 -2
- package/dist/chunks/{password-input-DMJGpUt6.cjs.map → password-input-B6xQTVt3.cjs.map} +1 -1
- package/dist/chunks/{password-input-B2OHc-gn.esm.js → password-input-ZHMvWFue.esm.js} +3 -3
- package/dist/chunks/{password-input-B2OHc-gn.esm.js.map → password-input-ZHMvWFue.esm.js.map} +1 -1
- package/dist/chunks/{password-input-field-BFj95JMU.esm.js → password-input-field-B6I17gLd.esm.js} +3 -3
- package/dist/chunks/{password-input-field-BFj95JMU.esm.js.map → password-input-field-B6I17gLd.esm.js.map} +1 -1
- package/dist/chunks/{password-input-field-Cf-zBu2O.cjs → password-input-field-Bh-LmgfF.cjs} +2 -2
- package/dist/chunks/{password-input-field-Cf-zBu2O.cjs.map → password-input-field-Bh-LmgfF.cjs.map} +1 -1
- package/dist/chunks/{popover-eUvkAe8L.cjs → popover-B4aHN9qY.cjs} +2 -2
- package/dist/chunks/{popover-eUvkAe8L.cjs.map → popover-B4aHN9qY.cjs.map} +1 -1
- package/dist/chunks/{popover-CwdOyGHr.esm.js → popover-biPpujsV.esm.js} +2 -2
- package/dist/chunks/{popover-CwdOyGHr.esm.js.map → popover-biPpujsV.esm.js.map} +1 -1
- package/dist/chunks/{progress-bar-DhZVJqY_.cjs → progress-bar-D_PAUwhj.cjs} +2 -2
- package/dist/chunks/{progress-bar-DhZVJqY_.cjs.map → progress-bar-D_PAUwhj.cjs.map} +1 -1
- package/dist/chunks/{progress-bar-Be7o97DL.esm.js → progress-bar-PjyuiZvS.esm.js} +3 -3
- package/dist/chunks/{progress-bar-Be7o97DL.esm.js.map → progress-bar-PjyuiZvS.esm.js.map} +1 -1
- package/dist/chunks/{radio-input-Cj03oX72.esm.js → radio-input-CZNQh41n.esm.js} +10 -9
- package/dist/chunks/{radio-input-Cj03oX72.esm.js.map → radio-input-CZNQh41n.esm.js.map} +1 -1
- package/dist/chunks/radio-input-FRyDwoTk.cjs +2 -0
- package/dist/chunks/{radio-input-_eEv0K2W.cjs.map → radio-input-FRyDwoTk.cjs.map} +1 -1
- package/dist/chunks/{range-calendar-B0U51wMd.cjs → range-calendar-D1yls6jq.cjs} +2 -2
- package/dist/chunks/{range-calendar-B0U51wMd.cjs.map → range-calendar-D1yls6jq.cjs.map} +1 -1
- package/dist/chunks/{range-calendar-DA5hJpYL.esm.js → range-calendar-DhgT-Y8T.esm.js} +6 -6
- package/dist/chunks/{range-calendar-DA5hJpYL.esm.js.map → range-calendar-DhgT-Y8T.esm.js.map} +1 -1
- package/dist/chunks/range-slider-Ch4kXVc3.cjs +2 -0
- package/dist/chunks/range-slider-Ch4kXVc3.cjs.map +1 -0
- package/dist/chunks/range-slider-CiNJCiKg.esm.js +600 -0
- package/dist/chunks/range-slider-CiNJCiKg.esm.js.map +1 -0
- package/dist/chunks/{rich-text-input-PYMjw5DQ.esm.js → rich-text-input-CLwl2b63.esm.js} +8 -8
- package/dist/chunks/{rich-text-input-PYMjw5DQ.esm.js.map → rich-text-input-CLwl2b63.esm.js.map} +1 -1
- package/dist/chunks/{rich-text-input-C0UU1Uoq.cjs → rich-text-input-D9MMIdJJ.cjs} +3 -3
- package/dist/chunks/{rich-text-input-C0UU1Uoq.cjs.map → rich-text-input-D9MMIdJJ.cjs.map} +1 -1
- package/dist/chunks/{scoped-search-input-D80PFOdN.esm.js → scoped-search-input-BzTmH7Ms.esm.js} +5 -5
- package/dist/chunks/{scoped-search-input-D80PFOdN.esm.js.map → scoped-search-input-BzTmH7Ms.esm.js.map} +1 -1
- package/dist/chunks/{scoped-search-input-Kj-JJpvo.cjs → scoped-search-input-C9PJWoSh.cjs} +2 -2
- package/dist/chunks/{scoped-search-input-Kj-JJpvo.cjs.map → scoped-search-input-C9PJWoSh.cjs.map} +1 -1
- package/dist/chunks/{search-input-yUmma36U.cjs → search-input-Cocic3Im.cjs} +2 -2
- package/dist/chunks/{search-input-yUmma36U.cjs.map → search-input-Cocic3Im.cjs.map} +1 -1
- package/dist/chunks/{search-input-BMq6pRov.esm.js → search-input-DLixG2wL.esm.js} +6 -6
- package/dist/chunks/{search-input-BMq6pRov.esm.js.map → search-input-DLixG2wL.esm.js.map} +1 -1
- package/dist/chunks/{select-D39rm0xA.esm.js → select-CZzyQOhP.esm.js} +17 -16
- package/dist/chunks/{select-D39rm0xA.esm.js.map → select-CZzyQOhP.esm.js.map} +1 -1
- package/dist/chunks/select-g5OICT61.cjs +2 -0
- package/dist/chunks/{select-DdeLYdJ3.cjs.map → select-g5OICT61.cjs.map} +1 -1
- package/dist/chunks/{separator-CRFMcKYe.cjs → separator-DW1Lj5oz.cjs} +2 -2
- package/dist/chunks/{separator-CRFMcKYe.cjs.map → separator-DW1Lj5oz.cjs.map} +1 -1
- package/dist/chunks/{separator-AUEVwjXs.esm.js → separator-DYgOOvtr.esm.js} +3 -3
- package/dist/chunks/{separator-AUEVwjXs.esm.js.map → separator-DYgOOvtr.esm.js.map} +1 -1
- package/dist/chunks/skeleton-C-MXf-Vh.esm.js +16 -0
- package/dist/chunks/skeleton-C-MXf-Vh.esm.js.map +1 -0
- package/dist/chunks/skeleton-SWjnk1LM.cjs +2 -0
- package/dist/chunks/skeleton-SWjnk1LM.cjs.map +1 -0
- package/dist/chunks/skeleton-circle-C5RFsv29.esm.js +18 -0
- package/dist/chunks/skeleton-circle-C5RFsv29.esm.js.map +1 -0
- package/dist/chunks/skeleton-circle-CbqEiVJ8.cjs +2 -0
- package/dist/chunks/skeleton-circle-CbqEiVJ8.cjs.map +1 -0
- package/dist/chunks/skeleton-text-B-r_Iovw.esm.js +33 -0
- package/dist/chunks/skeleton-text-B-r_Iovw.esm.js.map +1 -0
- package/dist/chunks/skeleton-text-CEr3QStr.cjs +2 -0
- package/dist/chunks/skeleton-text-CEr3QStr.cjs.map +1 -0
- package/dist/chunks/slider-CE2eEViT.esm.js +9 -0
- package/dist/chunks/slider-CE2eEViT.esm.js.map +1 -0
- package/dist/chunks/slider-CxvxZzOB.cjs +2 -0
- package/dist/chunks/slider-CxvxZzOB.cjs.map +1 -0
- package/dist/chunks/{split-button-DelUgBth.cjs → split-button-Dr_RsxyR.cjs} +2 -2
- package/dist/chunks/{split-button-DelUgBth.cjs.map → split-button-Dr_RsxyR.cjs.map} +1 -1
- package/dist/chunks/{split-button-C9MIlSe4.esm.js → split-button-lLEz3Ddi.esm.js} +4 -4
- package/dist/chunks/{split-button-C9MIlSe4.esm.js.map → split-button-lLEz3Ddi.esm.js.map} +1 -1
- package/dist/chunks/{steps-BLrpE2PL.cjs → steps-BvqxvDfJ.cjs} +2 -2
- package/dist/chunks/{steps-BLrpE2PL.cjs.map → steps-BvqxvDfJ.cjs.map} +1 -1
- package/dist/chunks/{steps-OnZi-T9x.esm.js → steps-DIRtxFO6.esm.js} +2 -2
- package/dist/chunks/{steps-OnZi-T9x.esm.js.map → steps-DIRtxFO6.esm.js.map} +1 -1
- package/dist/chunks/{switch-D1rdYruG.esm.js → switch-B351GNnT.esm.js} +4 -4
- package/dist/chunks/{switch-D1rdYruG.esm.js.map → switch-B351GNnT.esm.js.map} +1 -1
- package/dist/chunks/{switch-BPk30JYZ.cjs → switch-BSws2Bn9.cjs} +2 -2
- package/dist/chunks/{switch-BPk30JYZ.cjs.map → switch-BSws2Bn9.cjs.map} +1 -1
- package/dist/chunks/tab-nav-BMNdumQw.esm.js +66 -0
- package/dist/chunks/tab-nav-BMNdumQw.esm.js.map +1 -0
- package/dist/chunks/tab-nav-Dy6pg3Cf.cjs +2 -0
- package/dist/chunks/tab-nav-Dy6pg3Cf.cjs.map +1 -0
- package/dist/chunks/{table-DEKXq5nE.cjs → table-BF5v-4YU.cjs} +2 -2
- package/dist/chunks/{table-DEKXq5nE.cjs.map → table-BF5v-4YU.cjs.map} +1 -1
- package/dist/chunks/{table-O8T8871k.esm.js → table-OZDDVGWu.esm.js} +2 -2
- package/dist/chunks/{table-O8T8871k.esm.js.map → table-OZDDVGWu.esm.js.map} +1 -1
- package/dist/chunks/{tabs-IjuTjmW5.esm.js → tabs-C7zLoP1D.esm.js} +101 -100
- package/dist/chunks/{tabs-IjuTjmW5.esm.js.map → tabs-C7zLoP1D.esm.js.map} +1 -1
- package/dist/chunks/tabs-DLr47HN_.cjs +2 -0
- package/dist/chunks/{tabs-BbC8to5L.cjs.map → tabs-DLr47HN_.cjs.map} +1 -1
- package/dist/chunks/{tag-group-DJ2Eyzr6.esm.js → tag-group-DKiwZtum.esm.js} +160 -160
- package/dist/chunks/{tag-group-DJ2Eyzr6.esm.js.map → tag-group-DKiwZtum.esm.js.map} +1 -1
- package/dist/chunks/tag-group-JEE8r8Jl.cjs +2 -0
- package/dist/chunks/{tag-group-t9CCZs9w.cjs.map → tag-group-JEE8r8Jl.cjs.map} +1 -1
- package/dist/chunks/{text-input-DzHnlufM.esm.js → text-input-4YjslLxr.esm.js} +4 -4
- package/dist/chunks/{text-input-DzHnlufM.esm.js.map → text-input-4YjslLxr.esm.js.map} +1 -1
- package/dist/chunks/{text-input-Bc2XftOM.cjs → text-input-BttCyWCt.cjs} +2 -2
- package/dist/chunks/{text-input-Bc2XftOM.cjs.map → text-input-BttCyWCt.cjs.map} +1 -1
- package/dist/chunks/{theme-BR3bc6tH.esm.js → theme-CFqa_6UM.esm.js} +710 -195
- package/dist/chunks/theme-CFqa_6UM.esm.js.map +1 -0
- package/dist/chunks/theme-DA63MDZQ.cjs +34 -0
- package/dist/chunks/theme-DA63MDZQ.cjs.map +1 -0
- package/dist/chunks/{time-input--A7teyZm.esm.js → time-input-CJcXuGHH.esm.js} +4 -4
- package/dist/chunks/{time-input--A7teyZm.esm.js.map → time-input-CJcXuGHH.esm.js.map} +1 -1
- package/dist/chunks/{time-input-CnqA54LG.cjs → time-input-Cv-8dl-n.cjs} +2 -2
- package/dist/chunks/{time-input-CnqA54LG.cjs.map → time-input-Cv-8dl-n.cjs.map} +1 -1
- package/dist/chunks/{toast.outlet-CiElRAMb.cjs → toast.outlet-BGy4NZoL.cjs} +2 -2
- package/dist/chunks/{toast.outlet-CiElRAMb.cjs.map → toast.outlet-BGy4NZoL.cjs.map} +1 -1
- package/dist/chunks/{toast.outlet-DfFHdsij.esm.js → toast.outlet-DQ7Z1sG7.esm.js} +4 -4
- package/dist/chunks/{toast.outlet-DfFHdsij.esm.js.map → toast.outlet-DQ7Z1sG7.esm.js.map} +1 -1
- package/dist/chunks/{toggle-button-szYkDbB4.cjs → toggle-button-B9m2DON6.cjs} +2 -2
- package/dist/chunks/{toggle-button-szYkDbB4.cjs.map → toggle-button-B9m2DON6.cjs.map} +1 -1
- package/dist/chunks/{toggle-button-DnjpkkaG.esm.js → toggle-button-D3UZNm_4.esm.js} +3 -3
- package/dist/chunks/{toggle-button-DnjpkkaG.esm.js.map → toggle-button-D3UZNm_4.esm.js.map} +1 -1
- package/dist/chunks/{toolbar-BTl4PMN6.esm.js → toolbar-BUb2xcXt.esm.js} +3 -3
- package/dist/chunks/{toolbar-BTl4PMN6.esm.js.map → toolbar-BUb2xcXt.esm.js.map} +1 -1
- package/dist/chunks/{toolbar-CDuqJw86.cjs → toolbar-CxYGox-m.cjs} +2 -2
- package/dist/chunks/{toolbar-CDuqJw86.cjs.map → toolbar-CxYGox-m.cjs.map} +1 -1
- package/dist/chunks/{use-responsive-splitter-sizes-CO-POrVJ.esm.js → use-responsive-splitter-sizes-BgEYraHy.esm.js} +2 -2
- package/dist/chunks/{use-responsive-splitter-sizes-CO-POrVJ.esm.js.map → use-responsive-splitter-sizes-BgEYraHy.esm.js.map} +1 -1
- package/dist/chunks/{use-responsive-splitter-sizes-DApY1vey.cjs → use-responsive-splitter-sizes-CzfdjEjf.cjs} +2 -2
- package/dist/chunks/{use-responsive-splitter-sizes-DApY1vey.cjs.map → use-responsive-splitter-sizes-CzfdjEjf.cjs.map} +1 -1
- package/dist/chunks/{use-tree-wsHR3c7J.esm.js → use-tree-BFKFaiiu.esm.js} +147 -147
- package/dist/chunks/{use-tree-wsHR3c7J.esm.js.map → use-tree-BFKFaiiu.esm.js.map} +1 -1
- package/dist/chunks/use-tree-NiiqPu0M.cjs +2 -0
- package/dist/chunks/{use-tree-CrwSJhB8.cjs.map → use-tree-NiiqPu0M.cjs.map} +1 -1
- package/dist/chunks/{useCollection-CGf4ZguH.esm.js → useCollection-BCbt2V3u.esm.js} +258 -307
- package/dist/chunks/useCollection-BCbt2V3u.esm.js.map +1 -0
- package/dist/chunks/useCollection-BjHtDvt-.cjs +2 -0
- package/dist/chunks/useCollection-BjHtDvt-.cjs.map +1 -0
- package/dist/chunks/{useDragAndDrop-CoNOA7E9.cjs → useDragAndDrop-B8UfdCMX.cjs} +2 -2
- package/dist/chunks/{useDragAndDrop-CoNOA7E9.cjs.map → useDragAndDrop-B8UfdCMX.cjs.map} +1 -1
- package/dist/chunks/{useDragAndDrop-D_i3CWeg.esm.js → useDragAndDrop-BAyAtCYg.esm.js} +2 -2
- package/dist/chunks/{useDragAndDrop-D_i3CWeg.esm.js.map → useDragAndDrop-BAyAtCYg.esm.js.map} +1 -1
- package/dist/chunks/useFormReset-C6H3spHM.cjs +2 -0
- package/dist/chunks/useFormReset-C6H3spHM.cjs.map +1 -0
- package/dist/chunks/useFormReset-CAZratNG.esm.js +18 -0
- package/dist/chunks/useFormReset-CAZratNG.esm.js.map +1 -0
- package/dist/chunks/useFormValidationState-CMK07tQk.cjs +2 -0
- package/dist/chunks/useFormValidationState-CMK07tQk.cjs.map +1 -0
- package/dist/chunks/{useFormValidationState-rjMRhdnd.esm.js → useFormValidationState-hfa069v5.esm.js} +40 -53
- package/dist/chunks/useFormValidationState-hfa069v5.esm.js.map +1 -0
- package/dist/chunks/{useGridListItem-DVNb2d76.esm.js → useGridListItem-C6LMK1Mv.esm.js} +3 -3
- package/dist/chunks/{useGridListItem-DVNb2d76.esm.js.map → useGridListItem-C6LMK1Mv.esm.js.map} +1 -1
- package/dist/chunks/{useGridListItem-d-i-pqAt.cjs → useGridListItem-CmLWoZGe.cjs} +2 -2
- package/dist/chunks/{useGridListItem-d-i-pqAt.cjs.map → useGridListItem-CmLWoZGe.cjs.map} +1 -1
- package/dist/chunks/{useListState-6F4go-kc.cjs → useListState-BBQE4IFG.cjs} +2 -2
- package/dist/chunks/{useListState-6F4go-kc.cjs.map → useListState-BBQE4IFG.cjs.map} +1 -1
- package/dist/chunks/{useListState-BiT-W669.esm.js → useListState-TSrPXjzi.esm.js} +2 -2
- package/dist/chunks/{useListState-BiT-W669.esm.js.map → useListState-TSrPXjzi.esm.js.map} +1 -1
- package/dist/chunks/useNumberFormatter-Drsf_lwe.cjs +2 -0
- package/dist/chunks/useNumberFormatter-Drsf_lwe.cjs.map +1 -0
- package/dist/chunks/useNumberFormatter-L64UBjdR.esm.js +12 -0
- package/dist/chunks/useNumberFormatter-L64UBjdR.esm.js.map +1 -0
- package/dist/chunks/useProgressBar-C-UZQWBC.cjs +2 -0
- package/dist/chunks/useProgressBar-C-UZQWBC.cjs.map +1 -0
- package/dist/chunks/useProgressBar-DVPx9_dg.esm.js +33 -0
- package/dist/chunks/useProgressBar-DVPx9_dg.esm.js.map +1 -0
- package/dist/chunks/{useSelectableList-DDytBtRR.cjs → useSelectableList-Bgv2nxTX.cjs} +2 -2
- package/dist/chunks/{useSelectableList-DDytBtRR.cjs.map → useSelectableList-Bgv2nxTX.cjs.map} +1 -1
- package/dist/chunks/{useSelectableList-umEtkxYN.esm.js → useSelectableList-gohzq7dg.esm.js} +2 -2
- package/dist/chunks/{useSelectableList-umEtkxYN.esm.js.map → useSelectableList-gohzq7dg.esm.js.map} +1 -1
- package/dist/chunks/useTextField-ABtLd27L.cjs +2 -0
- package/dist/chunks/{useTextField-CzF6gZ6-.cjs.map → useTextField-ABtLd27L.cjs.map} +1 -1
- package/dist/chunks/{useTextField-CdCrgSsV.esm.js → useTextField-FAMJ18ah.esm.js} +5 -4
- package/dist/chunks/{useTextField-CdCrgSsV.esm.js.map → useTextField-FAMJ18ah.esm.js.map} +1 -1
- package/dist/chunks/{useToggle-oUUHIEEp.esm.js → useToggle-B9oH7p52.esm.js} +7 -6
- package/dist/chunks/{useToggle-oUUHIEEp.esm.js.map → useToggle-B9oH7p52.esm.js.map} +1 -1
- package/dist/chunks/useToggle-WawJgKE5.cjs +2 -0
- package/dist/chunks/{useToggle-DOG2OJN_.cjs.map → useToggle-WawJgKE5.cjs.map} +1 -1
- package/dist/chunks/{useTreeState-Bi7rvUKr.cjs → useTreeState-C5z4FPeF.cjs} +2 -2
- package/dist/chunks/{useTreeState-Bi7rvUKr.cjs.map → useTreeState-C5z4FPeF.cjs.map} +1 -1
- package/dist/chunks/{useTreeState-BlJtuLmC.esm.js → useTreeState-DuW0JMo8.esm.js} +2 -2
- package/dist/chunks/{useTreeState-BlJtuLmC.esm.js.map → useTreeState-DuW0JMo8.esm.js.map} +1 -1
- package/dist/components/accordion.cjs +1 -1
- package/dist/components/accordion.es.js +2 -2
- package/dist/components/actions.cjs +1 -1
- package/dist/components/actions.es.js +1 -1
- package/dist/components/alert.cjs +1 -1
- package/dist/components/alert.es.js +1 -1
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +71 -0
- package/dist/components/breadcrumbs/breadcrumbs.recipe.d.ts +31 -0
- package/dist/components/breadcrumbs/breadcrumbs.slots.d.ts +27 -0
- package/dist/components/breadcrumbs/breadcrumbs.types.d.ts +142 -0
- package/dist/components/breadcrumbs/components/breadcrumbs.context.d.ts +13 -0
- package/dist/components/breadcrumbs/components/breadcrumbs.item.d.ts +20 -0
- package/dist/components/breadcrumbs/components/breadcrumbs.root.d.ts +19 -0
- package/dist/components/breadcrumbs/components/index.d.ts +2 -0
- package/dist/components/breadcrumbs/index.d.ts +2 -0
- package/dist/components/breadcrumbs.cjs +1 -0
- package/dist/components/breadcrumbs.es.js +2 -0
- package/dist/components/button.cjs +1 -1
- package/dist/components/button.es.js +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.es.js +1 -1
- package/dist/components/chat-message-list.cjs +1 -1
- package/dist/components/chat-message-list.es.js +1 -1
- package/dist/components/chat-message.cjs +1 -1
- package/dist/components/chat-message.es.js +1 -1
- package/dist/components/checkbox.cjs +1 -1
- package/dist/components/checkbox.es.js +1 -1
- package/dist/components/collapsible-motion.cjs +1 -1
- package/dist/components/collapsible-motion.es.js +1 -1
- package/dist/components/combobox.cjs +1 -1
- package/dist/components/combobox.es.js +1 -1
- package/dist/components/components.cjs +1 -1
- package/dist/components/components.es.js +1 -1
- package/dist/components/confirmation-dialog.cjs +1 -1
- package/dist/components/confirmation-dialog.es.js +1 -1
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.es.js +1 -1
- package/dist/components/date-input.cjs +1 -1
- package/dist/components/date-input.es.js +1 -1
- package/dist/components/date-picker.cjs +1 -1
- package/dist/components/date-picker.es.js +1 -1
- package/dist/components/date-range-picker-field.cjs +1 -1
- package/dist/components/date-range-picker-field.es.js +2 -2
- package/dist/components/date-range-picker.cjs +1 -1
- package/dist/components/date-range-picker.es.js +1 -1
- package/dist/components/default-page.cjs +1 -1
- package/dist/components/default-page.es.js +1 -1
- package/dist/components/dialog.cjs +1 -1
- package/dist/components/dialog.es.js +1 -1
- package/dist/components/dialogs.cjs +1 -1
- package/dist/components/dialogs.es.js +2 -2
- package/dist/components/draggable-list.cjs +1 -1
- package/dist/components/draggable-list.es.js +1 -1
- package/dist/components/drawer.cjs +1 -1
- package/dist/components/drawer.es.js +1 -1
- package/dist/components/drop-zone.cjs +1 -1
- package/dist/components/drop-zone.es.js +1 -1
- package/dist/components/fields.cjs +1 -1
- package/dist/components/fields.es.js +4 -4
- package/dist/components/floating-action-button.cjs +1 -1
- package/dist/components/floating-action-button.es.js +1 -1
- package/dist/components/form-action-bar.cjs +1 -1
- package/dist/components/form-action-bar.es.js +1 -1
- package/dist/components/form-dialog.cjs +1 -1
- package/dist/components/form-dialog.es.js +1 -1
- package/dist/components/form-field.cjs +1 -1
- package/dist/components/form-field.es.js +1 -1
- package/dist/components/icon-button.cjs +1 -1
- package/dist/components/icon-button.es.js +1 -1
- package/dist/components/icon-toggle-button.cjs +1 -1
- package/dist/components/icon-toggle-button.es.js +1 -1
- package/dist/components/index.d.ts +5 -0
- package/dist/components/info-dialog.cjs +1 -1
- package/dist/components/info-dialog.es.js +1 -1
- package/dist/components/item/components/index.d.ts +8 -0
- package/dist/components/item/components/item.actions.d.ts +14 -0
- package/dist/components/item/components/item.content.d.ts +11 -0
- package/dist/components/item/components/item.description.d.ts +10 -0
- package/dist/components/item/components/item.footer.d.ts +10 -0
- package/dist/components/item/components/item.header.d.ts +10 -0
- package/dist/components/item/components/item.media.d.ts +18 -0
- package/dist/components/item/components/item.root.d.ts +16 -0
- package/dist/components/item/components/item.title.d.ts +10 -0
- package/dist/components/item/index.d.ts +2 -0
- package/dist/components/item/item.d.ts +177 -0
- package/dist/components/item/item.recipe.d.ts +52 -0
- package/dist/components/item/item.slots.d.ts +15 -0
- package/dist/components/item/item.types.d.ts +81 -0
- package/dist/components/item-group/components/index.d.ts +2 -0
- package/dist/components/item-group/components/item-group.root.d.ts +22 -0
- package/dist/components/item-group/components/item-group.separator.d.ts +11 -0
- package/dist/components/item-group/index.d.ts +2 -0
- package/dist/components/item-group/item-group.d.ts +62 -0
- package/dist/components/item-group/item-group.recipe.d.ts +11 -0
- package/dist/components/item-group/item-group.slots.d.ts +11 -0
- package/dist/components/item-group/item-group.types.d.ts +14 -0
- package/dist/components/item-group.cjs +1 -0
- package/dist/components/item-group.es.js +2 -0
- package/dist/components/item.cjs +1 -0
- package/dist/components/item.es.js +2 -0
- package/dist/components/list.cjs +1 -1
- package/dist/components/list.es.js +1 -1
- package/dist/components/loading-spinner.cjs +1 -1
- package/dist/components/loading-spinner.es.js +1 -1
- package/dist/components/localized-field.cjs +1 -1
- package/dist/components/localized-field.es.js +1 -1
- package/dist/components/markdown.cjs +1 -1
- package/dist/components/markdown.es.js +1 -1
- package/dist/components/modal-page.cjs +1 -1
- package/dist/components/modal-page.es.js +1 -1
- package/dist/components/money-input-field.cjs +1 -1
- package/dist/components/money-input-field.es.js +1 -1
- package/dist/components/money-input.cjs +1 -1
- package/dist/components/money-input.es.js +1 -1
- package/dist/components/multiline-text-input-field.cjs +1 -1
- package/dist/components/multiline-text-input-field.es.js +1 -1
- package/dist/components/multiline-text-input.cjs +1 -1
- package/dist/components/multiline-text-input.es.js +1 -1
- package/dist/components/nimbus-provider.cjs +1 -1
- package/dist/components/nimbus-provider.es.js +1 -1
- package/dist/components/number-input-field.cjs +1 -1
- package/dist/components/number-input-field.es.js +1 -1
- package/dist/components/number-input.cjs +1 -1
- package/dist/components/number-input.es.js +1 -1
- package/dist/components/pagination.cjs +1 -1
- package/dist/components/pagination.es.js +1 -1
- package/dist/components/password-input-field.cjs +1 -1
- package/dist/components/password-input-field.es.js +1 -1
- package/dist/components/password-input.cjs +1 -1
- package/dist/components/password-input.es.js +1 -1
- package/dist/components/patterns.cjs +1 -1
- package/dist/components/patterns.es.js +7 -7
- package/dist/components/popover.cjs +1 -1
- package/dist/components/popover.es.js +1 -1
- package/dist/components/progress-bar.cjs +1 -1
- package/dist/components/progress-bar.es.js +1 -1
- package/dist/components/radio-input.cjs +1 -1
- package/dist/components/radio-input.es.js +1 -1
- package/dist/components/range-calendar.cjs +1 -1
- package/dist/components/range-calendar.es.js +1 -1
- package/dist/components/range-slider.cjs +1 -0
- package/dist/components/range-slider.es.js +2 -0
- package/dist/components/rich-text-input.cjs +1 -1
- package/dist/components/rich-text-input.es.js +1 -1
- package/dist/components/scoped-search-input.cjs +1 -1
- package/dist/components/scoped-search-input.es.js +1 -1
- package/dist/components/search-input-field.cjs +1 -1
- package/dist/components/search-input-field.es.js +2 -2
- package/dist/components/search-input.cjs +1 -1
- package/dist/components/search-input.es.js +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/select.es.js +1 -1
- package/dist/components/separator.cjs +1 -1
- package/dist/components/separator.es.js +1 -1
- package/dist/components/skeleton/derivatives/skeleton-circle/index.d.ts +2 -0
- package/dist/components/skeleton/derivatives/skeleton-circle/skeleton-circle.d.ts +17 -0
- package/dist/components/skeleton/derivatives/skeleton-circle/skeleton-circle.types.d.ts +21 -0
- package/dist/components/skeleton/derivatives/skeleton-text/index.d.ts +2 -0
- package/dist/components/skeleton/derivatives/skeleton-text/skeleton-text.d.ts +16 -0
- package/dist/components/skeleton/derivatives/skeleton-text/skeleton-text.types.d.ts +45 -0
- package/dist/components/skeleton/index.d.ts +6 -0
- package/dist/components/skeleton/skeleton.d.ts +20 -0
- package/dist/components/skeleton/skeleton.recipe.d.ts +59 -0
- package/dist/components/skeleton/skeleton.slots.d.ts +7 -0
- package/dist/components/skeleton/skeleton.types.d.ts +50 -0
- package/dist/components/skeleton-circle.cjs +1 -0
- package/dist/components/skeleton-circle.es.js +2 -0
- package/dist/components/skeleton-text.cjs +1 -0
- package/dist/components/skeleton-text.es.js +2 -0
- package/dist/components/skeleton.cjs +1 -0
- package/dist/components/skeleton.es.js +6 -0
- package/dist/components/slider/derivatives/range-slider/index.d.ts +2 -0
- package/dist/components/slider/derivatives/range-slider/range-slider.d.ts +20 -0
- package/dist/components/slider/derivatives/range-slider/range-slider.types.d.ts +13 -0
- package/dist/components/slider/index.d.ts +4 -0
- package/dist/components/slider/intl/de.d.ts +10 -0
- package/dist/components/slider/intl/en.d.ts +10 -0
- package/dist/components/slider/intl/es.d.ts +10 -0
- package/dist/components/slider/intl/fr-FR.d.ts +10 -0
- package/dist/components/slider/intl/pt-BR.d.ts +10 -0
- package/dist/components/slider/slider-base.d.ts +10 -0
- package/dist/components/slider/slider.d.ts +13 -0
- package/dist/components/slider/slider.i18n.d.ts +12 -0
- package/dist/components/slider/slider.messages.d.ts +6 -0
- package/dist/components/slider/slider.recipe.d.ts +138 -0
- package/dist/components/slider/slider.slots.d.ts +9 -0
- package/dist/components/slider/slider.types.d.ts +57 -0
- package/dist/components/slider.cjs +1 -0
- package/dist/components/slider.es.js +4 -0
- package/dist/components/split-button.cjs +1 -1
- package/dist/components/split-button.es.js +1 -1
- package/dist/components/splitter.cjs +1 -1
- package/dist/components/splitter.es.js +1 -1
- package/dist/components/steps.cjs +1 -1
- package/dist/components/steps.es.js +1 -1
- package/dist/components/switch.cjs +1 -1
- package/dist/components/switch.es.js +1 -1
- package/dist/components/tab-nav.cjs +1 -1
- package/dist/components/tab-nav.es.js +1 -1
- package/dist/components/table.cjs +1 -1
- package/dist/components/table.es.js +1 -1
- package/dist/components/tabs.cjs +1 -1
- package/dist/components/tabs.es.js +1 -1
- package/dist/components/tag-group.cjs +1 -1
- package/dist/components/tag-group.es.js +1 -1
- package/dist/components/text-input-field.cjs +1 -1
- package/dist/components/text-input-field.es.js +2 -2
- package/dist/components/text-input.cjs +1 -1
- package/dist/components/text-input.es.js +1 -1
- package/dist/components/time-input.cjs +1 -1
- package/dist/components/time-input.es.js +1 -1
- package/dist/components/toast.cjs +1 -1
- package/dist/components/toast.es.js +1 -1
- package/dist/components/toggle-button.cjs +1 -1
- package/dist/components/toggle-button.es.js +1 -1
- package/dist/components/toolbar.cjs +1 -1
- package/dist/components/toolbar.es.js +1 -1
- package/dist/components/tree.cjs +1 -1
- package/dist/components/tree.es.js +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.es.js +170 -162
- package/dist/index.es.js.map +1 -1
- package/dist/theme/keyframes.d.ts +11 -0
- package/dist/theme/recipes/index.d.ts +46 -0
- package/dist/theme/slot-recipes/index.d.ts +193 -0
- package/package.json +6 -6
- package/dist/chunks/DateField-DI1RhZqo.cjs +0 -2
- package/dist/chunks/Dialog-s5tFTj72.cjs +0 -6
- package/dist/chunks/ListBox-CXgfDQSn.cjs +0 -2
- package/dist/chunks/chat-message-list-BhWZEg4l.esm.js.map +0 -1
- package/dist/chunks/chat-message-list-BvzHnJHs.cjs +0 -2
- package/dist/chunks/chat-message-list-BvzHnJHs.cjs.map +0 -1
- package/dist/chunks/data-table-CHpJecej.cjs +0 -2
- package/dist/chunks/draggable-list-CKKl6A_a.cjs +0 -2
- package/dist/chunks/number-input-DU3522fK.cjs +0 -2
- package/dist/chunks/radio-input-_eEv0K2W.cjs +0 -2
- package/dist/chunks/select-DdeLYdJ3.cjs +0 -2
- package/dist/chunks/tab-nav-CunrpVeV.cjs +0 -2
- package/dist/chunks/tab-nav-CunrpVeV.cjs.map +0 -1
- package/dist/chunks/tab-nav-EHnsfeUM.esm.js +0 -99
- package/dist/chunks/tab-nav-EHnsfeUM.esm.js.map +0 -1
- package/dist/chunks/tabs-BbC8to5L.cjs +0 -2
- package/dist/chunks/tag-group-t9CCZs9w.cjs +0 -2
- package/dist/chunks/theme-BR3bc6tH.esm.js.map +0 -1
- package/dist/chunks/theme-tOoHVZZ6.cjs +0 -34
- package/dist/chunks/theme-tOoHVZZ6.cjs.map +0 -1
- package/dist/chunks/use-tree-CrwSJhB8.cjs +0 -2
- package/dist/chunks/useCollection-C04LezXC.cjs +0 -2
- package/dist/chunks/useCollection-C04LezXC.cjs.map +0 -1
- package/dist/chunks/useCollection-CGf4ZguH.esm.js.map +0 -1
- package/dist/chunks/useFormValidationState-B5e8EeJ8.cjs +0 -2
- package/dist/chunks/useFormValidationState-B5e8EeJ8.cjs.map +0 -1
- package/dist/chunks/useFormValidationState-rjMRhdnd.esm.js.map +0 -1
- package/dist/chunks/useProgressBar-DDrlZQv4.cjs +0 -2
- package/dist/chunks/useProgressBar-DDrlZQv4.cjs.map +0 -1
- package/dist/chunks/useProgressBar-DmcvqOjq.esm.js +0 -41
- package/dist/chunks/useProgressBar-DmcvqOjq.esm.js.map +0 -1
- package/dist/chunks/useTextField-CzF6gZ6-.cjs +0 -2
- package/dist/chunks/useToggle-DOG2OJN_.cjs +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./I18nProvider-CQLy1CBO.cjs.js"),t=require("./Calendar-
|
|
2
|
-
//# sourceMappingURL=range-calendar-
|
|
1
|
+
const e=require("./I18nProvider-CQLy1CBO.cjs.js"),t=require("./Calendar-B-gzTAl8.cjs.js"),n=require("./useDateFormatter-DAqs5IhH.cjs.js"),r=require("./utils-Clf3FzjT.cjs.js"),i=require("./Button-CZDjIKB1.cjs.js"),a=require("./Heading-DKP6fK9r.cjs.js"),o=require("./Text-CJwD_Rm8.cjs.js"),s=require("./icon-button-BG5cQycc.cjs.js"),c=require("./box-B6vF0vdN.cjs.js"),l=require("./normalize-messages-BMq9y_ae.cjs.js"),u=require("./flex-D_rZ56ps.cjs.js"),d=require("./theme-DA63MDZQ.cjs.js"),f=require("./visually-hidden-CnOICq5t.cjs.js"),p=require("./text-B6GuUYfw.cjs.js"),m=require("./stack-MlK9aGs9.cjs.js"),h=require("./extract-style-props-WNdpT-ME.cjs.js");let g=require("react"),_=require("react/jsx-runtime"),v=require("@commercetools/nimbus-icons"),y=require("@chakra-ui/react/styled-system");var{withProvider:b,withContext:x}=(0,y.createSlotRecipeContext)({key:`nimbusRangeCalendar`}),S=b(`div`,`root`),C=x(`div`,`header`),w=x(`div`,`grids`),T=x(`div`,`monthTitle`),E=x(`table`,`grid`),D=x(`thead`,`gridHeader`),O=x(`th`,`headerCell`),k=x(`tbody`,`gridBody`),A=x(`td`,`bodyCell`),j={en:l.t({nextMonth:`Next month`,nextYear:`Next year`,previousMonth:`Previous month`,previousYear:`Previous year`}),de:l.t({nextMonth:`Nächsten Monat`,nextYear:`Nächstes Jahr`,previousMonth:`Letzten Monat`,previousYear:`Letztes Jahr`}),es:l.t({nextMonth:`Mes próximo`,nextYear:`Año próximo`,previousMonth:`Mes anterior`,previousYear:`Año anterior`}),"fr-FR":l.t({nextMonth:`Mois suivant`,nextYear:`Année suivante`,previousMonth:`Mois précédent`,previousYear:`Année précédente`}),"pt-BR":l.t({nextMonth:`Próximo mês`,nextYear:`Próximo ano`,previousMonth:`Mês anterior`,previousYear:`Ano anterior`})},M=({children:a})=>{let{locale:s}=e.t(),c=l.n(j),u=(0,g.useContext)(i.t),d=(0,g.useContext)(o.n),f=(0,g.useContext)(t.o),p={"next-month":{onPress:()=>f.focusNextSection(),"aria-label":c.format(`nextMonth`)},"previous-month":{onPress:()=>f.focusPreviousSection(),"aria-label":c.format(`previousMonth`)},"next-year":{onPress:()=>f.focusNextSection(!0),"aria-label":c.format(`nextYear`)},"previous-year":{onPress:()=>f.focusPreviousSection(!0),"aria-label":c.format(`previousYear`)}},m=new Intl.DateTimeFormat(s,{month:`long`}).format(f.focusedDate.toDate(n.w())),h=[new Intl.DateTimeFormat(s,{month:`long`}).format(f.visibleRange.start.toDate(n.w())),new Intl.DateTimeFormat(s,{month:`long`}).format(f.visibleRange.end.toDate(n.w()))].join(` - `),v=new Intl.DateTimeFormat(s,{year:`numeric`}).format(f.focusedDate.toDate(n.w())),y={month:{children:m},monthRange:{children:h},year:{children:v}};return(0,_.jsx)(r.t,{values:[[i.t,{...u,slots:{...u&&typeof u==`object`&&`slots`in u?u.slots:{},...p}}],[o.n,{...d,slots:{...d&&typeof d==`object`&&`slots`in d?d.slots:{},...y}}]],children:a})},N=()=>{let e=(r.c(t.n)?.visibleDuration?.months||1)>1;return(0,_.jsx)(C,{children:(0,_.jsxs)(u.t,{children:[(0,_.jsxs)(m.t,{direction:`row`,alignItems:`center`,children:[(0,_.jsx)(f.t,{children:(0,_.jsx)(a.t,{})}),(0,_.jsx)(s.t,{slot:e?`previous`:`previous-month`,size:`xs`,variant:`ghost`,colorPalette:`primary`,children:(0,_.jsx)(v.KeyboardArrowLeft,{})}),(0,_.jsx)(p.t,{textStyle:`sm`,fontWeight:`500`,color:`neutral.11`,width:e?`4000`:`2000`,textAlign:`center`,"aria-hidden":`true`,slot:e?`monthRange`:`month`}),(0,_.jsx)(s.t,{slot:e?`next`:`next-month`,size:`xs`,variant:`ghost`,colorPalette:`primary`,children:(0,_.jsx)(v.KeyboardArrowRight,{})})]}),(0,_.jsx)(c.t,{flexGrow:`1`}),(0,_.jsxs)(m.t,{direction:`row`,alignItems:`center`,children:[(0,_.jsx)(s.t,{slot:`previous-year`,size:`xs`,variant:`ghost`,colorPalette:`primary`,children:(0,_.jsx)(v.KeyboardArrowLeft,{})}),(0,_.jsx)(p.t,{textStyle:`sm`,fontWeight:`500`,color:`neutral.11`,width:`1400`,textAlign:`center`,"aria-hidden":`true`,slot:`year`}),(0,_.jsx)(s.t,{slot:`next-year`,size:`xs`,variant:`ghost`,colorPalette:`primary`,children:(0,_.jsx)(v.KeyboardArrowRight,{})})]})]})})},P=()=>{let{locale:i}=e.t(),a=r.c(t.n),o=(0,g.useContext)(t.o),s=a?.visibleDuration?.months||1,l=n.E(n.w()),u=s>1;return(0,_.jsx)(w,{children:Array.from({length:s},(e,r)=>{let a=o.visibleRange.start.add({months:r}),d=new Intl.DateTimeFormat(i,{month:`long`}).format(a.toDate(n.w()));return(0,_.jsxs)(c.t,{width:s==1?`full`:`auto`,children:[u&&(0,_.jsx)(T,{children:d}),(0,_.jsx)(E,{asChild:!0,children:(0,_.jsxs)(t.i,{offset:{months:r},weekdayStyle:`short`,children:[(0,_.jsx)(D,{asChild:!0,children:(0,_.jsx)(t.t,{children:e=>(0,_.jsx)(O,{asChild:!0,children:(0,_.jsx)(t.l,{children:e})})})}),(0,_.jsx)(k,{asChild:!0,children:(0,_.jsx)(t.u,{children:e=>(0,_.jsx)(A,{asChild:!0,"data-today":e.compare(l)===0,children:(0,_.jsx)(t.a,{date:e})})})})]})})]},d)})})},F=e=>{let[n,r]=(0,y.useRecipe)({recipe:d.u}).splitVariantProps(e),[i,a]=h.t(r);return(0,_.jsx)(S,{...n,...i,asChild:!0,children:(0,_.jsx)(t.c,{...a,children:(0,_.jsxs)(M,{children:[(0,_.jsx)(N,{}),(0,_.jsx)(P,{})]})})})};F.displayName=`RangeCalendar`,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return F}});
|
|
2
|
+
//# sourceMappingURL=range-calendar-D1yls6jq.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-calendar-B0U51wMd.cjs.js","names":[],"sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/intl/en.ts","../../src/components/range-calendar/intl/de.ts","../../src/components/range-calendar/intl/es.ts","../../src/components/range-calendar/intl/fr-FR.ts","../../src/components/range-calendar/intl/pt-BR.ts","../../src/components/range-calendar/range-calendar.messages.ts","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusRangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot: SlotComponent<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n> = withProvider<HTMLDivElement, RangeCalendarRootSlotProps>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","/**\n * Pre-compiled en messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Next month`,\n nextYear: `Next year`,\n previousMonth: `Previous month`,\n previousYear: `Previous year`,\n};\n","/**\n * Pre-compiled de messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Nächsten Monat`,\n nextYear: `Nächstes Jahr`,\n previousMonth: `Letzten Monat`,\n previousYear: `Letztes Jahr`,\n};\n","/**\n * Pre-compiled es messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mes próximo`,\n nextYear: `Año próximo`,\n previousMonth: `Mes anterior`,\n previousYear: `Año anterior`,\n};\n","/**\n * Pre-compiled fr-FR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mois suivant`,\n nextYear: `Année suivante`,\n previousMonth: `Mois précédent`,\n previousYear: `Année précédente`,\n};\n","/**\n * Pre-compiled pt-BR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Próximo mês`,\n nextYear: `Próximo ano`,\n previousMonth: `Mês anterior`,\n previousYear: `Ano anterior`,\n};\n","/**\n * Pre-compiled localized messages for RangeCalendar component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport rangeCalendarMessages_en from \"./intl/en\";\nimport rangeCalendarMessages_de from \"./intl/de\";\nimport rangeCalendarMessages_es from \"./intl/es\";\nimport rangeCalendarMessages_fr from \"./intl/fr-FR\";\nimport rangeCalendarMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const rangeCalendarMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(rangeCalendarMessages_en),\n de: normalizeMessages(rangeCalendarMessages_de),\n es: normalizeMessages(rangeCalendarMessages_es),\n \"fr-FR\": normalizeMessages(rangeCalendarMessages_fr),\n \"pt-BR\": normalizeMessages(rangeCalendarMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for RangeCalendar component\n */\nexport type RangeCalendarMessageKey =\n \"nextMonth\" | \"nextYear\" | \"previousMonth\" | \"previousYear\";\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { rangeCalendarMessagesStrings } from \"../range-calendar.messages\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const msg = useLocalizedStringFormatter(rangeCalendarMessagesStrings);\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": msg.format(\"nextMonth\"),\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": msg.format(\"previousMonth\"),\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": msg.format(\"nextYear\"),\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": msg.format(\"previousYear\"),\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarHeader - Header component for the RangeCalendar\n *\n * Displays navigation controls for month and year selection with proper\n * internationalization and accessibility support.\n */\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n <IconButton\n slot=\"next-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarGrids - Grid container component for the RangeCalendar\n *\n * Renders calendar grids for one or more months with proper date cells,\n * weekday headers, and internationalization support.\n */\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport {\n RangeCalendarCustomContext,\n RangeCalendarHeader,\n RangeCalendarGrids,\n} from \"./components\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * RangeCalendar\n * ============================================================\n * Calendar component that displays a grid of days in one or more months\n * and allows users to select a range of dates. Built with React Aria\n * Components for accessibility and WCAG 2.1 AA compliance.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/rangecalendar}\n *\n * @supportsStylePropsx\n */\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n\nRangeCalendar.displayName = \"RangeCalendar\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"range-calendar-D1yls6jq.cjs.js","names":[],"sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/intl/en.ts","../../src/components/range-calendar/intl/de.ts","../../src/components/range-calendar/intl/es.ts","../../src/components/range-calendar/intl/fr-FR.ts","../../src/components/range-calendar/intl/pt-BR.ts","../../src/components/range-calendar/range-calendar.messages.ts","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusRangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot: SlotComponent<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n> = withProvider<HTMLDivElement, RangeCalendarRootSlotProps>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","/**\n * Pre-compiled en messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Next month`,\n nextYear: `Next year`,\n previousMonth: `Previous month`,\n previousYear: `Previous year`,\n};\n","/**\n * Pre-compiled de messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Nächsten Monat`,\n nextYear: `Nächstes Jahr`,\n previousMonth: `Letzten Monat`,\n previousYear: `Letztes Jahr`,\n};\n","/**\n * Pre-compiled es messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mes próximo`,\n nextYear: `Año próximo`,\n previousMonth: `Mes anterior`,\n previousYear: `Año anterior`,\n};\n","/**\n * Pre-compiled fr-FR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mois suivant`,\n nextYear: `Année suivante`,\n previousMonth: `Mois précédent`,\n previousYear: `Année précédente`,\n};\n","/**\n * Pre-compiled pt-BR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Próximo mês`,\n nextYear: `Próximo ano`,\n previousMonth: `Mês anterior`,\n previousYear: `Ano anterior`,\n};\n","/**\n * Pre-compiled localized messages for RangeCalendar component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport rangeCalendarMessages_en from \"./intl/en\";\nimport rangeCalendarMessages_de from \"./intl/de\";\nimport rangeCalendarMessages_es from \"./intl/es\";\nimport rangeCalendarMessages_fr from \"./intl/fr-FR\";\nimport rangeCalendarMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const rangeCalendarMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(rangeCalendarMessages_en),\n de: normalizeMessages(rangeCalendarMessages_de),\n es: normalizeMessages(rangeCalendarMessages_es),\n \"fr-FR\": normalizeMessages(rangeCalendarMessages_fr),\n \"pt-BR\": normalizeMessages(rangeCalendarMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for RangeCalendar component\n */\nexport type RangeCalendarMessageKey =\n \"nextMonth\" | \"nextYear\" | \"previousMonth\" | \"previousYear\";\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { rangeCalendarMessagesStrings } from \"../range-calendar.messages\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const msg = useLocalizedStringFormatter(rangeCalendarMessagesStrings);\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": msg.format(\"nextMonth\"),\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": msg.format(\"previousMonth\"),\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": msg.format(\"nextYear\"),\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": msg.format(\"previousYear\"),\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarHeader - Header component for the RangeCalendar\n *\n * Displays navigation controls for month and year selection with proper\n * internationalization and accessibility support.\n */\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n <IconButton\n slot=\"next-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarGrids - Grid container component for the RangeCalendar\n *\n * Renders calendar grids for one or more months with proper date cells,\n * weekday headers, and internationalization support.\n */\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport {\n RangeCalendarCustomContext,\n RangeCalendarHeader,\n RangeCalendarGrids,\n} from \"./components\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * RangeCalendar\n * ============================================================\n * Calendar component that displays a grid of days in one or more months\n * and allows users to select a range of dates. Built with React Aria\n * Components for accessibility and WCAG 2.1 AA compliance.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/rangecalendar}\n *\n * @supportsStylePropsx\n */\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n\nRangeCalendar.displayName = \"RangeCalendar\";\n"],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { t as e } from "./I18nProvider-Cw-VVV-e.esm.js";
|
|
2
|
-
import { a as t, c as n, i as r, l as i, n as a, o, t as s, u as c } from "./Calendar-
|
|
2
|
+
import { a as t, c as n, i as r, l as i, n as a, o, t as s, u as c } from "./Calendar-B6F41FfL.esm.js";
|
|
3
3
|
import { E as l, w as u } from "./useDateFormatter-BqyWVuA8.esm.js";
|
|
4
4
|
import { c as d, t as f } from "./utils-BYIK8Yf2.esm.js";
|
|
5
|
-
import { t as p } from "./Button-
|
|
5
|
+
import { t as p } from "./Button-B5g2BgY8.esm.js";
|
|
6
6
|
import { t as m } from "./Heading-nZpHPDFS.esm.js";
|
|
7
7
|
import { n as h } from "./Text-B7tENZ_I.esm.js";
|
|
8
|
-
import { t as g } from "./icon-button-
|
|
8
|
+
import { t as g } from "./icon-button-CyhrlrIv.esm.js";
|
|
9
9
|
import { t as _ } from "./box-CZyqYgLL.esm.js";
|
|
10
10
|
import { n as v, t as y } from "./normalize-messages-B_f-0I5n.esm.js";
|
|
11
11
|
import { t as b } from "./flex-BB3-rbwF.esm.js";
|
|
12
|
-
import {
|
|
12
|
+
import { u as x } from "./theme-CFqa_6UM.esm.js";
|
|
13
13
|
import { t as S } from "./visually-hidden-C0SJSQ9z.esm.js";
|
|
14
14
|
import { t as C } from "./text-B8bxcVHh.esm.js";
|
|
15
15
|
import { t as w } from "./stack-D0obj5JC.esm.js";
|
|
16
|
-
import { t as T } from "./extract-style-props-
|
|
16
|
+
import { t as T } from "./extract-style-props-D519tVOc.esm.js";
|
|
17
17
|
import { useContext as E } from "react";
|
|
18
18
|
import { jsx as D, jsxs as O } from "react/jsx-runtime";
|
|
19
19
|
import { KeyboardArrowLeft as k, KeyboardArrowRight as A } from "@commercetools/nimbus-icons";
|
|
@@ -198,4 +198,4 @@ J.displayName = "RangeCalendar";
|
|
|
198
198
|
//#endregion
|
|
199
199
|
export { J as t };
|
|
200
200
|
|
|
201
|
-
//# sourceMappingURL=range-calendar-
|
|
201
|
+
//# sourceMappingURL=range-calendar-DhgT-Y8T.esm.js.map
|
package/dist/chunks/{range-calendar-DA5hJpYL.esm.js.map → range-calendar-DhgT-Y8T.esm.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-calendar-DA5hJpYL.esm.js","names":[],"sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/intl/en.ts","../../src/components/range-calendar/intl/de.ts","../../src/components/range-calendar/intl/es.ts","../../src/components/range-calendar/intl/fr-FR.ts","../../src/components/range-calendar/intl/pt-BR.ts","../../src/components/range-calendar/range-calendar.messages.ts","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusRangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot: SlotComponent<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n> = withProvider<HTMLDivElement, RangeCalendarRootSlotProps>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","/**\n * Pre-compiled en messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Next month`,\n nextYear: `Next year`,\n previousMonth: `Previous month`,\n previousYear: `Previous year`,\n};\n","/**\n * Pre-compiled de messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Nächsten Monat`,\n nextYear: `Nächstes Jahr`,\n previousMonth: `Letzten Monat`,\n previousYear: `Letztes Jahr`,\n};\n","/**\n * Pre-compiled es messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mes próximo`,\n nextYear: `Año próximo`,\n previousMonth: `Mes anterior`,\n previousYear: `Año anterior`,\n};\n","/**\n * Pre-compiled fr-FR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mois suivant`,\n nextYear: `Année suivante`,\n previousMonth: `Mois précédent`,\n previousYear: `Année précédente`,\n};\n","/**\n * Pre-compiled pt-BR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Próximo mês`,\n nextYear: `Próximo ano`,\n previousMonth: `Mês anterior`,\n previousYear: `Ano anterior`,\n};\n","/**\n * Pre-compiled localized messages for RangeCalendar component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport rangeCalendarMessages_en from \"./intl/en\";\nimport rangeCalendarMessages_de from \"./intl/de\";\nimport rangeCalendarMessages_es from \"./intl/es\";\nimport rangeCalendarMessages_fr from \"./intl/fr-FR\";\nimport rangeCalendarMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const rangeCalendarMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(rangeCalendarMessages_en),\n de: normalizeMessages(rangeCalendarMessages_de),\n es: normalizeMessages(rangeCalendarMessages_es),\n \"fr-FR\": normalizeMessages(rangeCalendarMessages_fr),\n \"pt-BR\": normalizeMessages(rangeCalendarMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for RangeCalendar component\n */\nexport type RangeCalendarMessageKey =\n \"nextMonth\" | \"nextYear\" | \"previousMonth\" | \"previousYear\";\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { rangeCalendarMessagesStrings } from \"../range-calendar.messages\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const msg = useLocalizedStringFormatter(rangeCalendarMessagesStrings);\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": msg.format(\"nextMonth\"),\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": msg.format(\"previousMonth\"),\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": msg.format(\"nextYear\"),\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": msg.format(\"previousYear\"),\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarHeader - Header component for the RangeCalendar\n *\n * Displays navigation controls for month and year selection with proper\n * internationalization and accessibility support.\n */\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n <IconButton\n slot=\"next-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarGrids - Grid container component for the RangeCalendar\n *\n * Renders calendar grids for one or more months with proper date cells,\n * weekday headers, and internationalization support.\n */\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport {\n RangeCalendarCustomContext,\n RangeCalendarHeader,\n RangeCalendarGrids,\n} from \"./components\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * RangeCalendar\n * ============================================================\n * Calendar component that displays a grid of days in one or more months\n * and allows users to select a range of dates. Built with React Aria\n * Components for accessibility and WCAG 2.1 AA compliance.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/rangecalendar}\n *\n * @supportsStylePropsx\n */\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n\nRangeCalendar.displayName = \"RangeCalendar\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"range-calendar-DhgT-Y8T.esm.js","names":[],"sources":["../../src/components/range-calendar/range-calendar.slots.tsx","../../src/components/range-calendar/intl/en.ts","../../src/components/range-calendar/intl/de.ts","../../src/components/range-calendar/intl/es.ts","../../src/components/range-calendar/intl/fr-FR.ts","../../src/components/range-calendar/intl/pt-BR.ts","../../src/components/range-calendar/range-calendar.messages.ts","../../src/components/range-calendar/components/range-calendar.custom-context.tsx","../../src/components/range-calendar/components/range-calendar.header.tsx","../../src/components/range-calendar/components/range-calendar.grids.tsx","../../src/components/range-calendar/range-calendar.tsx"],"sourcesContent":["import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n RangeCalendarRootSlotProps,\n RangeCalendarHeaderSlotProps,\n RangeCalendarGridsSlotProps,\n RangeCalendarMonthTitleSlotProps,\n RangeCalendarGridSlotProps,\n RangeCalendarGridHeaderSlotProps,\n RangeCalendarHeaderCellSlotProps,\n RangeCalendarGridBodySlotProps,\n RangeCalendarCellSlotProps,\n} from \"./range-calendar.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusRangeCalendar\",\n});\n\nexport const RangeCalendarRootSlot: SlotComponent<\n HTMLDivElement,\n RangeCalendarRootSlotProps\n> = withProvider<HTMLDivElement, RangeCalendarRootSlotProps>(\"div\", \"root\");\n\nexport const RangeCalendarHeaderSlot = withContext<\n HTMLDivElement,\n RangeCalendarHeaderSlotProps\n>(\"div\", \"header\");\n\nexport const RangeCalendarGridsSlot = withContext<\n HTMLDivElement,\n RangeCalendarGridsSlotProps\n>(\"div\", \"grids\");\n\nexport const RangeCalendarMonthTitleSlot = withContext<\n HTMLDivElement,\n RangeCalendarMonthTitleSlotProps\n>(\"div\", \"monthTitle\");\n\nexport const RangeCalendarGridSlot = withContext<\n HTMLTableElement,\n RangeCalendarGridSlotProps\n>(\"table\", \"grid\");\n\nexport const RangeCalendarGridHeaderSlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridHeaderSlotProps\n>(\"thead\", \"gridHeader\");\n\nexport const RangeCalendarHeaderCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarHeaderCellSlotProps\n>(\"th\", \"headerCell\");\n\nexport const RangeCalendarGridBodySlot = withContext<\n HTMLTableSectionElement,\n RangeCalendarGridBodySlotProps\n>(\"tbody\", \"gridBody\");\n\nexport const RangeCalendarCellSlot = withContext<\n HTMLTableCellElement,\n RangeCalendarCellSlotProps\n>(\"td\", \"bodyCell\");\n","/**\n * Pre-compiled en messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Next month`,\n nextYear: `Next year`,\n previousMonth: `Previous month`,\n previousYear: `Previous year`,\n};\n","/**\n * Pre-compiled de messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Nächsten Monat`,\n nextYear: `Nächstes Jahr`,\n previousMonth: `Letzten Monat`,\n previousYear: `Letztes Jahr`,\n};\n","/**\n * Pre-compiled es messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mes próximo`,\n nextYear: `Año próximo`,\n previousMonth: `Mes anterior`,\n previousYear: `Año anterior`,\n};\n","/**\n * Pre-compiled fr-FR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Mois suivant`,\n nextYear: `Année suivante`,\n previousMonth: `Mois précédent`,\n previousYear: `Année précédente`,\n};\n","/**\n * Pre-compiled pt-BR messages for RangeCalendar\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default {\n nextMonth: `Próximo mês`,\n nextYear: `Próximo ano`,\n previousMonth: `Mês anterior`,\n previousYear: `Ano anterior`,\n};\n","/**\n * Pre-compiled localized messages for RangeCalendar component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport rangeCalendarMessages_en from \"./intl/en\";\nimport rangeCalendarMessages_de from \"./intl/de\";\nimport rangeCalendarMessages_es from \"./intl/es\";\nimport rangeCalendarMessages_fr from \"./intl/fr-FR\";\nimport rangeCalendarMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const rangeCalendarMessagesStrings: LocalizedStrings<\n string,\n LocalizedString\n> = {\n en: normalizeMessages(rangeCalendarMessages_en),\n de: normalizeMessages(rangeCalendarMessages_de),\n es: normalizeMessages(rangeCalendarMessages_es),\n \"fr-FR\": normalizeMessages(rangeCalendarMessages_fr),\n \"pt-BR\": normalizeMessages(rangeCalendarMessages_pt),\n} as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for RangeCalendar component\n */\nexport type RangeCalendarMessageKey =\n \"nextMonth\" | \"nextYear\" | \"previousMonth\" | \"previousYear\";\n","import { getLocalTimeZone } from \"@internationalized/date\";\nimport { useContext } from \"react\";\nimport {\n Provider,\n ButtonContext,\n RangeCalendarStateContext,\n TextContext,\n useLocale,\n} from \"react-aria-components\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport { rangeCalendarMessagesStrings } from \"../range-calendar.messages\";\n\nexport const RangeCalendarCustomContext = ({\n children,\n}: {\n children: React.ReactNode;\n}) => {\n const { locale } = useLocale();\n const msg = useLocalizedStringFormatter(rangeCalendarMessagesStrings);\n const buttonContext = useContext(ButtonContext)!;\n const textContext = useContext(TextContext)!;\n const calendarState = useContext(RangeCalendarStateContext)!;\n\n /**\n * Button slots\n * ================================\n */\n const buttonSlots = {\n \"next-month\": {\n onPress: () => calendarState.focusNextSection(),\n \"aria-label\": msg.format(\"nextMonth\"),\n },\n \"previous-month\": {\n onPress: () => calendarState.focusPreviousSection(),\n \"aria-label\": msg.format(\"previousMonth\"),\n },\n \"next-year\": {\n onPress: () => calendarState.focusNextSection(true),\n \"aria-label\": msg.format(\"nextYear\"),\n },\n \"previous-year\": {\n onPress: () => calendarState.focusPreviousSection(true),\n \"aria-label\": msg.format(\"previousYear\"),\n },\n };\n\n /**\n * Text slots\n * ================================\n */\n const monthLabel = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const monthRangeLabel = [\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.start.toDate(getLocalTimeZone())),\n new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(calendarState.visibleRange.end.toDate(getLocalTimeZone())),\n ].join(\" - \");\n\n const yearLabel = new Intl.DateTimeFormat(locale, {\n year: \"numeric\",\n }).format(calendarState.focusedDate.toDate(getLocalTimeZone()));\n\n const textSlots = {\n month: { children: monthLabel },\n monthRange: { children: monthRangeLabel },\n year: { children: yearLabel },\n };\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n ...buttonContext,\n slots: {\n ...(buttonContext &&\n typeof buttonContext === \"object\" &&\n \"slots\" in buttonContext\n ? buttonContext.slots\n : {}),\n ...buttonSlots,\n },\n },\n ],\n [\n TextContext,\n {\n ...textContext,\n slots: {\n ...(textContext &&\n typeof textContext === \"object\" &&\n \"slots\" in textContext\n ? textContext.slots\n : {}),\n ...textSlots,\n },\n },\n ],\n ]}\n >\n {children}\n </Provider>\n );\n};\n","import {\n RangeCalendarContext,\n Heading,\n useSlottedContext,\n} from \"react-aria-components\";\nimport {\n Box,\n Flex,\n IconButton,\n Stack,\n Text,\n VisuallyHidden,\n} from \"@/components\";\nimport {\n KeyboardArrowLeft,\n KeyboardArrowRight,\n} from \"@commercetools/nimbus-icons\";\nimport { RangeCalendarHeaderSlot } from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarHeader - Header component for the RangeCalendar\n *\n * Displays navigation controls for month and year selection with proper\n * internationalization and accessibility support.\n */\nexport const RangeCalendarHeader = () => {\n const rangeCalendarProps = useSlottedContext(RangeCalendarContext);\n\n // Needed to decide whether to show a single month or a range\n const visibleDurationMonths =\n rangeCalendarProps?.visibleDuration?.months || 1;\n const showRangeLabel = visibleDurationMonths > 1;\n\n return (\n <RangeCalendarHeaderSlot>\n <Flex>\n <Stack direction=\"row\" alignItems=\"center\">\n {/** solely for screen readers, if not present, a11y issues are raised */}\n <VisuallyHidden>\n <Heading />\n </VisuallyHidden>\n <IconButton\n slot={showRangeLabel ? \"previous\" : \"previous-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width={showRangeLabel ? \"4000\" : \"2000\"}\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot={showRangeLabel ? \"monthRange\" : \"month\"}\n />\n <IconButton\n slot={showRangeLabel ? \"next\" : \"next-month\"}\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n <Box flexGrow=\"1\" />\n <Stack direction=\"row\" alignItems=\"center\">\n <IconButton\n slot=\"previous-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowLeft />\n </IconButton>\n <Text\n textStyle=\"sm\"\n fontWeight=\"500\"\n color=\"neutral.11\"\n width=\"1400\"\n textAlign=\"center\"\n aria-hidden=\"true\"\n slot=\"year\"\n />\n <IconButton\n slot=\"next-year\"\n size=\"xs\"\n variant=\"ghost\"\n colorPalette=\"primary\"\n >\n <KeyboardArrowRight />\n </IconButton>\n </Stack>\n </Flex>\n </RangeCalendarHeaderSlot>\n );\n};\n","import { useContext } from \"react\";\nimport { today, getLocalTimeZone } from \"@internationalized/date\";\nimport {\n CalendarGrid as RaCalendarGrid,\n CalendarGridBody as RaCalendarGridBody,\n CalendarGridHeader as RaCalendarGridHeader,\n CalendarHeaderCell as RaCalendarHeaderCell,\n CalendarCell as RaCalendarCell,\n useSlottedContext,\n RangeCalendarContext,\n RangeCalendarStateContext,\n useLocale,\n} from \"react-aria-components\";\nimport { Box } from \"@/components\";\n\nimport {\n RangeCalendarCellSlot,\n RangeCalendarGridBodySlot,\n RangeCalendarGridHeaderSlot,\n RangeCalendarGridsSlot,\n RangeCalendarGridSlot,\n RangeCalendarHeaderCellSlot,\n RangeCalendarMonthTitleSlot,\n} from \"../range-calendar.slots\";\n\n/**\n * RangeCalendarGrids - Grid container component for the RangeCalendar\n *\n * Renders calendar grids for one or more months with proper date cells,\n * weekday headers, and internationalization support.\n */\nexport const RangeCalendarGrids = () => {\n const { locale } = useLocale();\n const context = useSlottedContext(RangeCalendarContext);\n\n const calendarState = useContext(RangeCalendarStateContext)!;\n const visibleMonthsCount = context?.visibleDuration?.months || 1;\n const todayDate = today(getLocalTimeZone());\n const showMonthTitles = visibleMonthsCount > 1;\n\n return (\n <RangeCalendarGridsSlot>\n {Array.from({ length: visibleMonthsCount }, (_, index) => {\n const gridDate = calendarState.visibleRange.start.add({\n months: index,\n });\n const monthName = new Intl.DateTimeFormat(locale, {\n month: \"long\",\n }).format(gridDate.toDate(getLocalTimeZone()));\n\n return (\n <Box\n key={monthName}\n width={visibleMonthsCount == 1 ? \"full\" : \"auto\"}\n >\n {showMonthTitles && (\n <RangeCalendarMonthTitleSlot>\n {monthName}\n </RangeCalendarMonthTitleSlot>\n )}\n <RangeCalendarGridSlot asChild>\n <RaCalendarGrid offset={{ months: index }} weekdayStyle=\"short\">\n <RangeCalendarGridHeaderSlot asChild>\n <RaCalendarGridHeader>\n {(day) => (\n <RangeCalendarHeaderCellSlot asChild>\n <RaCalendarHeaderCell>{day}</RaCalendarHeaderCell>\n </RangeCalendarHeaderCellSlot>\n )}\n </RaCalendarGridHeader>\n </RangeCalendarGridHeaderSlot>\n <RangeCalendarGridBodySlot asChild>\n <RaCalendarGridBody>\n {(date) => {\n const isToday = date.compare(todayDate) === 0;\n return (\n <RangeCalendarCellSlot asChild data-today={isToday}>\n <RaCalendarCell date={date} />\n </RangeCalendarCellSlot>\n );\n }}\n </RaCalendarGridBody>\n </RangeCalendarGridBodySlot>\n </RaCalendarGrid>\n </RangeCalendarGridSlot>\n </Box>\n );\n })}\n </RangeCalendarGridsSlot>\n );\n};\n","import type { RangeCalendarProps } from \"./range-calendar.types\";\nimport type { DateValue } from \"@internationalized/date\";\nimport { RangeCalendar as RaRangeCalendar } from \"react-aria-components\";\nimport { RangeCalendarRootSlot } from \"./range-calendar.slots\";\nimport {\n RangeCalendarCustomContext,\n RangeCalendarHeader,\n RangeCalendarGrids,\n} from \"./components\";\nimport { rangeCalendarSlotRecipe } from \"./range-calendar.recipe\";\nimport { useRecipe } from \"@chakra-ui/react/styled-system\";\nimport { extractStyleProps } from \"@/utils\";\n\n/**\n * RangeCalendar\n * ============================================================\n * Calendar component that displays a grid of days in one or more months\n * and allows users to select a range of dates. Built with React Aria\n * Components for accessibility and WCAG 2.1 AA compliance.\n *\n * @see {@link https://nimbus-documentation.vercel.app/components/inputs/rangecalendar}\n *\n * @supportsStylePropsx\n */\nexport const RangeCalendar = (props: RangeCalendarProps<DateValue>) => {\n const recipe = useRecipe({ recipe: rangeCalendarSlotRecipe });\n const [recipeProps, remainingProps] = recipe.splitVariantProps(props);\n const [styleProps, otherProps] = extractStyleProps(remainingProps);\n\n return (\n <RangeCalendarRootSlot {...recipeProps} {...styleProps} asChild>\n <RaRangeCalendar {...otherProps}>\n <RangeCalendarCustomContext>\n <RangeCalendarHeader />\n <RangeCalendarGrids />\n </RangeCalendarCustomContext>\n </RaRangeCalendar>\n </RangeCalendarRootSlot>\n );\n};\n\nRangeCalendar.displayName = \"RangeCalendar\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAcA,IAAM,EAAE,iBAAc,mBAAgB,EAAwB,EAC5D,KAAK,sBACP,CAAC,GAEY,IAGT,EAAyD,OAAO,MAAM,GAE7D,IAA0B,EAGrC,OAAO,QAAQ,GAEJ,IAAyB,EAGpC,OAAO,OAAO,GAEH,IAA8B,EAGzC,OAAO,YAAY,GAER,IAAwB,EAGnC,SAAS,MAAM,GAEJ,IAA8B,EAGzC,SAAS,YAAY,GAEV,IAA8B,EAGzC,MAAM,YAAY,GAEP,IAA4B,EAGvC,SAAS,UAAU,GAER,IAAwB,EAGnC,MAAM,UAAU,GMtCL,IAGT;CACF,IAAI,EAAkB;ELpBtB,WAAW;EACX,UAAU;EACV,eAAe;EACf,cAAc;CKiBQ,CAAwB;CAC9C,IAAI,EAAkB;EJrBtB,WAAW;EACX,UAAU;EACV,eAAe;EACf,cAAc;CIkBQ,CAAwB;CAC9C,IAAI,EAAkB;EHtBtB,WAAW;EACX,UAAU;EACV,eAAe;EACf,cAAc;CGmBQ,CAAwB;CAC9C,SAAS,EAAkB;EFvB3B,WAAW;EACX,UAAU;EACV,eAAe;EACf,cAAc;CEoBa,CAAwB;CACnD,SAAS,EAAkB;EDxB3B,WAAW;EACX,UAAU;EACV,eAAe;EACf,cAAc;CCqBa,CAAwB;AACrD,GCpBa,KAA8B,EACzC,kBAGI;CACJ,IAAM,EAAE,cAAW,EAAU,GACvB,IAAM,EAA4B,CAA4B,GAC9D,IAAgB,EAAW,CAAa,GACxC,IAAc,EAAW,CAAW,GACpC,IAAgB,EAAW,CAAyB,GAMpD,IAAc;EAClB,cAAc;GACZ,eAAe,EAAc,iBAAiB;GAC9C,cAAc,EAAI,OAAO,WAAW;EACtC;EACA,kBAAkB;GAChB,eAAe,EAAc,qBAAqB;GAClD,cAAc,EAAI,OAAO,eAAe;EAC1C;EACA,aAAa;GACX,eAAe,EAAc,iBAAiB,EAAI;GAClD,cAAc,EAAI,OAAO,UAAU;EACrC;EACA,iBAAiB;GACf,eAAe,EAAc,qBAAqB,EAAI;GACtD,cAAc,EAAI,OAAO,cAAc;EACzC;CACF,GAMM,IAAa,IAAI,KAAK,eAAe,GAAQ,EACjD,OAAO,OACT,CAAC,CAAC,CAAC,OAAO,EAAc,YAAY,OAAO,EAAiB,CAAC,CAAC,GAExD,IAAkB,CACtB,IAAI,KAAK,eAAe,GAAQ,EAC9B,OAAO,OACT,CAAC,CAAC,CAAC,OAAO,EAAc,aAAa,MAAM,OAAO,EAAiB,CAAC,CAAC,GACrE,IAAI,KAAK,eAAe,GAAQ,EAC9B,OAAO,OACT,CAAC,CAAC,CAAC,OAAO,EAAc,aAAa,IAAI,OAAO,EAAiB,CAAC,CAAC,CACrE,CAAC,CAAC,KAAK,KAAK,GAEN,IAAY,IAAI,KAAK,eAAe,GAAQ,EAChD,MAAM,UACR,CAAC,CAAC,CAAC,OAAO,EAAc,YAAY,OAAO,EAAiB,CAAC,CAAC,GAExD,IAAY;EAChB,OAAO,EAAE,UAAU,EAAW;EAC9B,YAAY,EAAE,UAAU,EAAgB;EACxC,MAAM,EAAE,UAAU,EAAU;CAC9B;CAEA,OACE,kBAAC,GAAD;EACE,QAAQ,CACN,CACE,GACA;GACE,GAAG;GACH,OAAO;IACL,GAAI,KACJ,OAAO,KAAkB,YACzB,WAAW,IACP,EAAc,QACd,CAAC;IACL,GAAG;GACL;EACF,CACF,GACA,CACE,GACA;GACE,GAAG;GACH,OAAO;IACL,GAAI,KACJ,OAAO,KAAgB,YACvB,WAAW,IACP,EAAY,QACZ,CAAC;IACL,GAAG;GACL;EACF,CACF,CACF;EAEC;CACO,CAAA;AAEd,GCpFa,UAA4B;CAMvC,IAAM,KALqB,EAAkB,CAI3C,CAAA,EAAoB,iBAAiB,UAAU,KACF;CAE/C,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAA,UAAA;EACE,kBAAC,GAAD;GAAO,WAAU;GAAM,YAAW;aAAlC;IAEE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,CAAU,CAAA,EACI,CAAA;IAChB,kBAAC,GAAD;KACE,MAAM,IAAiB,aAAa;KACpC,MAAK;KACL,SAAQ;KACR,cAAa;eAEb,kBAAC,GAAD,CAAoB,CAAA;IACV,CAAA;IACZ,kBAAC,GAAD;KACE,WAAU;KACV,YAAW;KACX,OAAM;KACN,OAAO,IAAiB,SAAS;KACjC,WAAU;KACV,eAAY;KACZ,MAAM,IAAiB,eAAe;IACvC,CAAA;IACD,kBAAC,GAAD;KACE,MAAM,IAAiB,SAAS;KAChC,MAAK;KACL,SAAQ;KACR,cAAa;eAEb,kBAAC,GAAD,CAAqB,CAAA;IACX,CAAA;GACP;;EACP,kBAAC,GAAD,EAAK,UAAS,IAAK,CAAA;EACnB,kBAAC,GAAD;GAAO,WAAU;GAAM,YAAW;aAAlC;IACE,kBAAC,GAAD;KACE,MAAK;KACL,MAAK;KACL,SAAQ;KACR,cAAa;eAEb,kBAAC,GAAD,CAAoB,CAAA;IACV,CAAA;IACZ,kBAAC,GAAD;KACE,WAAU;KACV,YAAW;KACX,OAAM;KACN,OAAM;KACN,WAAU;KACV,eAAY;KACZ,MAAK;IACN,CAAA;IACD,kBAAC,GAAD;KACE,MAAK;KACL,MAAK;KACL,SAAQ;KACR,cAAa;eAEb,kBAAC,GAAD,CAAqB,CAAA;IACX,CAAA;GACP;;CACH,EAAA,CAAA,EACiB,CAAA;AAE7B,GCnEa,UAA2B;CACtC,IAAM,EAAE,cAAW,EAAU,GACvB,IAAU,EAAkB,CAAoB,GAEhD,IAAgB,EAAW,CAAyB,GACpD,IAAqB,GAAS,iBAAiB,UAAU,GACzD,IAAY,EAAM,EAAiB,CAAC,GACpC,IAAkB,IAAqB;CAE7C,OACE,kBAAC,GAAD,EAAA,UACG,MAAM,KAAK,EAAE,QAAQ,EAAmB,IAAI,GAAG,MAAU;EACxD,IAAM,IAAW,EAAc,aAAa,MAAM,IAAI,EACpD,QAAQ,EACV,CAAC,GACK,IAAY,IAAI,KAAK,eAAe,GAAQ,EAChD,OAAO,OACT,CAAC,CAAC,CAAC,OAAO,EAAS,OAAO,EAAiB,CAAC,CAAC;EAE7C,OACE,kBAAC,GAAD;GAEE,OAAO,KAAsB,IAAI,SAAS;aAF5C,CAIG,KACC,kBAAC,GAAD,EAAA,UACG,EAC0B,CAAA,GAE/B,kBAAC,GAAD;IAAuB,SAAA;cACrB,kBAAC,GAAD;KAAgB,QAAQ,EAAE,QAAQ,EAAM;KAAG,cAAa;eAAxD,CACE,kBAAC,GAAD;MAA6B,SAAA;gBAC3B,kBAAC,GAAD,EAAA,WACI,MACA,kBAAC,GAAD;OAA6B,SAAA;iBAC3B,kBAAC,GAAD,EAAA,UAAuB,EAA0B,CAAA;MACtB,CAAA,EAEX,CAAA;KACK,CAAA,GAC7B,kBAAC,GAAD;MAA2B,SAAA;gBACzB,kBAAC,GAAD,EAAA,WACI,MAGE,kBAAC,GAAD;OAAuB,SAAA;OAAQ,cAFjB,EAAK,QAAQ,CAAS,MAAM;iBAGxC,kBAAC,GAAD,EAAsB,QAAO,CAAA;MACR,CAAA,EAGT,CAAA;KACK,CAAA,CACb;;GACK,CAAA,CACpB;KAjCE,CAiCF;CAET,CAAC,EACqB,CAAA;AAE5B,GClEa,KAAiB,MAAyC;CAErE,IAAM,CAAC,GAAa,KADL,EAAU,EAAE,QAAQ,EAAwB,CACrB,CAAA,CAAO,kBAAkB,CAAK,GAC9D,CAAC,GAAY,KAAc,EAAkB,CAAc;CAEjE,OACE,kBAAC,GAAD;EAAuB,GAAI;EAAa,GAAI;EAAY,SAAA;YACtD,kBAAC,GAAD;GAAiB,GAAI;aACnB,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,CAAsB,CAAA,GACtB,kBAAC,GAAD,CAAqB,CAAA,CACK,EAAA,CAAA;EACb,CAAA;CACI,CAAA;AAE3B;AAEA,EAAc,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./SSRProvider-CM04-CXZ.cjs.js"),t=require("./utils-igUjp_4h.cjs.js"),n=require("./mergeProps-B4zz6EqI.cjs.js"),r=require("./useFocusVisible-DnadRym0.cjs.js"),i=require("./useFocusable-OFsWUWgb.cjs.js"),a=require("./useObjectRef-B_VeQHvx.cjs.js"),o=require("./I18nProvider-CQLy1CBO.cjs.js"),s=require("./filterDOMProps-DnOwsDRm.cjs.js"),c=require("./useGlobalListeners-CJS_GBKG.cjs.js"),l=require("./useFormReset-C6H3spHM.cjs.js"),u=require("./useLabel-CFppLvdq.cjs.js"),d=require("./useControlledState-C-8MHM79.cjs.js"),f=require("./number-DoiQZAPu.cjs.js"),p=require("./useMove-ChmDyWlE.cjs.js"),m=require("./VisuallyHidden-CtikuHFk.cjs.js"),h=require("./useNumberFormatter-Drsf_lwe.cjs.js"),g=require("./useFocusRing-Bx86kFi9.cjs.js"),_=require("./useHover-JjQ5Tf8X.cjs.js"),v=require("./tooltip-BeOLEOf6.cjs.js"),y=require("./utils-Clf3FzjT.cjs.js"),b=require("./Label-h-tVaoGm.cjs.js"),x=require("./normalize-messages-BMq9y_ae.cjs.js"),S=require("./theme-DA63MDZQ.cjs.js"),C=require("./extract-style-props-WNdpT-ME.cjs.js"),w=require("./merge-refs-DjTl2ATo.cjs.js");let T=require("react");T=e.a(T,1);let E=require("react/jsx-runtime"),D=require("@chakra-ui/react/styled-system");var O=new WeakMap;function k(e,t){let n=O.get(e);if(!n)throw Error(`Unknown slider state`);return`${n.id}-${t}`}function A(e,t,i){let{labelProps:a,fieldProps:s}=u.t(e),l=e.orientation===`vertical`;O.set(t,{id:a.id??s.id,"aria-describedby":e[`aria-describedby`],"aria-details":e[`aria-details`]});let{direction:d}=o.t(),{addGlobalListener:m,removeGlobalListener:h}=c.t(),g=(0,T.useRef)(null),_=d===`rtl`,v=(0,T.useRef)(null),{moveProps:y}=p.t({onMoveStart(){v.current=null},onMove({deltaX:e,deltaY:n}){if(!i.current)return;let{height:r,width:a}=i.current.getBoundingClientRect(),o=l?r:a;v.current==null&&g.current!=null&&(v.current=t.getThumbPercent(g.current)*o);let s=l?n:e;if((l||_)&&(s=-s),v.current+=s,g.current!=null&&i.current){let e=f.t(v.current/o,0,1);t.setThumbPercent(g.current,e)}},onMoveEnd(){g.current!=null&&(t.setThumbDragging(g.current,!1),g.current=null)}}),b=(0,T.useRef)(void 0),x=(n,r,a,o)=>{if(i.current&&!e.isDisabled&&t.values.every((e,n)=>!t.isThumbDragging(n))){let{height:e,width:s,top:c,left:u}=i.current.getBoundingClientRect(),f=l?e:s,p=((l?o:a)-(l?c:u))/f;(d===`rtl`||l)&&(p=1-p);let h=t.getPercentValue(p),_,v=t.values.findIndex(e=>h-e<0);if(v===0)_=v;else if(v===-1)_=t.values.length-1;else{let e=t.values[v-1],n=t.values[v];_=Math.abs(e-h)<Math.abs(n-h)?v-1:v}_>=0&&t.isThumbEditable(_)?(n.preventDefault(),g.current=_,t.setFocusedThumb(_),b.current=r,t.setThumbDragging(g.current,!0),t.setThumbValue(_,h),m(window,`mouseup`,S,!1),m(window,`touchend`,S,!1),m(window,`pointerup`,S,!1)):g.current=null}},S=e=>{(e.pointerId??e.changedTouches?.[0].identifier)===b.current&&(g.current!=null&&(t.setThumbDragging(g.current,!1),g.current=null),h(window,`mouseup`,S,!1),h(window,`touchend`,S,!1),h(window,`pointerup`,S,!1))};return`htmlFor`in a&&a.htmlFor&&(delete a.htmlFor,a.onClick=()=>{document.getElementById(k(t,0))?.focus(),r.n(`keyboard`)}),{labelProps:a,groupProps:{role:`group`,...s},trackProps:n.t({onMouseDown(e){e.button!==0||e.altKey||e.ctrlKey||e.metaKey||x(e,void 0,e.clientX,e.clientY)},onPointerDown(e){e.pointerType===`mouse`&&(e.button!==0||e.altKey||e.ctrlKey||e.metaKey)||x(e,e.pointerId,e.clientX,e.clientY)},onTouchStart(e){x(e,e.changedTouches[0].identifier,e.changedTouches[0].clientX,e.changedTouches[0].clientY)},style:{position:`relative`,touchAction:`none`}},y),outputProps:{htmlFor:t.values.map((e,n)=>k(t,n)).join(` `),"aria-live":`off`}}}function j(e,r){let{index:a=0,isRequired:s,validationState:d,isInvalid:m,trackRef:h,inputRef:g,orientation:_=r.orientation,name:v,form:y}=e,b=e.isDisabled||r.isDisabled,x=_===`vertical`,{direction:S}=o.t(),{addGlobalListener:C,removeGlobalListener:w}=c.t(),E=O.get(r),{labelProps:D,fieldProps:A}=u.t({...e,id:k(r,a),"aria-labelledby":`${E.id} ${e[`aria-labelledby`]??``}`.trim()}),j=r.values[a],M=(0,T.useCallback)(()=>{g.current&&t.h(g.current)},[g]),N=r.focusedThumb===a;(0,T.useEffect)(()=>{N&&M()},[N,M]);let P=S===`rtl`,F=(0,T.useRef)(null),{keyboardProps:I}=i.i({onKeyDown(e){let{getThumbMaxValue:t,getThumbMinValue:n,decrementThumb:i,incrementThumb:o,setThumbValue:s,setThumbDragging:c,pageSize:l}=r;if(!/^(PageUp|PageDown|Home|End)$/.test(e.key)){e.continuePropagation();return}switch(e.preventDefault(),c(a,!0),e.key){case`PageUp`:o(a,l);break;case`PageDown`:i(a,l);break;case`Home`:s(a,n(a));break;case`End`:s(a,t(a));break}c(a,!1)}}),{moveProps:L}=p.t({onMoveStart(){F.current=null,r.setThumbDragging(a,!0)},onMove({deltaX:e,deltaY:t,pointerType:n,shiftKey:i}){let{getThumbPercent:o,setThumbPercent:s,decrementThumb:c,incrementThumb:l,step:u,pageSize:d}=r;if(!h.current)return;let{width:p,height:m}=h.current.getBoundingClientRect(),g=x?m:p;if(F.current??=o(a)*g,n===`keyboard`)e>0&&P||e<0&&!P||t>0?c(a,i?d:u):l(a,i?d:u);else{let n=x?t:e;(x||P)&&(n=-n),F.current+=n,s(a,f.t(F.current/g,0,1))}},onMoveEnd(){r.setThumbDragging(a,!1)}});r.setThumbEditable(a,!b);let{focusableProps:R}=i.n(n.t(e,{onFocus:()=>r.setFocusedThumb(a),onBlur:()=>r.setFocusedThumb(void 0)}),g),z=(0,T.useRef)(void 0),B=e=>{M(),z.current=e,r.setThumbDragging(a,!0),C(window,`mouseup`,V,!1),C(window,`touchend`,V,!1),C(window,`pointerup`,V,!1)},V=e=>{(e.pointerId??e.changedTouches?.[0].identifier)===z.current&&(M(),r.setThumbDragging(a,!1),w(window,`mouseup`,V,!1),w(window,`touchend`,V,!1),w(window,`pointerup`,V,!1))},H=r.getThumbPercent(a);(x||S===`rtl`)&&(H=1-H);let U=b?{}:n.t(I,L,{onMouseDown:e=>{e.button!==0||e.altKey||e.ctrlKey||e.metaKey||B()},onPointerDown:e=>{e.button!==0||e.altKey||e.ctrlKey||e.metaKey||B(e.pointerId)},onTouchStart:e=>{B(e.changedTouches[0].identifier)}});return l.t(g,r.defaultValues[a],e=>{r.setThumbValue(a,e)}),{inputProps:n.t(R,A,{type:`range`,tabIndex:b?void 0:0,min:r.getThumbMinValue(a),max:r.getThumbMaxValue(a),step:r.step,value:j,name:v,form:y,disabled:b,"aria-orientation":_,"aria-valuetext":r.getThumbValueLabel(a),"aria-required":s||void 0,"aria-invalid":m||d===`invalid`||void 0,"aria-errormessage":e[`aria-errormessage`],"aria-describedby":[E[`aria-describedby`],e[`aria-describedby`]].filter(Boolean).join(` `),"aria-details":[E[`aria-details`],e[`aria-details`]].filter(Boolean).join(` `),onChange:e=>{r.setThumbValue(a,parseFloat(t.d(e).value))}}),thumbProps:{...U,style:{position:`absolute`,[x?`top`:`left`]:`${H*100}%`,transform:`translate(-50%, -50%)`,touchAction:`none`}},labelProps:D,isDragging:r.isThumbDragging(a),isDisabled:b,isFocused:N}}var M=0,N=100,P=1;function F(e){let{isDisabled:t=!1,minValue:n=M,maxValue:r=N,numberFormatter:i,step:a=P,orientation:o=`horizontal`}=e,s=(0,T.useMemo)(()=>{let e=(r-n)/10;return e=f.n(e,0,e+a,a),Math.max(e,a)},[a,r,n]),c=(0,T.useCallback)(e=>e?.map((t,i)=>f.n(t,i===0?n:e[i-1],i===e.length-1?r:e[i+1],a)),[n,r,a]),l=(0,T.useMemo)(()=>c(L(e.value)),[e.value,c]),u=(0,T.useMemo)(()=>c(L(e.defaultValue)??[n]),[e.defaultValue,n,c]),p=R(e.value,e.defaultValue,e.onChange),m=R(e.value,e.defaultValue,e.onChangeEnd),[h,g]=d.t(l,u,p),[_]=(0,T.useState)(h),[v,y]=(0,T.useState)(Array(h.length).fill(!1)),b=(0,T.useRef)(Array(h.length).fill(!0)),[x,S]=(0,T.useState)(void 0),C=(0,T.useRef)(h),w=(0,T.useRef)(v),E=e=>{C.current=e,g(e)},D=e=>{w.current=e,y(e)};function O(e){return(e-n)/(r-n)}function k(e){return e===0?n:h[e-1]}function A(e){return e===h.length-1?r:h[e+1]}function j(e){return b.current[e]}function F(e,t){b.current[e]=t}function z(e,n){if(t||!j(e))return;let r=k(e),i=A(e);n=f.n(n,r,i,a);let o=I(C.current,e,n);E(o)}function B(e,n){if(t||!j(e))return;n&&(C.current=h);let r=w.current[e];w.current=I(w.current,e,n),D(w.current),m&&r&&!w.current.some(Boolean)&&m(C.current)}let V=(0,T.useRef)(null);function H(e=h){switch(typeof e==`number`&&(e=[e]),e.length){case 0:return``;case 1:return i.format(e[0]);case 2:return i.formatRange(e[0],e[1]);default:{let t=e.map(e=>i.format(e)),n=V.current;return(!n||n.resolvedOptions().locale!==i.resolvedOptions().locale)&&(n=V.current=new Intl.ListFormat(i.resolvedOptions().locale,{type:`unit`})),n.format(t)}}}function U(e,t){z(e,G(t))}function W(e){return Math.round((e-n)/a)*a+n}function G(e){return f.t(W(e*(r-n)+n),n,r)}function K(e,t=1){let i=Math.max(t,a);z(e,f.n(h[e]+i,n,r,a))}function q(e,t=1){let i=Math.max(t,a);z(e,f.n(h[e]-i,n,r,a))}return{values:h,defaultValues:e.defaultValue===void 0?_:u,getThumbValue:e=>h[e],setThumbValue:z,setThumbPercent:U,isThumbDragging:e=>v[e],setThumbDragging:B,focusedThumb:x,setFocusedThumb:S,getThumbPercent:e=>O(h[e]),getValuePercent:O,getThumbValueLabel:e=>H(h[e]),getFormattedValue:H,getThumbMinValue:k,getThumbMaxValue:A,getPercentValue:G,isThumbEditable:j,setThumbEditable:F,incrementThumb:K,decrementThumb:q,step:a,pageSize:s,orientation:o,isDisabled:t}}function I(e,t,n){return e[t]===n?e:[...e.slice(0,t),n,...e.slice(t+1)]}function L(e){if(e!=null)return Array.isArray(e)?e:[e]}function R(e,t,n){return r=>{typeof e==`number`||typeof t==`number`?n?.(r[0]):n?.(r)}}var z=(0,T.createContext)(null),B=(0,T.createContext)(null),V=(0,T.createContext)(null),H=(0,T.createContext)(null),U=(0,T.createContext)(null),W=(0,T.forwardRef)(function(e,t){[e,t]=y.n(e,t,z);let r=(0,T.useRef)(null),i=h.t(e.formatOptions),a=F({...e,numberFormatter:i}),[o,c]=y.i(!e[`aria-label`]&&!e[`aria-labelledby`]),{groupProps:l,trackProps:u,labelProps:d,outputProps:f}=A({...e,label:c},a,r),p=y.r({...e,values:{orientation:a.orientation,isDisabled:a.isDisabled,state:a},defaultClassName:`react-aria-Slider`}),m=s.t(e,{global:!0});return delete m.id,T.default.createElement(y.t,{values:[[B,a],[V,{...u,ref:r}],[U,f],[b.t,{...d,ref:o}]]},T.default.createElement(y.o.div,{...n.t(m,p,l),ref:t,slot:e.slot||void 0,"data-orientation":a.orientation,"data-disabled":a.isDisabled||void 0}))}),G=(0,T.forwardRef)(function(e,t){[e,t]=y.n(e,t,V);let r=(0,T.useContext)(B),{onHoverStart:i,onHoverEnd:a,onHoverChange:o,...s}=e,{hoverProps:c,isHovered:l}=_.t({onHoverStart:i,onHoverEnd:a,onHoverChange:o}),u=y.r({...e,defaultClassName:`react-aria-SliderTrack`,values:{orientation:r.orientation,isDisabled:r.isDisabled,isHovered:l,state:r}});return T.default.createElement(y.o.div,{...n.t(s,c),...u,ref:t,"data-hovered":l||void 0,"data-orientation":r.orientation||void 0,"data-disabled":r.isDisabled||void 0})}),K=(0,T.forwardRef)(function(e,t){let{inputRef:r=null}=e,i=(0,T.useContext)(B),{ref:a}=y.c(V),{index:o=0}=e,c=(0,T.useRef)(null),l=r||c,[u,d]=y.i(!e[`aria-label`]&&!e[`aria-labelledby`]),{thumbProps:f,inputProps:p,labelProps:h,isDragging:v,isFocused:x,isDisabled:S}=j({...e,index:o,trackRef:a,inputRef:l,label:d},i),{focusProps:C,isFocusVisible:w}=g.t(),{hoverProps:E,isHovered:D}=_.t(e),O=y.r({...e,defaultClassName:`react-aria-SliderThumb`,values:{state:i,isHovered:D,isDragging:v,isFocused:x,isFocusVisible:w,isDisabled:S}}),k=s.t(e,{global:!0});return delete k.id,T.default.createElement(y.o.div,{...n.t(k,f,E),...O,ref:t,style:{...f.style,...O.style},"data-hovered":D||void 0,"data-dragging":v||void 0,"data-focused":x||void 0,"data-focus-visible":w||void 0,"data-disabled":S||void 0},T.default.createElement(m.t,null,T.default.createElement(`input`,{ref:l,...n.t(p,C)})),T.default.createElement(y.t,{values:[[b.t,{...h,ref:u}]]},O.children))}),q=(0,T.forwardRef)(function(e,t){[e,t]=y.n(e,t,H);let r=(0,T.useContext)(B),{onHoverStart:i,onHoverEnd:a,onHoverChange:o,...s}=e,{hoverProps:c,isHovered:l}=_.t({onHoverStart:i,onHoverEnd:a,onHoverChange:o}),u=e.offset==null?r.getThumbMinValue(0):f.t(e.offset,r.getThumbMinValue(0),r.getThumbMaxValue(0)),d=r.values.length>1?r.getThumbPercent(0)*100:r.getValuePercent(u)*100,p=r.values.length>0?r.getThumbPercent(r.values.length-1)*100:0,m=Math.min(d,p),h=Math.max(0,Math.max(d,p)-m),g=y.r({...e,defaultClassName:`react-aria-SliderFill`,defaultStyle:r.orientation===`vertical`?{position:`absolute`,bottom:`${m}%`,height:`${h}%`,width:`100%`}:{position:`absolute`,insetInlineStart:`${m}%`,width:`${h}%`,height:`100%`},values:{orientation:r.orientation,isDisabled:r.isDisabled,isHovered:l,state:r}});return T.default.createElement(y.o.div,{...n.t(s,c),...g,ref:t,"data-hovered":l||void 0,"data-orientation":r.orientation||void 0,"data-disabled":r.isDisabled||void 0})}),{withProvider:J,withContext:Y}=(0,D.createSlotRecipeContext)({key:`nimbusSlider`}),X=J(`div`,`root`),Z=Y(`div`,`track`),ee=Y(`div`,`fill`),te=Y(`div`,`thumb`),ne=Y(`div`,`tick`);Y(`div`,`tickLabel`);var re={en:x.t({maximumThumb:`Maximum`,minimumThumb:`Minimum`}),de:x.t({maximumThumb:`Maximum`,minimumThumb:`Minimum`}),es:x.t({maximumThumb:`Maximum`,minimumThumb:`Minimum`}),"fr-FR":x.t({maximumThumb:`Maximum`,minimumThumb:`Minimum`}),"pt-BR":x.t({maximumThumb:`Maximum`,minimumThumb:`Minimum`})},ie=({index:e,thumbLabel:t,thumbAriaLabelledBy:n,valueLabel:r,isDragging:i})=>{let[a,o]=(0,T.useState)(!1),[s,c]=(0,T.useState)(!1),[l,u]=(0,T.useState)(!1),d=a||s||i,f=d&&!l;return(0,T.useEffect)(()=>{!d&&l&&u(!1)},[d,l]),(0,T.useEffect)(()=>{if(!f)return;let e=e=>{e.key===`Escape`&&(e.stopPropagation(),u(!0))};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[f]),(0,E.jsxs)(v.t.Root,{isOpen:f,onOpenChange:()=>{},children:[(0,E.jsx)(te,{asChild:!0,"data-slot":`thumb`,children:(0,E.jsx)(K,{index:e,"aria-label":t,"aria-labelledby":n,onHoverChange:o,onFocusChange:c})}),(0,E.jsx)(v.t.Content,{children:r})]})},Q=e=>{let{ref:t,thumbLabels:n,showTicks:r=!1,tickStep:i,size:o,minValue:s=0,maxValue:c=100,step:l,isDisabled:u,isInvalid:d,orientation:f=`horizontal`,...p}=e,[m,h]=(0,D.useSlotRecipe)({recipe:S.a}).splitVariantProps({size:o,...p}),[g,_]=C.t(h),v=a.t(w.t((0,T.useRef)(null),t)),y=x.n(re),b=[y.format(`minimumThumb`),y.format(`maximumThumb`)],O=(e,t)=>n?.[e]??(t>1?b[e]:void 0),k=e[`aria-labelledby`],A=i??l??1,j=r&&A>0?Array.from({length:Math.floor((c-s)/A)+1},(e,t)=>s+t*A):[],M=j.length>0&&c-j[j.length-1]>A*1e-9?[...j,c]:j,N={"data-disabled":u||void 0,"data-invalid":d||void 0};return(0,E.jsx)(X,{asChild:!0,"data-slot":`root`,...m,...g,...N,children:(0,E.jsx)(W,{ref:v,..._,minValue:s,maxValue:c,step:l,isDisabled:u,orientation:f,children:(0,E.jsx)(Z,{asChild:!0,"data-slot":`track`,children:(0,E.jsx)(G,{children:({state:e})=>{let t=e.values.map((t,n)=>e.getThumbPercent(n)),n=t.length>1?Math.min(...t):0,r=Math.max(...t),i=`calc(${n} * 100% - var(--slider-thumb-size) / 2)`,a=`calc(${r-n} * 100% + var(--slider-thumb-size))`,o=f===`vertical`?{bottom:i,height:a}:{insetInlineStart:i,width:a};return(0,E.jsxs)(E.Fragment,{children:[(0,E.jsx)(ee,{asChild:!0,"data-slot":`fill`,"data-range":e.values.length>1||void 0,children:(0,E.jsx)(q,{style:o})}),e.values.map((t,n)=>{let r=O(n,e.values.length);return(0,E.jsx)(ie,{index:n,thumbLabel:r,thumbAriaLabelledBy:r===void 0?k:void 0,valueLabel:e.getThumbValueLabel(n),isDragging:e.isThumbDragging(n)},n)}),M.map(t=>{let i=(t-s)/(c-s),a=`${i*100}%`,o=i>=n-1e-9&&i<=r+1e-9,l=e.values.some(e=>Math.abs(e-t)<=1e-9),u=f===`vertical`?{bottom:a}:{insetInlineStart:a};return(0,E.jsx)(ne,{"data-slot":`tick`,"data-filled":o||void 0,"data-on-thumb":l||void 0,"data-range":e.values.length>1||void 0,style:u},t)})]})}})})})})};Q.displayName=`SliderBase`;var $=e=>(0,E.jsx)(Q,{...e});$.displayName=`RangeSlider`,Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return $}});
|
|
2
|
+
//# sourceMappingURL=range-slider-Ch4kXVc3.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"range-slider-Ch4kXVc3.cjs.js","names":["$0beb20c9744a2065$export$8467354a121f1b9f","$2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7","$48a7d519b337145d$export$4eaf04e54aa8eed6","$1dfdc54e7eb53ba0$export$36da96379f79f245","$8gahv$clamp","$8f5a2122b0992be3$export$8397ddfc504fdb9a","$bbaa08b3cd72f041$export$9d1611c77c2fe928","$2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7","$48a7d519b337145d$export$4eaf04e54aa8eed6","$0beb20c9744a2065$export$8467354a121f1b9f","$1969ac565cfec8d0$export$de79e2c695e052f3","$8296dad1a4c5e0dc$export$8f71654801c2f7cd","$1dfdc54e7eb53ba0$export$36da96379f79f245","$fiiar$clamp","$d1116acdf220c2da$export$4c014de7c8940b4c","$bbaa08b3cd72f041$export$9d1611c77c2fe928","$3274bf1495747a7b$export$5add1d006293d136","$23f2114a1b82827e$export$e58f029f0fbfdb29","$240e9101ba2842f5$export$cb6e0bb50bc19463","$3e6197669829fe11$export$40bfa8c7b0832715","$240e9101ba2842f5$export$7d15b64cf5a3a4c4","$7230ffa83bc0c2cf$export$29f1550f4b0d4415","$270k0$useNumberFormatter","$270k0$useSliderState","$7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8","$270k0$useSlider","$7230ffa83bc0c2cf$export$4d86445c2cf5e3","$270k0$filterDOMProps","$270k0$react","$7230ffa83bc0c2cf$export$2881499e37b75b9a","$43a3b93638fe5db9$export$75b6ee27786ba447","$7230ffa83bc0c2cf$export$df3a06d6289f983e","$270k0$mergeProps","$270k0$useHover","$7230ffa83bc0c2cf$export$fabf2dc03a41866e","$270k0$useSliderThumb","$270k0$useFocusRing","$270k0$VisuallyHidden","$270k0$clamp"],"sources":["../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/slider/utils.mjs","../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/slider/useSlider.mjs","../../../../node_modules/.pnpm/react-aria@3.50.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria/dist/private/slider/useSliderThumb.mjs","../../../../node_modules/.pnpm/react-stately@3.48.0_react@19.2.0/node_modules/react-stately/dist/private/slider/useSliderState.mjs","../../../../node_modules/.pnpm/react-aria-components@1.19.0_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/react-aria-components/dist/private/Slider.mjs","../../src/components/slider/slider.slots.tsx","../../src/components/slider/intl/en.ts","../../src/components/slider/intl/de.ts","../../src/components/slider/intl/es.ts","../../src/components/slider/intl/fr-FR.ts","../../src/components/slider/intl/pt-BR.ts","../../src/components/slider/slider.messages.ts","../../src/components/slider/slider-base.tsx","../../src/components/slider/derivatives/range-slider/range-slider.tsx"],"sourcesContent":["const $b2a66ce670b3f60f$export$d6c8d9636a3dc49c = new WeakMap();\nfunction $b2a66ce670b3f60f$export$68e648cbec363a18(state, index) {\n let data = $b2a66ce670b3f60f$export$d6c8d9636a3dc49c.get(state);\n if (!data) throw new Error('Unknown slider state');\n return `${data.id}-${index}`;\n}\n\n\nexport {$b2a66ce670b3f60f$export$d6c8d9636a3dc49c as sliderData, $b2a66ce670b3f60f$export$68e648cbec363a18 as getSliderThumbId};\n//# sourceMappingURL=utils.mjs.map\n","import {getSliderThumbId as $b2a66ce670b3f60f$export$68e648cbec363a18, sliderData as $b2a66ce670b3f60f$export$d6c8d9636a3dc49c} from \"./utils.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {setInteractionModality as $8f5a2122b0992be3$export$8397ddfc504fdb9a} from \"../interactions/useFocusVisible.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useLabel as $0beb20c9744a2065$export$8467354a121f1b9f} from \"../label/useLabel.mjs\";\nimport {useLocale as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7} from \"../i18n/I18nProvider.mjs\";\nimport {useMove as $1dfdc54e7eb53ba0$export$36da96379f79f245} from \"../interactions/useMove.mjs\";\nimport {clamp as $8gahv$clamp} from \"react-stately/private/utils/number\";\nimport {useRef as $8gahv$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\nfunction $4b964a467b2bc7ea$export$56b2c08e277f365(props, state, trackRef) {\n let { labelProps: labelProps, fieldProps: fieldProps } = (0, $0beb20c9744a2065$export$8467354a121f1b9f)(props);\n let isVertical = props.orientation === 'vertical';\n // Attach id of the label to the state so it can be accessed by useSliderThumb.\n (0, $b2a66ce670b3f60f$export$d6c8d9636a3dc49c).set(state, {\n id: labelProps.id ?? fieldProps.id,\n 'aria-describedby': props['aria-describedby'],\n 'aria-details': props['aria-details']\n });\n let { direction: direction } = (0, $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7)();\n let { addGlobalListener: addGlobalListener, removeGlobalListener: removeGlobalListener } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n // When the user clicks or drags the track, we want the motion to set and drag the\n // closest thumb. Hence we also need to install useMove() on the track element.\n // Here, we keep track of which index is the \"closest\" to the drag start point.\n // It is set onMouseDown/onTouchDown; see trackProps below.\n const realTimeTrackDraggingIndex = (0, $8gahv$useRef)(null);\n const reverseX = direction === 'rtl';\n const currentPosition = (0, $8gahv$useRef)(null);\n const { moveProps: moveProps } = (0, $1dfdc54e7eb53ba0$export$36da96379f79f245)({\n onMoveStart () {\n currentPosition.current = null;\n },\n onMove ({ deltaX: deltaX, deltaY: deltaY }) {\n if (!trackRef.current) return;\n let { height: height, width: width } = trackRef.current.getBoundingClientRect();\n let size = isVertical ? height : width;\n if (currentPosition.current == null && realTimeTrackDraggingIndex.current != null) currentPosition.current = state.getThumbPercent(realTimeTrackDraggingIndex.current) * size;\n let delta = isVertical ? deltaY : deltaX;\n if (isVertical || reverseX) delta = -delta;\n currentPosition.current += delta;\n if (realTimeTrackDraggingIndex.current != null && trackRef.current) {\n const percent = (0, $8gahv$clamp)(currentPosition.current / size, 0, 1);\n state.setThumbPercent(realTimeTrackDraggingIndex.current, percent);\n }\n },\n onMoveEnd () {\n if (realTimeTrackDraggingIndex.current != null) {\n state.setThumbDragging(realTimeTrackDraggingIndex.current, false);\n realTimeTrackDraggingIndex.current = null;\n }\n }\n });\n let currentPointer = (0, $8gahv$useRef)(undefined);\n let onDownTrack = (e, id, clientX, clientY)=>{\n // We only trigger track-dragging if the user clicks on the track itself and nothing is currently being dragged.\n if (trackRef.current && !props.isDisabled && state.values.every((_, i)=>!state.isThumbDragging(i))) {\n let { height: height, width: width, top: top, left: left } = trackRef.current.getBoundingClientRect();\n let size = isVertical ? height : width;\n // Find the closest thumb\n const trackPosition = isVertical ? top : left;\n const clickPosition = isVertical ? clientY : clientX;\n const offset = clickPosition - trackPosition;\n let percent = offset / size;\n if (direction === 'rtl' || isVertical) percent = 1 - percent;\n let value = state.getPercentValue(percent);\n // to find the closet thumb we split the array based on the first thumb position to the \"right/end\" of the click.\n let closestThumb;\n let split = state.values.findIndex((v)=>value - v < 0);\n if (split === 0) // If the index is zero then the closetThumb is the first one\n closestThumb = split;\n else if (split === -1) // If no index is found they've clicked past all the thumbs\n closestThumb = state.values.length - 1;\n else {\n let lastLeft = state.values[split - 1];\n let firstRight = state.values[split];\n // Pick the last left/start thumb, unless they are stacked on top of each other, then pick the right/end one\n if (Math.abs(lastLeft - value) < Math.abs(firstRight - value)) closestThumb = split - 1;\n else closestThumb = split;\n }\n // Confirm that the found closest thumb is editable, not disabled, and move it\n if (closestThumb >= 0 && state.isThumbEditable(closestThumb)) {\n // Don't unfocus anything\n e.preventDefault();\n realTimeTrackDraggingIndex.current = closestThumb;\n state.setFocusedThumb(closestThumb);\n currentPointer.current = id;\n state.setThumbDragging(realTimeTrackDraggingIndex.current, true);\n state.setThumbValue(closestThumb, value);\n addGlobalListener(window, 'mouseup', onUpTrack, false);\n addGlobalListener(window, 'touchend', onUpTrack, false);\n addGlobalListener(window, 'pointerup', onUpTrack, false);\n } else realTimeTrackDraggingIndex.current = null;\n }\n };\n let onUpTrack = (e)=>{\n let id = e.pointerId ?? e.changedTouches?.[0].identifier;\n if (id === currentPointer.current) {\n if (realTimeTrackDraggingIndex.current != null) {\n state.setThumbDragging(realTimeTrackDraggingIndex.current, false);\n realTimeTrackDraggingIndex.current = null;\n }\n removeGlobalListener(window, 'mouseup', onUpTrack, false);\n removeGlobalListener(window, 'touchend', onUpTrack, false);\n removeGlobalListener(window, 'pointerup', onUpTrack, false);\n }\n };\n if ('htmlFor' in labelProps && labelProps.htmlFor) {\n // Ideally the `for` attribute should point to the first thumb, but VoiceOver on iOS\n // causes this to override the `aria-labelledby` on the thumb. This causes the first\n // thumb to only be announced as the slider label rather than its individual name as well.\n // See https://bugs.webkit.org/show_bug.cgi?id=172464.\n delete labelProps.htmlFor;\n labelProps.onClick = ()=>{\n // Safari does not focus <input type=\"range\"> elements when clicking on an associated <label>,\n // so do it manually. In addition, make sure we show the focus ring.\n document.getElementById((0, $b2a66ce670b3f60f$export$68e648cbec363a18)(state, 0))?.focus();\n (0, $8f5a2122b0992be3$export$8397ddfc504fdb9a)('keyboard');\n };\n }\n return {\n labelProps: labelProps,\n // The root element of the Slider will have role=\"group\" to group together\n // all the thumb inputs in the Slider. The label of the Slider will\n // be used to label the group.\n groupProps: {\n role: 'group',\n ...fieldProps\n },\n trackProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)({\n onMouseDown (e) {\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) return;\n onDownTrack(e, undefined, e.clientX, e.clientY);\n },\n onPointerDown (e) {\n if (e.pointerType === 'mouse' && (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey)) return;\n onDownTrack(e, e.pointerId, e.clientX, e.clientY);\n },\n onTouchStart (e) {\n onDownTrack(e, e.changedTouches[0].identifier, e.changedTouches[0].clientX, e.changedTouches[0].clientY);\n },\n style: {\n position: 'relative',\n touchAction: 'none'\n }\n }, moveProps),\n outputProps: {\n htmlFor: state.values.map((_, index)=>(0, $b2a66ce670b3f60f$export$68e648cbec363a18)(state, index)).join(' '),\n 'aria-live': 'off'\n }\n };\n}\n\n\nexport {$4b964a467b2bc7ea$export$56b2c08e277f365 as useSlider};\n//# sourceMappingURL=useSlider.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getSliderThumbId as $b2a66ce670b3f60f$export$68e648cbec363a18, sliderData as $b2a66ce670b3f60f$export$d6c8d9636a3dc49c} from \"./utils.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {useFormReset as $3274bf1495747a7b$export$5add1d006293d136} from \"../utils/useFormReset.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useKeyboard as $8296dad1a4c5e0dc$export$8f71654801c2f7cd} from \"../interactions/useKeyboard.mjs\";\nimport {useLabel as $0beb20c9744a2065$export$8467354a121f1b9f} from \"../label/useLabel.mjs\";\nimport {useLocale as $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7} from \"../i18n/I18nProvider.mjs\";\nimport {useMove as $1dfdc54e7eb53ba0$export$36da96379f79f245} from \"../interactions/useMove.mjs\";\nimport {clamp as $fiiar$clamp} from \"react-stately/private/utils/number\";\nimport {useCallback as $fiiar$useCallback, useEffect as $fiiar$useEffect, useRef as $fiiar$useRef} from \"react\";\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction $4a5dd96ecb58ab11$export$8d15029008292ae(opts, state) {\n let { index: index = 0, isRequired: isRequired, validationState: validationState, isInvalid: isInvalid, trackRef: trackRef, inputRef: inputRef, orientation: orientation = state.orientation, name: name, form: form } = opts;\n let isDisabled = opts.isDisabled || state.isDisabled;\n let isVertical = orientation === 'vertical';\n let { direction: direction } = (0, $2eb8e6d23f3d0cb0$export$43bb16f9c6d9e3f7)();\n let { addGlobalListener: addGlobalListener, removeGlobalListener: removeGlobalListener } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let data = (0, $b2a66ce670b3f60f$export$d6c8d9636a3dc49c).get(state);\n const { labelProps: labelProps, fieldProps: fieldProps } = (0, $0beb20c9744a2065$export$8467354a121f1b9f)({\n ...opts,\n id: (0, $b2a66ce670b3f60f$export$68e648cbec363a18)(state, index),\n 'aria-labelledby': `${data.id} ${opts['aria-labelledby'] ?? ''}`.trim()\n });\n const value = state.values[index];\n const focusInput = (0, $fiiar$useCallback)(()=>{\n if (inputRef.current) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(inputRef.current);\n }, [\n inputRef\n ]);\n const isFocused = state.focusedThumb === index;\n (0, $fiiar$useEffect)(()=>{\n if (isFocused) focusInput();\n }, [\n isFocused,\n focusInput\n ]);\n let reverseX = direction === 'rtl';\n let currentPosition = (0, $fiiar$useRef)(null);\n let { keyboardProps: keyboardProps } = (0, $8296dad1a4c5e0dc$export$8f71654801c2f7cd)({\n onKeyDown (e) {\n let { getThumbMaxValue: getThumbMaxValue, getThumbMinValue: getThumbMinValue, decrementThumb: decrementThumb, incrementThumb: incrementThumb, setThumbValue: setThumbValue, setThumbDragging: setThumbDragging, pageSize: pageSize } = state;\n // these are the cases that useMove or useSlider don't handle\n if (!/^(PageUp|PageDown|Home|End)$/.test(e.key)) {\n e.continuePropagation();\n return;\n }\n // same handling as useMove, stopPropagation to prevent useSlider from handling the event as well.\n e.preventDefault();\n // remember to set this so that onChangeEnd is fired\n setThumbDragging(index, true);\n switch(e.key){\n case 'PageUp':\n incrementThumb(index, pageSize);\n break;\n case 'PageDown':\n decrementThumb(index, pageSize);\n break;\n case 'Home':\n setThumbValue(index, getThumbMinValue(index));\n break;\n case 'End':\n setThumbValue(index, getThumbMaxValue(index));\n break;\n }\n setThumbDragging(index, false);\n }\n });\n let { moveProps: moveProps } = (0, $1dfdc54e7eb53ba0$export$36da96379f79f245)({\n onMoveStart () {\n currentPosition.current = null;\n state.setThumbDragging(index, true);\n },\n onMove ({ deltaX: deltaX, deltaY: deltaY, pointerType: pointerType, shiftKey: shiftKey }) {\n const { getThumbPercent: getThumbPercent, setThumbPercent: setThumbPercent, decrementThumb: decrementThumb, incrementThumb: incrementThumb, step: step, pageSize: pageSize } = state;\n if (!trackRef.current) return;\n let { width: width, height: height } = trackRef.current.getBoundingClientRect();\n let size = isVertical ? height : width;\n if (currentPosition.current == null) currentPosition.current = getThumbPercent(index) * size;\n if (pointerType === 'keyboard') {\n if (deltaX > 0 && reverseX || deltaX < 0 && !reverseX || deltaY > 0) decrementThumb(index, shiftKey ? pageSize : step);\n else incrementThumb(index, shiftKey ? pageSize : step);\n } else {\n let delta = isVertical ? deltaY : deltaX;\n if (isVertical || reverseX) delta = -delta;\n currentPosition.current += delta;\n setThumbPercent(index, (0, $fiiar$clamp)(currentPosition.current / size, 0, 1));\n }\n },\n onMoveEnd () {\n state.setThumbDragging(index, false);\n }\n });\n // Immediately register editability with the state\n state.setThumbEditable(index, !isDisabled);\n const { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)((0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(opts, {\n onFocus: ()=>state.setFocusedThumb(index),\n onBlur: ()=>state.setFocusedThumb(undefined)\n }), inputRef);\n let currentPointer = (0, $fiiar$useRef)(undefined);\n let onDown = (id)=>{\n focusInput();\n currentPointer.current = id;\n state.setThumbDragging(index, true);\n addGlobalListener(window, 'mouseup', onUp, false);\n addGlobalListener(window, 'touchend', onUp, false);\n addGlobalListener(window, 'pointerup', onUp, false);\n };\n let onUp = (e)=>{\n let id = e.pointerId ?? e.changedTouches?.[0].identifier;\n if (id === currentPointer.current) {\n focusInput();\n state.setThumbDragging(index, false);\n removeGlobalListener(window, 'mouseup', onUp, false);\n removeGlobalListener(window, 'touchend', onUp, false);\n removeGlobalListener(window, 'pointerup', onUp, false);\n }\n };\n let thumbPosition = state.getThumbPercent(index);\n if (isVertical || direction === 'rtl') thumbPosition = 1 - thumbPosition;\n let interactions = !isDisabled ? (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(keyboardProps, moveProps, {\n onMouseDown: (e)=>{\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) return;\n onDown();\n },\n onPointerDown: (e)=>{\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey) return;\n onDown(e.pointerId);\n },\n onTouchStart: (e)=>{\n onDown(e.changedTouches[0].identifier);\n }\n }) : {};\n (0, $3274bf1495747a7b$export$5add1d006293d136)(inputRef, state.defaultValues[index], (v)=>{\n state.setThumbValue(index, v);\n });\n // We install mouse handlers for the drag motion on the thumb div, but\n // not the key handler for moving the thumb with the slider. Instead,\n // we focus the range input, and let the browser handle the keyboard\n // interactions; we then listen to input's onChange to update state.\n return {\n inputProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusableProps, fieldProps, {\n type: 'range',\n tabIndex: !isDisabled ? 0 : undefined,\n min: state.getThumbMinValue(index),\n max: state.getThumbMaxValue(index),\n step: state.step,\n value: value,\n name: name,\n form: form,\n disabled: isDisabled,\n 'aria-orientation': orientation,\n 'aria-valuetext': state.getThumbValueLabel(index),\n 'aria-required': isRequired || undefined,\n 'aria-invalid': isInvalid || validationState === 'invalid' || undefined,\n 'aria-errormessage': opts['aria-errormessage'],\n 'aria-describedby': [\n data['aria-describedby'],\n opts['aria-describedby']\n ].filter(Boolean).join(' '),\n 'aria-details': [\n data['aria-details'],\n opts['aria-details']\n ].filter(Boolean).join(' '),\n onChange: (e)=>{\n state.setThumbValue(index, parseFloat((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e).value));\n }\n }),\n thumbProps: {\n ...interactions,\n style: {\n position: 'absolute',\n [isVertical ? 'top' : 'left']: `${thumbPosition * 100}%`,\n transform: 'translate(-50%, -50%)',\n touchAction: 'none'\n }\n },\n labelProps: labelProps,\n isDragging: state.isThumbDragging(index),\n isDisabled: isDisabled,\n isFocused: isFocused\n };\n}\n\n\nexport {$4a5dd96ecb58ab11$export$8d15029008292ae as useSliderThumb};\n//# sourceMappingURL=useSliderThumb.mjs.map\n","import {clamp as $240e9101ba2842f5$export$7d15b64cf5a3a4c4, snapValueToStep as $240e9101ba2842f5$export$cb6e0bb50bc19463} from \"../utils/number.mjs\";\nimport {useControlledState as $3e6197669829fe11$export$40bfa8c7b0832715} from \"../utils/useControlledState.mjs\";\nimport {useMemo as $eJ8ml$useMemo, useCallback as $eJ8ml$useCallback, useState as $eJ8ml$useState, useRef as $eJ8ml$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $d806310b82f07e9d$var$DEFAULT_MIN_VALUE = 0;\nconst $d806310b82f07e9d$var$DEFAULT_MAX_VALUE = 100;\nconst $d806310b82f07e9d$var$DEFAULT_STEP_VALUE = 1;\nfunction $d806310b82f07e9d$export$e5fda3247f5d67f9(props) {\n const { isDisabled: isDisabled = false, minValue: minValue = $d806310b82f07e9d$var$DEFAULT_MIN_VALUE, maxValue: maxValue = $d806310b82f07e9d$var$DEFAULT_MAX_VALUE, numberFormatter: formatter, step: step = $d806310b82f07e9d$var$DEFAULT_STEP_VALUE, orientation: orientation = 'horizontal' } = props;\n // Page step should be at least equal to step and always a multiple of the step.\n let pageSize = (0, $eJ8ml$useMemo)(()=>{\n let calcPageSize = (maxValue - minValue) / 10;\n calcPageSize = (0, $240e9101ba2842f5$export$cb6e0bb50bc19463)(calcPageSize, 0, calcPageSize + step, step);\n return Math.max(calcPageSize, step);\n }, [\n step,\n maxValue,\n minValue\n ]);\n let restrictValues = (0, $eJ8ml$useCallback)((values)=>values?.map((val, idx)=>{\n let min = idx === 0 ? minValue : values[idx - 1];\n let max = idx === values.length - 1 ? maxValue : values[idx + 1];\n return (0, $240e9101ba2842f5$export$cb6e0bb50bc19463)(val, min, max, step);\n }), [\n minValue,\n maxValue,\n step\n ]);\n let value = (0, $eJ8ml$useMemo)(()=>restrictValues($d806310b82f07e9d$var$convertValue(props.value)), [\n props.value,\n restrictValues\n ]);\n let defaultValue = (0, $eJ8ml$useMemo)(()=>restrictValues($d806310b82f07e9d$var$convertValue(props.defaultValue) ?? [\n minValue\n ]), [\n props.defaultValue,\n minValue,\n restrictValues\n ]);\n let onChange = $d806310b82f07e9d$var$createOnChange(props.value, props.defaultValue, props.onChange);\n let onChangeEnd = $d806310b82f07e9d$var$createOnChange(props.value, props.defaultValue, props.onChangeEnd);\n const [values, setValuesState] = (0, $3e6197669829fe11$export$40bfa8c7b0832715)(value, defaultValue, onChange);\n let [initialValues] = (0, $eJ8ml$useState)(values);\n const [isDraggings, setDraggingsState] = (0, $eJ8ml$useState)(new Array(values.length).fill(false));\n const isEditablesRef = (0, $eJ8ml$useRef)(new Array(values.length).fill(true));\n const [focusedIndex, setFocusedIndex] = (0, $eJ8ml$useState)(undefined);\n const valuesRef = (0, $eJ8ml$useRef)(values);\n const isDraggingsRef = (0, $eJ8ml$useRef)(isDraggings);\n let setValues = (values)=>{\n valuesRef.current = values;\n setValuesState(values);\n };\n let setDraggings = (draggings)=>{\n isDraggingsRef.current = draggings;\n setDraggingsState(draggings);\n };\n function getValuePercent(value) {\n return (value - minValue) / (maxValue - minValue);\n }\n function getThumbMinValue(index) {\n return index === 0 ? minValue : values[index - 1];\n }\n function getThumbMaxValue(index) {\n return index === values.length - 1 ? maxValue : values[index + 1];\n }\n function isThumbEditable(index) {\n return isEditablesRef.current[index];\n }\n function setThumbEditable(index, editable) {\n isEditablesRef.current[index] = editable;\n }\n function updateValue(index, value) {\n if (isDisabled || !isThumbEditable(index)) return;\n const thisMin = getThumbMinValue(index);\n const thisMax = getThumbMaxValue(index);\n // Round value to multiple of step, clamp value between min and max\n value = (0, $240e9101ba2842f5$export$cb6e0bb50bc19463)(value, thisMin, thisMax, step);\n let newValues = $d806310b82f07e9d$var$replaceIndex(valuesRef.current, index, value);\n setValues(newValues);\n }\n function updateDragging(index, dragging) {\n if (isDisabled || !isThumbEditable(index)) return;\n if (dragging) valuesRef.current = values;\n const wasDragging = isDraggingsRef.current[index];\n isDraggingsRef.current = $d806310b82f07e9d$var$replaceIndex(isDraggingsRef.current, index, dragging);\n setDraggings(isDraggingsRef.current);\n // Call onChangeEnd if no handles are dragging.\n if (onChangeEnd && wasDragging && !isDraggingsRef.current.some(Boolean)) onChangeEnd(valuesRef.current);\n }\n let listFormatRef = (0, $eJ8ml$useRef)(null);\n function getFormattedValue(valueParam = values) {\n if (typeof valueParam === 'number') valueParam = [\n valueParam\n ];\n switch(valueParam.length){\n case 0:\n return '';\n case 1:\n return formatter.format(valueParam[0]);\n case 2:\n return formatter.formatRange(valueParam[0], valueParam[1]);\n default:\n {\n let formatted = valueParam.map((value)=>formatter.format(value));\n let listFormat = listFormatRef.current;\n if (!listFormat || listFormat.resolvedOptions().locale !== formatter.resolvedOptions().locale) listFormat = listFormatRef.current = new Intl.ListFormat(formatter.resolvedOptions().locale, {\n type: 'unit'\n });\n return listFormat.format(formatted);\n }\n }\n }\n function setThumbPercent(index, percent) {\n updateValue(index, getPercentValue(percent));\n }\n function getRoundedValue(value) {\n return Math.round((value - minValue) / step) * step + minValue;\n }\n function getPercentValue(percent) {\n const val = percent * (maxValue - minValue) + minValue;\n return (0, $240e9101ba2842f5$export$7d15b64cf5a3a4c4)(getRoundedValue(val), minValue, maxValue);\n }\n function incrementThumb(index, stepSize = 1) {\n let s = Math.max(stepSize, step);\n updateValue(index, (0, $240e9101ba2842f5$export$cb6e0bb50bc19463)(values[index] + s, minValue, maxValue, step));\n }\n function decrementThumb(index, stepSize = 1) {\n let s = Math.max(stepSize, step);\n updateValue(index, (0, $240e9101ba2842f5$export$cb6e0bb50bc19463)(values[index] - s, minValue, maxValue, step));\n }\n return {\n values: values,\n defaultValues: props.defaultValue !== undefined ? defaultValue : initialValues,\n getThumbValue: (index)=>values[index],\n setThumbValue: updateValue,\n setThumbPercent: setThumbPercent,\n isThumbDragging: (index)=>isDraggings[index],\n setThumbDragging: updateDragging,\n focusedThumb: focusedIndex,\n setFocusedThumb: setFocusedIndex,\n getThumbPercent: (index)=>getValuePercent(values[index]),\n getValuePercent: getValuePercent,\n getThumbValueLabel: (index)=>getFormattedValue(values[index]),\n getFormattedValue: getFormattedValue,\n getThumbMinValue: getThumbMinValue,\n getThumbMaxValue: getThumbMaxValue,\n getPercentValue: getPercentValue,\n isThumbEditable: isThumbEditable,\n setThumbEditable: setThumbEditable,\n incrementThumb: incrementThumb,\n decrementThumb: decrementThumb,\n step: step,\n pageSize: pageSize,\n orientation: orientation,\n isDisabled: isDisabled\n };\n}\nfunction $d806310b82f07e9d$var$replaceIndex(array, index, value) {\n if (array[index] === value) return array;\n return [\n ...array.slice(0, index),\n value,\n ...array.slice(index + 1)\n ];\n}\nfunction $d806310b82f07e9d$var$convertValue(value) {\n if (value == null) return undefined;\n return Array.isArray(value) ? value : [\n value\n ];\n}\nfunction $d806310b82f07e9d$var$createOnChange(value, defaultValue, onChange) {\n return (newValue)=>{\n if (typeof value === 'number' || typeof defaultValue === 'number') onChange?.(newValue[0]);\n else onChange?.(newValue);\n };\n}\n\n\nexport {$d806310b82f07e9d$export$e5fda3247f5d67f9 as useSliderState};\n//# sourceMappingURL=useSliderState.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlot as $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {LabelContext as $43a3b93638fe5db9$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {useSlider as $270k0$useSlider, useSliderThumb as $270k0$useSliderThumb} from \"react-aria/useSlider\";\nimport {clamp as $270k0$clamp} from \"react-stately/private/utils/number\";\nimport {filterDOMProps as $270k0$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $270k0$mergeProps} from \"react-aria/mergeProps\";\nimport $270k0$react, {createContext as $270k0$createContext, forwardRef as $270k0$forwardRef, useRef as $270k0$useRef, useContext as $270k0$useContext} from \"react\";\nimport {useSliderState as $270k0$useSliderState} from \"react-stately/useSliderState\";\nimport {useFocusRing as $270k0$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $270k0$useHover} from \"react-aria/useHover\";\nimport {useNumberFormatter as $270k0$useNumberFormatter} from \"react-aria/useNumberFormatter\";\nimport {VisuallyHidden as $270k0$VisuallyHidden} from \"react-aria/VisuallyHidden\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\nconst $806e559d0c2c64a0$export$e99164f0030f3bff = /*#__PURE__*/ (0, $270k0$createContext)(null);\nconst $806e559d0c2c64a0$export$1e7083018727fa60 = /*#__PURE__*/ (0, $270k0$createContext)(null);\nconst $806e559d0c2c64a0$export$f1fce0420cc6d8ee = /*#__PURE__*/ (0, $270k0$createContext)(null);\nconst $806e559d0c2c64a0$export$7ed6e0ce9ec48be7 = /*#__PURE__*/ (0, $270k0$createContext)(null);\nconst $806e559d0c2c64a0$export$6189c2744041d8f8 = /*#__PURE__*/ (0, $270k0$createContext)(null);\nconst $806e559d0c2c64a0$export$472062a354075cee = /*#__PURE__*/ (0, $270k0$forwardRef)(function Slider(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $806e559d0c2c64a0$export$e99164f0030f3bff);\n let trackRef = (0, $270k0$useRef)(null);\n let numberFormatter = (0, $270k0$useNumberFormatter)(props.formatOptions);\n let state = (0, $270k0$useSliderState)({\n ...props,\n numberFormatter: numberFormatter\n });\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { groupProps: groupProps, trackProps: trackProps, labelProps: labelProps, outputProps: outputProps } = (0, $270k0$useSlider)({\n ...props,\n label: label\n }, state, trackRef);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n state: state\n },\n defaultClassName: 'react-aria-Slider'\n });\n let DOMProps = (0, $270k0$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $270k0$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $806e559d0c2c64a0$export$1e7083018727fa60,\n state\n ],\n [\n $806e559d0c2c64a0$export$f1fce0420cc6d8ee,\n {\n ...trackProps,\n ref: trackRef\n }\n ],\n [\n $806e559d0c2c64a0$export$6189c2744041d8f8,\n outputProps\n ],\n [\n (0, $43a3b93638fe5db9$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef\n }\n ]\n ]\n }, /*#__PURE__*/ (0, $270k0$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $270k0$mergeProps)(DOMProps, renderProps, groupProps),\n ref: ref,\n slot: props.slot || undefined,\n \"data-orientation\": state.orientation,\n \"data-disabled\": state.isDisabled || undefined\n }));\n});\nconst $806e559d0c2c64a0$export$a590f758a961cb5b = /*#__PURE__*/ (0, $270k0$forwardRef)(function SliderOutput(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $806e559d0c2c64a0$export$6189c2744041d8f8);\n let { children: children, style: style, className: className, render: render, ...otherProps } = props;\n let state = (0, $270k0$useContext)($806e559d0c2c64a0$export$1e7083018727fa60);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n className: className,\n style: style,\n children: children,\n render: render,\n defaultChildren: state.getFormattedValue(),\n defaultClassName: 'react-aria-SliderOutput',\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n state: state\n }\n });\n return /*#__PURE__*/ (0, $270k0$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).output, {\n ...otherProps,\n ...renderProps,\n ref: ref,\n \"data-orientation\": state.orientation || undefined,\n \"data-disabled\": state.isDisabled || undefined\n });\n});\nconst $806e559d0c2c64a0$export$105594979f116971 = /*#__PURE__*/ (0, $270k0$forwardRef)(function SliderTrack(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $806e559d0c2c64a0$export$f1fce0420cc6d8ee);\n let state = (0, $270k0$useContext)($806e559d0c2c64a0$export$1e7083018727fa60);\n let { onHoverStart: onHoverStart, onHoverEnd: onHoverEnd, onHoverChange: onHoverChange, ...otherProps } = props;\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $270k0$useHover)({\n onHoverStart: onHoverStart,\n onHoverEnd: onHoverEnd,\n onHoverChange: onHoverChange\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-SliderTrack',\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n isHovered: isHovered,\n state: state\n }\n });\n return /*#__PURE__*/ (0, $270k0$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $270k0$mergeProps)(otherProps, hoverProps),\n ...renderProps,\n ref: ref,\n \"data-hovered\": isHovered || undefined,\n \"data-orientation\": state.orientation || undefined,\n \"data-disabled\": state.isDisabled || undefined\n });\n});\nconst $806e559d0c2c64a0$export$2c1b491743890dec = /*#__PURE__*/ (0, $270k0$forwardRef)(function SliderThumb(props, ref) {\n let { inputRef: userInputRef = null } = props;\n let state = (0, $270k0$useContext)($806e559d0c2c64a0$export$1e7083018727fa60);\n let { ref: trackRef } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)($806e559d0c2c64a0$export$f1fce0420cc6d8ee);\n let { index: index = 0 } = props;\n let defaultInputRef = (0, $270k0$useRef)(null);\n let inputRef = userInputRef || defaultInputRef;\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { thumbProps: thumbProps, inputProps: inputProps, labelProps: labelProps, isDragging: isDragging, isFocused: isFocused, isDisabled: isDisabled } = (0, $270k0$useSliderThumb)({\n ...props,\n index: index,\n trackRef: trackRef,\n inputRef: inputRef,\n label: label\n }, state);\n let { focusProps: focusProps, isFocusVisible: isFocusVisible } = (0, $270k0$useFocusRing)();\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $270k0$useHover)(props);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-SliderThumb',\n values: {\n state: state,\n isHovered: isHovered,\n isDragging: isDragging,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: isDisabled\n }\n });\n let DOMProps = (0, $270k0$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $270k0$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $270k0$mergeProps)(DOMProps, thumbProps, hoverProps),\n ...renderProps,\n ref: ref,\n style: {\n ...thumbProps.style,\n ...renderProps.style\n },\n \"data-hovered\": isHovered || undefined,\n \"data-dragging\": isDragging || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": isDisabled || undefined\n }, /*#__PURE__*/ (0, $270k0$react).createElement((0, $270k0$VisuallyHidden), null, /*#__PURE__*/ (0, $270k0$react).createElement(\"input\", {\n ref: inputRef,\n ...(0, $270k0$mergeProps)(inputProps, focusProps)\n })), /*#__PURE__*/ (0, $270k0$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n (0, $43a3b93638fe5db9$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef\n }\n ]\n ]\n }, renderProps.children));\n});\nconst $806e559d0c2c64a0$export$2ede0a3f7b0c0db = /*#__PURE__*/ (0, $270k0$forwardRef)(function SliderFill(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $806e559d0c2c64a0$export$7ed6e0ce9ec48be7);\n let state = (0, $270k0$useContext)($806e559d0c2c64a0$export$1e7083018727fa60);\n let { onHoverStart: onHoverStart, onHoverEnd: onHoverEnd, onHoverChange: onHoverChange, ...otherProps } = props;\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $270k0$useHover)({\n onHoverStart: onHoverStart,\n onHoverEnd: onHoverEnd,\n onHoverChange: onHoverChange\n });\n let offset = props.offset != null ? (0, $270k0$clamp)(props.offset, state.getThumbMinValue(0), state.getThumbMaxValue(0)) : state.getThumbMinValue(0);\n let start = state.values.length > 1 ? state.getThumbPercent(0) * 100 : state.getValuePercent(offset) * 100;\n let end = state.values.length > 0 ? state.getThumbPercent(state.values.length - 1) * 100 : 0;\n let startPercent = Math.min(start, end);\n let endPercent = Math.max(start, end);\n let sizePercent = Math.max(0, endPercent - startPercent);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-SliderFill',\n defaultStyle: state.orientation === 'vertical' ? {\n position: 'absolute',\n bottom: `${startPercent}%`,\n height: `${sizePercent}%`,\n width: '100%'\n } : {\n position: 'absolute',\n insetInlineStart: `${startPercent}%`,\n width: `${sizePercent}%`,\n height: '100%'\n },\n values: {\n orientation: state.orientation,\n isDisabled: state.isDisabled,\n isHovered: isHovered,\n state: state\n }\n });\n return /*#__PURE__*/ (0, $270k0$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $270k0$mergeProps)(otherProps, hoverProps),\n ...renderProps,\n ref: ref,\n \"data-hovered\": isHovered || undefined,\n \"data-orientation\": state.orientation || undefined,\n \"data-disabled\": state.isDisabled || undefined\n });\n});\n\n\nexport {$806e559d0c2c64a0$export$e99164f0030f3bff as SliderContext, $806e559d0c2c64a0$export$1e7083018727fa60 as SliderStateContext, $806e559d0c2c64a0$export$f1fce0420cc6d8ee as SliderTrackContext, $806e559d0c2c64a0$export$7ed6e0ce9ec48be7 as SliderFillContext, $806e559d0c2c64a0$export$6189c2744041d8f8 as SliderOutputContext, $806e559d0c2c64a0$export$472062a354075cee as Slider, $806e559d0c2c64a0$export$a590f758a961cb5b as SliderOutput, $806e559d0c2c64a0$export$105594979f116971 as SliderTrack, $806e559d0c2c64a0$export$2c1b491743890dec as SliderThumb, $806e559d0c2c64a0$export$2ede0a3f7b0c0db as SliderFill};\n//# sourceMappingURL=Slider.mjs.map\n","import { createSlotRecipeContext } from \"@chakra-ui/react/styled-system\";\nimport type { SlotComponent } from \"@/type-utils\";\nimport type {\n SliderRootSlotProps,\n SliderTrackSlotProps,\n SliderFillSlotProps,\n SliderThumbSlotProps,\n SliderTickSlotProps,\n SliderTickLabelSlotProps,\n} from \"./slider.types\";\n\nconst { withProvider, withContext } = createSlotRecipeContext({\n key: \"nimbusSlider\",\n});\n\n/** Root — provides the recipe context; grafts React Aria <Slider> via asChild. */\nexport const SliderRootSlot: SlotComponent<\n HTMLDivElement,\n SliderRootSlotProps\n> = withProvider<HTMLDivElement, SliderRootSlotProps>(\"div\", \"root\");\n\nexport const SliderTrackSlot = withContext<\n HTMLDivElement,\n SliderTrackSlotProps\n>(\"div\", \"track\");\n\nexport const SliderFillSlot = withContext<HTMLDivElement, SliderFillSlotProps>(\n \"div\",\n \"fill\"\n);\n\nexport const SliderThumbSlot = withContext<\n HTMLDivElement,\n SliderThumbSlotProps\n>(\"div\", \"thumb\");\n\nexport const SliderTickSlot = withContext<HTMLDivElement, SliderTickSlotProps>(\n \"div\",\n \"tick\"\n);\n\nexport const SliderTickLabelSlot = withContext<\n HTMLDivElement,\n SliderTickLabelSlotProps\n>(\"div\", \"tickLabel\");\n","/**\n * Pre-compiled en messages for Slider\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default { maximumThumb: `Maximum`, minimumThumb: `Minimum` };\n","/**\n * Pre-compiled de messages for Slider\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default { maximumThumb: `Maximum`, minimumThumb: `Minimum` };\n","/**\n * Pre-compiled es messages for Slider\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default { maximumThumb: `Maximum`, minimumThumb: `Minimum` };\n","/**\n * Pre-compiled fr-FR messages for Slider\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default { maximumThumb: `Maximum`, minimumThumb: `Minimum` };\n","/**\n * Pre-compiled pt-BR messages for Slider\n * Generated by @internationalized/string-compiler\n * DO NOT EDIT MANUALLY\n */\n\nexport default { maximumThumb: `Maximum`, minimumThumb: `Minimum` };\n","/**\n * Pre-compiled localized messages for Slider component\n *\n * Generated by scripts/generate-dictionaries.ts\n * DO NOT EDIT MANUALLY\n *\n * @see https://react-spectrum.adobe.com/react-aria/internationalization.html\n */\n\nimport {\n type LocalizedString,\n type LocalizedStrings,\n} from \"@internationalized/string\";\nimport { normalizeMessages } from \"../../utils/normalize-messages\";\n\n// Pre-compiled message functions\nimport sliderMessages_en from \"./intl/en\";\nimport sliderMessages_de from \"./intl/de\";\nimport sliderMessages_es from \"./intl/es\";\nimport sliderMessages_fr from \"./intl/fr-FR\";\nimport sliderMessages_pt from \"./intl/pt-BR\";\n\n// Raw LocalizedStrings object for use with useLocalizedStringFormatter hook\nexport const sliderMessagesStrings: LocalizedStrings<string, LocalizedString> =\n {\n en: normalizeMessages(sliderMessages_en),\n de: normalizeMessages(sliderMessages_de),\n es: normalizeMessages(sliderMessages_es),\n \"fr-FR\": normalizeMessages(sliderMessages_fr),\n \"pt-BR\": normalizeMessages(sliderMessages_pt),\n } as LocalizedStrings<string, LocalizedString>;\n\n/**\n * Available message keys for Slider component\n */\nexport type SliderMessageKey = \"maximumThumb\" | \"minimumThumb\";\n","import { useState, useRef, useEffect, type CSSProperties } from \"react\";\nimport { useObjectRef } from \"react-aria\";\nimport { useSlotRecipe } from \"@chakra-ui/react/styled-system\";\nimport {\n Slider as RaSlider,\n SliderTrack as RaSliderTrack,\n SliderThumb as RaSliderThumb,\n SliderFill as RaSliderFill,\n} from \"react-aria-components\";\nimport { mergeRefs, extractStyleProps } from \"@/utils\";\nimport { Tooltip } from \"@/components/tooltip/tooltip\";\nimport { useLocalizedStringFormatter } from \"@/hooks\";\nimport {\n SliderRootSlot,\n SliderTrackSlot,\n SliderFillSlot,\n SliderThumbSlot,\n SliderTickSlot,\n} from \"./slider.slots\";\nimport { sliderSlotRecipe } from \"./slider.recipe\";\nimport { sliderMessagesStrings } from \"./slider.messages\";\nimport type { SliderBaseProps } from \"./slider.types\";\n\n/**\n * A single slider thumb wrapped in a value tooltip that is open while the thumb\n * is hovered, keyboard-focused, or being dragged. Each thumb owns its own\n * hover/focus state so RangeSlider's two thumbs are independent.\n */\ntype SliderValueThumbProps = {\n index: number;\n thumbLabel?: string;\n /**\n * Fallback `aria-labelledby` for a thumb that has no `thumbLabel` of its\n * own (the sole thumb of a single-value Slider). React Aria always\n * composes the thumb's default `aria-labelledby` from the slider group's\n * own id, which only resolves to a name when the group itself carries a\n * literal `aria-label` — per the WAI-ARIA accname algorithm, a referenced\n * node's *own* `aria-labelledby` is not followed recursively, so when the\n * group is named indirectly (e.g. FormField's `<label>`), that chain\n * resolves to nothing. Forwarding the same id(s) here gives the thumb a\n * direct, one-hop reference to the real label element.\n */\n thumbAriaLabelledBy?: string;\n valueLabel: string;\n isDragging: boolean;\n};\n\nconst SliderValueThumb = ({\n index,\n thumbLabel,\n thumbAriaLabelledBy,\n valueLabel,\n isDragging,\n}: SliderValueThumbProps) => {\n const [isHovered, setIsHovered] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n // WCAG 2.1 SC 1.4.13 (Content on Hover or Focus): the value tooltip must be\n // dismissible with Escape without moving the pointer or focus. We can't lean\n // on React Aria's built-in tooltip Escape handling because we drive the\n // tooltip's open state ourselves (the tooltip must stay visible during a\n // pointer drag, which React Aria would otherwise close on press). React\n // Aria's internal tooltip state — and the document-level Escape listener it\n // uses to shield ancestors — desyncs from our controlled `isOpen` the moment\n // the value changes (an arrow key makes React Aria close its own state while\n // we keep the tooltip shown), so its shield can't be relied on. We therefore\n // own the tooltip's Escape entirely (effect below): `isDismissed` records the\n // press and suppresses the tooltip for the rest of this hover/focus/drag\n // \"session\"; once the thumb goes idle it re-arms (first effect) so a later\n // hover or focus reopens it.\n const [isDismissed, setIsDismissed] = useState(false);\n const wantsOpen = isHovered || isFocused || isDragging;\n const isOpen = wantsOpen && !isDismissed;\n\n useEffect(() => {\n // Re-arm once the thumb is neither hovered, focused, nor dragging, so a\n // fresh interaction shows the tooltip again.\n if (!wantsOpen && isDismissed) setIsDismissed(false);\n }, [wantsOpen, isDismissed]);\n\n useEffect(() => {\n if (!isOpen) return;\n // Register on `document` in the capture phase — the same way React Aria\n // does — and only while the tooltip is actually visible (`isOpen`), so this\n // fires exactly when there is a tooltip to dismiss. `stopPropagation()`\n // makes a first Escape dismiss only the tooltip, not an enclosing overlay\n // (e.g. a Dialog); once dismissed the tooltip closes, this listener\n // detaches, and the next Escape is free to reach the Dialog. Inferring the\n // dismissal from `onOpenChange` instead is unreliable — React Aria also\n // fires it on hover cooldown and value change, which would misread as\n // dismissals.\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key === \"Escape\") {\n e.stopPropagation();\n setIsDismissed(true);\n }\n };\n document.addEventListener(\"keydown\", onKeyDown, true);\n return () => document.removeEventListener(\"keydown\", onKeyDown, true);\n }, [isOpen]);\n\n return (\n <Tooltip.Root isOpen={isOpen} onOpenChange={() => {}}>\n <SliderThumbSlot asChild data-slot=\"thumb\">\n <RaSliderThumb\n index={index}\n aria-label={thumbLabel}\n aria-labelledby={thumbAriaLabelledBy}\n onHoverChange={setIsHovered}\n onFocusChange={setIsFocused}\n />\n </SliderThumbSlot>\n <Tooltip.Content>{valueLabel}</Tooltip.Content>\n </Tooltip.Root>\n );\n};\n\n/**\n * Shared internal implementation for Slider and RangeSlider. Renders the full\n * React Aria Slider anatomy for any number of thumbs (driven by state.values),\n * each thumb showing its current value in a tooltip.\n */\nexport const SliderBase = (props: SliderBaseProps) => {\n // minValue/maxValue/step/isDisabled/isInvalid are pulled off `props`\n // directly (rather than off `extractStyleProps`'s second return value\n // below) because that \"rest\" tuple member is typed `Omit<T, string>`,\n // which collapses to `{}` for any plain object — reading a named field\n // off it would not type-check.\n //\n // Note: React Aria's Slider has no `isInvalid`/validation-state concept\n // (unlike text-style inputs), so `isInvalid` is a Nimbus-only prop (see\n // slider.types.ts) that is deliberately excluded from `restProps` below —\n // it must never reach `RaSlider`, only the `data-invalid` seam.\n const {\n ref: forwardedRef,\n thumbLabels,\n showTicks = false,\n tickStep,\n size,\n minValue = 0,\n maxValue = 100,\n step,\n isDisabled,\n isInvalid,\n orientation = \"horizontal\",\n ...restProps\n } = props;\n\n const recipe = useSlotRecipe({ recipe: sliderSlotRecipe });\n const [recipeProps, recipeLessProps] = recipe.splitVariantProps({\n size,\n ...restProps,\n });\n const [styleProps, functionalProps] = extractStyleProps(recipeLessProps);\n\n const localRef = useRef<HTMLDivElement>(null);\n const ref = useObjectRef(mergeRefs(localRef, forwardedRef));\n\n const msg = useLocalizedStringFormatter(sliderMessagesStrings);\n const defaultThumbLabels = [\n msg.format(\"minimumThumb\"),\n msg.format(\"maximumThumb\"),\n ];\n // Single sliders are named by their own aria-label/FormField label, so\n // only RangeSlider's two thumbs (total > 1) get localized defaults.\n const resolveThumbLabel = (index: number, total: number) =>\n thumbLabels?.[index] ?? (total > 1 ? defaultThumbLabels[index] : undefined);\n\n // Fallback accessible-name reference for a thumb with no `thumbLabel` of\n // its own — see the `thumbAriaLabelledBy` doc on SliderValueThumb below.\n // `aria-label` isn't forwarded here because the group's own literal\n // `aria-label` already resolves in one hop through the thumb's default\n // group-id reference; only the `aria-labelledby` chain is non-transitive.\n const groupAriaLabelledBy = props[\"aria-labelledby\"];\n\n const resolvedTickStep = tickStep ?? step ?? 1;\n const baseTicks =\n showTicks && resolvedTickStep > 0\n ? Array.from(\n { length: Math.floor((maxValue - minValue) / resolvedTickStep) + 1 },\n (_, i) => minValue + i * resolvedTickStep\n )\n : [];\n // The thumb can always travel to maxValue, so it carries a tick even when the\n // range isn't an exact multiple of tickStep — the final interval before\n // maxValue is then shorter than tickStep. Skip when maxValue already lands on\n // the last multiple (epsilon absorbs float drift, e.g. 0.1 steps).\n const ticks =\n baseTicks.length > 0 &&\n maxValue - baseTicks[baseTicks.length - 1] > resolvedTickStep * 1e-9\n ? [...baseTicks, maxValue]\n : baseTicks;\n\n const stateProps = {\n \"data-disabled\": isDisabled || undefined,\n \"data-invalid\": isInvalid || undefined,\n };\n\n return (\n <SliderRootSlot\n asChild\n data-slot=\"root\"\n {...recipeProps}\n {...styleProps}\n {...stateProps}\n >\n <RaSlider\n ref={ref}\n {...functionalProps}\n minValue={minValue}\n maxValue={maxValue}\n step={step}\n isDisabled={isDisabled}\n orientation={orientation}\n >\n <SliderTrackSlot asChild data-slot=\"track\">\n <RaSliderTrack>\n {({ state }) => {\n // The filled region as track fractions (0–1): from the lowest\n // thumb (or the track start, for a single thumb) to the highest.\n // Drives two things — the fill cup below, and per-tick\n // `data-filled` so a tick sitting on the fill can flip to a\n // color that contrasts with the primary fill (see the recipe).\n const thumbPercents = state.values.map((_, i) =>\n state.getThumbPercent(i)\n );\n const lowFrac =\n thumbPercents.length > 1 ? Math.min(...thumbPercents) : 0;\n const highFrac = Math.max(...thumbPercents);\n\n // The fill reaches each thumb's OUTER edge, not the value point,\n // so it sits behind the whole knob — that paints the thin primary\n // ring through the thumb border and, at value 0, keeps a visible\n // sliver instead of a bare knob. Both variants share one inset\n // geometry (the interactive track is inset by the thumb radius —\n // see the recipe), so React Aria positions the thumbs\n // natively-contained and the fill only needs a fixed thumb-radius\n // cup on each thumb-bearing end. In the inset track's own units\n // (100% = the inset width): start half a diameter before the low\n // thumb, span the thumb gap plus one full diameter. A single\n // slider's low end is the track start (lowFrac 0), so the cup\n // there reaches the bar's rounded cap. Must be inline — React Aria\n // sets the fill's main-axis size inline, which beats a recipe\n // class. Logical `insetInlineStart` (RTL-safe) for horizontal,\n // physical `bottom` for vertical, as React Aria's own SliderFill.\n const r = \"var(--slider-thumb-size) / 2\";\n const start = `calc(${lowFrac} * 100% - ${r})`;\n const span = `calc(${highFrac - lowFrac} * 100% + var(--slider-thumb-size))`;\n const fillStyle: CSSProperties =\n orientation === \"vertical\"\n ? { bottom: start, height: span }\n : { insetInlineStart: start, width: span };\n return (\n <>\n <SliderFillSlot\n asChild\n data-slot=\"fill\"\n // Two-plus thumbs means this fill is a RangeSlider's range\n // segment (the span between thumbs), not a single slider's\n // 0→value progress. The `minimal` recipe colors only the\n // former, so it can visualize the selected range while a\n // single slider stays a bare handle on a neutral track.\n data-range={state.values.length > 1 || undefined}\n >\n <RaSliderFill style={fillStyle} />\n </SliderFillSlot>\n {state.values.map((_, i) => {\n const thumbLabel = resolveThumbLabel(\n i,\n state.values.length\n );\n return (\n <SliderValueThumb\n key={i}\n index={i}\n thumbLabel={thumbLabel}\n thumbAriaLabelledBy={\n thumbLabel === undefined\n ? groupAriaLabelledBy\n : undefined\n }\n valueLabel={state.getThumbValueLabel(i)}\n isDragging={state.isThumbDragging(i)}\n />\n );\n })}\n {ticks.map((tickValue) => {\n const frac = (tickValue - minValue) / (maxValue - minValue);\n // A tick is centered on this point via its translate in the\n // recipe. Mirrors how React Aria's own `SliderFill` anchors:\n // horizontal uses the logical `insetInlineStart` so it flips\n // under RTL, vertical anchors from `bottom` so the minimum\n // sits at the bottom. A simple percent for every variant —\n // in `enclosed` the interactive track is inset by the thumb\n // radius (recipe), so `frac%` of that track already lands on\n // the contained thumb centerline and a click there maps back\n // to the same value.\n const pos = `${frac * 100}%`;\n // Mark ticks that land on the fill so the recipe can flip\n // them to a fill-contrasting color. The epsilon absorbs\n // floating-point drift at the boundary (a tick exactly under\n // a thumb), where `frac` and the thumb percent share the same\n // formula but may round differently.\n const isFilled =\n frac >= lowFrac - 1e-9 && frac <= highFrac + 1e-9;\n // A tick sitting exactly on a thumb's value is painted over\n // the white knob, not the fill (ticks render above the\n // thumbs), so `colorPalette.contrast` — tuned for the fill —\n // can vanish (white-on-white in light mode). Flag it so the\n // recipe can give it a knob-aware color instead. Compared in\n // value space (exact, no pixel guesswork); the recipe's\n // on-thumb rule overrides the on-fill one via source order.\n const isOnThumb = state.values.some(\n (v) => Math.abs(v - tickValue) <= 1e-9\n );\n const tickPositionStyle =\n orientation === \"vertical\"\n ? { bottom: pos }\n : { insetInlineStart: pos };\n return (\n <SliderTickSlot\n key={tickValue}\n data-slot=\"tick\"\n data-filled={isFilled || undefined}\n data-on-thumb={isOnThumb || undefined}\n // Two thumbs ⇒ a RangeSlider, whose filled region is a\n // visibly colored range segment. The minimal recipe uses\n // this to contrast-tint filled ticks only where they ride\n // a colored surface (a single Slider's fill is invisible).\n data-range={state.values.length > 1 || undefined}\n style={tickPositionStyle}\n />\n );\n })}\n </>\n );\n }}\n </RaSliderTrack>\n </SliderTrackSlot>\n </RaSlider>\n </SliderRootSlot>\n );\n};\n\nSliderBase.displayName = \"SliderBase\";\n","import { SliderBase } from \"../../slider-base\";\nimport type { SliderBaseProps } from \"../../slider.types\";\nimport type { RangeSliderProps } from \"./range-slider.types\";\n\n/**\n * # RangeSlider\n *\n * A two-thumb slider for selecting a `[min, max]` numeric range within bounds.\n * Wraps React Aria's Slider with two thumbs; the thumbs cannot cross. Each\n * thumb's current value is shown in its own tooltip while it's hovered,\n * focused, or dragged.\n *\n * Each thumb needs its own accessible name — provide `thumbLabels` (e.g.\n * `[\"Minimum price\", \"Maximum price\"]`); when omitted, the thumbs fall back\n * to localized \"Minimum\" / \"Maximum\" labels rather than being left\n * anonymous. The control as a whole still needs an accessible name of its\n * own too: provide an `aria-label` (or use inside `FormField`), same as\n * `Slider`.\n */\nexport const RangeSlider = (props: RangeSliderProps) => {\n // SliderBaseProps intentionally widens value/onChange to `number | number[]`\n // so the shared implementation can serve both Slider and RangeSlider; the\n // cast narrows back since RangeSliderProps only ever supplies the tuple arm.\n return <SliderBase {...(props as SliderBaseProps)} />;\n};\n\nRangeSlider.displayName = \"RangeSlider\";\n"],"x_google_ignoreList":[0,1,2,3,4],"mappings":"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"}
|