@12-apps/ui 6.36.0 → 6.37.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/_internal/components/data-display/CardKit/CardKebab.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +36 -36
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +48 -48
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +4 -4
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +9 -9
- package/dist/_internal/components/data-display/DataViews/base-card.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +6 -6
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +10 -10
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +11 -11
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +10 -10
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +33 -33
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +15 -15
- package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +13 -13
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +3 -3
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +5 -5
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +2 -2
- package/dist/_internal/components/data-display/index.js +2 -2
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
- package/dist/_internal/components/feedback/index.js +4 -4
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -4
- package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +3 -2
- package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +3 -2
- package/dist/_internal/components/form/AddressAutocomplete/AddressSuggestionsPaper.js +2 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +2 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +3 -2
- package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +2 -1
- package/dist/_internal/components/form/Button/Button.js +2 -2
- package/dist/_internal/components/form/Button/Button.styles.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +6 -6
- package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +2 -2
- package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +2 -2
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanelSurface.js +2 -1
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +10 -10
- package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +2 -2
- package/dist/_internal/components/form/CepField/CepField.js +4 -4
- package/dist/_internal/components/form/Checkbox/Checkbox.js +1 -1
- package/dist/_internal/components/form/CodeEditor/CodeEditor.helpers.js +1 -1
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
- package/dist/_internal/components/form/Command/Command.hooks.js +1 -1
- package/dist/_internal/components/form/Command/Command.js +4 -4
- package/dist/_internal/components/form/Command/Command.parts.js +2 -1
- package/dist/_internal/components/form/Command/Command.styles.js +1 -1
- package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +2 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +2 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerQuickList.js +1 -1
- package/dist/_internal/components/form/Form/Form.js +1 -1
- package/dist/_internal/components/form/HeaderActions/HeaderActions.js +1 -1
- package/dist/_internal/components/form/Input/Input.js +3 -2
- package/dist/_internal/components/form/Input/Input.styles.js +2 -1
- package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
- package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
- package/dist/_internal/components/form/Label/Label.js +2 -2
- package/dist/_internal/components/form/Label/Label.styles.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.item.js +2 -2
- package/dist/_internal/components/form/Menubar/Menubar.js +4 -4
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +3 -3
- package/dist/_internal/components/form/PasswordStrength/PasswordStrength.js +1 -1
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.animations.js +2 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.js +4 -4
- package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +2 -2
- package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +3 -3
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
- package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +2 -1
- package/dist/_internal/components/form/SearchPalette/SearchPalette.js +2 -2
- package/dist/_internal/components/form/SearchPalette/SearchPalette.parts.js +1 -1
- package/dist/_internal/components/form/Select/Select.js +2 -1
- package/dist/_internal/components/form/Slider/Slider.animations.js +2 -1
- package/dist/_internal/components/form/Slider/Slider.js +3 -3
- package/dist/_internal/components/form/Slider/Slider.styles.js +2 -2
- package/dist/_internal/components/form/Switch/Switch.animations.js +2 -1
- package/dist/_internal/components/form/Switch/Switch.js +4 -4
- package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
- package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
- package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
- package/dist/_internal/components/form/Textarea/Textarea.styles.js +2 -1
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +12 -11
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
- package/dist/_internal/components/form/Toggle/Toggle.js +2 -2
- package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
- package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
- package/dist/_internal/components/form/UploadButton/UploadButton.js +2 -2
- package/dist/_internal/components/form/UploadButton/UploadButton.parts.js +1 -1
- package/dist/_internal/components/form/index.js +56 -56
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +11 -11
- package/dist/_internal/components/form/total-form/Fields/CepField.js +5 -5
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +3 -3
- package/dist/_internal/components/form/total-form/Fields/TextField.js +4 -4
- package/dist/_internal/components/form/total-form/Fields/ToggleField.js +3 -3
- package/dist/_internal/components/form/total-form/Fields/index.js +21 -21
- package/dist/_internal/components/form/total-form/FormContainer.js +2 -2
- package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
- package/dist/_internal/components/index.js +63 -63
- package/dist/_internal/components/layout/Dashboard/Dashboard.js +3 -3
- package/dist/_internal/components/layout/Dashboard/DashboardParts.js +2 -2
- package/dist/_internal/components/layout/index.js +3 -3
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +3 -3
- package/dist/_internal/components/navigation/index.js +3 -3
- package/dist/_internal/social-login-button/social-login-button.js +3 -3
- package/dist/_internal/user-avatar/user-avatar.js +3 -3
- package/dist/{chunk-343OLRFT.js → chunk-2BIVCYTO.js} +4 -4
- package/dist/{chunk-KH25WUSX.js → chunk-2EAAWOZ2.js} +4 -4
- package/dist/chunk-2EAAWOZ2.js.map +1 -0
- package/dist/{chunk-PNLM35GU.js → chunk-2JNHWKQK.js} +5 -5
- package/dist/{chunk-IWOVENC3.js → chunk-2XX45PC5.js} +2 -2
- package/dist/{chunk-RZ2C5CAW.js → chunk-2ZIHZLF5.js} +2 -2
- package/dist/{chunk-ZW5K4XCQ.js → chunk-34BZXJGT.js} +6 -6
- package/dist/{chunk-CHFHILTM.js → chunk-35S6QI5G.js} +2 -2
- package/dist/{chunk-KCAW6HRO.js → chunk-3AOQBR7N.js} +2 -2
- package/dist/{chunk-GVLZZCSX.js → chunk-4B5XUQQS.js} +3 -3
- package/dist/{chunk-ADHMNIWS.js → chunk-4CXEWFKO.js} +2 -2
- package/dist/{chunk-J4NXTSJY.js → chunk-4JFL62K3.js} +4 -4
- package/dist/chunk-4JFL62K3.js.map +1 -0
- package/dist/{chunk-XLYFOBBT.js → chunk-4PRZLII7.js} +19 -16
- package/dist/chunk-4PRZLII7.js.map +1 -0
- package/dist/{chunk-AMTFP7QA.js → chunk-4RDJMIWL.js} +16 -13
- package/dist/chunk-4RDJMIWL.js.map +1 -0
- package/dist/{chunk-PYIASGI7.js → chunk-4RWPGWJW.js} +39 -39
- package/dist/chunk-4RWPGWJW.js.map +1 -0
- package/dist/chunk-4T6UIYJB.js +77 -0
- package/dist/chunk-4T6UIYJB.js.map +1 -0
- package/dist/{chunk-HBICO6AX.js → chunk-4WNFOBTH.js} +26 -24
- package/dist/chunk-4WNFOBTH.js.map +1 -0
- package/dist/{chunk-JJSZP3TW.js → chunk-57JLS55D.js} +5 -5
- package/dist/{chunk-ZZM3DOEK.js → chunk-5HDYTTE7.js} +2 -2
- package/dist/{chunk-GEXM6DNR.js → chunk-5KGABAQB.js} +2 -2
- package/dist/{chunk-3A22SBIU.js → chunk-67O4GPJJ.js} +8 -4
- package/dist/chunk-67O4GPJJ.js.map +1 -0
- package/dist/{chunk-D5X4FRYX.js → chunk-6JNQLW5L.js} +2 -2
- package/dist/{chunk-NSJVQ5YJ.js → chunk-6KKQHJE7.js} +9 -4
- package/dist/chunk-6KKQHJE7.js.map +1 -0
- package/dist/{chunk-D2HKCPEH.js → chunk-6LOGBWLG.js} +9 -5
- package/dist/chunk-6LOGBWLG.js.map +1 -0
- package/dist/{chunk-TOXTJ7MU.js → chunk-6RLCBNDV.js} +8 -5
- package/dist/chunk-6RLCBNDV.js.map +1 -0
- package/dist/{chunk-K7WSPGI7.js → chunk-6WLHEZXI.js} +7 -7
- package/dist/chunk-6WLHEZXI.js.map +1 -0
- package/dist/{chunk-KJK2Q35C.js → chunk-75LOTMSN.js} +2 -2
- package/dist/{chunk-A6AKFPIQ.js → chunk-7EH4D6FU.js} +2 -2
- package/dist/{chunk-6SKXV236.js → chunk-7EM4THID.js} +9 -8
- package/dist/chunk-7EM4THID.js.map +1 -0
- package/dist/{chunk-7ZG7T2YN.js → chunk-7GHYCQCJ.js} +3 -3
- package/dist/{chunk-U4H6MGVE.js → chunk-A5UYPUS2.js} +7 -5
- package/dist/chunk-A5UYPUS2.js.map +1 -0
- package/dist/{chunk-QIKPGMMO.js → chunk-AER4245J.js} +2 -2
- package/dist/{chunk-2PBT2HQH.js → chunk-AUSUCZYR.js} +25 -24
- package/dist/chunk-AUSUCZYR.js.map +1 -0
- package/dist/{chunk-4CTLEUK3.js → chunk-AYLEZM6T.js} +2 -2
- package/dist/{chunk-JFBEZXNL.js → chunk-BAQBUKDU.js} +2 -2
- package/dist/{chunk-RQ5HZDBV.js → chunk-BN742L2M.js} +14 -8
- package/dist/chunk-BN742L2M.js.map +1 -0
- package/dist/{chunk-RKI3MRKX.js → chunk-BW62QQAG.js} +2 -2
- package/dist/{chunk-7EQCZO56.js → chunk-C3LZ3OGJ.js} +11 -11
- package/dist/chunk-C3LZ3OGJ.js.map +1 -0
- package/dist/{chunk-UL7L6MFT.js → chunk-C55AWF3U.js} +4 -4
- package/dist/{chunk-ST4YYVUK.js → chunk-C5RQBTRZ.js} +7 -3
- package/dist/chunk-C5RQBTRZ.js.map +1 -0
- package/dist/{chunk-GGWICBJD.js → chunk-CPAJYJUD.js} +2 -2
- package/dist/{chunk-5TJRJSJY.js → chunk-CQLPDY2J.js} +3 -3
- package/dist/{chunk-5UTAEHSB.js → chunk-CQPFSEJB.js} +2 -2
- package/dist/{chunk-SN2YMCTL.js → chunk-CS3KOKL3.js} +2 -2
- package/dist/{chunk-2HVNPWFV.js → chunk-D6KL74KI.js} +4 -10
- package/dist/chunk-D6KL74KI.js.map +1 -0
- package/dist/{chunk-TTAP5XFX.js → chunk-DJYL2LC6.js} +8 -3
- package/dist/chunk-DJYL2LC6.js.map +1 -0
- package/dist/{chunk-TQ2557I5.js → chunk-DUNG7D4B.js} +23 -25
- package/dist/chunk-DUNG7D4B.js.map +1 -0
- package/dist/{chunk-LWRI6HGT.js → chunk-ECNJGROX.js} +21 -19
- package/dist/chunk-ECNJGROX.js.map +1 -0
- package/dist/{chunk-FXNYV5Z6.js → chunk-F6D6HXZU.js} +3 -3
- package/dist/{chunk-7DN4UXJ3.js → chunk-FERUQ7OB.js} +14 -14
- package/dist/chunk-FERUQ7OB.js.map +1 -0
- package/dist/{chunk-TQBRWZA4.js → chunk-FFOQZRFC.js} +2 -2
- package/dist/{chunk-GXCOXJS3.js → chunk-FNG33MKA.js} +3 -3
- package/dist/{chunk-YH37X6JT.js → chunk-FNRPQE2D.js} +26 -25
- package/dist/chunk-FNRPQE2D.js.map +1 -0
- package/dist/{chunk-5SJWDABY.js → chunk-G3XLFQ2Z.js} +44 -43
- package/dist/chunk-G3XLFQ2Z.js.map +1 -0
- package/dist/{chunk-GW64UQXI.js → chunk-GHXFCMFP.js} +2 -2
- package/dist/{chunk-L3B36HA5.js → chunk-GRDPGHQJ.js} +2 -2
- package/dist/{chunk-6SS5C74Q.js → chunk-GS3RP2QE.js} +2 -2
- package/dist/{chunk-B2VXP2B2.js → chunk-GZT7MLLO.js} +2 -2
- package/dist/{chunk-AK2HOD6B.js → chunk-H5BEWPEY.js} +2 -2
- package/dist/{chunk-DY4BP5WA.js → chunk-HNPWZ3W2.js} +4 -4
- package/dist/{chunk-SYVNWXVW.js → chunk-HU7TX7RB.js} +3 -3
- package/dist/{chunk-WNUZK7NS.js → chunk-HVXIOIM5.js} +10 -8
- package/dist/chunk-HVXIOIM5.js.map +1 -0
- package/dist/{chunk-WPA26LXA.js → chunk-IKLOIONQ.js} +3 -3
- package/dist/{chunk-BXAL7OIS.js → chunk-JC22FNFA.js} +89 -88
- package/dist/chunk-JC22FNFA.js.map +1 -0
- package/dist/{chunk-DMWSXWCZ.js → chunk-JL75FJRG.js} +4 -4
- package/dist/{chunk-ZAFFKQQU.js → chunk-JLQGRZMN.js} +2 -2
- package/dist/{chunk-ZMC3N23A.js → chunk-JSD5TFDK.js} +6 -6
- package/dist/{chunk-NE6XUN5Z.js → chunk-JU4MSYYH.js} +2 -2
- package/dist/{chunk-OWA7GPWR.js → chunk-KN5J3NEZ.js} +6 -5
- package/dist/chunk-KN5J3NEZ.js.map +1 -0
- package/dist/{chunk-4GYEIWQP.js → chunk-LNHYBA4B.js} +11 -10
- package/dist/chunk-LNHYBA4B.js.map +1 -0
- package/dist/{chunk-QY4XNTNG.js → chunk-LP3JCXER.js} +4 -4
- package/dist/chunk-LP3JCXER.js.map +1 -0
- package/dist/{chunk-YBTC4XNO.js → chunk-LT4NEKXB.js} +3 -3
- package/dist/{chunk-WVC3BG6J.js → chunk-LXT3X33C.js} +11 -6
- package/dist/chunk-LXT3X33C.js.map +1 -0
- package/dist/{chunk-6KL2CJBO.js → chunk-MNHIK2OR.js} +2 -2
- package/dist/{chunk-CWDV64TD.js → chunk-N5GVW6RO.js} +5 -4
- package/dist/chunk-N5GVW6RO.js.map +1 -0
- package/dist/{chunk-JFEEV3XI.js → chunk-NB3FGWU4.js} +2 -2
- package/dist/{chunk-2UCLUDEB.js → chunk-NCPWLHZT.js} +2 -2
- package/dist/{chunk-DZNMS2SH.js → chunk-NDNYD4FG.js} +5 -5
- package/dist/{chunk-5IXHJXJX.js → chunk-NIF4IXQU.js} +5 -2
- package/dist/chunk-NIF4IXQU.js.map +1 -0
- package/dist/{chunk-EFV5QJNM.js → chunk-ORRI6FMN.js} +17 -14
- package/dist/chunk-ORRI6FMN.js.map +1 -0
- package/dist/{chunk-UFLTL2RJ.js → chunk-PH36XEB3.js} +2 -2
- package/dist/{chunk-4LQZH4PU.js → chunk-PMOEG36E.js} +2 -2
- package/dist/{chunk-EXZSHZRS.js → chunk-PWZHCBG3.js} +3 -3
- package/dist/{chunk-EFVOT3G5.js → chunk-PZ7PU4AP.js} +2 -2
- package/dist/{chunk-I62ALI7F.js → chunk-Q73PTVNO.js} +2 -2
- package/dist/{chunk-V74PXUQN.js → chunk-QEG3P5D4.js} +9 -9
- package/dist/{chunk-7LIXQZBG.js → chunk-QI5CRSOW.js} +3 -3
- package/dist/{chunk-V3LOHY4N.js → chunk-QKPD322X.js} +2 -2
- package/dist/{chunk-HAQMKV5P.js → chunk-QXSW3CNN.js} +15 -9
- package/dist/chunk-QXSW3CNN.js.map +1 -0
- package/dist/{chunk-LMXWI3DD.js → chunk-QYY37ECA.js} +5 -2
- package/dist/chunk-QYY37ECA.js.map +1 -0
- package/dist/{chunk-VECWMANF.js → chunk-RDCHT2WN.js} +7 -4
- package/dist/chunk-RDCHT2WN.js.map +1 -0
- package/dist/{chunk-35ETD7ML.js → chunk-RIEV4VXF.js} +9 -5
- package/dist/chunk-RIEV4VXF.js.map +1 -0
- package/dist/{chunk-PWF32ILG.js → chunk-SJO3K7SB.js} +3 -3
- package/dist/{chunk-TU3EGIKB.js → chunk-SSS64KYB.js} +3 -3
- package/dist/{chunk-SQYC57ZN.js → chunk-SYN46YL6.js} +2 -2
- package/dist/{chunk-DHBYO7AO.js → chunk-TCV3N44E.js} +2 -2
- package/dist/{chunk-E6RYO4QZ.js → chunk-THMT3G3L.js} +21 -15
- package/dist/chunk-THMT3G3L.js.map +1 -0
- package/dist/{chunk-JCBIPBGZ.js → chunk-TU5A2CV7.js} +19 -12
- package/dist/chunk-TU5A2CV7.js.map +1 -0
- package/dist/{chunk-YESTO24O.js → chunk-TXEN3QJ4.js} +8 -3
- package/dist/chunk-TXEN3QJ4.js.map +1 -0
- package/dist/{chunk-DVGBFT6O.js → chunk-UAVSBSV5.js} +2 -2
- package/dist/{chunk-B7BNNSM2.js → chunk-UZ6AUTE6.js} +4 -4
- package/dist/{chunk-4WQ3YXQL.js → chunk-VT5HQ2AD.js} +2 -2
- package/dist/{chunk-IBGX6H4J.js → chunk-VURQZBFH.js} +8 -4
- package/dist/chunk-VURQZBFH.js.map +1 -0
- package/dist/{chunk-7BZTZ2WG.js → chunk-VY2BMSHN.js} +8 -7
- package/dist/chunk-VY2BMSHN.js.map +1 -0
- package/dist/{chunk-SX3MEC3Q.js → chunk-VZIB5W5L.js} +2 -2
- package/dist/{chunk-HC5ZSCRG.js → chunk-W5TI46QN.js} +18 -14
- package/dist/chunk-W5TI46QN.js.map +1 -0
- package/dist/{chunk-X2AKLDPW.js → chunk-WE3LJPRN.js} +2 -2
- package/dist/{chunk-SE6ERQY5.js → chunk-WVZBYTIK.js} +6 -2
- package/dist/chunk-WVZBYTIK.js.map +1 -0
- package/dist/{chunk-CSSCGM27.js → chunk-X3OWMTLO.js} +1 -2
- package/dist/chunk-X3OWMTLO.js.map +1 -0
- package/dist/{chunk-CMK4DJDR.js → chunk-XLTHZI5W.js} +28 -20
- package/dist/chunk-XLTHZI5W.js.map +1 -0
- package/dist/{chunk-FZ4YTEP2.js → chunk-XR46FSOH.js} +2 -2
- package/dist/{chunk-CJHP6E34.js → chunk-YAFBUYVW.js} +9 -6
- package/dist/chunk-YAFBUYVW.js.map +1 -0
- package/dist/{chunk-6DN4ZULV.js → chunk-YOKUDQIJ.js} +1 -2
- package/dist/chunk-YOKUDQIJ.js.map +1 -0
- package/dist/{chunk-GE2EKMDT.js → chunk-YZ2DMP23.js} +4 -4
- package/dist/{chunk-GE2EKMDT.js.map → chunk-YZ2DMP23.js.map} +1 -1
- package/dist/{chunk-65CEXQ4L.js → chunk-Z6WSW6B4.js} +11 -7
- package/dist/chunk-Z6WSW6B4.js.map +1 -0
- package/dist/{chunk-XWWFBH2G.js → chunk-ZXSWXE6U.js} +8 -5
- package/dist/chunk-ZXSWXE6U.js.map +1 -0
- package/dist/data-display/CardKit.js +4 -4
- package/dist/data-display/DataViews.js +54 -54
- package/dist/data-display/FleetMap.js +2 -2
- package/dist/feedback/ConfirmAction.js +3 -3
- package/dist/feedback/NotificationStatusNotice.js +3 -3
- package/dist/form/AddressAutocomplete.js +6 -6
- package/dist/form/Autocomplete.js +3 -2
- package/dist/form/Button.js +2 -2
- package/dist/form/CategorySelect.js +10 -10
- package/dist/form/CepField.js +4 -4
- package/dist/form/Checkbox.js +1 -1
- package/dist/form/CodeEditor.js +2 -2
- package/dist/form/Command.js +4 -4
- package/dist/form/CreatableSelect.js +2 -2
- package/dist/form/DateRangePicker.js +2 -2
- package/dist/form/Form.js +1 -1
- package/dist/form/HeaderActions.js +1 -1
- package/dist/form/Input.js +3 -2
- package/dist/form/InputOTP.js +2 -2
- package/dist/form/Label.js +2 -2
- package/dist/form/Menubar.js +4 -4
- package/dist/form/PasswordStrength.js +1 -1
- package/dist/form/PhoneInput.js +1 -1
- package/dist/form/RadioGroup.js +4 -4
- package/dist/form/RichTextEditor.js +2 -2
- package/dist/form/SearchPalette.js +2 -2
- package/dist/form/Select.js +2 -1
- package/dist/form/Slider.js +3 -3
- package/dist/form/Switch.js +4 -4
- package/dist/form/Textarea.js +2 -2
- package/dist/form/Toggle.js +2 -2
- package/dist/form/ToggleGroup.js +1 -1
- package/dist/form/UploadButton.js +2 -2
- package/dist/form/total-form.js +25 -25
- package/dist/layout/Dashboard.js +3 -3
- package/dist/navigation/AppHeader.js +3 -3
- package/dist/social-login-button.js +3 -3
- package/dist/types/components/form/AddressAutocomplete/AddressFallbackField.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressInputField.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressSuggestionsPaper.d.ts.map +1 -1
- package/dist/types/components/form/AddressAutocomplete/AddressTextField.d.ts.map +1 -1
- package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts.map +1 -1
- package/dist/types/components/form/Button/Button.styles.d.ts +1 -1
- package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryPanelFoot.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryPanelHead.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryPanelList.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryPanelSurface.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryRows.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts +26 -24
- package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts.map +1 -1
- package/dist/types/components/form/CategorySelect/CategoryTrigger.d.ts.map +1 -1
- package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.helpers.d.ts +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.helpers.d.ts.map +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts +1 -1
- package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts.map +1 -1
- package/dist/types/components/form/Command/Command.d.ts.map +1 -1
- package/dist/types/components/form/Command/Command.hooks.d.ts +1 -1
- package/dist/types/components/form/Command/Command.hooks.d.ts.map +1 -1
- package/dist/types/components/form/Command/Command.parts.d.ts.map +1 -1
- package/dist/types/components/form/CreatableSelect/CreatableSelect.d.ts.map +1 -1
- package/dist/types/components/form/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/types/components/form/DateRangePicker/DateRangePickerQuickList.d.ts.map +1 -1
- package/dist/types/components/form/Form/Form.d.ts.map +1 -1
- package/dist/types/components/form/HeaderActions/HeaderActions.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.d.ts.map +1 -1
- package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
- package/dist/types/components/form/Label/Label.styles.d.ts +2 -2
- package/dist/types/components/form/Label/Label.styles.d.ts.map +1 -1
- package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts +1 -1
- package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts.map +1 -1
- package/dist/types/components/form/PasswordStrength/PasswordStrength.d.ts.map +1 -1
- package/dist/types/components/form/RadioGroup/RadioGroup.animations.d.ts +3 -2
- package/dist/types/components/form/RadioGroup/RadioGroup.animations.d.ts.map +1 -1
- package/dist/types/components/form/RadioGroup/RadioGroup.styles.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
- package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
- package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts +1 -1
- package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts.map +1 -1
- package/dist/types/components/form/Select/Select.d.ts.map +1 -1
- package/dist/types/components/form/Slider/Slider.animations.d.ts +2 -1
- package/dist/types/components/form/Slider/Slider.animations.d.ts.map +1 -1
- package/dist/types/components/form/Slider/Slider.styles.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.animations.d.ts +2 -1
- package/dist/types/components/form/Switch/Switch.animations.d.ts.map +1 -1
- package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
- package/dist/types/components/form/Textarea/Textarea.styles.d.ts +1 -1
- package/dist/types/components/form/Textarea/Textarea.styles.d.ts.map +1 -1
- package/dist/types/components/form/Toggle/Toggle.d.ts.map +1 -1
- package/dist/types/components/form/Toggle/Toggle.styles.d.ts.map +1 -1
- package/dist/types/components/form/ToggleGroup/ToggleGroup.d.ts.map +1 -1
- package/dist/types/components/form/UploadButton/UploadButton.parts.d.ts.map +1 -1
- package/dist/user-avatar.js +3 -3
- package/package.json +1 -1
- package/src/components/form/AddressAutocomplete/AddressFallbackField.tsx +5 -1
- package/src/components/form/AddressAutocomplete/AddressInputField.tsx +36 -29
- package/src/components/form/AddressAutocomplete/AddressSuggestionsPaper.tsx +4 -2
- package/src/components/form/AddressAutocomplete/AddressTextField.tsx +4 -3
- package/src/components/form/Autocomplete/Autocomplete.parts.tsx +10 -7
- package/src/components/form/Button/Button.styles.ts +28 -25
- package/src/components/form/Button/Button.tsx +2 -2
- package/src/components/form/CategorySelect/CategoryPanelFoot.tsx +5 -4
- package/src/components/form/CategorySelect/CategoryPanelHead.tsx +13 -12
- package/src/components/form/CategorySelect/CategoryPanelList.tsx +3 -2
- package/src/components/form/CategorySelect/CategoryPanelSurface.tsx +2 -1
- package/src/components/form/CategorySelect/CategoryRows.tsx +4 -3
- package/src/components/form/CategorySelect/CategorySelect.styles.ts +98 -96
- package/src/components/form/CategorySelect/CategoryTrigger.tsx +5 -2
- package/src/components/form/Checkbox/Checkbox.tsx +21 -15
- package/src/components/form/CodeEditor/CodeEditor.helpers.ts +0 -2
- package/src/components/form/CodeEditor/CodeEditor.md +1 -1
- package/src/components/form/CodeEditor/CodeEditor.tsx +5 -5
- package/src/components/form/CodeEditor/CodeEditor.types.ts +1 -1
- package/src/components/form/Command/Command.hooks.ts +0 -2
- package/src/components/form/Command/Command.parts.tsx +7 -2
- package/src/components/form/Command/Command.styles.ts +11 -11
- package/src/components/form/Command/Command.tsx +14 -5
- package/src/components/form/CreatableSelect/CreatableSelect.tsx +12 -8
- package/src/components/form/DateRangePicker/DateRangePicker.tsx +10 -8
- package/src/components/form/DateRangePicker/DateRangePickerQuickList.tsx +8 -4
- package/src/components/form/Form/Form.tsx +6 -10
- package/src/components/form/HeaderActions/HeaderActions.tsx +2 -1
- package/src/components/form/Input/Input.styles.ts +17 -16
- package/src/components/form/Input/Input.tsx +4 -2
- package/src/components/form/InputOTP/InputOTP.styles.ts +3 -3
- package/src/components/form/Label/Label.styles.ts +8 -8
- package/src/components/form/Menubar/Menubar.item.tsx +2 -2
- package/src/components/form/Menubar/Menubar.styles.ts +13 -13
- package/src/components/form/Menubar/Menubar.toolbar.tsx +4 -2
- package/src/components/form/PasswordStrength/PasswordStrength.tsx +19 -18
- package/src/components/form/PhoneInput/PhoneInput.tsx +9 -9
- package/src/components/form/RadioGroup/RadioGroup.animations.ts +9 -6
- package/src/components/form/RadioGroup/RadioGroup.styles.ts +45 -43
- package/src/components/form/RichTextEditor/RichTextEditor.tsx +7 -6
- package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +3 -1
- package/src/components/form/SearchPalette/SearchPalette.parts.tsx +8 -6
- package/src/components/form/Select/Select.tsx +14 -12
- package/src/components/form/Slider/Slider.animations.ts +7 -4
- package/src/components/form/Slider/Slider.styles.ts +43 -42
- package/src/components/form/Switch/Switch.animations.ts +7 -4
- package/src/components/form/Switch/Switch.parts.tsx +2 -2
- package/src/components/form/Switch/Switch.styles.ts +26 -22
- package/src/components/form/Textarea/Textarea.styles.ts +13 -12
- package/src/components/form/Textarea/Textarea.tsx +28 -22
- package/src/components/form/Textarea/TextareaRichEditor.tsx +10 -10
- package/src/components/form/Toggle/Toggle.styles.ts +29 -26
- package/src/components/form/Toggle/Toggle.tsx +5 -2
- package/src/components/form/ToggleGroup/ToggleGroup.tsx +18 -15
- package/src/components/form/UploadButton/UploadButton.parts.tsx +6 -5
- package/dist/chunk-2HVNPWFV.js.map +0 -1
- package/dist/chunk-2PBT2HQH.js.map +0 -1
- package/dist/chunk-35ETD7ML.js.map +0 -1
- package/dist/chunk-3A22SBIU.js.map +0 -1
- package/dist/chunk-4GYEIWQP.js.map +0 -1
- package/dist/chunk-5IXHJXJX.js.map +0 -1
- package/dist/chunk-5SJWDABY.js.map +0 -1
- package/dist/chunk-65CEXQ4L.js.map +0 -1
- package/dist/chunk-6DN4ZULV.js.map +0 -1
- package/dist/chunk-6M33XQLZ.js +0 -70
- package/dist/chunk-6M33XQLZ.js.map +0 -1
- package/dist/chunk-6SKXV236.js.map +0 -1
- package/dist/chunk-7BZTZ2WG.js.map +0 -1
- package/dist/chunk-7DN4UXJ3.js.map +0 -1
- package/dist/chunk-7EQCZO56.js.map +0 -1
- package/dist/chunk-AMTFP7QA.js.map +0 -1
- package/dist/chunk-BXAL7OIS.js.map +0 -1
- package/dist/chunk-CJHP6E34.js.map +0 -1
- package/dist/chunk-CMK4DJDR.js.map +0 -1
- package/dist/chunk-CSSCGM27.js.map +0 -1
- package/dist/chunk-CWDV64TD.js.map +0 -1
- package/dist/chunk-D2HKCPEH.js.map +0 -1
- package/dist/chunk-E6RYO4QZ.js.map +0 -1
- package/dist/chunk-EFV5QJNM.js.map +0 -1
- package/dist/chunk-HAQMKV5P.js.map +0 -1
- package/dist/chunk-HBICO6AX.js.map +0 -1
- package/dist/chunk-HC5ZSCRG.js.map +0 -1
- package/dist/chunk-IBGX6H4J.js.map +0 -1
- package/dist/chunk-J4NXTSJY.js.map +0 -1
- package/dist/chunk-JCBIPBGZ.js.map +0 -1
- package/dist/chunk-K7WSPGI7.js.map +0 -1
- package/dist/chunk-KH25WUSX.js.map +0 -1
- package/dist/chunk-LMXWI3DD.js.map +0 -1
- package/dist/chunk-LWRI6HGT.js.map +0 -1
- package/dist/chunk-NSJVQ5YJ.js.map +0 -1
- package/dist/chunk-OWA7GPWR.js.map +0 -1
- package/dist/chunk-PYIASGI7.js.map +0 -1
- package/dist/chunk-QY4XNTNG.js.map +0 -1
- package/dist/chunk-RQ5HZDBV.js.map +0 -1
- package/dist/chunk-SE6ERQY5.js.map +0 -1
- package/dist/chunk-ST4YYVUK.js.map +0 -1
- package/dist/chunk-TOXTJ7MU.js.map +0 -1
- package/dist/chunk-TQ2557I5.js.map +0 -1
- package/dist/chunk-TTAP5XFX.js.map +0 -1
- package/dist/chunk-U4H6MGVE.js.map +0 -1
- package/dist/chunk-VECWMANF.js.map +0 -1
- package/dist/chunk-WNUZK7NS.js.map +0 -1
- package/dist/chunk-WVC3BG6J.js.map +0 -1
- package/dist/chunk-XLYFOBBT.js.map +0 -1
- package/dist/chunk-XWWFBH2G.js.map +0 -1
- package/dist/chunk-YESTO24O.js.map +0 -1
- package/dist/chunk-YH37X6JT.js.map +0 -1
- /package/dist/{chunk-343OLRFT.js.map → chunk-2BIVCYTO.js.map} +0 -0
- /package/dist/{chunk-PNLM35GU.js.map → chunk-2JNHWKQK.js.map} +0 -0
- /package/dist/{chunk-IWOVENC3.js.map → chunk-2XX45PC5.js.map} +0 -0
- /package/dist/{chunk-RZ2C5CAW.js.map → chunk-2ZIHZLF5.js.map} +0 -0
- /package/dist/{chunk-ZW5K4XCQ.js.map → chunk-34BZXJGT.js.map} +0 -0
- /package/dist/{chunk-CHFHILTM.js.map → chunk-35S6QI5G.js.map} +0 -0
- /package/dist/{chunk-KCAW6HRO.js.map → chunk-3AOQBR7N.js.map} +0 -0
- /package/dist/{chunk-GVLZZCSX.js.map → chunk-4B5XUQQS.js.map} +0 -0
- /package/dist/{chunk-ADHMNIWS.js.map → chunk-4CXEWFKO.js.map} +0 -0
- /package/dist/{chunk-JJSZP3TW.js.map → chunk-57JLS55D.js.map} +0 -0
- /package/dist/{chunk-ZZM3DOEK.js.map → chunk-5HDYTTE7.js.map} +0 -0
- /package/dist/{chunk-GEXM6DNR.js.map → chunk-5KGABAQB.js.map} +0 -0
- /package/dist/{chunk-D5X4FRYX.js.map → chunk-6JNQLW5L.js.map} +0 -0
- /package/dist/{chunk-KJK2Q35C.js.map → chunk-75LOTMSN.js.map} +0 -0
- /package/dist/{chunk-A6AKFPIQ.js.map → chunk-7EH4D6FU.js.map} +0 -0
- /package/dist/{chunk-7ZG7T2YN.js.map → chunk-7GHYCQCJ.js.map} +0 -0
- /package/dist/{chunk-QIKPGMMO.js.map → chunk-AER4245J.js.map} +0 -0
- /package/dist/{chunk-4CTLEUK3.js.map → chunk-AYLEZM6T.js.map} +0 -0
- /package/dist/{chunk-JFBEZXNL.js.map → chunk-BAQBUKDU.js.map} +0 -0
- /package/dist/{chunk-RKI3MRKX.js.map → chunk-BW62QQAG.js.map} +0 -0
- /package/dist/{chunk-UL7L6MFT.js.map → chunk-C55AWF3U.js.map} +0 -0
- /package/dist/{chunk-GGWICBJD.js.map → chunk-CPAJYJUD.js.map} +0 -0
- /package/dist/{chunk-5TJRJSJY.js.map → chunk-CQLPDY2J.js.map} +0 -0
- /package/dist/{chunk-5UTAEHSB.js.map → chunk-CQPFSEJB.js.map} +0 -0
- /package/dist/{chunk-SN2YMCTL.js.map → chunk-CS3KOKL3.js.map} +0 -0
- /package/dist/{chunk-FXNYV5Z6.js.map → chunk-F6D6HXZU.js.map} +0 -0
- /package/dist/{chunk-TQBRWZA4.js.map → chunk-FFOQZRFC.js.map} +0 -0
- /package/dist/{chunk-GXCOXJS3.js.map → chunk-FNG33MKA.js.map} +0 -0
- /package/dist/{chunk-GW64UQXI.js.map → chunk-GHXFCMFP.js.map} +0 -0
- /package/dist/{chunk-L3B36HA5.js.map → chunk-GRDPGHQJ.js.map} +0 -0
- /package/dist/{chunk-6SS5C74Q.js.map → chunk-GS3RP2QE.js.map} +0 -0
- /package/dist/{chunk-B2VXP2B2.js.map → chunk-GZT7MLLO.js.map} +0 -0
- /package/dist/{chunk-AK2HOD6B.js.map → chunk-H5BEWPEY.js.map} +0 -0
- /package/dist/{chunk-DY4BP5WA.js.map → chunk-HNPWZ3W2.js.map} +0 -0
- /package/dist/{chunk-SYVNWXVW.js.map → chunk-HU7TX7RB.js.map} +0 -0
- /package/dist/{chunk-WPA26LXA.js.map → chunk-IKLOIONQ.js.map} +0 -0
- /package/dist/{chunk-DMWSXWCZ.js.map → chunk-JL75FJRG.js.map} +0 -0
- /package/dist/{chunk-ZAFFKQQU.js.map → chunk-JLQGRZMN.js.map} +0 -0
- /package/dist/{chunk-ZMC3N23A.js.map → chunk-JSD5TFDK.js.map} +0 -0
- /package/dist/{chunk-NE6XUN5Z.js.map → chunk-JU4MSYYH.js.map} +0 -0
- /package/dist/{chunk-YBTC4XNO.js.map → chunk-LT4NEKXB.js.map} +0 -0
- /package/dist/{chunk-6KL2CJBO.js.map → chunk-MNHIK2OR.js.map} +0 -0
- /package/dist/{chunk-JFEEV3XI.js.map → chunk-NB3FGWU4.js.map} +0 -0
- /package/dist/{chunk-2UCLUDEB.js.map → chunk-NCPWLHZT.js.map} +0 -0
- /package/dist/{chunk-DZNMS2SH.js.map → chunk-NDNYD4FG.js.map} +0 -0
- /package/dist/{chunk-UFLTL2RJ.js.map → chunk-PH36XEB3.js.map} +0 -0
- /package/dist/{chunk-4LQZH4PU.js.map → chunk-PMOEG36E.js.map} +0 -0
- /package/dist/{chunk-EXZSHZRS.js.map → chunk-PWZHCBG3.js.map} +0 -0
- /package/dist/{chunk-EFVOT3G5.js.map → chunk-PZ7PU4AP.js.map} +0 -0
- /package/dist/{chunk-I62ALI7F.js.map → chunk-Q73PTVNO.js.map} +0 -0
- /package/dist/{chunk-V74PXUQN.js.map → chunk-QEG3P5D4.js.map} +0 -0
- /package/dist/{chunk-7LIXQZBG.js.map → chunk-QI5CRSOW.js.map} +0 -0
- /package/dist/{chunk-V3LOHY4N.js.map → chunk-QKPD322X.js.map} +0 -0
- /package/dist/{chunk-PWF32ILG.js.map → chunk-SJO3K7SB.js.map} +0 -0
- /package/dist/{chunk-TU3EGIKB.js.map → chunk-SSS64KYB.js.map} +0 -0
- /package/dist/{chunk-SQYC57ZN.js.map → chunk-SYN46YL6.js.map} +0 -0
- /package/dist/{chunk-DHBYO7AO.js.map → chunk-TCV3N44E.js.map} +0 -0
- /package/dist/{chunk-DVGBFT6O.js.map → chunk-UAVSBSV5.js.map} +0 -0
- /package/dist/{chunk-B7BNNSM2.js.map → chunk-UZ6AUTE6.js.map} +0 -0
- /package/dist/{chunk-4WQ3YXQL.js.map → chunk-VT5HQ2AD.js.map} +0 -0
- /package/dist/{chunk-SX3MEC3Q.js.map → chunk-VZIB5W5L.js.map} +0 -0
- /package/dist/{chunk-X2AKLDPW.js.map → chunk-WE3LJPRN.js.map} +0 -0
- /package/dist/{chunk-FZ4YTEP2.js.map → chunk-XR46FSOH.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressSuggestionsPaper.tsx"],"sourcesContent":["import type { PaperProps } from '@mui/material/Paper/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\n// The dropdown surface, frosted to match the glass field.\nexport const AddressSuggestionsPaper: FC<PaperProps> = (props) => {\n const theme = useTheme();\n\n return (\n <Paper\n {...props}\n elevation={8}\n data-testid=\"address-suggestions-dropdown\"\n sx={{\n mt: 1,\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.98)} 0%, ${alpha(theme.palette.background.paper, 0.95)} 100%)`,\n backdropFilter: 'blur(20px)',\n WebkitBackdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n }}\n />\n );\n};\n"],"mappings":";AACA,OAAO,WAAW;AAClB,SAAS,OAAO,gBAAgB;AAS5B;AAJG,IAAM,0BAA0C,CAAC,UAAU;AAChE,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,WAAW;AAAA,MACX,eAAY;AAAA,MACZ,IAAI;AAAA,QACF,IAAI;AAAA,QACJ,YAAY,2BAA2B,MAAM,MAAM,QAAQ,WAAW,OAAO,IAAI,CAAC,QAAQ,MAAM,MAAM,QAAQ,WAAW,OAAO,IAAI,CAAC;AAAA,QACrI,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,QAAQ,aAAa,MAAM,MAAM,QAAQ,SAAS,IAAI,CAAC;AAAA,MACzD;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/CategorySelect/CategoryPanelList.tsx"],"sourcesContent":["'use client';\n\nimport type { CategorySelectCopy } from \"../../../copy\";\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport Skeleton from '@mui/material/Skeleton/index.js';\n\nimport { categoryCheckState, isLeafCategory, leavesOf } from './category-tree';\nimport { CategorySectionHeading, CategoryTreeRow } from './CategoryRows';\nimport { emptySx, listSx, skeletonSx } from './CategorySelect.styles';\nimport type { CategoryGroup } from './CategorySelect.types';\n\n/** The design sets these labels in sentence case, not MUI's default caps. */\nconst SENTENCE_CASE = { textTransform: 'none' } as const;\n\n/** How many skeleton rows stand in for the catalogue while it loads. */\nconst SKELETON_ROWS = 6;\n\ninterface PanelListProps {\n /** The words this panel renders. REQUIRED — no default copy. */\n copy: CategorySelectCopy;\n groups: CategoryGroup[];\n query: string;\n draft: ReadonlySet<string>;\n rowIds: string[];\n activeIndex: number;\n sheet: boolean;\n single: boolean;\n loading: boolean;\n showCounts: boolean;\n allowParentSelection: boolean;\n /**\n * True when the tree has a level BELOW the subcategories. It turns the\n * section-heading treatment off — see {@link CategoryNodeRows}. Derived from\n * the options the panel state already holds, never a caller's decision.\n */\n deepTree: boolean;\n isExpanded: (categoryId: string) => boolean;\n onToggleExpanded: (categoryId: string) => void;\n onActivateCategory: (group: CategoryGroup) => void;\n onActivateSubcategory: (id: string) => void;\n onClearQuery: () => void;\n onCreateCategory?: (name?: string) => void;\n listRef: React.RefObject<HTMLDivElement | null>;\n dataTestId: string;\n}\n\nfunction LoadingRows(): React.JSX.Element {\n return (\n <>\n {Array.from({ length: SKELETON_ROWS }, (_unused, index) => (\n <Skeleton key={index} variant=\"rounded\" sx={skeletonSx} />\n ))}\n </>\n );\n}\n\n/** No categories exist at all — an onboarding moment, not an error. */\nfunction EmptyCatalogue({\n onCreateCategory,\n dataTestId,\n copy,\n}: {\n onCreateCategory?: (name?: string) => void;\n dataTestId: string;\n copy: CategorySelectCopy;\n}): React.JSX.Element {\n return (\n <Box sx={emptySx} data-testid={`${dataTestId}-empty-catalogue`}>\n <strong>{copy.emptyTitle}</strong>\n <p>{copy.purpose}</p>\n {onCreateCategory && (\n <Button variant=\"contained\" size=\"small\" sx={SENTENCE_CASE} onClick={() => onCreateCategory()}>\n {copy.createCategory}\n </Button>\n )}\n </Box>\n );\n}\n\n/** The search found nothing — offer creation, or the way back. */\nfunction NoResults({\n query,\n onClearQuery,\n onCreateCategory,\n dataTestId,\n copy,\n}: {\n query: string;\n onClearQuery: () => void;\n onCreateCategory?: (name?: string) => void;\n dataTestId: string;\n copy: CategorySelectCopy;\n}): React.JSX.Element {\n return (\n <Box sx={emptySx} data-testid={`${dataTestId}-no-results`}>\n <strong>{copy.noResults.title(query)}</strong>\n <p>{copy.noResults.hint}</p>\n <Box sx={{ display: 'flex', gap: '6px', justifyContent: 'center' }}>\n <Button variant=\"outlined\" size=\"small\" sx={SENTENCE_CASE} onClick={onClearQuery}>\n {copy.noResults.clearSearch}\n </Button>\n {onCreateCategory && (\n <Button\n variant=\"contained\"\n size=\"small\"\n sx={SENTENCE_CASE}\n data-testid={`${dataTestId}-create`}\n onClick={() => onCreateCategory(query.trim())}\n >\n {copy.noResults.create(query.trim())}\n </Button>\n )}\n </Box>\n </Box>\n );\n}\n\n/**\n * One node: its heading or its row, then whichever children are visible.\n *\n * The SECTION-HEADING treatment — an inert uppercase label with its children\n * always on show — belongs to a two-level tree and only there. It is what makes\n * the \"mover para…\" picker read as \"category, then the subcategory you pick\",\n * and it works because a two-level category has nothing to fold TO: everything\n * under it is already the thing you came for. A third level breaks both halves\n * at once — the heading has no chevron, so the panel opens onto every item in\n * the catalogue, which is the flat list this component exists to replace. So a\n * deep tree drops the treatment and every frame becomes a foldable row instead.\n */\nfunction CategoryNodeRows({\n node,\n depth,\n props,\n}: {\n node: CategoryGroup;\n depth: number;\n props: PanelListProps;\n}): React.JSX.Element {\n const { draft, query, single, allowParentSelection, rowIds, activeIndex, sheet } = props;\n const categoryId = node.category.id;\n const leaf = isLeafCategory(node);\n const expanded = props.isExpanded(categoryId);\n // A childless category is the leaf, so it is selectable whatever the mode says\n // — the heading reading has no subcategory to point at, and would leave the\n // row inert.\n const selectable = allowParentSelection || leaf;\n const asHeading = single && !selectable && !props.deepTree;\n const selectedCount = leaf ? 0 : leavesOf(node).filter((id) => draft.has(id)).length;\n\n return (\n <>\n {asHeading ? (\n <CategorySectionHeading option={node.category} query={query} />\n ) : (\n <CategoryTreeRow\n option={node.category}\n query={query}\n depth={depth}\n branch={!leaf}\n expanded={expanded}\n active={rowIds[activeIndex] === categoryId}\n sheet={sheet}\n {...(selectable ? { checkState: categoryCheckState(node, draft) } : {})}\n single={single}\n selectedCount={selectedCount}\n showCounts={props.showCounts}\n onToggleExpanded={() => props.onToggleExpanded(categoryId)}\n onActivate={() =>\n leaf ? props.onActivateSubcategory(categoryId) : props.onActivateCategory(node)\n }\n dataTestId={props.dataTestId}\n copy={props.copy}\n />\n )}\n {(expanded || asHeading) &&\n node.subcategories.map((sub) => (\n <CategoryNodeRows key={sub.category.id} node={sub} depth={depth + 1} props={props} />\n ))}\n </>\n );\n}\n\n/** The scrolling body of the panel, including its three non-list states. */\nexport function CategoryPanelList(props: PanelListProps): React.JSX.Element {\n const { groups, loading, query, listRef, sheet, dataTestId, copy } = props;\n\n const body = (): React.JSX.Element => {\n if (loading) return <LoadingRows />;\n if (groups.length === 0 && query.trim().length > 0) {\n return (\n <NoResults copy={copy}\n query={query}\n onClearQuery={props.onClearQuery}\n onCreateCategory={props.onCreateCategory}\n dataTestId={dataTestId}\n />\n );\n }\n if (groups.length === 0) {\n return (\n <EmptyCatalogue copy={copy}\n onCreateCategory={props.onCreateCategory}\n dataTestId={dataTestId}\n />\n );\n }\n return (\n <>\n {groups.map((group) => (\n <CategoryNodeRows key={group.category.id} node={group} depth={0} props={props} />\n ))}\n </>\n );\n };\n\n return (\n <Box\n ref={listRef}\n role=\"listbox\"\n aria-multiselectable={props.single ? undefined : true}\n tabIndex={-1}\n data-testid={`${dataTestId}-list`}\n sx={listSx(sheet)}\n >\n {body()}\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/Textarea/Textarea.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport FormHelperText from '@mui/material/FormHelperText/index.js';\nimport InputLabel from '@mui/material/InputLabel/index.js';\nimport TextareaAutosize from '@mui/material/TextareaAutosize/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React, { lazy, Suspense, useState } from 'react';\n\nimport {\n getColorFromTheme,\n textareaEmphasisStyles } from './Textarea.styles';\n\n/**\n * The rich editor is LOADED ON DEMAND, not imported (12-51 follow-up).\n *\n * It renders only for `variant === 'rich'`, but a static import made every\n * consumer of a plain `<Textarea>` pay for it — 387 lines of toolbar plus the\n * MUI `Tooltip`, `IconButton` and `Divider` its formatting buttons need. That\n * is not theoretical: an adopting storefront imports this entry for a one-line\n * order note, and `Tooltip` (8.7 KiB) reached its EAGER chunk through here\n * while nothing on that critical path renders a tooltip at all.\n *\n * `variant` is a prop, so the branch cannot be decided at build time and no\n * amount of tree-shaking removes it. A lazy boundary is what expresses \"only\n * the rich variant pays\", and it costs the rich variant one microtask it can\n * afford — it is a text editor a user has already chosen to open, never a\n * first-paint element.\n */\nconst TextareaRichEditor = lazy(async () => ({\n default: (await import('./TextareaRichEditor')).TextareaRichEditor }));\nimport type { TextareaProps } from './Textarea.types';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { fieldRadius } from '../../../tokens/field-radius';\nimport { FIELD_BORDER_WIDTH, fieldBorder } from '../../../tokens/field-height';\nimport { rem } from '../../../tokens/relative';\n\n// Interface for styled component props\ninterface StyledTextareaProps {\n customVariant?: string;\n customColor?: string;\n customSize?: string;\n glow?: boolean;\n glass?: boolean;\n gradient?: boolean;\n error?: boolean;\n theme?: Theme;\n}\n\n// Glow animation for enhanced visual effects\nconst StyledTextarea = styled(TextareaAutosize, {\n shouldForwardProp: (prop) =>\n !['customVariant', 'customColor', 'customSize', 'glow', 'glass', 'gradient', 'error'].includes(\n prop as string,\n ) })<StyledTextareaProps>(({\n theme,\n customVariant,\n customColor = 'primary',\n customSize = 'md',\n glow,\n glass,\n gradient,\n error }) => {\n if (!theme) return {};\n const colorPalette = getColorFromTheme(theme, customColor);\n const errorColor = theme.palette.error;\n\n const sizeMap = {\n xs: { padding: '6px 8px', fontSize: rem(theme, 12), minHeight: '60px' },\n sm: { padding: '8px 10px', fontSize: rem(theme, 14), minHeight: '80px' },\n md: { padding: '10px 12px', fontSize: rem(theme, 16), minHeight: '100px' },\n lg: { padding: '12px 14px', fontSize: rem(theme, 18), minHeight: '120px' },\n xl: { padding: '14px 16px', fontSize: rem(theme, 20), minHeight: '140px' } };\n\n const baseStyles = {\n width: '100%',\n fontFamily: theme.typography.fontFamily,\n borderRadius: fieldRadius(theme),\n border: error ? `${FIELD_BORDER_WIDTH}px solid ${errorColor.main}` : fieldBorder(theme),\n backgroundColor: theme.palette.background.paper,\n color: theme.palette.text.primary,\n transition: 'all 0.3s ease',\n resize: customVariant === 'resizable' ? 'vertical' : 'none',\n outline: 'none',\n ...sizeMap[customSize as keyof typeof sizeMap],\n\n '&::placeholder': {\n color: theme.palette.text.secondary,\n opacity: 0.7 },\n\n '&:hover': {\n borderColor: error ? errorColor.dark : colorPalette.main,\n backgroundColor: alpha(theme.palette.background.paper, 0.8) },\n\n // Focus is two pixels, like every other field's: the second is an inset\n // shadow, so the 1px resting border can thicken without the box moving.\n '&:focus': {\n borderColor: error ? errorColor.main : colorPalette.main,\n backgroundColor: theme.palette.background.paper,\n boxShadow: `inset 0 0 0 1px ${error ? errorColor.main : colorPalette.main}, 0 0 0 3px ${alpha(error ? errorColor.main : colorPalette.main, 0.1)}` } };\n\n // Glass morphism effect\n return {\n ...baseStyles,\n ...textareaEmphasisStyles({ theme, colorPalette, glass, gradient, glow }) };\n});\n\nconst StyledLabel = styled(InputLabel, {\n shouldForwardProp: (prop) => !['glass', 'error'].includes(prop as string) })<{ glass?: boolean; error?: boolean }>(({ theme, glass, error }) => ({\n marginBottom: theme.spacing(1),\n fontWeight: 500,\n color: error ? theme.palette.error.main : theme.palette.text.primary,\n ...(glass && {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(10px)',\n padding: '4px 8px',\n borderRadius: '4px',\n border: `1px solid ${fieldEdge(theme)}`,\n display: 'inline-block' }) }));\n\n// IconWrapper - replaced with inline Box component for better TypeScript compatibility\n// const IconWrapper = styled(Box)<{ position: 'start' | 'end' }>(({ theme, position }) => {\n// const positionStyles = position === 'start' ? { left: '12px' } : { right: '12px' };\n// return {\n// position: 'absolute' as const,\n// top: '12px',\n// ...positionStyles,\n// color: theme.palette.text.secondary,\n// pointerEvents: 'none' as const,\n// zIndex: 1,\n// };\n// });\n\n// Rich text toolbar styling\n\nconst ICON_GUTTER = '40px';\n\nconst TEXTAREA_DEFAULTS = {\n variant: 'default',\n color: 'primary',\n size: 'md',\n error: false,\n glassLabel: false,\n glow: false,\n glass: false,\n gradient: false,\n iconPosition: 'start',\n minRows: 3 } satisfies Partial<TextareaProps>;\n\n// Strips explicitly-undefined props before the merge, so `prop={undefined}`\n// still falls back to the default as a destructuring default would.\nconst definedProps = (props: TextareaProps): Partial<TextareaProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<TextareaProps>;\n\n// Label above, helper text below — identical for the plain and rich variants,\n// which previously duplicated both.\nconst TextareaShell: React.FC<{\n testId?: string;\n label?: React.ReactNode;\n glassLabel: boolean;\n error: boolean;\n helperText?: React.ReactNode;\n children: React.ReactNode;\n}> = ({ testId, label, glassLabel, error, helperText, children }) => (\n <Box\n sx={{ position: 'relative', width: '100%' }}\n data-testid={testId ? `${testId}-wrapper` : undefined}\n >\n {label && (\n <StyledLabel glass={glassLabel} error={error}>\n {label}\n </StyledLabel>\n )}\n\n {children}\n\n {helperText && (\n <FormHelperText error={error} sx={{ mt: 1 }}>\n {helperText}\n </FormHelperText>\n )}\n </Box>\n);\n\nconst TextareaIcon: React.FC<{\n icon?: React.ReactNode;\n iconPosition: 'start' | 'end';\n}> = ({ icon, iconPosition }) => (\n <Box\n sx={{\n position: 'absolute',\n top: '12px',\n ...(iconPosition === 'start' ? { left: '12px' } : { right: '12px' }),\n color: 'text.secondary',\n pointerEvents: 'none',\n zIndex: 1 }}\n >\n {icon}\n </Box>\n);\n\n/**\n * The rich variant, kept out of the main component's body.\n *\n * Two reasons rather than one: the `Suspense` boundary and its props belong\n * together with the lazy import above, and the component that renders every\n * OTHER variant stays inside the size the complexity gate allows without\n * anything being suppressed.\n */\nfunction RichVariant({\n shell,\n editor }: {\n shell: Omit<React.ComponentProps<typeof TextareaShell>, 'children'>;\n editor: React.ComponentProps<typeof TextareaRichEditor>;\n}): React.JSX.Element {\n return (\n <TextareaShell {...shell}>\n {/*\n `null` rather than a spinner: the editor resolves from the same document\n the caller is already rendering, so a fallback would flash for a frame\n and read as a glitch rather than as loading.\n */}\n <Suspense fallback={null}>\n <TextareaRichEditor {...editor} />\n </Suspense>\n </TextareaShell>\n );\n}\n\nexport const Textarea: React.FC<TextareaProps> = (textareaProps) => {\n const {\n variant,\n color,\n size,\n error,\n helperText,\n label,\n glassLabel,\n glow,\n glass,\n gradient,\n icon,\n iconPosition,\n minRows,\n maxRows,\n style,\n 'data-testid': dataTestId,\n dataTestId: dataTestIdCamelCase,\n ...props\n } = { ...TEXTAREA_DEFAULTS, ...definedProps(textareaProps) };\n\n // Read off the props rather than the merged object: the spread widens every\n // key to optional, which would lose what the variant union already proved.\n const { richEditorCopy } = textareaProps;\n\n const [richTextValue, setRichTextValue] = useState('');\n const hasIcon = Boolean(icon);\n const testId = dataTestId || dataTestIdCamelCase;\n\n const textareaStyle = {\n ...style,\n // Same gap either side; only which side it applies to changes. The previous\n // version had `iconPosition === 'start' ? '40px' : '40px'`, a ternary whose\n // two branches were identical.\n ...(hasIcon && {\n [iconPosition === 'start' ? 'paddingLeft' : 'paddingRight']: ICON_GUTTER }) };\n\n // If rich text variant, use the rich text editor\n if (variant === 'rich' && richEditorCopy) {\n return (\n <RichVariant\n shell={{ testId, label, glassLabel, error, helperText }}\n editor={{\n copy: richEditorCopy,\n value: richTextValue,\n onChange: setRichTextValue,\n placeholder: props.placeholder,\n error,\n glass,\n color,\n characterLimit: props.maxLength }}\n />\n );\n }\n\n return (\n <TextareaShell testId={testId} label={label} glassLabel={glassLabel} error={error} helperText={helperText}>\n <Box sx={{ position: 'relative' }}>\n {hasIcon && <TextareaIcon icon={icon} iconPosition={iconPosition} />}\n\n <StyledTextarea\n customVariant={variant}\n customColor={color}\n customSize={size}\n glow={glow}\n glass={glass}\n gradient={gradient}\n error={error}\n minRows={variant === 'autosize' ? minRows : undefined}\n maxRows={variant === 'autosize' ? maxRows : undefined}\n style={textareaStyle}\n aria-label={label || props['aria-label']}\n data-testid={testId}\n {...props}\n />\n </Box>\n </TextareaShell>\n );\n};\n\nTextarea.displayName = 'Textarea';\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/Menubar/Menubar.toolbar.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport Toolbar from '@mui/material/Toolbar/index.js';\nimport type { CSSObject } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { MenubarItemView } from './Menubar.item';\nimport { MenubarSeparator } from './Menubar.separator';\nimport type { MenubarItem, MenubarProps } from './Menubar.types';\n\nexport interface MenubarToolbarProps {\n ariaLabel: string;\n barSx: CSSObject;\n items: MenubarItem[];\n size: NonNullable<MenubarProps['size']>;\n orientation: NonNullable<MenubarProps['orientation']>;\n disabled: boolean;\n loading: boolean;\n logo?: React.ReactNode;\n endContent?: React.ReactNode;\n fullWidth: boolean;\n activeMenu: string | null;\n menuRefs: React.MutableRefObject<{ [key: string]: HTMLElement | null }>;\n onOpen: (itemId: string, anchorEl: HTMLElement) => void;\n onActivate: (item: MenubarItem) => void;\n onClose: () => void;\n onFocus?: React.FocusEventHandler;\n onBlur?: React.FocusEventHandler;\n}\n\n/**\n * The bar's contents: an optional logo, the entries themselves, and whatever the\n * caller hangs off the end. Shared by both orientations — only the element\n * wrapping it differs.\n */\nexport const MenubarToolbar: React.FC<MenubarToolbarProps> = ({\n ariaLabel,\n barSx,\n items,\n size,\n orientation,\n disabled,\n loading,\n logo,\n endContent,\n fullWidth,\n activeMenu,\n menuRefs,\n onOpen,\n onActivate,\n onClose,\n onFocus,\n onBlur,\n}) => {\n const isVertical = orientation === 'vertical';\n\n return (\n <Toolbar\n role=\"toolbar\"\n aria-label={ariaLabel}\n sx={{\n ...barSx,\n width: fullWidth ? '100%' : 'auto',\n flexDirection: isVertical ? 'column' : 'row',\n alignItems: isVertical ? 'flex-start' : 'center',\n gap: 1,\n }}\n >\n {logo && <Box sx={{ mr: 2, display: 'flex', alignItems: 'center' }}>{logo}</Box>}\n\n {loading ? (\n <CircularProgress size={20} color=\"inherit\" />\n ) : (\n <Box\n sx={{\n display: 'flex',\n flexDirection: isVertical ? 'column' : 'row',\n gap: isVertical ? 0.5 : 1,\n flex: 1,\n }}\n >\n {items.map((item) =>\n item.divider ? (\n <MenubarSeparator key={item.id} orientation={orientation} />\n ) : (\n <MenubarItemView\n key={item.id}\n item={item}\n size={size}\n disabled={disabled}\n isOpen={activeMenu === item.id}\n anchorEl={menuRefs.current[item.id] ?? null}\n onOpen={onOpen}\n onActivate={onActivate}\n onClose={onClose}\n onFocus={onFocus}\n onBlur={onBlur}\n />\n ),\n )}\n </Box>\n )}\n\n {endContent && <Box sx={{ ml: 'auto' }}>{endContent}</Box>}\n </Toolbar>\n );\n};\n"],"mappings":";;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,aAAa;AAuDhB,SAWW,KAXX;AAtBG,IAAM,iBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,aAAa,gBAAgB;AAEnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAY;AAAA,MACZ,IAAI;AAAA,QACF,GAAG;AAAA,QACH,OAAO,YAAY,SAAS;AAAA,QAC5B,eAAe,aAAa,WAAW;AAAA,QACvC,YAAY,aAAa,eAAe;AAAA,QACxC,KAAK;AAAA,MACP;AAAA,MAEC;AAAA,gBAAQ,oBAAC,OAAI,IAAI,EAAE,IAAI,GAAG,SAAS,QAAQ,YAAY,SAAS,GAAI,gBAAK;AAAA,QAEzE,UACC,oBAAC,oBAAiB,MAAM,IAAI,OAAM,WAAU,IAE5C;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,cACF,SAAS;AAAA,cACT,eAAe,aAAa,WAAW;AAAA,cACvC,KAAK,aAAa,MAAM;AAAA,cACxB,MAAM;AAAA,YACR;AAAA,YAEC,gBAAM;AAAA,cAAI,CAAC,SACV,KAAK,UACH,oBAAC,oBAA+B,eAAT,KAAK,EAA8B,IAE1D;AAAA,gBAAC;AAAA;AAAA,kBAEC;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA,QAAQ,eAAe,KAAK;AAAA,kBAC5B,UAAU,SAAS,QAAQ,KAAK,EAAE,KAAK;AAAA,kBACvC;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA,kBACA;AAAA;AAAA,gBAVK,KAAK;AAAA,cAWZ;AAAA,YAEJ;AAAA;AAAA,QACF;AAAA,QAGD,cAAc,oBAAC,OAAI,IAAI,EAAE,IAAI,OAAO,GAAI,sBAAW;AAAA;AAAA;AAAA,EACtD;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/UploadButton/UploadButton.parts.tsx"],"sourcesContent":["import AttachFileOutlined from '@mui/icons-material/AttachFileOutlined';\nimport CloudUploadOutlined from '@mui/icons-material/CloudUploadOutlined';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport LinearProgress from '@mui/material/LinearProgress/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport type React from 'react';\n\nimport type { DragHandlers } from './UploadButton.hooks';\n\n/*\n * The tints the dropzone and the ghost button have always drawn — 0x0A, 0x05\n * and 0x08 out of 0xFF — as `alpha()` opacities. They were hex-alpha suffixes\n * glued onto `palette.primary.main`, which only works while the palette colour\n * is a six-digit hex: an `rgb(…)` primary produced an invalid colour and no\n * tint at all.\n */\nconst DRAG_OVER_TINT = 0x0a / 0xff;\nconst HOVER_TINT = 0x05 / 0xff;\nconst GHOST_HOVER_TINT = 0x08 / 0xff;\nimport type { UploadButtonCopy } from '../../../copy';\nimport type { UploadButtonProps } from './UploadButton.types';\nimport { sxRem } from '../../../tokens/relative';\n\n/** Shared shape for the two trigger variants. */\nexport interface TriggerProps {\n copy: UploadButtonCopy;\n label: string;\n icon?: React.ReactNode;\n disabled: boolean;\n className?: string;\n dataTestId?: string;\n describedBy?: string;\n onOpen: () => void;\n}\n\n/** The drag-and-drop surface. */\nexport function UploadDropzone({\n copy,\n label,\n icon,\n disabled,\n className,\n dataTestId,\n describedBy,\n onOpen,\n isDragOver,\n drag,\n}: TriggerProps & { isDragOver: boolean; drag: DragHandlers }): React.ReactElement {\n const theme = useTheme();\n return (\n <Box\n component=\"div\"\n {...drag}\n onClick={onOpen}\n sx={{\n border: `2px dashed ${isDragOver ? theme.palette.primary.main : theme.palette.divider}`,\n borderRadius: 2,\n padding: 3,\n textAlign: 'center',\n cursor: disabled ? 'not-allowed' : 'pointer',\n backgroundColor: isDragOver ? alpha(theme.palette.primary.main, DRAG_OVER_TINT) : 'transparent',\n transition: 'all 0.2s ease-in-out',\n ...(!disabled && {\n '&:hover': {\n borderColor: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, HOVER_TINT),\n },\n }),\n opacity: disabled ? 0.6 : 1,\n }}\n className={className}\n data-testid={dataTestId}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n onKeyDown={(event) => {\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n onOpen();\n }}\n aria-describedby={describedBy}\n aria-label={copy.dropzoneRole(label)}\n >\n <Box sx={{ mb: 2 }}>\n {icon || <CloudUploadOutlined sx={{ fontSize: sxRem(48), color: 'text.secondary' }} />}\n </Box>\n <Typography variant=\"body1\" sx={{ mb: 1 }}>\n {label}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {copy.dropzoneHint}\n </Typography>\n </Box>\n );\n}\n\n/** MUI variant for each non-dropzone appearance. */\nconst MUI_VARIANT = { outline: 'outlined', ghost: 'text' } as const;\n\n/** The plain-button trigger. */\nexport function UploadTrigger({\n copy,\n label,\n icon,\n disabled,\n className,\n dataTestId,\n describedBy,\n onOpen,\n variant,\n isUploading,\n}: TriggerProps & {\n variant: NonNullable<UploadButtonProps['variant']>;\n isUploading: boolean;\n}): React.ReactElement {\n const theme = useTheme();\n return (\n <Button\n variant={MUI_VARIANT[variant as keyof typeof MUI_VARIANT] ?? 'contained'}\n disabled={disabled || isUploading}\n onClick={onOpen}\n startIcon={icon || <AttachFileOutlined />}\n className={className}\n data-testid={dataTestId}\n aria-describedby={describedBy}\n sx={{\n ...(variant === 'ghost' && {\n '&:hover': { backgroundColor: alpha(theme.palette.primary.main, GHOST_HOVER_TINT) },\n }),\n }}\n >\n {isUploading ? copy.uploading : label}\n </Button>\n );\n}\n\n/** The screen-reader live region — drag, progress and error announcements. */\nfunction UploadAnnouncer({\n copy,\n announceDragOver,\n isUploading,\n progress,\n error,\n}: {\n copy: UploadButtonCopy;\n announceDragOver: boolean;\n isUploading: boolean;\n progress: number;\n error: string | null;\n}): React.ReactElement {\n return (\n <div\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"sr-only\"\n style={{\n position: 'absolute',\n left: '-10000px',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n }}\n >\n {announceDragOver && copy.dropReady}\n {isUploading && copy.uploadInProgress(Math.round(progress))}\n {error && copy.errorAnnouncement(error)}\n </div>\n );\n}\n\n/** Progress bar, helper text, error text and the live region. */\nexport function UploadFeedback({\n copy,\n isUploading,\n progress,\n helperText,\n helperId,\n error,\n errorId,\n announceDragOver,\n}: {\n copy: UploadButtonCopy;\n isUploading: boolean;\n progress: number;\n helperText?: string;\n helperId?: string;\n error: string | null;\n errorId?: string;\n announceDragOver: boolean;\n}): React.ReactElement {\n return (\n <>\n {isUploading && progress > 0 && (\n <Box sx={{ mt: 1 }}>\n <LinearProgress variant=\"determinate\" value={progress} sx={{ borderRadius: 1 }} />\n <Typography variant=\"caption\" sx={{ mt: 0.5, display: 'block' }}>\n {copy.percentUploaded(Math.round(progress))}\n </Typography>\n </Box>\n )}\n\n {helperText && !error && (\n <Typography\n id={helperId}\n variant=\"caption\"\n color=\"text.secondary\"\n sx={{ display: 'block', mt: 0.5 }}\n >\n {helperText}\n </Typography>\n )}\n\n {error && (\n <Typography\n id={errorId}\n variant=\"caption\"\n color=\"error\"\n sx={{ display: 'block', mt: 0.5 }}\n role=\"alert\"\n >\n {error}\n </Typography>\n )}\n\n <UploadAnnouncer\n copy={copy}\n announceDragOver={announceDragOver}\n isUploading={isUploading}\n progress={progress}\n error={error}\n />\n </>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressTextField.tsx"],"sourcesContent":["import type { TextFieldProps } from '@mui/material/TextField/index.js';\nimport TextField from '@mui/material/TextField/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport type { AddressAutocompleteProps } from './AddressAutocomplete.types';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { fieldRadius } from '../../../tokens/field-radius';\nimport { fieldControlStyles, fieldTextFieldStyles } from '../../../tokens/field-height';\n\n// Kept module-local on purpose: the inferred type of a styled() component cannot\n// be named across a module boundary here (TS2742), so the plain component below\n// is what the rest of the folder imports.\nconst GlassTextField = styled(TextField)(({ theme }) => ({\n ...fieldControlStyles(theme),\n '& .MuiOutlinedInput-root': {\n borderRadius: fieldRadius(theme),\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.8)} 0%, ${alpha(theme.palette.background.paper, 0.6)} 100%)`,\n backdropFilter: 'blur(10px)',\n WebkitBackdropFilter: 'blur(10px)',\n border: `1px solid ${fieldEdge(theme)}`,\n transition: theme.transitions.create(['border-color', 'box-shadow', 'background']),\n '&:hover': {\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.9)} 0%, ${alpha(theme.palette.background.paper, 0.7)} 100%)`,\n borderColor: theme.palette.primary.main,\n },\n '&.Mui-focused': {\n background: theme.palette.background.paper,\n boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.25)}`,\n },\n '& fieldset': {\n border: 'none',\n },\n },\n}));\n\n/** The plain variants: MUI's own field, on the theme's field radius. */\nconst FieldTextField = styled(TextField)(({ theme }) => fieldTextFieldStyles(theme));\n\nexport type AddressTextFieldProps = Omit<TextFieldProps, 'variant'> & {\n addressVariant: AddressAutocompleteProps['variant'];\n};\n\n// 'glass' is not a MUI variant: it renders the outlined field with the frosted\n// treatment on top.\nexport const AddressTextField: FC<AddressTextFieldProps> = ({ addressVariant, ...props }) =>\n addressVariant === 'glass' ? (\n <GlassTextField variant=\"outlined\" {...props} />\n ) : (\n <FieldTextField variant={addressVariant} {...props} />\n );\n"],"mappings":";;;;;;;;;;;;AACA,OAAO,eAAe;AACtB,SAAS,OAAO,cAAc;AA+C1B;AAlCJ,IAAM,iBAAiB,OAAO,SAAS,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACvD,GAAG,mBAAmB,KAAK;AAAA,EAC3B,4BAA4B;AAAA,IAC1B,cAAc,YAAY,KAAK;AAAA,IAC/B,YAAY,2BAA2B,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC,QAAQ,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC;AAAA,IACnI,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,QAAQ,aAAa,UAAU,KAAK,CAAC;AAAA,IACrC,YAAY,MAAM,YAAY,OAAO,CAAC,gBAAgB,cAAc,YAAY,CAAC;AAAA,IACjF,WAAW;AAAA,MACT,YAAY,2BAA2B,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC,QAAQ,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG,CAAC;AAAA,MACnI,aAAa,MAAM,QAAQ,QAAQ;AAAA,IACrC;AAAA,IACA,iBAAiB;AAAA,MACf,YAAY,MAAM,QAAQ,WAAW;AAAA,MACrC,WAAW,aAAa,MAAM,MAAM,QAAQ,QAAQ,MAAM,IAAI,CAAC;AAAA,IACjE;AAAA,IACA,cAAc;AAAA,MACZ,QAAQ;AAAA,IACV;AAAA,EACF;AACF,EAAE;AAGF,IAAM,iBAAiB,OAAO,SAAS,EAAE,CAAC,EAAE,MAAM,MAAM,qBAAqB,KAAK,CAAC;AAQ5E,IAAM,mBAA8C,CAAC,EAAE,gBAAgB,GAAG,MAAM,MACrF,mBAAmB,UACjB,oBAAC,kBAAe,SAAQ,YAAY,GAAG,OAAO,IAE9C,oBAAC,kBAAe,SAAS,gBAAiB,GAAG,OAAO;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/Command/Command.tsx"],"sourcesContent":["import CloseIcon from '@mui/icons-material/Close';\nimport SearchIcon from '@mui/icons-material/Search';\nimport Box from '@mui/material/Box/index.js';\nimport Chip from '@mui/material/Chip/index.js';\nimport Dialog from '@mui/material/Dialog/index.js';\nimport DialogContent from '@mui/material/DialogContent/index.js';\nimport Divider from '@mui/material/Divider/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport Grow from '@mui/material/Grow/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport List from '@mui/material/List/index.js';\nimport ListItemButton from '@mui/material/ListItemButton/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport TextField from '@mui/material/TextField/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport React, { useMemo } from 'react';\n\nimport { resolveCommandProps, useCommandPalette } from './Command.hooks';\nimport { CommandEmpty, CommandLoading } from './Command.parts';\nimport { commandPaperStyles, commandSizeStyles } from './Command.styles';\nimport type {\n CommandGroupProps,\n CommandInputProps,\n CommandItem,\n CommandItemProps,\n CommandListProps,\n CommandProps,\n} from './Command.types';\nimport { rem } from '../../../tokens/relative';\n\nexport { CommandEmpty, CommandLoading, CommandSeparator } from './Command.parts';\n\nconst makeTestId = (dataTestId?: string) => (suffix: string) =>\n dataTestId ? `${dataTestId}-${suffix}` : undefined;\n\nexport const Command: React.FC<CommandProps> = (rawProps) => {\n const props = resolveCommandProps(rawProps);\n const { open, onOpenChange, variant, dataTestId } = props;\n const theme = useTheme();\n const testId = makeTestId(dataTestId);\n\n const { internalValue, filteredItems, highlightedId, handleValueChange, handleSelect, handleKeyDown } =\n useCommandPalette(props);\n\n return (\n <Dialog\n open={open}\n onClose={() => onOpenChange?.(false)}\n maxWidth={false}\n PaperProps={{\n sx: {\n ...commandPaperStyles(theme, props),\n ...commandSizeStyles(theme, props.size),\n overflow: 'hidden',\n ...props.style,\n },\n className: props.className,\n 'data-testid': dataTestId,\n }}\n TransitionComponent={variant === 'glass' ? Fade : Grow}\n onClick={props.onClick}\n >\n <Box sx={{ p: 0 }}>\n <CommandInput\n placeholder={props.placeholder}\n value={internalValue}\n onChange={handleValueChange}\n onFocus={props.onFocus}\n onBlur={props.onBlur}\n disabled={props.disabled}\n autoFocus={props.autoFocus}\n onKeyDown={handleKeyDown}\n dataTestId={testId('input')}\n />\n\n <Divider />\n\n <DialogContent sx={{ p: 0, maxHeight: props.maxHeight, overflow: 'auto' }}>\n <CommandBody\n loading={props.loading}\n items={filteredItems}\n value={internalValue}\n emptyMessage={props.emptyMessage}\n onSelect={handleSelect}\n selectedId={highlightedId}\n showCategories={props.showCategories}\n showShortcuts={props.showShortcuts}\n showDescriptions={props.showDescriptions}\n testId={testId}\n />\n {props.children}\n </DialogContent>\n </Box>\n </Dialog>\n );\n};\n\ntype CommandBodyProps = Pick<\n CommandListProps,\n 'items' | 'value' | 'onSelect' | 'selectedId' | 'showCategories' | 'showShortcuts' | 'showDescriptions'\n> & {\n loading: boolean;\n emptyMessage: string;\n testId: (suffix: string) => string | undefined;\n};\n\n/** Three mutually exclusive states share the scrolling area: busy, empty, or a list. */\nconst CommandBody: React.FC<CommandBodyProps> = ({ loading, emptyMessage, testId, ...list }) => {\n if (loading) {\n return <CommandLoading dataTestId={testId('loading')} />;\n }\n\n if (!list.items?.length) {\n return <CommandEmpty message={emptyMessage} dataTestId={testId('empty')} />;\n }\n\n return <CommandList {...list} dataTestId={testId('list')} />;\n};\n\nexport const CommandInput: React.FC<CommandInputProps> = ({\n placeholder,\n value,\n onChange,\n onFocus,\n onBlur,\n disabled,\n autoFocus,\n onKeyDown,\n className,\n style,\n dataTestId,\n}) => (\n <TextField\n fullWidth\n value={value}\n onChange={(e) => onChange?.(e.target.value)}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n placeholder={placeholder}\n disabled={disabled}\n autoFocus={autoFocus}\n variant=\"standard\"\n className={className}\n inputProps={{\n 'data-testid': dataTestId,\n }}\n sx={{\n p: 2,\n '& .MuiInput-underline:before': { border: 'none' },\n '& .MuiInput-underline:after': { border: 'none' },\n ...style,\n }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon />\n </InputAdornment>\n ),\n endAdornment: value && (\n <InputAdornment position=\"end\">\n <IconButton size=\"small\" onClick={() => onChange?.('')}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n />\n );\n\nexport const CommandList: React.FC<CommandListProps> = ({\n items = [],\n onSelect,\n selectedId,\n emptyMessage,\n showCategories,\n showShortcuts,\n showDescriptions,\n loading,\n className,\n style,\n dataTestId,\n}) => {\n const groupedItems = useMemo(() => {\n if (!showCategories) return { '': items };\n\n const groups: Record<string, CommandItem[]> = {};\n items.forEach(item => {\n const category = item.category || '';\n if (!groups[category]) groups[category] = [];\n groups[category].push(item);\n });\n return groups;\n }, [items, showCategories]);\n\n if (loading) return <CommandLoading dataTestId={dataTestId ? `${dataTestId}-loading` : undefined} />;\n if (items.length === 0) return <CommandEmpty message={emptyMessage} dataTestId={dataTestId ? `${dataTestId}-empty` : undefined} />;\n\n return (\n <List className={className} sx={style} data-testid={dataTestId}>\n {Object.entries(groupedItems).map(([category, categoryItems]) => (\n <CommandGroup\n key={category}\n heading={category}\n items={categoryItems}\n onSelect={onSelect}\n selectedId={selectedId}\n showShortcuts={showShortcuts}\n showDescriptions={showDescriptions}\n />\n ))}\n </List>\n );\n};\n\nexport const CommandGroup: React.FC<CommandGroupProps> = ({\n heading,\n items = [],\n onSelect,\n selectedId,\n showShortcuts,\n showDescriptions,\n className,\n style,\n dataTestId,\n}) => {\n const groupTestId = dataTestId || (heading ? `command-group-${heading}` : undefined);\n\n return (\n <Box className={className} sx={style} data-testid={groupTestId}>\n {heading && (\n <Typography\n variant=\"caption\"\n sx={{\n px: 2,\n py: 1,\n display: 'block',\n color: 'text.secondary',\n fontWeight: 600,\n textTransform: 'uppercase',\n }}\n >\n {heading}\n </Typography>\n )}\n {items.map((item) => (\n <CommandItemComponent\n key={item.id}\n {...item}\n selected={selectedId === item.id}\n onSelect={() => onSelect?.(item)}\n showShortcut={showShortcuts}\n showDescription={showDescriptions}\n dataTestId={`command-item-${item.id}`}\n />\n ))}\n </Box>\n );\n};\n\nconst CommandItemComponent: React.FC<CommandItemProps> = ({\n label,\n description,\n icon,\n shortcut,\n disabled,\n selected,\n onSelect,\n showShortcut,\n showDescription,\n className,\n style,\n dataTestId,\n}) => {\n const theme = useTheme();\n\n return (\n <ListItemButton\n onClick={onSelect}\n disabled={disabled}\n selected={selected}\n className={className}\n data-testid={dataTestId}\n sx={{\n py: 1.5,\n px: 2,\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n },\n '&.Mui-selected': {\n backgroundColor: alpha(theme.palette.primary.main, 0.12),\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.16),\n },\n },\n ...style,\n }}\n >\n {icon && (\n <ListItemIcon sx={{ minWidth: 40 }}>\n {icon}\n </ListItemIcon>\n )}\n\n <ListItemText\n primary={label}\n secondary={showDescription && description}\n primaryTypographyProps={{\n fontSize: rem(theme, 14),\n fontWeight: selected ? 600 : 400,\n }}\n secondaryTypographyProps={{\n fontSize: rem(theme, 12),\n }}\n />\n\n {showShortcut && shortcut && (\n <Chip\n label={shortcut}\n size=\"small\"\n variant=\"outlined\"\n sx={{\n height: 20,\n fontSize: rem(theme, 11.2),\n ml: 1,\n }}\n />\n )}\n </ListItemButton>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/CategorySelect/CategoryTrigger.tsx"],"sourcesContent":["'use client';\n\nimport type { CategorySelectCopy } from \"../../../copy\";\nimport Box from '@mui/material/Box/index.js';\n\nimport { CaretGlyph } from './CategoryIcons';\nimport {\n triggerChevronSx,\n triggerClearSx,\n triggerCountSx,\n triggerSx,\n} from './CategorySelect.styles';\n\ninterface CategoryTriggerProps {\n /** The words this renders. REQUIRED — this package ships no default copy. */\n copy: CategorySelectCopy;\n /** Text shown when nothing is selected. */\n placeholder: string;\n /** Resolved label when there IS a selection (single mode shows \"Pai › Filha\"). */\n selectionLabel?: string;\n /** Selection size — rendered as the count pill in multi-select. */\n count?: number;\n open: boolean;\n disabled?: boolean;\n fullWidth: boolean;\n onOpen: () => void;\n /** Absent when there is nothing to clear. */\n onClear?: () => void;\n triggerRef: React.RefObject<HTMLButtonElement | null>;\n dataTestId: string;\n}\n\n/**\n * The closed control.\n *\n * The clear (×) is a real button nested in the trigger button, so \"remove the\n * filter\" is one click from the closed state — without it, clearing means open,\n * find Clear, apply. Its click is stopped from reaching the trigger, which would\n * otherwise open the panel on the way out.\n */\nexport function CategoryTrigger({\n placeholder,\n selectionLabel,\n count,\n open,\n disabled,\n fullWidth,\n onOpen,\n onClear,\n triggerRef,\n dataTestId,\n copy,\n}: CategoryTriggerProps): React.JSX.Element {\n const hasSelection = Boolean(selectionLabel) || (count ?? 0) > 0;\n return (\n <Box\n component=\"button\"\n type=\"button\"\n ref={triggerRef}\n disabled={disabled}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n data-testid={`${dataTestId}-trigger`}\n onClick={onOpen}\n sx={(theme) => ({\n ...triggerSx(theme, hasSelection, open),\n width: fullWidth ? '100%' : 'auto',\n })}\n >\n <Box\n component=\"span\"\n sx={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n maxWidth: 190,\n flex: fullWidth ? 1 : '0 1 auto',\n textAlign: 'left',\n }}\n >\n {selectionLabel ?? placeholder}\n </Box>\n {count !== undefined && count > 0 && (\n <Box component=\"span\" sx={triggerCountSx} data-testid={`${dataTestId}-count`}>\n {count}\n </Box>\n )}\n {hasSelection && onClear && (\n <Box\n component=\"span\"\n role=\"button\"\n tabIndex={0}\n aria-label={copy.clearSelection}\n data-testid={`${dataTestId}-clear-trigger`}\n sx={triggerClearSx}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation();\n onClear();\n }}\n onKeyDown={(event: React.KeyboardEvent) => {\n if (event.key !== 'Enter' && event.key !== ' ') return;\n event.preventDefault();\n event.stopPropagation();\n onClear();\n }}\n >\n ×\n </Box>\n )}\n <CaretGlyph style={triggerChevronSx(open) as React.CSSProperties} />\n </Box>\n );\n}\n"],"mappings":";;;;;;;;;;;AAGA,OAAO,SAAS;AAoDZ,SAcE,KAdF;AAfG,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4C;AAC1C,QAAM,eAAe,QAAQ,cAAc,MAAM,SAAS,KAAK;AAC/D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA,iBAAc;AAAA,MACd,iBAAe;AAAA,MACf,eAAa,GAAG,UAAU;AAAA,MAC1B,SAAS;AAAA,MACT,IAAI,CAAC,WAAW;AAAA,QACd,GAAG,UAAU,OAAO,cAAc,IAAI;AAAA,QACtC,OAAO,YAAY,SAAS;AAAA,MAC9B;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,cAAc;AAAA,cACd,UAAU;AAAA,cACV,MAAM,YAAY,IAAI;AAAA,cACtB,WAAW;AAAA,YACb;AAAA,YAEC,4BAAkB;AAAA;AAAA,QACrB;AAAA,QACC,UAAU,UAAa,QAAQ,KAC9B,oBAAC,OAAI,WAAU,QAAO,IAAI,gBAAgB,eAAa,GAAG,UAAU,UACjE,iBACH;AAAA,QAED,gBAAgB,WACf;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,MAAK;AAAA,YACL,UAAU;AAAA,YACV,cAAY,KAAK;AAAA,YACjB,eAAa,GAAG,UAAU;AAAA,YAC1B,IAAI;AAAA,YACJ,SAAS,CAAC,UAA4B;AACpC,oBAAM,gBAAgB;AACtB,sBAAQ;AAAA,YACV;AAAA,YACA,WAAW,CAAC,UAA+B;AACzC,kBAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,IAAK;AAChD,oBAAM,eAAe;AACrB,oBAAM,gBAAgB;AACtB,sBAAQ;AAAA,YACV;AAAA,YACD;AAAA;AAAA,QAED;AAAA,QAEF,oBAAC,cAAW,OAAO,iBAAiB,IAAI,GAA0B;AAAA;AAAA;AAAA,EACpE;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/Checkbox/Checkbox.tsx"],"sourcesContent":["import MuiCheckbox from '@mui/material/Checkbox/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport FormControlLabel from '@mui/material/FormControlLabel/index.js';\nimport FormHelperText from '@mui/material/FormHelperText/index.js';\nimport { alpha, keyframes, styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { makeTestId, resolveCheckboxProps } from './Checkbox.helpers';\nimport {\n CHECKBOX_GLOW,\n CHECKBOX_HELPER,\n CHECKBOX_HOVER_ALPHA,\n CHECKBOX_LABEL,\n CHECKBOX_PULSE,\n CHECKBOX_SPINNER,\n CHECKBOX_TRANSITION_MS,\n CHECKBOX_VARIANT,\n effectInk,\n} from './Checkbox.metrics';\nimport type { CheckboxProps } from './Checkbox.types';\nimport { splitTestId } from '../../../platform/test-id';\nimport { rem } from '../../../tokens/relative';\n\nconst pulse = keyframes`\n 0% {\n box-shadow: 0 0 0 0 ${effectInk(CHECKBOX_PULSE.alpha)};\n }\n 70% {\n box-shadow: 0 0 0 ${CHECKBOX_PULSE.spread}px ${effectInk(0)};\n }\n 100% {\n box-shadow: 0 0 0 0 ${effectInk(0)};\n }\n`;\n\nconst glow = keyframes`\n 0%, 100% {\n box-shadow: 0 0 ${CHECKBOX_GLOW.blur.from}px ${effectInk(CHECKBOX_GLOW.alpha.from)};\n }\n 50% {\n box-shadow: 0 0 ${CHECKBOX_GLOW.blur.to}px ${effectInk(CHECKBOX_GLOW.alpha.to)};\n }\n`;\n\nconst StyledCheckbox = styled(MuiCheckbox, {\n shouldForwardProp: (prop) => !['customVariant', 'ripple', 'glow', 'pulse'].includes(prop as string),\n})<{ \n customVariant?: CheckboxProps['variant'];\n ripple?: boolean;\n glow?: boolean;\n pulse?: boolean;\n}>(\n ({ theme, customVariant, ripple, glow: glowProp, pulse: pulseProp }) => ({\n ...(customVariant === 'rounded' && {\n '& .MuiSvgIcon-root': {\n borderRadius: CHECKBOX_VARIANT.rounded.radius,\n },\n }),\n \n ...(customVariant === 'toggle' && {\n '& .MuiSvgIcon-root': {\n borderRadius: `${CHECKBOX_VARIANT.toggle.radius}px`,\n transform: `scale(${CHECKBOX_VARIANT.toggle.scale})`,\n },\n }),\n \n '&.MuiCheckbox-root': {\n transition: `all ${CHECKBOX_TRANSITION_MS / 1000}s ease`,\n ...(ripple === false && {\n '& .MuiTouchRipple-root': {\n display: 'none',\n },\n }),\n ...(glowProp && {\n animation: `${glow} ${CHECKBOX_GLOW.ms / 1000}s ease-in-out infinite`,\n }),\n ...(pulseProp && {\n animation: `${pulse} ${CHECKBOX_PULSE.ms / 1000}s infinite`,\n }),\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, CHECKBOX_HOVER_ALPHA),\n },\n },\n \n '&.Mui-checked': {\n color: theme.palette.primary.main,\n },\n \n '&.MuiCheckbox-indeterminate': {\n color: theme.palette.primary.main,\n },\n })\n);\n\nconst StyledFormControlLabel = styled(FormControlLabel, {\n shouldForwardProp: (prop) => prop !== 'error',\n})<{ error?: boolean }>(\n ({ theme, error }) => ({\n marginLeft: CHECKBOX_LABEL.marginLeft,\n '& .MuiFormControlLabel-label': {\n color: error ? theme.palette.error.main : theme.palette.text.primary,\n fontSize: rem(theme, CHECKBOX_LABEL.fontSize),\n },\n })\n);\n\nconst StyledFormHelperText = styled(FormHelperText)(({ theme }) => ({\n marginLeft: theme.spacing(CHECKBOX_HELPER.marginLeftUnits),\n marginTop: theme.spacing(CHECKBOX_HELPER.marginTopUnits),\n}));\n\nexport const Checkbox = React.forwardRef<HTMLButtonElement, CheckboxProps>(\n (rawProps, ref) => {\n const {\n variant,\n label,\n error,\n helperText,\n loading,\n ripple,\n glow,\n pulse,\n disabled,\n ...others\n } = resolveCheckboxProps(rawProps);\n const isDisabled = disabled || loading;\n const { testId: dataTestId, rest: props } = splitTestId(others);\n const testId = makeTestId(dataTestId);\n\n const checkbox = (\n <div style={{ position: 'relative', display: 'inline-flex' }}>\n <StyledCheckbox\n ref={ref}\n customVariant={variant}\n ripple={ripple}\n glow={glow}\n pulse={pulse}\n disabled={isDisabled}\n data-testid={dataTestId || 'checkbox'}\n {...props}\n />\n {loading && (\n <CircularProgress\n size={CHECKBOX_SPINNER.size}\n sx={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: `${CHECKBOX_SPINNER.offset}px`,\n marginLeft: `${CHECKBOX_SPINNER.offset}px`,\n color: 'primary.main',\n }}\n />\n )}\n </div>\n );\n \n if (label) {\n return (\n <div data-testid={testId('container')}>\n <StyledFormControlLabel\n control={checkbox}\n label={label}\n error={error}\n disabled={isDisabled}\n />\n {helperText && (\n <StyledFormHelperText \n error={error}\n data-testid={testId('helper')}\n >\n {helperText}\n </StyledFormHelperText>\n )}\n </div>\n );\n }\n \n return checkbox;\n }\n);\n\nCheckbox.displayName = 'Checkbox';"],"mappings":"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","names":["glow","pulse"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/CategorySelect/CategoryRows.tsx"],"sourcesContent":["'use client';\n\nimport Box from '@mui/material/Box/index.js';\n\nimport type { CategorySelectCopy } from '../../../copy';\nimport { CheckGlyph, DisclosureGlyph } from './CategoryIcons';\nimport { highlightSegments, type CategoryCheckState } from './category-tree';\nimport {\n checkboxBarSx,\n checkboxSx,\n chevronButtonSx,\n markSx,\n METRICS,\n radioSx,\n rowIndent,\n rowMetaSx,\n rowNameSx,\n rowSx,\n sectionHeadSx,\n} from './CategorySelect.styles';\nimport type { CategorySelectOption } from './CategorySelect.types';\n\n/** A label with the search hit marked. */\nexport function HighlightedName({\n text,\n query,\n}: {\n text: string;\n query: string;\n}): React.JSX.Element {\n const segments = highlightSegments(text, query);\n return (\n <>\n {segments.map((segment, index) =>\n segment.match ? (\n <Box component=\"mark\" key={`${segment.text}-${index}`} sx={markSx}>\n {segment.text}\n </Box>\n ) : (\n <span key={`${segment.text}-${index}`}>{segment.text}</span>\n ),\n )}\n </>\n );\n}\n\n/** Tri-state checkbox. `partial` draws the bar the prototype uses for \"some\". */\nexport function CategoryCheckbox({ state }: { state: CategoryCheckState }): React.JSX.Element {\n return (\n <Box sx={(theme) => checkboxSx(theme, state)} aria-hidden=\"true\">\n {state === 'on' && <CheckGlyph />}\n {state === 'partial' && <Box sx={checkboxBarSx} />}\n </Box>\n );\n}\n\nexport function CategoryRadio({ on }: { on: boolean }): React.JSX.Element {\n return <Box sx={(theme) => radioSx(theme, on)} aria-hidden=\"true\" />;\n}\n\ninterface CategoryTreeRowProps {\n option: CategorySelectOption;\n query: string;\n /** 0 for a top-level category; each level below indents one more step. */\n depth: number;\n /** True when there is something under this row to fold. */\n branch: boolean;\n expanded: boolean;\n active: boolean;\n sheet: boolean;\n /** Absent where the row cannot be picked — a category acting as a frame. */\n checkState?: CategoryCheckState;\n /** Single-select draws a radio for the control: choosing a row is exclusive. */\n single: boolean;\n selectedCount: number;\n showCounts: boolean;\n onToggleExpanded: () => void;\n onActivate: () => void;\n dataTestId: string;\n copy: CategorySelectCopy;\n}\n\n/** The trailing number: how many leaves are picked below, else the item count. */\nfunction rowMeta(\n selectedCount: number,\n showCounts: boolean,\n count: number | undefined,\n): { text: string; selected: boolean } | null {\n if (selectedCount > 0) return { text: String(selectedCount), selected: true };\n if (showCounts && count !== undefined) return { text: String(count), selected: false };\n return null;\n}\n\n/** The disclosure chevron, or the space it would have taken on a leaf row. */\nfunction RowDisclosure({\n option,\n expanded,\n branch,\n onToggleExpanded,\n dataTestId,\n copy,\n}: Pick<\n CategoryTreeRowProps,\n 'option' | 'expanded' | 'branch' | 'onToggleExpanded' | 'dataTestId' | 'copy'\n>): React.JSX.Element {\n if (!branch) {\n return <Box sx={{ width: METRICS.chevronButton, flex: '0 0 auto' }} />;\n }\n return (\n <Box\n component=\"button\"\n type=\"button\"\n tabIndex={-1}\n aria-label={expanded ? copy.collapseCategory(option.name) : copy.expandCategory(option.name)}\n data-testid={`${dataTestId}-expand-${option.id}`}\n sx={(theme) => chevronButtonSx(theme, expanded)}\n onClick={(event: React.MouseEvent) => {\n event.stopPropagation();\n onToggleExpanded();\n }}\n >\n <DisclosureGlyph />\n </Box>\n );\n}\n\n/** The row's selection control, or the space it would have taken on a frame. */\nfunction RowControl({\n checkState,\n single,\n}: Pick<CategoryTreeRowProps, 'checkState' | 'single'>): React.JSX.Element {\n if (!checkState) return <Box sx={{ width: METRICS.boxSize, flex: '0 0 auto' }} />;\n // Single-select commits the moment a row is chosen, so the control is a radio\n // there: a checkbox would promise the accumulation this mode does not do.\n if (single) return <CategoryRadio on={checkState === 'on'} />;\n return <CategoryCheckbox state={checkState} />;\n}\n\n/**\n * The test id a row answers to.\n *\n * Keyed on DEPTH rather than on whether the row has children, because that is\n * what the ids meant when the tree was two levels and specs were written against\n * them: `-category-<id>` is a top-level row — childless or not — and `-option-`\n * is anything filed under one.\n */\nfunction rowTestId(dataTestId: string, depth: number, id: string): string {\n return depth === 0 ? `${dataTestId}-category-${id}` : `${dataTestId}-option-${id}`;\n}\n\n/**\n * One row of the tree: disclosure chevron, optional control, name, meta.\n *\n * The chevron is its OWN button inside the row — clicking it only folds, while\n * clicking the row does the row's job (expand as a frame, or mark when the row\n * is selectable). A LEAF has neither a fold nor a frame to be: it draws no\n * chevron, and it always carries the control, because it is what you pick.\n */\nexport function CategoryTreeRow({\n option,\n query,\n depth,\n branch,\n expanded,\n active,\n sheet,\n checkState,\n single,\n selectedCount,\n showCounts,\n onToggleExpanded,\n onActivate,\n dataTestId,\n copy,\n}: CategoryTreeRowProps): React.JSX.Element {\n const meta = rowMeta(selectedCount, showCounts, option.count);\n return (\n <Box\n component=\"div\"\n role={checkState ? 'option' : 'button'}\n aria-selected={checkState ? checkState === 'on' : undefined}\n aria-expanded={branch ? expanded : undefined}\n data-testid={rowTestId(dataTestId, depth, option.id)}\n sx={(theme) => ({ ...rowSx(theme, active, sheet), ...rowIndent(depth) })}\n onClick={onActivate}\n >\n <RowDisclosure\n option={option}\n expanded={expanded}\n branch={branch}\n onToggleExpanded={onToggleExpanded}\n dataTestId={dataTestId}\n copy={copy}\n />\n <RowControl checkState={checkState} single={single} />\n <Box component=\"span\" sx={(theme) => rowNameSx(theme, depth === 0)}>\n <HighlightedName text={option.name} query={query} />\n </Box>\n {meta && (\n <Box component=\"span\" sx={(theme) => rowMetaSx(theme, meta.selected)}>\n {meta.text}\n </Box>\n )}\n </Box>\n );\n}\n\n/** The category as a non-interactive heading (single-select, leaf-only). */\nexport function CategorySectionHeading({\n option,\n query,\n}: {\n option: CategorySelectOption;\n query: string;\n}): React.JSX.Element {\n return (\n <Box sx={sectionHeadSx}>\n <HighlightedName text={option.name} query={query} />\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressFallbackField.tsx"],"sourcesContent":["import Alert from '@mui/material/Alert/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport type { FC, ReactNode } from 'react';\nimport React from 'react';\n\nimport type { AddressAutocompleteProps } from './AddressAutocomplete.types';\nimport { AddressTextField } from './AddressTextField';\n\nexport interface AddressFallbackFieldProps {\n copy: AddressAutocompleteProps['copy'];\n variant: AddressAutocompleteProps['variant'];\n label?: string;\n placeholder?: string;\n icon?: ReactNode;\n floating: boolean;\n fullWidth: boolean;\n mapsError: string | null;\n}\n\n// Stands in for the Autocomplete before Google Maps is usable: a disabled field\n// that either spins or explains why it never loaded.\nexport const AddressFallbackField: FC<AddressFallbackFieldProps> = ({\n copy,\n variant,\n label,\n placeholder,\n icon,\n floating,\n fullWidth,\n mapsError,\n}) => {\n const startAdornment = icon ? <InputAdornment position=\"start\">{icon}</InputAdornment> : undefined;\n\n if (!mapsError) {\n return (\n <AddressTextField\n addressVariant={variant}\n label={floating ? undefined : label}\n placeholder={copy.loadingMaps}\n disabled\n fullWidth={fullWidth}\n InputProps={{\n startAdornment,\n endAdornment: <CircularProgress color=\"inherit\" size={20} />,\n }}\n />\n );\n }\n\n return (\n <Box>\n <AddressTextField\n addressVariant={variant}\n label={floating ? undefined : label}\n placeholder={placeholder}\n error\n disabled\n fullWidth={fullWidth}\n helperText={mapsError}\n InputProps={{ startAdornment }}\n />\n <Alert severity=\"error\" sx={{ mt: 1 }}>\n {copy.mapsLoadFailed}\n </Alert>\n </Box>\n );\n};\n"],"mappings":";;;;;AAAA,OAAO,WAAW;AAClB,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,oBAAoB;AA8BK,cAmB5B,YAnB4B;AAVzB,IAAM,uBAAsD,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,iBAAiB,OAAO,oBAAC,kBAAe,UAAS,SAAS,gBAAK,IAAoB;AAEzF,MAAI,CAAC,WAAW;AACd,WACE;AAAA,MAAC;AAAA;AAAA,QACC,gBAAgB;AAAA,QAChB,OAAO,WAAW,SAAY;AAAA,QAC9B,aAAa,KAAK;AAAA,QAClB,UAAQ;AAAA,QACR;AAAA,QACA,YAAY;AAAA,UACV;AAAA,UACA,cAAc,oBAAC,oBAAiB,OAAM,WAAU,MAAM,IAAI;AAAA,QAC5D;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SACE,qBAAC,OACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAgB;AAAA,QAChB,OAAO,WAAW,SAAY;AAAA,QAC9B;AAAA,QACA,OAAK;AAAA,QACL,UAAQ;AAAA,QACR;AAAA,QACA,YAAY;AAAA,QACZ,YAAY,EAAE,eAAe;AAAA;AAAA,IAC/B;AAAA,IACA,oBAAC,SAAM,UAAS,SAAQ,IAAI,EAAE,IAAI,EAAE,GACjC,eAAK,gBACR;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/Toggle/Toggle.styles.ts"],"sourcesContent":["import { alpha, keyframes } from '@mui/material/styles/index.js';\nimport type { CSSObject, PaletteColor, Theme } from '@mui/material/styles/index.js';\n\nimport { fieldRadius } from '../../../tokens/field-radius';\nimport { asFieldSize, fieldBorder, fieldHeight } from '../../../tokens/field-height';\nimport { absoluteInk, controlNeutral, sheen } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\nconst glowAnimation = keyframes`\n 0% { box-shadow: 0 0 5px currentColor; }\n 50% { box-shadow: 0 0 15px currentColor, 0 0 25px currentColor; }\n 100% { box-shadow: 0 0 5px currentColor; }\n`;\n\nconst floatAnimation = keyframes`\n 0%, 100% { transform: translateY(0px); }\n 50% { transform: translateY(-2px); }\n`;\n\ninterface TogglePalette {\n main: string;\n dark: string;\n light: string;\n contrastText: string;\n}\n\nconst neutralPalette = (theme: Theme): TogglePalette => controlNeutral(theme);\n\n// A theme can be handed to us with shades missing, so each one falls back through\n// the palette's own main colour before reaching for primary.\nconst shade = (\n palette: PaletteColor | undefined,\n key: 'dark' | 'light',\n fallback: PaletteColor,\n): string => palette?.[key] || palette?.main || fallback[key];\n\nexport const getColorFromTheme = (theme: Theme, color: string): TogglePalette => {\n if (color === 'neutral') return neutralPalette(theme);\n\n const colorMap: Record<string, PaletteColor> = {\n primary: theme.palette.primary,\n secondary: theme.palette.secondary,\n success: theme.palette.success,\n warning: theme.palette.warning,\n info: theme.palette.info,\n danger: theme.palette.error,\n };\n\n const fallback = theme.palette.primary;\n const palette = colorMap[color] || fallback;\n\n return {\n main: palette?.main || fallback.main,\n dark: shade(palette, 'dark', fallback),\n light: shade(palette, 'light', fallback),\n contrastText: palette?.contrastText || absoluteInk(theme).white,\n };\n};\n\n/** Each size's padding and type; the type is design px, read through the type scale. */\nconst SIZE_MAP: Record<string, { padding: string; fontPx: number }> = {\n xs: { padding: '4px 8px', fontPx: 12 },\n sm: { padding: '6px 12px', fontPx: 14 },\n md: { padding: '8px 16px', fontPx: 16 },\n lg: { padding: '10px 20px', fontPx: 18 },\n xl: { padding: '12px 24px', fontPx: 20 },\n};\n\nconst sizeStyles = (theme: Theme, customSize: string): CSSObject => {\n const size = SIZE_MAP[customSize];\n return size ? { padding: size.padding, fontSize: rem(theme, size.fontPx) } : {};\n};\n\nexport const baseStyles = (\n theme: Theme,\n colorPalette: TogglePalette,\n customSize: string,\n): CSSObject => ({\n textTransform: 'none',\n fontWeight: 500,\n borderRadius: fieldRadius(theme),\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n border: fieldBorder(theme),\n color: theme.palette.text.primary,\n backgroundColor: 'transparent',\n position: 'relative',\n overflow: 'hidden',\n\n // A zero-sized circle that grows to fill the button on hover.\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: 0,\n height: 0,\n borderRadius: '50%',\n backgroundColor: alpha(colorPalette.main, 0.2),\n transform: 'translate(-50%, -50%)',\n transition: 'width 0.4s, height 0.4s',\n },\n\n '&:hover': {\n backgroundColor: alpha(colorPalette.main, 0.08),\n borderColor: colorPalette.main,\n transform: 'translateY(-1px)',\n boxShadow: `0 4px 8px ${alpha(colorPalette.main, 0.15)}`,\n animation: `${floatAnimation} 2s ease-in-out infinite`,\n\n '&::before': {\n width: '100%',\n height: '100%',\n },\n },\n\n '&:active': {\n transform: 'scale(0.98)',\n },\n\n '&.Mui-selected': {\n backgroundColor: colorPalette.main,\n color: colorPalette.contrastText || absoluteInk(theme).white,\n borderColor: colorPalette.main,\n boxShadow: `0 2px 8px ${alpha(colorPalette.main, 0.3)}`,\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(135deg, transparent, ${sheen(theme, 0.1)})`,\n pointerEvents: 'none',\n },\n\n '&:hover': {\n backgroundColor: colorPalette.dark,\n transform: 'translateY(-2px) scale(1.02)',\n boxShadow: `0 6px 20px ${alpha(colorPalette.main, 0.4)}`,\n },\n },\n\n // Size wins over everything above it — its font and horizontal padding; the\n // height is the theme's field height for the size.\n ...sizeStyles(theme, customSize),\n minHeight: fieldHeight(theme, asFieldSize(customSize)),\n paddingTop: 0,\n paddingBottom: 0,\n});\n\nexport const variantStyles = (\n theme: Theme,\n customVariant: string | undefined,\n colorPalette: TogglePalette,\n): CSSObject => {\n switch (customVariant) {\n case 'outline':\n return {\n backgroundColor: 'transparent',\n border: `2px solid ${colorPalette.main}`,\n color: colorPalette.main,\n\n '&.Mui-selected': {\n backgroundColor: colorPalette.main,\n color: colorPalette.contrastText || absoluteInk(theme).white,\n },\n };\n case 'soft':\n return {\n backgroundColor: alpha(colorPalette.main, 0.1),\n border: 'none',\n color: colorPalette.main,\n\n '&.Mui-selected': {\n backgroundColor: alpha(colorPalette.main, 0.2),\n color: colorPalette.main,\n },\n };\n default:\n return {};\n }\n};\n\ninterface ToggleEffects {\n glass?: boolean;\n gradient?: boolean;\n glow?: boolean;\n}\n\n// gradient and glow both target `.Mui-selected`; with both on, the later spread\n// wins, so glow's animation replaces gradient's.\nexport const effectStyles = (\n theme: Theme,\n colorPalette: TogglePalette,\n { glass, gradient, glow }: ToggleEffects,\n): CSSObject => ({\n ...(glass && {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n }),\n\n ...(gradient && {\n '&.Mui-selected': {\n background: `linear-gradient(135deg, ${colorPalette.light}, ${colorPalette.main}, ${colorPalette.dark})`,\n backgroundSize: '200% 200%',\n animation: `${floatAnimation} 3s ease-in-out infinite`,\n border: 'none',\n\n '&:hover': {\n backgroundPosition: '100% 100%',\n },\n },\n }),\n\n ...(glow && {\n '&.Mui-selected': {\n animation: `${glowAnimation} 2s ease-in-out infinite`,\n boxShadow: `0 0 15px ${alpha(colorPalette.main, 0.6)}`,\n },\n }),\n});\n"],"mappings":"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","names":[]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|