@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
|
@@ -8,25 +8,25 @@ import {
|
|
|
8
8
|
// src/components/form/Command/Command.styles.ts
|
|
9
9
|
import { alpha } from "@mui/material/styles/index.js";
|
|
10
10
|
var SIZE_MAP = {
|
|
11
|
-
xs: {
|
|
12
|
-
sm: {
|
|
13
|
-
md: {
|
|
14
|
-
lg: {
|
|
15
|
-
xl: {
|
|
11
|
+
xs: { widthPx: 400, fontPx: 12 },
|
|
12
|
+
sm: { widthPx: 450, fontPx: 14 },
|
|
13
|
+
md: { widthPx: 500, fontPx: 16 },
|
|
14
|
+
lg: { widthPx: 550, fontPx: 18 },
|
|
15
|
+
xl: { widthPx: 600, fontPx: 20 }
|
|
16
16
|
};
|
|
17
17
|
var commandSizeStyles = (theme, size) => {
|
|
18
|
-
const {
|
|
19
|
-
return { width: rem(theme,
|
|
18
|
+
const { widthPx, fontPx } = SIZE_MAP[size] || SIZE_MAP.md;
|
|
19
|
+
return { width: rem(theme, widthPx), fontSize: rem(theme, fontPx) };
|
|
20
20
|
};
|
|
21
21
|
var emphasisStyles = (theme, color, glow, pulse) => ({
|
|
22
22
|
...glow && {
|
|
23
|
-
boxShadow: `0 0
|
|
23
|
+
boxShadow: `0 0 ${rem(theme, 20)} ${alpha(accentFor(theme, color).main, 0.4)}`
|
|
24
24
|
},
|
|
25
25
|
...pulse && {
|
|
26
26
|
animation: "pulse 2s infinite",
|
|
27
27
|
"@keyframes pulse": {
|
|
28
28
|
"0%": { boxShadow: `0 0 0 0 ${alpha(accentFor(theme, color).main, 0.4)}` },
|
|
29
|
-
"70%": { boxShadow: `0 0 0
|
|
29
|
+
"70%": { boxShadow: `0 0 0 ${rem(theme, 10)} ${alpha(accentFor(theme, color).main, 0)}` },
|
|
30
30
|
"100%": { boxShadow: `0 0 0 0 ${alpha(accentFor(theme, color).main, 0)}` }
|
|
31
31
|
}
|
|
32
32
|
}
|
|
@@ -36,7 +36,7 @@ var surfaceStyles = (theme, variant, color) => {
|
|
|
36
36
|
case "glass":
|
|
37
37
|
return {
|
|
38
38
|
backgroundColor: alpha(theme.palette.background.paper, 0.1),
|
|
39
|
-
backdropFilter:
|
|
39
|
+
backdropFilter: `blur(${rem(theme, 20)})`,
|
|
40
40
|
border: `1px solid ${alpha(accentFor(theme, color).main, 0.2)}`
|
|
41
41
|
};
|
|
42
42
|
case "gradient":
|
|
@@ -64,4 +64,4 @@ export {
|
|
|
64
64
|
commandSizeStyles,
|
|
65
65
|
commandPaperStyles
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
67
|
+
//# sourceMappingURL=chunk-C3LZ3OGJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/Command/Command.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport type { CommandProps } from './Command.types';\nimport { accentFor, rem } from '../../../tokens/scales';\n\ntype CommandVariant = NonNullable<CommandProps['variant']>;\ntype CommandColor = NonNullable<CommandProps['color']>;\ntype CommandSize = NonNullable<CommandProps['size']>;\n\nconst SIZE_MAP: Record<CommandSize, { widthPx: number; fontPx: number }> = {\n xs: { widthPx: 400, fontPx: 12 },\n sm: { widthPx: 450, fontPx: 14 },\n md: { widthPx: 500, fontPx: 16 },\n lg: { widthPx: 550, fontPx: 18 },\n xl: { widthPx: 600, fontPx: 20 },\n};\n\n/** The paper's width and type for a size, both design px read through the type scale. */\nexport const commandSizeStyles = (theme: Theme, size: CommandSize) => {\n const { widthPx, fontPx } = SIZE_MAP[size] || SIZE_MAP.md;\n return { width: rem(theme, widthPx), fontSize: rem(theme, fontPx) };\n};\n\nconst emphasisStyles = (\n theme: Theme,\n color: CommandColor,\n glow: boolean,\n pulse: boolean,\n): CSSObject => ({\n ...(glow && {\n boxShadow: `0 0 ${rem(theme, 20)} ${alpha(accentFor(theme, color).main, 0.4)}`,\n }),\n ...(pulse && {\n animation: 'pulse 2s infinite',\n '@keyframes pulse': {\n '0%': { boxShadow: `0 0 0 0 ${alpha(accentFor(theme, color).main, 0.4)}` },\n '70%': { boxShadow: `0 0 0 ${rem(theme, 10)} ${alpha(accentFor(theme, color).main, 0)}` },\n '100%': { boxShadow: `0 0 0 0 ${alpha(accentFor(theme, color).main, 0)}` },\n },\n }),\n});\n\nconst surfaceStyles = (\n theme: Theme,\n variant: CommandVariant,\n color: CommandColor,\n): CSSObject => {\n switch (variant) {\n case 'glass':\n return {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: `blur(${rem(theme, 20)})`,\n border: `1px solid ${alpha(accentFor(theme, color).main, 0.2)}`,\n };\n case 'gradient':\n return {\n background: `linear-gradient(135deg, ${accentFor(theme, color).main}, ${accentFor(theme, color).dark})`,\n color: accentFor(theme, color).contrastText,\n };\n case 'elevated':\n return { boxShadow: theme.shadows[8] };\n case 'minimal':\n return { border: 'none', boxShadow: 'none' };\n default:\n return {};\n }\n};\n\n/**\n * Every variant shares the same transition and the same optional glow/pulse; only\n * the surface — background, border, shadow — differs.\n */\nexport const commandPaperStyles = (\n theme: Theme,\n { variant, color, glow, pulse }: {\n variant: CommandVariant;\n color: CommandColor;\n glow: boolean;\n pulse: boolean;\n },\n): CSSObject => ({\n transition: theme.transitions.create(['all'], {\n duration: theme.transitions.duration.standard,\n }),\n ...emphasisStyles(theme, color, glow, pulse),\n ...surfaceStyles(theme, variant, color),\n});\n"],"mappings":";;;;;;;;AAAA,SAAS,aAAa;AAUtB,IAAM,WAAqE;AAAA,EACzE,IAAI,EAAE,SAAS,KAAK,QAAQ,GAAG;AAAA,EAC/B,IAAI,EAAE,SAAS,KAAK,QAAQ,GAAG;AAAA,EAC/B,IAAI,EAAE,SAAS,KAAK,QAAQ,GAAG;AAAA,EAC/B,IAAI,EAAE,SAAS,KAAK,QAAQ,GAAG;AAAA,EAC/B,IAAI,EAAE,SAAS,KAAK,QAAQ,GAAG;AACjC;AAGO,IAAM,oBAAoB,CAAC,OAAc,SAAsB;AACpE,QAAM,EAAE,SAAS,OAAO,IAAI,SAAS,IAAI,KAAK,SAAS;AACvD,SAAO,EAAE,OAAO,IAAI,OAAO,OAAO,GAAG,UAAU,IAAI,OAAO,MAAM,EAAE;AACpE;AAEA,IAAM,iBAAiB,CACrB,OACA,OACA,MACA,WACe;AAAA,EACf,GAAI,QAAQ;AAAA,IACV,WAAW,OAAO,IAAI,OAAO,EAAE,CAAC,IAAI,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC;AAAA,EAC9E;AAAA,EACA,GAAI,SAAS;AAAA,IACX,WAAW;AAAA,IACX,oBAAoB;AAAA,MAClB,MAAM,EAAE,WAAW,WAAW,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG;AAAA,MACzE,OAAO,EAAE,WAAW,SAAS,IAAI,OAAO,EAAE,CAAC,IAAI,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG;AAAA,MACxF,QAAQ,EAAE,WAAW,WAAW,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG;AAAA,IAC3E;AAAA,EACF;AACF;AAEA,IAAM,gBAAgB,CACpB,OACA,SACA,UACc;AACd,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA,QACL,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG;AAAA,QAC1D,gBAAgB,QAAQ,IAAI,OAAO,EAAE,CAAC;AAAA,QACtC,QAAQ,aAAa,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC;AAAA,MAC/D;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY,2BAA2B,UAAU,OAAO,KAAK,EAAE,IAAI,KAAK,UAAU,OAAO,KAAK,EAAE,IAAI;AAAA,QACpG,OAAO,UAAU,OAAO,KAAK,EAAE;AAAA,MACjC;AAAA,IACF,KAAK;AACH,aAAO,EAAE,WAAW,MAAM,QAAQ,CAAC,EAAE;AAAA,IACvC,KAAK;AACH,aAAO,EAAE,QAAQ,QAAQ,WAAW,OAAO;AAAA,IAC7C;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAMO,IAAM,qBAAqB,CAChC,OACA,EAAE,SAAS,OAAO,MAAM,MAAM,OAMf;AAAA,EACf,YAAY,MAAM,YAAY,OAAO,CAAC,KAAK,GAAG;AAAA,IAC5C,UAAU,MAAM,YAAY,SAAS;AAAA,EACvC,CAAC;AAAA,EACD,GAAG,eAAe,OAAO,OAAO,MAAM,KAAK;AAAA,EAC3C,GAAG,cAAc,OAAO,SAAS,KAAK;AACxC;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
STACK_BREAK
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2ZIHZLF5.js";
|
|
4
4
|
import {
|
|
5
5
|
CARD_RADIUS,
|
|
6
6
|
cardSurfaceStyles,
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
RAIL_GAP,
|
|
17
17
|
railsTemplateFor,
|
|
18
18
|
useListRails
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-NB3FGWU4.js";
|
|
20
20
|
import {
|
|
21
21
|
DENSITY_ROW_PADDING
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-PMOEG36E.js";
|
|
23
23
|
import {
|
|
24
24
|
rem
|
|
25
25
|
} from "./chunk-YKCAJ2TN.js";
|
|
@@ -189,4 +189,4 @@ export {
|
|
|
189
189
|
actionProps,
|
|
190
190
|
rowStyles
|
|
191
191
|
};
|
|
192
|
-
//# sourceMappingURL=chunk-
|
|
192
|
+
//# sourceMappingURL=chunk-C55AWF3U.js.map
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
rem
|
|
3
|
+
} from "./chunk-YKCAJ2TN.js";
|
|
4
|
+
|
|
1
5
|
// src/components/form/AddressAutocomplete/AddressSuggestionsPaper.tsx
|
|
2
6
|
import Paper from "@mui/material/Paper/index.js";
|
|
3
7
|
import { alpha, useTheme } from "@mui/material/styles/index.js";
|
|
@@ -13,8 +17,8 @@ var AddressSuggestionsPaper = (props) => {
|
|
|
13
17
|
sx: {
|
|
14
18
|
mt: 1,
|
|
15
19
|
background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.98)} 0%, ${alpha(theme.palette.background.paper, 0.95)} 100%)`,
|
|
16
|
-
backdropFilter:
|
|
17
|
-
WebkitBackdropFilter:
|
|
20
|
+
backdropFilter: `blur(${rem(theme, 20)})`,
|
|
21
|
+
WebkitBackdropFilter: `blur(${rem(theme, 20)})`,
|
|
18
22
|
border: `1px solid ${alpha(theme.palette.divider, 0.18)}`
|
|
19
23
|
}
|
|
20
24
|
}
|
|
@@ -24,4 +28,4 @@ var AddressSuggestionsPaper = (props) => {
|
|
|
24
28
|
export {
|
|
25
29
|
AddressSuggestionsPaper
|
|
26
30
|
};
|
|
27
|
-
//# sourceMappingURL=chunk-
|
|
31
|
+
//# sourceMappingURL=chunk-C5RQBTRZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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\nimport { rem } from '../../../tokens/relative';\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(${rem(theme, 20)})`,\n WebkitBackdropFilter: `blur(${rem(theme, 20)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n }}\n />\n );\n};\n"],"mappings":";;;;;AACA,OAAO,WAAW;AAClB,SAAS,OAAO,gBAAgB;AAW5B;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,QAAQ,IAAI,OAAO,EAAE,CAAC;AAAA,QACtC,sBAAsB,QAAQ,IAAI,OAAO,EAAE,CAAC;AAAA,QAC5C,QAAQ,aAAa,MAAM,MAAM,QAAQ,SAAS,IAAI,CAAC;AAAA,MACzD;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-4XK6JQ4D.js";
|
|
4
4
|
import {
|
|
5
5
|
Form
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-D6KL74KI.js";
|
|
7
7
|
|
|
8
8
|
// src/components/form/total-form/FormContainer.tsx
|
|
9
9
|
import { validateFields } from "@12-apps/forms-core";
|
|
@@ -55,4 +55,4 @@ function FormContainer({
|
|
|
55
55
|
export {
|
|
56
56
|
FormContainer
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
58
|
+
//# sourceMappingURL=chunk-CPAJYJUD.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
GridShell
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-QEG3P5D4.js";
|
|
4
4
|
import {
|
|
5
5
|
useDataViewsState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IKLOIONQ.js";
|
|
7
7
|
|
|
8
8
|
// src/components/data-display/DataViews/DataViewsGrid.tsx
|
|
9
9
|
import { useEffect, useRef } from "react";
|
|
@@ -27,4 +27,4 @@ function DataViewsGrid(props) {
|
|
|
27
27
|
export {
|
|
28
28
|
DataViewsGrid
|
|
29
29
|
};
|
|
30
|
-
//# sourceMappingURL=chunk-
|
|
30
|
+
//# sourceMappingURL=chunk-CQLPDY2J.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-6DPAWXZ3.js";
|
|
7
7
|
import {
|
|
8
8
|
Button
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2EAAWOZ2.js";
|
|
10
10
|
import {
|
|
11
11
|
Text
|
|
12
12
|
} from "./chunk-WTOYEWW6.js";
|
|
@@ -80,4 +80,4 @@ function DataViewsEmpty({
|
|
|
80
80
|
export {
|
|
81
81
|
DataViewsEmpty
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=chunk-
|
|
83
|
+
//# sourceMappingURL=chunk-CQPFSEJB.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-NPP44TQG.js";
|
|
7
7
|
import {
|
|
8
8
|
CategorySelect
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-34BZXJGT.js";
|
|
10
10
|
|
|
11
11
|
// src/components/data-display/DataViews/data-views-category-pill.tsx
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -79,4 +79,4 @@ export {
|
|
|
79
79
|
emitPillDiff,
|
|
80
80
|
PillControl
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-CS3KOKL3.js.map
|
|
@@ -25,15 +25,9 @@ var spacingMap = {
|
|
|
25
25
|
lg: 4,
|
|
26
26
|
xl: 5
|
|
27
27
|
};
|
|
28
|
-
var
|
|
29
|
-
sm: "600px",
|
|
30
|
-
md: "900px",
|
|
31
|
-
lg: "1200px",
|
|
32
|
-
xl: "1536px",
|
|
33
|
-
full: "100%"
|
|
34
|
-
};
|
|
28
|
+
var formMaxWidth = (theme, maxWidth) => maxWidth === "full" ? "100%" : rem(theme, theme.breakpoints.values[maxWidth]);
|
|
35
29
|
var Form = React.forwardRef(
|
|
36
|
-
({ variant = "vertical", maxWidth = "full", spacing = "md", children, dataTestId, ...props }, ref) => /* @__PURE__ */ jsx(StyledForm, { ref, variant, role: "form", "data-testid": dataTestId, ...props, children: /* @__PURE__ */ jsx(Box, { sx: { maxWidth:
|
|
30
|
+
({ variant = "vertical", maxWidth = "full", spacing = "md", children, dataTestId, ...props }, ref) => /* @__PURE__ */ jsx(StyledForm, { ref, variant, role: "form", "data-testid": dataTestId, ...props, children: /* @__PURE__ */ jsx(Box, { sx: { maxWidth: (theme) => formMaxWidth(theme, maxWidth), width: "100%" }, children: variant === "inline" ? children : /* @__PURE__ */ jsx(Stack, { spacing: spacingMap[spacing], children }) }) })
|
|
37
31
|
);
|
|
38
32
|
Form.displayName = "Form";
|
|
39
33
|
var StyledFormField = styled(Box, {
|
|
@@ -42,7 +36,7 @@ var StyledFormField = styled(Box, {
|
|
|
42
36
|
({ theme, variant }) => ({
|
|
43
37
|
display: variant === "horizontal" ? "grid" : "flex",
|
|
44
38
|
flexDirection: variant === "horizontal" ? void 0 : "column",
|
|
45
|
-
gridTemplateColumns: variant === "horizontal" ?
|
|
39
|
+
gridTemplateColumns: variant === "horizontal" ? `${rem(theme, 200)} 1fr` : void 0,
|
|
46
40
|
columnGap: variant === "horizontal" ? theme.spacing(1) : void 0,
|
|
47
41
|
alignItems: variant === "horizontal" ? "center" : void 0
|
|
48
42
|
})
|
|
@@ -113,4 +107,4 @@ export {
|
|
|
113
107
|
FormControl,
|
|
114
108
|
FormMessage
|
|
115
109
|
};
|
|
116
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-D6KL74KI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/Form/Form.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport { styled, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type {\n FormControlProps,\n FormFieldProps,\n FormLabelProps,\n FormMessageProps,\n FormProps,\n} from './Form.types';\nimport { rem } from '../../../tokens/relative';\n\nconst StyledForm = styled('form', {\n shouldForwardProp: (prop) => prop !== 'variant',\n})<{ variant?: FormProps['variant'] }>(({ theme, variant }) => ({\n width: '100%',\n ...(variant === 'inline' && {\n display: 'flex',\n gap: theme.spacing(2),\n alignItems: 'flex-start',\n }),\n}));\n\nconst spacingMap = {\n xs: 1,\n sm: 2,\n md: 3,\n lg: 4,\n xl: 5,\n};\n\n/** A form's width cap: the theme's breakpoint of that name, through the type scale; `full` is uncapped. */\nconst formMaxWidth = (theme: Theme, maxWidth: NonNullable<FormProps['maxWidth']>): string =>\n maxWidth === 'full' ? '100%' : rem(theme, theme.breakpoints.values[maxWidth]);\n\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n ({ variant = 'vertical', maxWidth = 'full', spacing = 'md', children, dataTestId, ...props }, ref) => (\n <StyledForm ref={ref} variant={variant} role=\"form\" data-testid={dataTestId} {...props}>\n <Box sx={{ maxWidth: (theme) => formMaxWidth(theme, maxWidth), width: '100%' }}>\n {variant === 'inline' ? (\n children\n ) : (\n <Stack spacing={spacingMap[spacing]}>{children}</Stack>\n )}\n </Box>\n </StyledForm>\n ),\n);\n\nForm.displayName = 'Form';\n\n/**\n * NO ROW GAP HERE, and that is the fix rather than an omission.\n *\n * `FormLabel` already carries `marginBottom: theme.spacing(0.5)` — 4px — and it\n * carries it because it has to: every OTHER user of it (`CepField`,\n * `CategorySelect`, `CreatableSelect`, the three `total-form` fields, five of\n * `@12-apps/discounts`' builders and the host's own `currency-field`) puts a\n * bare `FormLabel` straight inside a `FormControl`, which is a plain block box\n * with no gap of its own. There, the label's own margin is the ONLY thing\n * between the label and the control.\n *\n * A `gap: theme.spacing(1)` here was a second mechanism for that one job, and in\n * a column the two ADD: 8px + 4px put `FormField` at 12px where every one of\n * those siblings sits at 4px. Measured in Chromium at 320x568 on a consuming\n * app's six-field delivery address form, the 8px a row it added pushed the\n * submit button from 561px to 609px — 41px below the fold of the smallest\n * supported phone, i.e. a checkout whose primary action is off-screen.\n *\n * That claim is about `FormLabel`'s own callers, not about the whole package:\n * `Textarea` labels its control through MUI's `InputLabel` at\n * `theme.spacing(1)` and still draws 8px. It composes nothing out of\n * `FormLabel`, so it is a separate inconsistency rather than a reason to keep\n * a second spacing here.\n *\n * ## The `columnGap` is scaffolding, and currently unreachable\n *\n * `FormFieldProps` has no `variant` and `FormField` passes none, so `variant`\n * is ALWAYS undefined and every branch below resolves to the vertical shape.\n * `Form` accepts `variant=\"horizontal\"` and `Form.md` documents it as \"labels\n * beside inputs\", but nothing carries that variant down to the field — so a\n * horizontal form draws vertical rows today. That gap is older than this\n * change and fixing it is a feature, not a spacing fix.\n *\n * The branch is kept, scoped to the COLUMN axis, so that whoever does wire it\n * up inherits the right answer: with the label beside the control, a horizontal\n * gap and a vertical margin are orthogonal and nothing double-counts. A `gap`\n * shorthand there would put the 8px back on the row axis the moment a field\n * wrapped.\n */\nconst StyledFormField = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'variant',\n})<{ variant?: 'vertical' | 'horizontal' }>(\n ({ theme, variant }) => ({\n display: variant === 'horizontal' ? 'grid' : 'flex',\n flexDirection: variant === 'horizontal' ? undefined : 'column',\n gridTemplateColumns: variant === 'horizontal' ? `${rem(theme, 200)} 1fr` : undefined,\n columnGap: variant === 'horizontal' ? theme.spacing(1) : undefined,\n alignItems: variant === 'horizontal' ? 'center' : undefined,\n }),\n);\n\nexport const FormField: React.FC<FormFieldProps> = ({\n name,\n label,\n required,\n error,\n helperText,\n children,\n dataTestId,\n}) => (\n <StyledFormField data-testid={dataTestId}>\n {label && (\n <FormLabel required={required} error={!!error} htmlFor={name} dataTestId={dataTestId ? `${dataTestId}-label` : undefined}>\n {label}\n </FormLabel>\n )}\n <FormControl fullWidth dataTestId={dataTestId ? `${dataTestId}-control` : undefined}>\n {children}\n {(error || helperText) && <FormMessage error={!!error} dataTestId={dataTestId ? `${dataTestId}-message` : undefined}>{error || helperText}</FormMessage>}\n </FormControl>\n </StyledFormField>\n );\n\nconst StyledFormLabel = styled('label', {\n shouldForwardProp: (prop) => prop !== 'error',\n})<{ error?: boolean }>(({ theme, error }) => ({\n fontSize: rem(theme, 14),\n fontWeight: 500,\n color: error ? theme.palette.error.main : theme.palette.text.primary,\n marginBottom: theme.spacing(0.5),\n display: 'block',\n '&::after': {\n content: '\" *\"',\n color: theme.palette.error.main,\n display: 'var(--required-display, none)',\n },\n}));\n\nexport const FormLabel: React.FC<FormLabelProps> = ({ required, error, children, htmlFor, dataTestId }) => (\n <StyledFormLabel\n error={error}\n htmlFor={htmlFor}\n data-testid={dataTestId}\n style={{ '--required-display': required ? 'inline' : 'none' } as React.CSSProperties}\n >\n {children}\n </StyledFormLabel>\n );\n\nconst StyledFormControl = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'fullWidth',\n})<{ fullWidth?: boolean }>(({ fullWidth }) => ({\n width: fullWidth ? '100%' : 'auto',\n position: 'relative',\n}));\n\nexport const FormControl: React.FC<FormControlProps> = ({ fullWidth = true, children, dataTestId }) =>\n // Don't pass error prop to the DOM element\n <StyledFormControl fullWidth={fullWidth} data-testid={dataTestId}>{children}</StyledFormControl>\n;\n\nconst StyledFormMessage = styled('span', {\n shouldForwardProp: (prop) => prop !== 'error',\n})<{ error?: boolean }>(({ theme, error }) => ({\n fontSize: rem(theme, 12),\n marginTop: theme.spacing(0.5),\n color: error ? theme.palette.error.main : theme.palette.text.secondary,\n display: 'block',\n}));\n\nexport const FormMessage: React.FC<FormMessageProps> = ({ error, children, dataTestId }) => <StyledFormMessage error={error} data-testid={dataTestId}>{children}</StyledFormMessage>;\n"],"mappings":"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","names":[]}
|
|
@@ -3,12 +3,16 @@ import {
|
|
|
3
3
|
} from "./chunk-YMGHTZA6.js";
|
|
4
4
|
import {
|
|
5
5
|
MenubarItemView
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LP3JCXER.js";
|
|
7
|
+
import {
|
|
8
|
+
rem
|
|
9
|
+
} from "./chunk-YKCAJ2TN.js";
|
|
7
10
|
|
|
8
11
|
// src/components/form/Menubar/Menubar.toolbar.tsx
|
|
9
12
|
import Box from "@mui/material/Box/index.js";
|
|
10
13
|
import CircularProgress from "@mui/material/CircularProgress/index.js";
|
|
11
14
|
import Toolbar from "@mui/material/Toolbar/index.js";
|
|
15
|
+
import { useTheme } from "@mui/material/styles/index.js";
|
|
12
16
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
17
|
var MenubarToolbar = ({
|
|
14
18
|
ariaLabel,
|
|
@@ -29,6 +33,7 @@ var MenubarToolbar = ({
|
|
|
29
33
|
onFocus,
|
|
30
34
|
onBlur
|
|
31
35
|
}) => {
|
|
36
|
+
const theme = useTheme();
|
|
32
37
|
const isVertical = orientation === "vertical";
|
|
33
38
|
return /* @__PURE__ */ jsxs(
|
|
34
39
|
Toolbar,
|
|
@@ -44,7 +49,7 @@ var MenubarToolbar = ({
|
|
|
44
49
|
},
|
|
45
50
|
children: [
|
|
46
51
|
logo && /* @__PURE__ */ jsx(Box, { sx: { mr: 2, display: "flex", alignItems: "center" }, children: logo }),
|
|
47
|
-
loading ? /* @__PURE__ */ jsx(CircularProgress, { size: 20, color: "inherit" }) : /* @__PURE__ */ jsx(
|
|
52
|
+
loading ? /* @__PURE__ */ jsx(CircularProgress, { size: rem(theme, 20), color: "inherit" }) : /* @__PURE__ */ jsx(
|
|
48
53
|
Box,
|
|
49
54
|
{
|
|
50
55
|
sx: {
|
|
@@ -82,4 +87,4 @@ var MenubarToolbar = ({
|
|
|
82
87
|
export {
|
|
83
88
|
MenubarToolbar
|
|
84
89
|
};
|
|
85
|
-
//# sourceMappingURL=chunk-
|
|
90
|
+
//# sourceMappingURL=chunk-DJYL2LC6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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 { useTheme, 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';\nimport { rem } from '../../../tokens/relative';\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 theme = useTheme();\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={rem(theme, 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;AACpB,SAAS,gBAAgC;AAwDrC,SAWW,KAXX;AAvBG,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,QAAQ,SAAS;AACvB,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,OAAO,EAAE,GAAG,OAAM,WAAU,IAExD;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,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getColorFromTheme,
|
|
3
3
|
textareaEmphasisStyles
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4RDJMIWL.js";
|
|
5
5
|
import {
|
|
6
6
|
fieldBorder
|
|
7
7
|
} from "./chunk-CGO452DC.js";
|
|
@@ -15,7 +15,9 @@ import {
|
|
|
15
15
|
FIELD_BORDER_WIDTH
|
|
16
16
|
} from "./chunk-PZBK3F52.js";
|
|
17
17
|
import {
|
|
18
|
-
rem
|
|
18
|
+
rem,
|
|
19
|
+
rems,
|
|
20
|
+
sxRem
|
|
19
21
|
} from "./chunk-YKCAJ2TN.js";
|
|
20
22
|
|
|
21
23
|
// src/components/form/Textarea/Textarea.tsx
|
|
@@ -23,7 +25,7 @@ import Box from "@mui/material/Box/index.js";
|
|
|
23
25
|
import FormHelperText from "@mui/material/FormHelperText/index.js";
|
|
24
26
|
import InputLabel from "@mui/material/InputLabel/index.js";
|
|
25
27
|
import TextareaAutosize from "@mui/material/TextareaAutosize/index.js";
|
|
26
|
-
import { alpha, styled } from "@mui/material/styles/index.js";
|
|
28
|
+
import { alpha, styled, useTheme } from "@mui/material/styles/index.js";
|
|
27
29
|
import { lazy, Suspense, useState } from "react";
|
|
28
30
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
29
31
|
var TextareaRichEditor = lazy(async () => ({
|
|
@@ -47,11 +49,11 @@ var StyledTextarea = styled(TextareaAutosize, {
|
|
|
47
49
|
const colorPalette = getColorFromTheme(theme, customColor);
|
|
48
50
|
const errorColor = theme.palette.error;
|
|
49
51
|
const sizeMap = {
|
|
50
|
-
xs: { padding:
|
|
51
|
-
sm: { padding:
|
|
52
|
-
md: { padding:
|
|
53
|
-
lg: { padding:
|
|
54
|
-
xl: { padding:
|
|
52
|
+
xs: { padding: rems(theme, 6, 8), fontSize: rem(theme, 12), minHeight: rem(theme, 60) },
|
|
53
|
+
sm: { padding: rems(theme, 8, 10), fontSize: rem(theme, 14), minHeight: rem(theme, 80) },
|
|
54
|
+
md: { padding: rems(theme, 10, 12), fontSize: rem(theme, 16), minHeight: rem(theme, 100) },
|
|
55
|
+
lg: { padding: rems(theme, 12, 14), fontSize: rem(theme, 18), minHeight: rem(theme, 120) },
|
|
56
|
+
xl: { padding: rems(theme, 14, 16), fontSize: rem(theme, 20), minHeight: rem(theme, 140) }
|
|
55
57
|
};
|
|
56
58
|
const baseStyles = {
|
|
57
59
|
width: "100%",
|
|
@@ -77,7 +79,7 @@ var StyledTextarea = styled(TextareaAutosize, {
|
|
|
77
79
|
"&:focus": {
|
|
78
80
|
borderColor: error ? errorColor.main : colorPalette.main,
|
|
79
81
|
backgroundColor: theme.palette.background.paper,
|
|
80
|
-
boxShadow: `inset 0 0 0
|
|
82
|
+
boxShadow: `inset 0 0 0 ${FIELD_BORDER_WIDTH}px ${error ? errorColor.main : colorPalette.main}, 0 0 0 ${rem(theme, 3)} ${alpha(error ? errorColor.main : colorPalette.main, 0.1)}`
|
|
81
83
|
}
|
|
82
84
|
};
|
|
83
85
|
return {
|
|
@@ -93,14 +95,13 @@ var StyledLabel = styled(InputLabel, {
|
|
|
93
95
|
color: error ? theme.palette.error.main : theme.palette.text.primary,
|
|
94
96
|
...glass && {
|
|
95
97
|
backgroundColor: alpha(theme.palette.background.paper, 0.1),
|
|
96
|
-
backdropFilter:
|
|
97
|
-
padding:
|
|
98
|
-
borderRadius:
|
|
98
|
+
backdropFilter: `blur(${rem(theme, 10)})`,
|
|
99
|
+
padding: rems(theme, 4, 8),
|
|
100
|
+
borderRadius: rem(theme, 4),
|
|
99
101
|
border: `1px solid ${fieldEdge(theme)}`,
|
|
100
102
|
display: "inline-block"
|
|
101
103
|
}
|
|
102
104
|
}));
|
|
103
|
-
var ICON_GUTTER = "40px";
|
|
104
105
|
var TEXTAREA_DEFAULTS = {
|
|
105
106
|
variant: "default",
|
|
106
107
|
color: "primary",
|
|
@@ -133,8 +134,8 @@ var TextareaIcon = ({ icon, iconPosition }) => /* @__PURE__ */ jsx(
|
|
|
133
134
|
{
|
|
134
135
|
sx: {
|
|
135
136
|
position: "absolute",
|
|
136
|
-
top:
|
|
137
|
-
...iconPosition === "start" ? { left:
|
|
137
|
+
top: sxRem(12),
|
|
138
|
+
...iconPosition === "start" ? { left: sxRem(12) } : { right: sxRem(12) },
|
|
138
139
|
color: "text.secondary",
|
|
139
140
|
pointerEvents: "none",
|
|
140
141
|
zIndex: 1
|
|
@@ -148,6 +149,10 @@ function RichVariant({
|
|
|
148
149
|
}) {
|
|
149
150
|
return /* @__PURE__ */ jsx(TextareaShell, { ...shell, children: /* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(TextareaRichEditor, { ...editor }) }) });
|
|
150
151
|
}
|
|
152
|
+
function withIconGutter(theme, style, hasIcon, iconPosition) {
|
|
153
|
+
if (!hasIcon) return { ...style };
|
|
154
|
+
return { ...style, [iconPosition === "start" ? "paddingLeft" : "paddingRight"]: rem(theme, 40) };
|
|
155
|
+
}
|
|
151
156
|
var Textarea = (textareaProps) => {
|
|
152
157
|
const {
|
|
153
158
|
variant,
|
|
@@ -170,18 +175,11 @@ var Textarea = (textareaProps) => {
|
|
|
170
175
|
...props
|
|
171
176
|
} = { ...TEXTAREA_DEFAULTS, ...definedProps(textareaProps) };
|
|
172
177
|
const { richEditorCopy } = textareaProps;
|
|
178
|
+
const theme = useTheme();
|
|
173
179
|
const [richTextValue, setRichTextValue] = useState("");
|
|
174
180
|
const hasIcon = Boolean(icon);
|
|
175
181
|
const testId = dataTestId || dataTestIdCamelCase;
|
|
176
|
-
const textareaStyle =
|
|
177
|
-
...style,
|
|
178
|
-
// Same gap either side; only which side it applies to changes. The previous
|
|
179
|
-
// version had `iconPosition === 'start' ? '40px' : '40px'`, a ternary whose
|
|
180
|
-
// two branches were identical.
|
|
181
|
-
...hasIcon && {
|
|
182
|
-
[iconPosition === "start" ? "paddingLeft" : "paddingRight"]: ICON_GUTTER
|
|
183
|
-
}
|
|
184
|
-
};
|
|
182
|
+
const textareaStyle = withIconGutter(theme, style, hasIcon, iconPosition);
|
|
185
183
|
if (variant === "rich" && richEditorCopy) {
|
|
186
184
|
return /* @__PURE__ */ jsx(
|
|
187
185
|
RichVariant,
|
|
@@ -227,4 +225,4 @@ Textarea.displayName = "Textarea";
|
|
|
227
225
|
export {
|
|
228
226
|
Textarea
|
|
229
227
|
};
|
|
230
|
-
//# sourceMappingURL=chunk-
|
|
228
|
+
//# sourceMappingURL=chunk-DUNG7D4B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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, useTheme } 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, rems, sxRem } 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: rems(theme, 6, 8), fontSize: rem(theme, 12), minHeight: rem(theme, 60) },\n sm: { padding: rems(theme, 8, 10), fontSize: rem(theme, 14), minHeight: rem(theme, 80) },\n md: { padding: rems(theme, 10, 12), fontSize: rem(theme, 16), minHeight: rem(theme, 100) },\n lg: { padding: rems(theme, 12, 14), fontSize: rem(theme, 18), minHeight: rem(theme, 120) },\n xl: { padding: rems(theme, 14, 16), fontSize: rem(theme, 20), minHeight: rem(theme, 140) } };\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 ${FIELD_BORDER_WIDTH}px ${error ? errorColor.main : colorPalette.main}, 0 0 0 ${rem(theme, 3)} ${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(${rem(theme, 10)})`,\n padding: rems(theme, 4, 8),\n borderRadius: rem(theme, 4),\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 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: sxRem(12),\n ...(iconPosition === 'start' ? { left: sxRem(12) } : { right: sxRem(12) }),\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\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. The icon's gutter is 40px at the design scale.\nfunction withIconGutter(\n theme: Theme,\n style: React.CSSProperties | undefined,\n hasIcon: boolean,\n iconPosition: TextareaProps['iconPosition'],\n): React.CSSProperties {\n if (!hasIcon) return { ...style };\n return { ...style, [iconPosition === 'start' ? 'paddingLeft' : 'paddingRight']: rem(theme, 40) };\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 theme = useTheme();\n const [richTextValue, setRichTextValue] = useState('');\n const hasIcon = Boolean(icon);\n const testId = dataTestId || dataTestIdCamelCase;\n\n const textareaStyle = withIconGutter(theme, style, hasIcon, iconPosition);\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":[]}
|
|
@@ -8,7 +8,9 @@ import {
|
|
|
8
8
|
getStrengthLabel
|
|
9
9
|
} from "./chunk-SAIO6EBW.js";
|
|
10
10
|
import {
|
|
11
|
-
rem
|
|
11
|
+
rem,
|
|
12
|
+
rems,
|
|
13
|
+
sxRem
|
|
12
14
|
} from "./chunk-YKCAJ2TN.js";
|
|
13
15
|
|
|
14
16
|
// src/components/form/PasswordStrength/PasswordStrength.tsx
|
|
@@ -34,9 +36,9 @@ var pulseAnimation = keyframes`
|
|
|
34
36
|
opacity: 0.7;
|
|
35
37
|
}
|
|
36
38
|
`;
|
|
37
|
-
var slideInAnimation = keyframes`
|
|
39
|
+
var slideInAnimation = (theme) => keyframes`
|
|
38
40
|
from {
|
|
39
|
-
transform: translateX(-
|
|
41
|
+
transform: translateX(${rem(theme, -10)});
|
|
40
42
|
opacity: 0;
|
|
41
43
|
}
|
|
42
44
|
to {
|
|
@@ -50,8 +52,8 @@ var StrengthContainer = styled(Box, {
|
|
|
50
52
|
width: "100%",
|
|
51
53
|
padding: theme.spacing(2),
|
|
52
54
|
background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.8)} 0%, ${alpha(theme.palette.background.paper, 0.6)} 100%)`,
|
|
53
|
-
backdropFilter:
|
|
54
|
-
WebkitBackdropFilter:
|
|
55
|
+
backdropFilter: `blur(${rem(theme, 10)})`,
|
|
56
|
+
WebkitBackdropFilter: `blur(${rem(theme, 10)})`,
|
|
55
57
|
border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,
|
|
56
58
|
borderRadius: theme.shape.borderRadius * 2,
|
|
57
59
|
transition: animated ? "all 0.3s ease" : "none"
|
|
@@ -71,14 +73,14 @@ var StrengthBar = styled(LinearProgress, {
|
|
|
71
73
|
return `linear-gradient(90deg, ${color} 0%, ${alpha(color, 0.8)} 100%)`;
|
|
72
74
|
};
|
|
73
75
|
return {
|
|
74
|
-
height: 8,
|
|
75
|
-
borderRadius: 4,
|
|
76
|
+
height: rem(theme, 8),
|
|
77
|
+
borderRadius: rem(theme, 4),
|
|
76
78
|
backgroundColor: alpha(theme.palette.action.disabled, 0.1),
|
|
77
79
|
"& .MuiLinearProgress-bar": {
|
|
78
|
-
borderRadius: 4,
|
|
80
|
+
borderRadius: rem(theme, 4),
|
|
79
81
|
background: getGradient(),
|
|
80
82
|
transition: animated ? "all 0.3s ease" : "none",
|
|
81
|
-
boxShadow: `0
|
|
83
|
+
boxShadow: `0 ${rems(theme, 2, 8)} ${alpha(getColor(), 0.3)}`
|
|
82
84
|
}
|
|
83
85
|
};
|
|
84
86
|
});
|
|
@@ -92,7 +94,7 @@ var RequirementItem = styled(Box, {
|
|
|
92
94
|
borderRadius: theme.shape.borderRadius,
|
|
93
95
|
background: met ? alpha(theme.palette.success.main, 0.08) : alpha(theme.palette.action.disabled, 0.04),
|
|
94
96
|
transition: animated ? "all 0.3s ease" : "none",
|
|
95
|
-
animation: animated ? `${slideInAnimation} 0.3s ease` : "none",
|
|
97
|
+
animation: animated ? `${slideInAnimation(theme)} 0.3s ease` : "none",
|
|
96
98
|
"& svg": {
|
|
97
99
|
fontSize: rem(theme, 16),
|
|
98
100
|
color: met ? theme.palette.success.main : theme.palette.text.disabled
|
|
@@ -127,11 +129,11 @@ var Step = styled(Box, {
|
|
|
127
129
|
})(
|
|
128
130
|
({ theme, active, completed, animated }) => ({
|
|
129
131
|
flex: 1,
|
|
130
|
-
height: 6,
|
|
131
|
-
borderRadius: 3,
|
|
132
|
+
height: rem(theme, 6),
|
|
133
|
+
borderRadius: rem(theme, 3),
|
|
132
134
|
background: completed ? `linear-gradient(90deg, ${theme.palette.success.main} 0%, ${theme.palette.success.light} 100%)` : active ? `linear-gradient(90deg, ${theme.palette.warning.main} 0%, ${theme.palette.warning.light} 100%)` : alpha(theme.palette.action.disabled, 0.2),
|
|
133
135
|
transition: animated ? "all 0.3s ease" : "none",
|
|
134
|
-
boxShadow: completed ? `0
|
|
136
|
+
boxShadow: completed ? `0 ${rems(theme, 2, 8)} ${alpha(theme.palette.success.main, 0.3)}` : "none"
|
|
135
137
|
})
|
|
136
138
|
);
|
|
137
139
|
var StrengthIndicator = ({ variant, strength, animated }) => {
|
|
@@ -142,8 +144,8 @@ var StrengthIndicator = ({ variant, strength, animated }) => {
|
|
|
142
144
|
Box,
|
|
143
145
|
{
|
|
144
146
|
sx: {
|
|
145
|
-
width: 80,
|
|
146
|
-
height: 80,
|
|
147
|
+
width: sxRem(80),
|
|
148
|
+
height: sxRem(80),
|
|
147
149
|
borderRadius: "50%",
|
|
148
150
|
background: `conic-gradient(
|
|
149
151
|
${theme.palette.success.main} 0deg ${strength * 3.6}deg,
|
|
@@ -152,14 +154,14 @@ var StrengthIndicator = ({ variant, strength, animated }) => {
|
|
|
152
154
|
display: "flex",
|
|
153
155
|
alignItems: "center",
|
|
154
156
|
justifyContent: "center",
|
|
155
|
-
boxShadow: `0
|
|
157
|
+
boxShadow: `0 ${rems(theme, 4, 12)} ${alpha(theme.palette.success.main, strength / 200)}`
|
|
156
158
|
},
|
|
157
159
|
children: /* @__PURE__ */ jsx(
|
|
158
160
|
Box,
|
|
159
161
|
{
|
|
160
162
|
sx: {
|
|
161
|
-
width: 64,
|
|
162
|
-
height: 64,
|
|
163
|
+
width: sxRem(64),
|
|
164
|
+
height: sxRem(64),
|
|
163
165
|
borderRadius: "50%",
|
|
164
166
|
background: theme.palette.background.paper,
|
|
165
167
|
display: "flex",
|
|
@@ -294,4 +296,4 @@ export {
|
|
|
294
296
|
PasswordStrength,
|
|
295
297
|
PasswordStrength_default
|
|
296
298
|
};
|
|
297
|
-
//# sourceMappingURL=chunk-
|
|
299
|
+
//# sourceMappingURL=chunk-ECNJGROX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/form/PasswordStrength/PasswordStrength.tsx"],"sourcesContent":["import CheckIcon from '@mui/icons-material/Check';\nimport CloseIcon from '@mui/icons-material/Close';\n\nimport Box from '@mui/material/Box/index.js';\nimport Chip from '@mui/material/Chip/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport LinearProgress from '@mui/material/LinearProgress/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport { alpha, keyframes, styled, useTheme } from '@mui/material/styles/index.js';\nimport type { FC} from 'react';\nimport React, { useMemo } from 'react';\n\nimport type { RequirementChecks } from './PasswordStrength.helpers';\nimport {\n buildSuggestions,\n calculatePasswordStrength,\n defaultRequirements,\n evaluateRequirements,\n getStrengthIcon,\n getStrengthLabel,\n SuggestionsList } from './PasswordStrength.helpers';\nimport type { PasswordRequirements, PasswordStrengthProps } from './PasswordStrength.types';\nimport type { PasswordStrengthCopy } from '../../../copy';\nimport { rem, rems, sxRem } from '../../../tokens/relative';\n\ninterface RequirementIconProps {\n met: boolean;\n}\n const RequirementIcon: FC<RequirementIconProps> = ({ met }) => {\n return met ? (\n <CheckIcon data-testid=\"check-icon\" />\n ) : (\n <CloseIcon data-testid=\"close-icon\" />\n );\n};\n\n// Default requirements\n// Animation keyframes\nconst pulseAnimation = keyframes`\n 0%, 100% {\n opacity: 1;\n }\n 50% {\n opacity: 0.7;\n }\n`;\n\nconst slideInAnimation = (theme: Theme) => keyframes`\n from {\n transform: translateX(${rem(theme, -10)});\n opacity: 0;\n }\n to {\n transform: translateX(0);\n opacity: 1;\n }\n`;\n\n// Styled components\nconst StrengthContainer = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'animated' })<{ animated?: boolean }>(({ theme, animated }) => ({\n width: '100%',\n padding: theme.spacing(2),\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.8)} 0%, ${alpha(theme.palette.background.paper, 0.6)} 100%)`,\n backdropFilter: `blur(${rem(theme, 10)})`,\n WebkitBackdropFilter: `blur(${rem(theme, 10)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n borderRadius: theme.shape.borderRadius * 2,\n transition: animated ? 'all 0.3s ease' : 'none' }));\n\nconst StrengthBar = styled(LinearProgress, {\n shouldForwardProp: (prop) => prop !== 'strength' && prop !== 'animated' })<{ strength: number; animated?: boolean }>(({ theme, strength, animated }) => {\n const getColor = () => {\n if (strength <= 20) return theme.palette.error.main;\n if (strength <= 40) return theme.palette.warning.main;\n if (strength <= 60) return theme.palette.info.main;\n if (strength <= 80) return theme.palette.success.light;\n return theme.palette.success.main;\n };\n\n const getGradient = () => {\n const color = getColor();\n return `linear-gradient(90deg, ${color} 0%, ${alpha(color, 0.8)} 100%)`;\n };\n\n return {\n height: rem(theme, 8),\n borderRadius: rem(theme, 4),\n backgroundColor: alpha(theme.palette.action.disabled, 0.1),\n '& .MuiLinearProgress-bar': {\n borderRadius: rem(theme, 4),\n background: getGradient(),\n transition: animated ? 'all 0.3s ease' : 'none',\n boxShadow: `0 ${rems(theme, 2, 8)} ${alpha(getColor(), 0.3)}` } };\n});\n\nconst RequirementItem = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'met' && prop !== 'animated' })<{ met: boolean; animated?: boolean }>(({ theme, met, animated }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(1),\n padding: theme.spacing(0.75, 1),\n borderRadius: theme.shape.borderRadius,\n background: met\n ? alpha(theme.palette.success.main, 0.08)\n : alpha(theme.palette.action.disabled, 0.04),\n transition: animated ? 'all 0.3s ease' : 'none',\n animation: animated ? `${slideInAnimation(theme)} 0.3s ease` : 'none',\n '& svg': {\n fontSize: rem(theme, 16),\n color: met ? theme.palette.success.main : theme.palette.text.disabled } }));\n\nconst StrengthLabel = styled(Chip, {\n shouldForwardProp: (prop) => prop !== 'strength' && prop !== 'animated' })<{ strength: number; animated?: boolean }>(({ theme, strength, animated }) => {\n const getColor = () => {\n if (strength <= 20) return theme.palette.error;\n if (strength <= 40) return theme.palette.warning;\n if (strength <= 60) return theme.palette.info;\n if (strength <= 80) return theme.palette.success;\n return theme.palette.success;\n };\n\n const palette = getColor();\n\n return {\n background: alpha(palette.main, 0.1),\n color: palette.main,\n border: `1px solid ${alpha(palette.main, 0.3)}`,\n fontWeight: 600,\n animation: animated ? `${pulseAnimation} 2s ease infinite` : 'none' };\n});\n\nconst StepsContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n marginTop: theme.spacing(2) }));\n\nconst Step = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'active' && prop !== 'completed' && prop !== 'animated' })<{ active: boolean; completed: boolean; animated?: boolean }>(\n ({ theme, active, completed, animated }) => ({\n flex: 1,\n height: rem(theme, 6),\n borderRadius: rem(theme, 3),\n background: completed\n ? `linear-gradient(90deg, ${theme.palette.success.main} 0%, ${theme.palette.success.light} 100%)`\n : active\n ? `linear-gradient(90deg, ${theme.palette.warning.main} 0%, ${theme.palette.warning.light} 100%)`\n : alpha(theme.palette.action.disabled, 0.2),\n transition: animated ? 'all 0.3s ease' : 'none',\n boxShadow: completed ? `0 ${rems(theme, 2, 8)} ${alpha(theme.palette.success.main, 0.3)}` : 'none' }),\n);\n\n// The three indicator variants, out of the component body so the render keeps\n// only its own layout branches.\nconst StrengthIndicator: React.FC<{\n variant: PasswordStrengthProps['variant'];\n strength: number;\n animated: boolean;\n}> = ({ variant, strength, animated }) => {\n const theme = useTheme();\n\n switch (variant) {\n case 'circular':\n return (\n <Box sx={{ position: 'relative', display: 'inline-flex' }}>\n <Box\n sx={{\n width: sxRem(80),\n height: sxRem(80),\n borderRadius: '50%',\n background: `conic-gradient(\n ${theme.palette.success.main} 0deg ${strength * 3.6}deg,\n ${alpha(theme.palette.action.disabled, 0.1)} ${strength * 3.6}deg 360deg\n )`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n boxShadow: `0 ${rems(theme, 4, 12)} ${alpha(theme.palette.success.main, strength / 200)}` }}\n >\n <Box\n sx={{\n width: sxRem(64),\n height: sxRem(64),\n borderRadius: '50%',\n background: theme.palette.background.paper,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column' }}\n >\n <Typography variant=\"h6\" fontWeight=\"bold\">\n {strength}%\n </Typography>\n </Box>\n </Box>\n </Box>\n );\n\n case 'steps': {\n const steps = 5;\n const activeStep = Math.ceil((strength / 100) * steps);\n return (\n <StepsContainer>\n {Array.from({ length: steps }, (_, i) => (\n <Step key={i} active={i === activeStep - 1} completed={i < activeStep - 1} animated={animated} />\n ))}\n </StepsContainer>\n );\n }\n\n default:\n return <StrengthBar variant=\"determinate\" value={strength} strength={strength} animated={animated} />;\n }\n};\n\nconst StrengthHeading: React.FC<{\n copy: PasswordStrengthCopy;\n strength: number;\n hasValue: boolean;\n animated: boolean;\n}> = ({ copy, strength, hasValue, animated }) => (\n <Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center' }}>\n <Typography variant=\"body2\" color=\"text.secondary\">\n {copy.strengthHeading}\n </Typography>\n {hasValue && (\n <Fade in={true}>\n <StrengthLabel\n label={getStrengthLabel(strength, copy.bands)}\n icon={getStrengthIcon(strength)}\n size=\"small\"\n strength={strength}\n animated={animated}\n />\n </Fade>\n )}\n </Box>\n);\n\n// One row per enabled requirement. Previously five near-identical JSX blocks,\n// each with its own `requirements.x &&` guard.\n//\n// `forwardRef` because it is `Fade`'s child: Fade hands it a ref and reads\n// `scrollTop` off that node on enter, so a component that drops the ref throws\n// the moment the first character is typed. Only the ref: Fade's injected\n// `style` (opacity/visibility) is still dropped, so the list stays visible.\nconst RequirementsList = React.forwardRef<\n HTMLDivElement,\n {\n copy: PasswordStrengthCopy;\n requirements: PasswordRequirements;\n checks: RequirementChecks;\n animated: boolean;\n }\n>(({ copy, requirements, checks, animated }, ref) => {\n const rows: ReadonlyArray<[unknown, keyof RequirementChecks, React.ReactNode]> = [\n [requirements.minLength, 'length', copy.requirements.minLength(requirements.minLength ?? 0)],\n [requirements.uppercase, 'uppercase', copy.requirements.uppercase],\n [requirements.lowercase, 'lowercase', copy.requirements.lowercase],\n [requirements.numbers, 'numbers', copy.requirements.numbers],\n [requirements.special, 'special', copy.requirements.special],\n ];\n\n return (\n <Stack ref={ref} spacing={1}>\n <Typography variant=\"caption\" color=\"text.secondary\" fontWeight=\"medium\">\n {copy.requirementsHeading}\n </Typography>\n {rows\n .filter(([enabled]) => Boolean(enabled))\n .map(([, key, label]) => (\n <RequirementItem key={key} met={checks[key]} animated={animated}>\n <RequirementIcon met={checks[key]} />\n <Typography variant=\"caption\">{label}</Typography>\n </RequirementItem>\n ))}\n </Stack>\n );\n});\nRequirementsList.displayName = 'RequirementsList';\n\n// The visible sections. Kept apart from PasswordStrength itself so the exported\n// component is just prop defaults plus the three memos, and every display guard\n// lives in one place.\nconst PasswordStrengthBody: React.FC<{\n value: string;\n strength: number;\n copy: PasswordStrengthCopy;\n requirements: PasswordRequirements;\n requirementChecks: RequirementChecks;\n suggestions: string[];\n showStrengthLabel: boolean;\n showRequirements: boolean;\n showSuggestions: boolean;\n variant: PasswordStrengthProps['variant'];\n animated: boolean;\n}> = ({\n copy,\n value,\n strength,\n requirements,\n requirementChecks,\n suggestions,\n showStrengthLabel,\n showRequirements,\n showSuggestions,\n variant,\n animated }) => (\n <Stack spacing={2}>\n {showStrengthLabel && (\n <StrengthHeading\n copy={copy}\n strength={strength}\n hasValue={value.length > 0}\n animated={animated}\n />\n )}\n\n <StrengthIndicator variant={variant} strength={strength} animated={animated} />\n\n {showRequirements && (\n <Fade in={value.length > 0}>\n <RequirementsList\n copy={copy}\n requirements={requirements}\n checks={requirementChecks}\n animated={animated}\n />\n </Fade>\n )}\n\n {showSuggestions && suggestions.length > 0 && value.length > 0 && (\n <Fade in={true}>\n <SuggestionsList suggestions={suggestions} heading={copy.suggestionsHeading} />\n </Fade>\n )}\n </Stack>\n);\n\n// Main component\nexport const PasswordStrength: FC<PasswordStrengthProps> = ({\n copy,\n value = '',\n showRequirements = true,\n requirements = defaultRequirements,\n showStrengthLabel = true,\n showSuggestions = false,\n variant = 'linear',\n animated = true,\n 'data-testid': dataTestId }) => {\n\n const strength = useMemo(\n () => calculatePasswordStrength(value, requirements),\n [value, requirements],\n );\n\n const requirementChecks = useMemo(\n () => evaluateRequirements(value, requirements),\n [value, requirements],\n );\n\n const suggestions = useMemo(\n () => buildSuggestions(requirementChecks, copy.suggestions, requirements.minLength ?? 0),\n [requirementChecks, copy.suggestions, requirements.minLength],\n );\n\n return (\n <StrengthContainer animated={animated} data-testid={dataTestId}>\n <PasswordStrengthBody\n copy={copy}\n value={value}\n strength={strength}\n requirements={requirements}\n requirementChecks={requirementChecks}\n suggestions={suggestions}\n showStrengthLabel={showStrengthLabel}\n showRequirements={showRequirements}\n showSuggestions={showSuggestions}\n variant={variant}\n animated={animated}\n />\n </StrengthContainer>\n );\n};\n\n// Export default\nexport default PasswordStrength;\n"],"mappings":"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","names":[]}
|