@ryuzaki13/react-foundation-ui 3.1.0 → 3.1.1
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/COLOR_TOKENS_MIGRATION.md +8 -8
- package/README.md +2 -2
- package/dist/chunks/ui.module-oRwY3Zli.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/src/styles/_tone-derived.scss +28 -10
- package/src/styles/themes/_interactive-surface.scss +6 -6
- package/src/styles/themes/_theme.scss +42 -24
- package/src/styles/themes/theme.test.ts +59 -18
- package/storybook-static/assets/{Badge-Esh85lzw.js → Badge-DZyhbbM8.js} +1 -1
- package/storybook-static/assets/{Badge.stories-DnU4Aj8m.js → Badge.stories-NTzzKHJp.js} +1 -1
- package/storybook-static/assets/{BadgeList-BxlBVt--.js → BadgeList-CyZwXD1B.js} +1 -1
- package/storybook-static/assets/{BarcodeScannerDialog.stories-B_KpAvZI.js → BarcodeScannerDialog.stories-DgsYBggs.js} +1 -1
- package/storybook-static/assets/{Button-dvkBzy21.js → Button-CH_Z6sO1.js} +1 -1
- package/storybook-static/assets/{Button-ZXxiD9P_.js → Button-CljTMz3I.js} +1 -1
- package/storybook-static/assets/{Button.stories-J4sJtC3v.js → Button.stories-BewKK-DS.js} +1 -1
- package/storybook-static/assets/{CalendarView-DGp2C40d.js → CalendarView--x2hpT2q.js} +1 -1
- package/storybook-static/assets/{CheckBox-CGIztaSc.js → CheckBox-DXh75fAR.js} +1 -1
- package/storybook-static/assets/{CheckBox-IWsEVvwo.js → CheckBox-LimJi0UQ.js} +1 -1
- package/storybook-static/assets/{CheckBox.stories-PatAgJNg.js → CheckBox.stories-o6rpfweF.js} +1 -1
- package/storybook-static/assets/{Color-6AOWCN3U-CObFhsdH.js → Color-6AOWCN3U-8n8FCLyC.js} +1 -1
- package/storybook-static/assets/{ContextMenu-PtQCIWby.js → ContextMenu-6TfxDPWB.js} +1 -1
- package/storybook-static/assets/{ContextMenu-BpMNIGaS.js → ContextMenu-Ck4m7ukO.js} +1 -1
- package/storybook-static/assets/{ContextMenu.stories-DRN3y3fq.js → ContextMenu.stories-C0bTUdLv.js} +1 -1
- package/storybook-static/assets/{CustomOptionButton-BypRyNBF.js → CustomOptionButton-dg-hYBoR.js} +1 -1
- package/storybook-static/assets/{DateInput-CtEsHpVC.js → DateInput-B_V47xx7.js} +1 -1
- package/storybook-static/assets/{DateInput-DMRmP2mq.js → DateInput-jn0KyIGr.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-kwV29Z7O.js → DateInput.stories-v7jSkTQz.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-BBppsGIA.js → DateRangePresetSelect-B2r12dtb.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect-BSZ8AV5V.js → DateRangePresetSelect-CSJ_ADhT.js} +1 -1
- package/storybook-static/assets/{DateRangePresetSelect.stories-Brt_WHDa.js → DateRangePresetSelect.stories-BkIZ7BYP.js} +1 -1
- package/storybook-static/assets/{Detail-DgopeQrm.js → Detail-CGNKKZy_.js} +1 -1
- package/storybook-static/assets/{Detail.stories-9gNYQ6_t.js → Detail.stories-C9LpPn0-.js} +1 -1
- package/storybook-static/assets/{Dialog-BmgaXy1U.js → Dialog-ChVT8EA-.js} +1 -1
- package/storybook-static/assets/{Dialog-BIMDgQGd.js → Dialog-DOZ6KRDZ.js} +1 -1
- package/storybook-static/assets/{Dialog.stories-gQNF3xNZ.js → Dialog.stories-_ir2h3DS.js} +1 -1
- package/storybook-static/assets/{Disclosure-DYkWCvOB.js → Disclosure-DhYXxm-s.js} +1 -1
- package/storybook-static/assets/{Disclosure.stories-BkgXZx5X.js → Disclosure.stories-d5gH0j1X.js} +1 -1
- package/storybook-static/assets/{DisclosureGroup-CTkOG9uF.js → DisclosureGroup-CJzrTBA5.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-JROSPFPF-CGYd7juA.js → DocsRenderer-JROSPFPF-4c9XFCUP.js} +1 -1
- package/storybook-static/assets/{DropZone-BwnzxS_O.js → DropZone-CAlPFkgO.js} +1 -1
- package/storybook-static/assets/{DropZone-C_QHZrKt.js → DropZone-C_ONrNnf.js} +1 -1
- package/storybook-static/assets/{DropZone.stories-Boz52u36.js → DropZone.stories-CIa7HYSk.js} +1 -1
- package/storybook-static/assets/{DropdownMenu-CSMB10lt.js → DropdownMenu-DWPIbyYd.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel-Bs__dpSI.js → ExpandableActionPanel-Dpv7Ogiv.js} +1 -1
- package/storybook-static/assets/{ExpandableActionPanel.stories-dz1gGOjf.js → ExpandableActionPanel.stories-DO_6Ariv.js} +1 -1
- package/storybook-static/assets/{Flex-B1k5JrkX.js → Flex-DeOiILWd.js} +1 -1
- package/storybook-static/assets/{Flex.stories-DCEdIXaL.js → Flex.stories-Dhs5mlVY.js} +1 -1
- package/storybook-static/assets/{FloatingPopover-Bcol5irF.js → FloatingPopover-0Dprr5jf.js} +1 -1
- package/storybook-static/assets/{FormattedTableCell-BrUuqaAr.js → FormattedTableCell-qL4-wkCE.js} +1 -1
- package/storybook-static/assets/{Grid-BP-ULpSq.js → Grid-C8DgxK3U.js} +1 -1
- package/storybook-static/assets/{Grid.stories-xZTqePJe.js → Grid.stories-BrapZKvO.js} +1 -1
- package/storybook-static/assets/{ImageCropper.stories-9VlHvauM.js → ImageCropper.stories-CHYm4PqH.js} +1 -1
- package/storybook-static/assets/{ImageRenderer-CZUio12Y.js → ImageRenderer-CbHQ_5di.js} +1 -1
- package/storybook-static/assets/{ImageRenderer.stories-BMJ8rG5Y.js → ImageRenderer.stories-CgFX5vX1.js} +1 -1
- package/storybook-static/assets/{ImageView.stories-DwbVXc_9.js → ImageView.stories-B66Y0y8Z.js} +1 -1
- package/storybook-static/assets/{ImageViewer.stories-N79zIcYB.js → ImageViewer.stories-Dr8hSJB4.js} +2 -2
- package/storybook-static/assets/{ImageViewerRuntime-eFkLooZd.js → ImageViewerRuntime-ChNDRkbL.js} +1 -1
- package/storybook-static/assets/{Input-fyfY8tUJ.js → Input-7Olx6bGm.js} +1 -1
- package/storybook-static/assets/{Input-C_pApI-f.js → Input-C3tV6aOt.js} +1 -1
- package/storybook-static/assets/{Input.stories-DPx50f_P.js → Input.stories-Bp7kBh2f.js} +1 -1
- package/storybook-static/assets/{InputDateTime-BKOW723d.js → InputDateTime-DFMMt-mf.js} +1 -1
- package/storybook-static/assets/{InputDateTime.stories-DJpICa-C.js → InputDateTime.stories-Dds2W8yW.js} +1 -1
- package/storybook-static/assets/{InputFile-BIFMqbBI.js → InputFile-Ba-RwZsI.js} +1 -1
- package/storybook-static/assets/{InputFile-CX8kMBfN.js → InputFile-DSu8gm8A.js} +1 -1
- package/storybook-static/assets/{InputFile.stories-Dpiz4AE-.js → InputFile.stories-YGXOc3DO.js} +1 -1
- package/storybook-static/assets/{InputFiles-B-uYeAwK.js → InputFiles-CIPsyfH5.js} +1 -1
- package/storybook-static/assets/{InputFiles-g6BxqKY1.js → InputFiles-DqlQJsmm.js} +1 -1
- package/storybook-static/assets/{InputFiles.stories-CIeEtuge.js → InputFiles.stories-BH_gwOug.js} +1 -1
- package/storybook-static/assets/{InputFilesList-EUw0PgRa.js → InputFilesList-BEDe42dK.js} +1 -1
- package/storybook-static/assets/{InputImage-G56Xrlxa.js → InputImage-BdcxBj6J.js} +1 -1
- package/storybook-static/assets/{InputImage-BHhhQ_DL.js → InputImage-D4D-X8Ys.js} +1 -1
- package/storybook-static/assets/{InputImage.stories-CzcxWNCg.js → InputImage.stories-BOW5PRM7.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents-BwuEU-Jx.js → InteractiveComponents-hi2rc0Cm.js} +1 -1
- package/storybook-static/assets/{InteractiveComponents.stories-BFz-Wro0.js → InteractiveComponents.stories-5hPeC7R2.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-XV5w8WPa.js → LayoutPicker-BO18SpK7.js} +1 -1
- package/storybook-static/assets/{LayoutPicker-dIhabh1s.js → LayoutPicker-BqGACXDe.js} +1 -1
- package/storybook-static/assets/{LayoutPicker.stories-CDt2569o.js → LayoutPicker.stories-BlN_ODG4.js} +1 -1
- package/storybook-static/assets/{Listbox-DaW_mGeW.js → Listbox-4PvVEZRh.js} +1 -1
- package/storybook-static/assets/{Listbox-Bgo-nQ9Y.js → Listbox-Bta1Rvnl.js} +1 -1
- package/storybook-static/assets/{Listbox.stories-CP6wE_7K.js → Listbox.stories-DtEb9pou.js} +1 -1
- package/storybook-static/assets/{Modal-DDvcZVCM.js → Modal-Bmxp4mLU.js} +1 -1
- package/storybook-static/assets/{Modal-Bqw7AE8B.js → Modal-BwdW99av.js} +1 -1
- package/storybook-static/assets/{Modal.stories-BX600McN.js → Modal.stories-DuNdaLN2.js} +1 -1
- package/storybook-static/assets/{ModalManagerProvider-CxtoDU9F.js → ModalManagerProvider-CGmNKOlv.js} +1 -1
- package/storybook-static/assets/{MultiSelect-BJIs_9bc.js → MultiSelect-BrHYXgvm.js} +1 -1
- package/storybook-static/assets/{MultiSelect-yUk0g6i1.js → MultiSelect-enRkbUVu.js} +1 -1
- package/storybook-static/assets/{MultiSelect.stories-DK5hmxUc.js → MultiSelect.stories-4SSQVsBu.js} +1 -1
- package/storybook-static/assets/{NoData-hc4EFPB8.js → NoData-Bdkk4qX-.js} +1 -1
- package/storybook-static/assets/{NotificationsHost-DJrgoJC_.js → NotificationsHost-epLriMYO.js} +1 -1
- package/storybook-static/assets/{NotificationsHost.stories-D7mi4TqE.js → NotificationsHost.stories-DvF1HMJp.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect-DNrfwZV0.js → ODataMultiSelect-DYrfAdLn.js} +1 -1
- package/storybook-static/assets/{ODataMultiSelect.stories-kL4DXKxt.js → ODataMultiSelect.stories-DVkerQKn.js} +1 -1
- package/storybook-static/assets/{ODataSelect-DCDQ6QDE.js → ODataSelect-DWJYlxQc.js} +1 -1
- package/storybook-static/assets/{ODataSelect.stories-C6kKriiF.js → ODataSelect.stories-CywUlhAN.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect-CHVUlk_U.js → ODataTreeMultiSelect-D90IEf3K.js} +1 -1
- package/storybook-static/assets/{ODataTreeMultiSelect.stories-B9FhGd09.js → ODataTreeMultiSelect.stories-CadVRCl9.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect-BtOXQoID.js → ODataTreeSelect-DSAGCoD4.js} +1 -1
- package/storybook-static/assets/{ODataTreeSelect.stories-Chqlab-8.js → ODataTreeSelect.stories-BEA_Vb7u.js} +1 -1
- package/storybook-static/assets/{OneStepScroller-DxeS1X71.js → OneStepScroller-CCIUc14k.js} +1 -1
- package/storybook-static/assets/{Option-ComrvJ9s.js → Option-ByR48EZl.js} +1 -1
- package/storybook-static/assets/{OptionButton-DJAuLjhy.js → OptionButton-BMoBnbt6.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-DcD82ag2.js → PeriodSelect-C-eGa-Kg.js} +1 -1
- package/storybook-static/assets/{PeriodSelect-RGiWiGWB.js → PeriodSelect-sUUZBBze.js} +1 -1
- package/storybook-static/assets/{PeriodSelect.stories-J0FBtti2.js → PeriodSelect.stories-CEPqnZQz.js} +1 -1
- package/storybook-static/assets/{PickerField-BamGqyTg.js → PickerField-EVQAudL9.js} +1 -1
- package/storybook-static/assets/{PickerTriggerActions-CrzexZv7.js → PickerTriggerActions-Da3NAgN3.js} +1 -1
- package/storybook-static/assets/{Popover-DA6FuPO9.js → Popover-B7-sfEHt.js} +1 -1
- package/storybook-static/assets/{Popover-7hIGWFil.js → Popover-MG_TKcDM.js} +1 -1
- package/storybook-static/assets/{Popover.stories-BGX_E2Rj.js → Popover.stories-6rqdsIci.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-DEMn-CKo.js → PresetRangeDateInput-XkeUUy4t.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput-BZ5e4ulz.js → PresetRangeDateInput-oJU3yjjY.js} +1 -1
- package/storybook-static/assets/{PresetRangeDateInput.stories-DyQzNJiA.js → PresetRangeDateInput.stories-CYja7SlF.js} +1 -1
- package/storybook-static/assets/{PresetSelect-BsGseZxe.js → PresetSelect-DWW52rEr.js} +1 -1
- package/storybook-static/assets/{README-CwZI_nQ7.js → README-3onNI8KH.js} +1 -1
- package/storybook-static/assets/{README-y9Bfe8iT.js → README-8TyDLZ8m.js} +1 -1
- package/storybook-static/assets/{README-C1zwQgxk.js → README-B-dL4Dp1.js} +1 -1
- package/storybook-static/assets/{README-DvZb2tQw.js → README-B64nG4-r.js} +1 -1
- package/storybook-static/assets/{README-CmkOA3wW.js → README-B887wTp_.js} +1 -1
- package/storybook-static/assets/{README-Bup4xuqw.js → README-BGGr2zYm.js} +1 -1
- package/storybook-static/assets/{README-C4KUJF4d.js → README-BIp15sbA.js} +1 -1
- package/storybook-static/assets/{README-DHwyWwmz.js → README-BLjBIG5b.js} +1 -1
- package/storybook-static/assets/{README-BhxFmTpV.js → README-BSDrP24w.js} +1 -1
- package/storybook-static/assets/{README-4wAMpqKW.js → README-BUXHrder.js} +1 -1
- package/storybook-static/assets/{README-BmrxdH-B.js → README-BXK6R512.js} +1 -1
- package/storybook-static/assets/{README-DhOlNM3a.js → README-Bd8oZSBv.js} +1 -1
- package/storybook-static/assets/{README-DYrhoV2x.js → README-BeQQlzku.js} +1 -1
- package/storybook-static/assets/{README-CAaN4Ld-.js → README-Bk_j-FWx.js} +1 -1
- package/storybook-static/assets/{README-DhMfO2Dl.js → README-BqbscBiw.js} +1 -1
- package/storybook-static/assets/{README-UQVgPCo3.js → README-BtXLkUYG.js} +1 -1
- package/storybook-static/assets/{README-DP6FJt9L.js → README-BuyFnGUr.js} +1 -1
- package/storybook-static/assets/{README-BbONAExJ.js → README-C4aCrDhQ.js} +1 -1
- package/storybook-static/assets/{README-D2L5Yzv1.js → README-C5Evi_Od.js} +1 -1
- package/storybook-static/assets/{README-BgRQJ2S9.js → README-C5o1ee9L.js} +1 -1
- package/storybook-static/assets/{README-530UIsM5.js → README-C87LZz6f.js} +1 -1
- package/storybook-static/assets/{README-Bjq9zsXL.js → README-CNQEzBHn.js} +1 -1
- package/storybook-static/assets/{README-CQn8q9y9.js → README-CarOmnk7.js} +1 -1
- package/storybook-static/assets/{README-BrIfTQtc.js → README-CeZpJRtg.js} +1 -1
- package/storybook-static/assets/{README-Ld_nuS76.js → README-ChG5rY0i.js} +1 -1
- package/storybook-static/assets/{README-D7_WRUZg.js → README-Co2u6-Lj.js} +1 -1
- package/storybook-static/assets/{README-DnkpFu02.js → README-CoIps3ow.js} +1 -1
- package/storybook-static/assets/{README-97xTDGmC.js → README-CpE19mEd.js} +1 -1
- package/storybook-static/assets/{README-DtM6kMym.js → README-CzeEqZV4.js} +1 -1
- package/storybook-static/assets/{README-YY1Ajz1w.js → README-D8RATsxd.js} +1 -1
- package/storybook-static/assets/{README-BXdudd03.js → README-DCcgaFeQ.js} +1 -1
- package/storybook-static/assets/{README-DCJ0rsOW.js → README-DDIuwU7m.js} +1 -1
- package/storybook-static/assets/{README-CUhyCSGc.js → README-DGvtRCkM.js} +1 -1
- package/storybook-static/assets/{README-DuTHnM3g.js → README-DJnq2r66.js} +1 -1
- package/storybook-static/assets/{README-B71F0K0c.js → README-DM_g6PCr.js} +1 -1
- package/storybook-static/assets/{README-CGovAIuH.js → README-DN4AcFXT.js} +1 -1
- package/storybook-static/assets/{README-_oeRmsba.js → README-DS6WZRoh.js} +1 -1
- package/storybook-static/assets/{README-_ZkqcsGp.js → README-DgYioDAa.js} +1 -1
- package/storybook-static/assets/{README-BC4xt0AQ.js → README-DoB-J219.js} +1 -1
- package/storybook-static/assets/{README-C0GgcK-F.js → README-DoW41pj8.js} +1 -1
- package/storybook-static/assets/{README-DMvM0CFG.js → README-DousuaoR.js} +1 -1
- package/storybook-static/assets/{README-CgkwwR69.js → README-DpPmQc1C.js} +1 -1
- package/storybook-static/assets/{README-CFR0mu0U.js → README-HiFT84zG.js} +1 -1
- package/storybook-static/assets/{README-BcrNbNjI.js → README-LkMYQQZG.js} +1 -1
- package/storybook-static/assets/{README-mRxMTW_Z.js → README-N-t9Esrs.js} +1 -1
- package/storybook-static/assets/{README-D7L1Z6n9.js → README-Q6TktIyC.js} +1 -1
- package/storybook-static/assets/{README-DzJwLpxb.js → README-ZBSgAfUQ.js} +1 -1
- package/storybook-static/assets/{README-B84EaQXv.js → README-aMioowWA.js} +1 -1
- package/storybook-static/assets/{README-CY5Rzd4q.js → README-bp2jvuhN.js} +1 -1
- package/storybook-static/assets/{README-DETry3fH.js → README-dBjUPcUC.js} +1 -1
- package/storybook-static/assets/{README-BUa64A8D.js → README-jAXiQfWd.js} +1 -1
- package/storybook-static/assets/{README-C8fBLb8Q.js → README-kqacqwMO.js} +1 -1
- package/storybook-static/assets/{README-B7DR00fM.js → README-px0sy3mH.js} +1 -1
- package/storybook-static/assets/{RadioButton-AUoosUqB.js → RadioButton-CBZ-2tpg.js} +1 -1
- package/storybook-static/assets/{RadioButton-0axQ-WvZ.js → RadioButton-DeU7LySy.js} +1 -1
- package/storybook-static/assets/{RadioButton.stories-Dqe-r3lD.js → RadioButton.stories-DzBmcWYh.js} +1 -1
- package/storybook-static/assets/{RadioGroup-BgCjgFfe.js → RadioGroup-9L9EBmPZ.js} +1 -1
- package/storybook-static/assets/{RadioGroup-Biy7jsOy.js → RadioGroup-M8U_3Qu1.js} +1 -1
- package/storybook-static/assets/{RadioGroup.stories-CHvNWKTQ.js → RadioGroup.stories-DhaRdRnV.js} +1 -1
- package/storybook-static/assets/{Scrollable-BYmva3ep.js → Scrollable-DKD8_GYW.js} +1 -1
- package/storybook-static/assets/{Select-CZCJfh1u.js → Select-DG_lx7Rl.js} +1 -1
- package/storybook-static/assets/{Select-CoD4ahoj.js → Select-Dg-l0yoE.js} +1 -1
- package/storybook-static/assets/{Select.stories-B-PY1Sz5.js → Select.stories-D4TelGYC.js} +1 -1
- package/storybook-static/assets/{SerializableSelect-DE8iNPWu.js → SerializableSelect-CpitM8WL.js} +1 -1
- package/storybook-static/assets/{SerializableSelect.stories-Cgd2VT8m.js → SerializableSelect.stories-ZlWgKkHt.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BzOL-IZJ.js → SingleDateTimeInput-CqocRYJY.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput-BDHCGYJi.js → SingleDateTimeInput-m6jYz_r2.js} +1 -1
- package/storybook-static/assets/{SingleDateTimeInput.stories-yuCgjvxm.js → SingleDateTimeInput.stories-fH-iW9qA.js} +1 -1
- package/storybook-static/assets/{Slider-Bx2jKg6R.js → Slider-CF5lNqVZ.js} +1 -1
- package/storybook-static/assets/{Slider-BSYDJi1k.js → Slider-D0Qwf7EY.js} +1 -1
- package/storybook-static/assets/{Slider.stories-P23SMkMP.js → Slider.stories-B6QVVtrd.js} +1 -1
- package/storybook-static/assets/{SliderInput-AgH6kueH.js → SliderInput-Dvz_4kgc.js} +1 -1
- package/storybook-static/assets/{SliderInput-CfK1Mnw8.js → SliderInput-zM3jF5KD.js} +1 -1
- package/storybook-static/assets/{SliderInput.stories-BIZQY77N.js → SliderInput.stories-BKuUv8N2.js} +1 -1
- package/storybook-static/assets/{Sortable-HAt33EOU.js → Sortable-C0K_6g4P.js} +1 -1
- package/storybook-static/assets/{Sortable.stories-DpKHUgP7.js → Sortable.stories-Chf1sxZg.js} +1 -1
- package/storybook-static/assets/{Splitter-XHLzIzBV.js → Splitter-B8Ksf_xs.js} +1 -1
- package/storybook-static/assets/{Splitter.stories-AF5cuIrd.js → Splitter.stories-fRvGX5Jp.js} +1 -1
- package/storybook-static/assets/{StateSelect-D_4JId4p.js → StateSelect-CPNphBga.js} +1 -1
- package/storybook-static/assets/{StateSelect-Bc7THQz4.js → StateSelect-CjsviCtb.js} +1 -1
- package/storybook-static/assets/{StateSelect.stories-Dskb5EaO.js → StateSelect.stories-D32llZ6v.js} +1 -1
- package/storybook-static/assets/{StatusIndicator-DgpNsNH9.js → StatusIndicator-CKvd7tHs.js} +1 -1
- package/storybook-static/assets/{StatusIndicator.stories-CggWAarU.js → StatusIndicator.stories-NOvPPe_7.js} +1 -1
- package/storybook-static/assets/{StringToggle.stories-C0ZhO81t.js → StringToggle.stories-Bicdqe7C.js} +1 -1
- package/storybook-static/assets/{Switch-CknduYVb.js → Switch-Bkob6qYu.js} +1 -1
- package/storybook-static/assets/{Switch-f3dsucrL.js → Switch-C61_o5be.js} +1 -1
- package/storybook-static/assets/{Switch.stories-Chg3TrE2.js → Switch.stories-BSXuhd1n.js} +1 -1
- package/storybook-static/assets/{Table-A1OmUB1G.js → Table-DrI-ye5w.js} +1 -1
- package/storybook-static/assets/{Table.stories-F0G5NqxY.js → Table.stories-DfeiRj00.js} +1 -1
- package/storybook-static/assets/{TableEditor.stories-Hq1Gc1oK.js → TableEditor.stories-BsLxmTao.js} +1 -1
- package/storybook-static/assets/{Tabs-BmH25H7g.js → Tabs-CgalbGPu.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-CIX0RdTF.js → Tabs.stories-BNjq8-Q7.js} +1 -1
- package/storybook-static/assets/{TabsBox-C1OmrVhO.js → TabsBox-CpmFgUBj.js} +1 -1
- package/storybook-static/assets/{TagInput-CE0_PHMq.js → TagInput-DvEYa96d.js} +1 -1
- package/storybook-static/assets/{TagInput.stories-CTlBOp-Y.js → TagInput.stories-j4Qd29sb.js} +1 -1
- package/storybook-static/assets/{Text-Dm4ZV9wd.js → Text-BZ1JvyUT.js} +1 -1
- package/storybook-static/assets/{Textarea-CK7tpoYG.js → Textarea-BMzsyo3c.js} +1 -1
- package/storybook-static/assets/{Textarea-9eR-qNKs.js → Textarea-BRdIBUkE.js} +1 -1
- package/storybook-static/assets/{Textarea.stories-vGi_UkyN.js → Textarea.stories-C0x425GI.js} +1 -1
- package/storybook-static/assets/{TimePanel-BLQrdjYw.js → TimePanel-BWqMMKMh.js} +1 -1
- package/storybook-static/assets/{TimePanel.stories-DOLgz23p.js → TimePanel.stories-DyU92R36.js} +1 -1
- package/storybook-static/assets/{Toggle-DCT7y4pb.js → Toggle-Bownsch8.js} +1 -1
- package/storybook-static/assets/{Toggle-d3qw-5vS.js → Toggle-ClbrIGCZ.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-DIc66YyI.js → Toggle.stories-DsNHF5oC.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-3CrIhRKl.js → TreeMultiSelect-CDg35T0c.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect-Buj6k0wN.js → TreeMultiSelect-D3TzNY3n.js} +1 -1
- package/storybook-static/assets/{TreeMultiSelect.stories-BHxIRTEy.js → TreeMultiSelect.stories-C3xbNKlw.js} +1 -1
- package/storybook-static/assets/{TreePickerBase-BHduNQZI.js → TreePickerBase-DwM3HHNJ.js} +1 -1
- package/storybook-static/assets/{TreeSelect-DfFbREJp.js → TreeSelect-BWZkUyfN.js} +1 -1
- package/storybook-static/assets/{TreeSelect-BO1tYVB4.js → TreeSelect-CzPMpXEN.js} +1 -1
- package/storybook-static/assets/{TreeSelect.stories-ZwxGVFce.js → TreeSelect.stories-Dt2iVzbQ.js} +1 -1
- package/storybook-static/assets/{TreeTable-CIxtOAyo.js → TreeTable-CVn34tY8.js} +1 -1
- package/storybook-static/assets/{TreeTable.stories-BQNgHwk9.js → TreeTable.stories-D1ufYTtN.js} +1 -1
- package/storybook-static/assets/{blocks-OyR7mF18.js → blocks-BIDgFZzT.js} +3 -3
- package/storybook-static/assets/{check-Gvk-f2eZ.js → check-Ci14Psj_.js} +1 -1
- package/storybook-static/assets/{chevron-down-KZidOQ8z.js → chevron-down-DbAd2qk7.js} +1 -1
- package/storybook-static/assets/{chevron-left-BmY0y72L.js → chevron-left-BkXE-6hJ.js} +1 -1
- package/storybook-static/assets/{chevron-right-DwE6c1oF.js → chevron-right--BJBL7es.js} +1 -1
- package/storybook-static/assets/{chunk-W22LQPXL-Dvqa6-ec.js → chunk-W22LQPXL-Ck7Hq2hD.js} +1 -1
- package/storybook-static/assets/{circle-alert-CWi4rINy.js → circle-alert-DZ-mqRo-.js} +1 -1
- package/storybook-static/assets/{circle-check-BWlhKN1l.js → circle-check-ohYPmGXF.js} +1 -1
- package/storybook-static/assets/{components-CoPo6nEv.js → components-BcLNCNYh.js} +3 -3
- package/storybook-static/assets/{contextMenu-DwYdo2Sb.js → contextMenu-CV1L1k-X.js} +1 -1
- package/storybook-static/assets/{download-Bqp3e16u.js → download-Cj6p8bKz.js} +1 -1
- package/storybook-static/assets/{floating-ui.react-Dzrc1SBT.js → floating-ui.react-BSdrfXIW.js} +1 -1
- package/storybook-static/assets/{foundationApi-297mfV2y.js → foundationApi-CQ7TLs4F.js} +1 -1
- package/storybook-static/assets/{foundationLib-CnmPNL2i.js → foundationLib-CrDmX7bX.js} +1 -1
- package/storybook-static/assets/{hooks-CZ-c1LQK.js → hooks-DUyI2f7Z.js} +1 -1
- package/storybook-static/assets/iframe-CBug5Z2-.js +1 -0
- package/storybook-static/assets/{iframe-t8Ol-TlS.js → iframe-CLqd5Giv.js} +3 -3
- package/storybook-static/assets/{info-BMddFLDT.js → info-T_PVPfD-.js} +1 -1
- package/storybook-static/assets/{odata-u98yP6vI.js → odata-CCaj8ulC.js} +1 -1
- package/storybook-static/assets/{odataStoryFixtures-BX88AmEk.js → odataStoryFixtures-Bv9BrgZv.js} +1 -1
- package/storybook-static/assets/{react-BwRTJdhk.js → react-Ce_aQozh.js} +1 -1
- package/storybook-static/assets/{refresh-cw-BSZCBW1r.js → refresh-cw-CNrDNE_N.js} +1 -1
- package/storybook-static/assets/{settings-2-UthslFqJ.js → settings-2-jAEe_Y9H.js} +1 -1
- package/storybook-static/assets/{sortable-C4MB--OV.js → sortable-kVkmtF5b.js} +1 -1
- package/storybook-static/assets/{syntaxhighlighter-QEQV7K2Y-DByUKVZY.js → syntaxhighlighter-QEQV7K2Y-zKIOKo3C.js} +1 -1
- package/storybook-static/assets/{trash-2-CPAznzsr.js → trash-2-Dt4QzFcm.js} +1 -1
- package/storybook-static/assets/{triangle-alert-B2jfGvCD.js → triangle-alert-BiyO16L3.js} +1 -1
- package/storybook-static/assets/{ui-D4-nHP5x.css → ui-DPTWro6M.css} +1 -1
- package/storybook-static/assets/{uiClasses-BCk2WXc4.js → uiClasses-BY4mQ-J3.js} +1 -1
- package/storybook-static/assets/{useODataSelectBase-C-o3n-Rn.js → useODataSelectBase-DpSBp8Rk.js} +1 -1
- package/storybook-static/assets/{useODataTreeData-DkF53Jgq.js → useODataTreeData-ynwGta5X.js} +1 -1
- package/storybook-static/assets/{usePickerQuery-D609nrEf.js → usePickerQuery-BVMhh3cw.js} +1 -1
- package/storybook-static/assets/{usePickerTriggerController-CiGxyPbG.js → usePickerTriggerController-TTKRTNy4.js} +1 -1
- package/storybook-static/assets/{x-Y6c20Jey.js → x-wBEq3sjm.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/project.json +1 -1
- package/storybook-static/assets/iframe-3DMMfY6n.js +0 -1
- /package/storybook-static/assets/{ui.module-nb-nQZVN.js → ui.module-B6Lc_ii5.js} +0 -0
|
@@ -1,18 +1,36 @@
|
|
|
1
|
+
@use "sass:string";
|
|
2
|
+
|
|
3
|
+
/// Возвращает формулу мягкой заливки для указанной tone-схемы.
|
|
4
|
+
@function tone-soft-value($source) {
|
|
5
|
+
@return string.unquote("color-mix(in srgb, var(--#{$source}-fill) 12%, var(--surface-0))");
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/// Формирует карту единых производных состояний tone-схемы.
|
|
9
|
+
/// Раздельные target и source позволяют использовать те же формулы как для
|
|
10
|
+
/// глобальных токенов темы, так и для локальных переменных UI-компонента.
|
|
11
|
+
@function derived-tone-tokens($target, $source) {
|
|
12
|
+
@return (
|
|
13
|
+
"--#{$target}-text-hover": string.unquote("color-mix(in srgb, var(--#{$source}-text) 88%, var(--content-0))"),
|
|
14
|
+
"--#{$target}-text-active": string.unquote("color-mix(in srgb, var(--#{$source}-text) 76%, var(--content-0))"),
|
|
15
|
+
"--#{$target}-border-hover": string.unquote("color-mix(in srgb, var(--#{$source}-border) 88%, var(--content-0))"),
|
|
16
|
+
"--#{$target}-border-active": string.unquote("color-mix(in srgb, var(--#{$source}-border) 76%, var(--content-0))"),
|
|
17
|
+
"--#{$target}-fill-hover": string.unquote("color-mix(in srgb, var(--#{$source}-fill) 88%, var(--content-0))"),
|
|
18
|
+
"--#{$target}-fill-active": string.unquote("color-mix(in srgb, var(--#{$source}-fill) 76%, var(--content-0))"),
|
|
19
|
+
"--#{$target}-soft": tone-soft-value($source)
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
|
|
1
23
|
/// Выводит мягкую заливку как указанное свойство в текущем CSS-контексте.
|
|
2
24
|
/// Это сохраняет реакцию значения на локальные overrides базовой роли и поверхности.
|
|
3
25
|
@mixin tone-soft-declaration($property, $source) {
|
|
4
|
-
#{$property}:
|
|
26
|
+
#{$property}: #{tone-soft-value($source)};
|
|
5
27
|
}
|
|
6
28
|
|
|
7
29
|
/// Выводит единые производные состояния tone-схемы.
|
|
8
|
-
///
|
|
9
|
-
///
|
|
30
|
+
/// Mixin остаётся локальным адаптером для component-scoped overrides, а карта
|
|
31
|
+
/// позволяет теме объединить все значения до единственного вывода declarations.
|
|
10
32
|
@mixin derived-tone-declarations($target, $source) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
--#{$target}-border-active: color-mix(in srgb, var(--#{$source}-border) 76%, var(--content-0));
|
|
15
|
-
--#{$target}-fill-hover: color-mix(in srgb, var(--#{$source}-fill) 88%, var(--content-0));
|
|
16
|
-
--#{$target}-fill-active: color-mix(in srgb, var(--#{$source}-fill) 76%, var(--content-0));
|
|
17
|
-
@include tone-soft-declaration("--#{$target}-soft", $source);
|
|
33
|
+
@each $property, $value in derived-tone-tokens($target, $source) {
|
|
34
|
+
#{$property}: #{$value};
|
|
35
|
+
}
|
|
18
36
|
}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
--s: transparent;
|
|
4
4
|
--b: transparent;
|
|
5
5
|
|
|
6
|
-
--ch: var(--accent-
|
|
7
|
-
--sh: var(--accent-fill);
|
|
8
|
-
--bh: var(--accent-border);
|
|
6
|
+
--ch: var(--accent-text-hover);
|
|
7
|
+
--sh: var(--accent-fill-hover);
|
|
8
|
+
--bh: var(--accent-border-hover);
|
|
9
9
|
|
|
10
|
-
--ca: var(--accent-
|
|
11
|
-
--sa: var(--accent-fill);
|
|
12
|
-
--ba: var(--accent-border);
|
|
10
|
+
--ca: var(--accent-text-active);
|
|
11
|
+
--sa: var(--accent-fill-active);
|
|
12
|
+
--ba: var(--accent-border-active);
|
|
13
13
|
|
|
14
14
|
--cs: var(--accent-on-fill);
|
|
15
15
|
--ss: var(--accent-fill);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
@use "sass:map";
|
|
2
|
+
@use "sass:string";
|
|
2
3
|
|
|
3
4
|
@use "../config" as stylesConfig;
|
|
4
5
|
@use "../tone-derived" as toneDerived;
|
|
@@ -15,48 +16,65 @@
|
|
|
15
16
|
@error "Цветовая схема темы должна иметь значение light или dark, получено: #{$mode}.";
|
|
16
17
|
}
|
|
17
18
|
|
|
18
|
-
///
|
|
19
|
-
@
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
/// Формирует четыре настраиваемые роли цветовой схемы.
|
|
20
|
+
@function _status-palette-tokens($name, $status) {
|
|
21
|
+
@return (
|
|
22
|
+
"--#{$name}-text": map.get($status, text),
|
|
23
|
+
"--#{$name}-border": map.get($status, border),
|
|
24
|
+
"--#{$name}-fill": map.get($status, fill),
|
|
25
|
+
"--#{$name}-on-fill": map.get($status, on-fill)
|
|
26
|
+
);
|
|
24
27
|
}
|
|
25
28
|
|
|
26
|
-
///
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
@mixin _status-derived-palette($name) {
|
|
30
|
-
@include toneDerived.derived-tone-declarations($name, $name);
|
|
31
|
-
}
|
|
29
|
+
/// Формирует базовые роли и общие границы темы.
|
|
30
|
+
@function _theme-palette-tokens($theme) {
|
|
31
|
+
$tokens: ();
|
|
32
32
|
|
|
33
|
-
@mixin _theme-palette($theme) {
|
|
34
33
|
@each $name, $status in map.get($theme, status) {
|
|
35
|
-
|
|
34
|
+
$tokens: map.merge($tokens, _status-palette-tokens($name, $status));
|
|
36
35
|
}
|
|
37
36
|
|
|
38
37
|
// Базовые границы остаются общими layout-токенами, но получают цвет из neutral-схемы.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
@return map.merge(
|
|
39
|
+
$tokens,
|
|
40
|
+
(
|
|
41
|
+
"--border-0": string.unquote("var(--hc-border-0, var(--neutral-border))"),
|
|
42
|
+
"--border-1": string.unquote("var(--hc-border-1, color-mix(in srgb, var(--neutral-border) 82%, var(--content-0)))"),
|
|
43
|
+
"--border-2": string.unquote("var(--hc-border-2, color-mix(in srgb, var(--neutral-border) 64%, var(--content-0)))"),
|
|
44
|
+
"--border-focus": string.unquote("var(--hc-border-focus, var(--focus-ring))")
|
|
45
|
+
)
|
|
46
|
+
);
|
|
43
47
|
}
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
/// Формирует переиспользуемые состояния из уже разрешённых базовых ролей.
|
|
50
|
+
/// Host не настраивает эти токены через карту status: их единые формулы автоматически
|
|
51
|
+
/// учитывают обычные, переопределённые и high-contrast значения базовой схемы.
|
|
52
|
+
@function _theme-derived-tokens($theme) {
|
|
53
|
+
$tokens: ();
|
|
54
|
+
|
|
46
55
|
@each $name in map.keys(map.get($theme, status)) {
|
|
47
|
-
|
|
56
|
+
$tokens: map.merge($tokens, toneDerived.derived-tone-tokens($name, $name));
|
|
48
57
|
}
|
|
58
|
+
|
|
59
|
+
@return $tokens;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/// Собирает итоговую карту до вывода CSS. Карта tokens получает наивысший
|
|
63
|
+
/// compile-time приоритет и заменяет совпадающие status, border и derived ключи.
|
|
64
|
+
@function _theme-declarations($theme) {
|
|
65
|
+
$declarations: map.merge(_theme-palette-tokens($theme), _theme-derived-tokens($theme));
|
|
66
|
+
|
|
67
|
+
@return map.merge($declarations, stylesConfig.theme-tokens($theme));
|
|
49
68
|
}
|
|
50
69
|
|
|
51
70
|
/// Формирует полную тему из baseline выбранной схемы и точечных переопределений.
|
|
52
71
|
/// Карта `status` содержит `accent`, `brand`, `neutral`, `error`, `warning`,
|
|
53
72
|
/// `success` и `info`; у каждой схемы ровно четыре настраиваемые роли: `text`,
|
|
54
73
|
/// `border`, `fill` и `on-fill`. Производные состояния выводятся из базовых
|
|
55
|
-
///
|
|
74
|
+
/// переменных. Карта `tokens` имеет наивысший compile-time приоритет, после
|
|
75
|
+
/// чего каждое итоговое CSS-свойство выводится ровно один раз.
|
|
56
76
|
@mixin theme($mode, $overrides: ()) {
|
|
57
77
|
$resolved-theme: map.deep-merge(_theme-base($mode), $overrides);
|
|
58
78
|
|
|
59
|
-
@include _theme-
|
|
60
|
-
@include _theme-derived-palettes($resolved-theme);
|
|
61
|
-
@include stylesConfig.emit-declarations(stylesConfig.theme-tokens($resolved-theme));
|
|
79
|
+
@include stylesConfig.emit-declarations(_theme-declarations($resolved-theme));
|
|
62
80
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { compileString } from "sass-embedded";
|
|
1
|
+
import { compile, compileString } from "sass-embedded";
|
|
2
2
|
import { describe, expect, it } from "vitest";
|
|
3
3
|
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
|
+
import { pathToFileURL } from "node:url";
|
|
5
6
|
|
|
6
7
|
/** Компилирует публичный themes entrypoint с точной hex-палитрой host-приложения. */
|
|
7
8
|
function compileExactTheme(): string {
|
|
@@ -13,6 +14,7 @@ function compileExactTheme(): string {
|
|
|
13
14
|
tokens: (
|
|
14
15
|
"--surface-0": #fefefe,
|
|
15
16
|
"--error-text": #990011,
|
|
17
|
+
"--border-0": #abcdef,
|
|
16
18
|
"--error-soft": var(--surface-2)
|
|
17
19
|
),
|
|
18
20
|
status: (
|
|
@@ -38,6 +40,20 @@ function compileExactTheme(): string {
|
|
|
38
40
|
).css;
|
|
39
41
|
}
|
|
40
42
|
|
|
43
|
+
/** Компилирует общий CSS Module с тем же `@/` alias, который использует Vite-сборка пакета. */
|
|
44
|
+
function compileUiModule(): string {
|
|
45
|
+
return compile(resolve("src/ui.module.scss"), {
|
|
46
|
+
importers: [
|
|
47
|
+
{
|
|
48
|
+
findFileUrl(url) {
|
|
49
|
+
return url.startsWith("@/") ? pathToFileURL(resolve("src", url.slice(2))) : null;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
style: "expanded"
|
|
54
|
+
}).css;
|
|
55
|
+
}
|
|
56
|
+
|
|
41
57
|
describe("theme", () => {
|
|
42
58
|
it("наследует baseline и принимает четыре настраиваемые роли каждой hex-схемы", () => {
|
|
43
59
|
const css = compileExactTheme();
|
|
@@ -56,7 +72,7 @@ describe("theme", () => {
|
|
|
56
72
|
expect(css).toContain("--accent-border: var(--hc-accent-border, #345678)");
|
|
57
73
|
expect(css).toContain("--accent-fill: var(--hc-accent-fill, #ddeeff)");
|
|
58
74
|
expect(css).toContain("--accent-on-fill: var(--hc-accent-on-fill, #102030)");
|
|
59
|
-
expect(css).toContain("--error-text: var(--hc-error-text, #
|
|
75
|
+
expect(css).toContain("--error-text: var(--hc-error-text, #990011)");
|
|
60
76
|
expect(css).toContain("--error-border: var(--hc-error-border, #bb1122)");
|
|
61
77
|
expect(css).toContain("--error-fill: var(--hc-error-fill, #cc2233)");
|
|
62
78
|
expect(css).toContain("--error-on-fill: var(--hc-error-on-fill, #ffffff)");
|
|
@@ -80,7 +96,12 @@ describe("theme", () => {
|
|
|
80
96
|
expect(css).toContain(`--${tone}-border-active: color-mix(in srgb, var(--${tone}-border) 76%, var(--content-0))`);
|
|
81
97
|
expect(css).toContain(`--${tone}-fill-hover: color-mix(in srgb, var(--${tone}-fill) 88%, var(--content-0))`);
|
|
82
98
|
expect(css).toContain(`--${tone}-fill-active: color-mix(in srgb, var(--${tone}-fill) 76%, var(--content-0))`);
|
|
83
|
-
|
|
99
|
+
|
|
100
|
+
if (tone === "error") {
|
|
101
|
+
expect(css).toContain("--error-soft: var(--surface-2)");
|
|
102
|
+
} else {
|
|
103
|
+
expect(css).toContain(`--${tone}-soft: color-mix(in srgb, var(--${tone}-fill) 12%, var(--surface-0))`);
|
|
104
|
+
}
|
|
84
105
|
}
|
|
85
106
|
});
|
|
86
107
|
|
|
@@ -94,18 +115,19 @@ describe("theme", () => {
|
|
|
94
115
|
expect(css).toContain("--black: var(--hc-black, #000000)");
|
|
95
116
|
});
|
|
96
117
|
|
|
97
|
-
it("
|
|
118
|
+
it("разрешает token overrides на этапе сборки и выводит каждое свойство один раз", () => {
|
|
98
119
|
const css = compileExactTheme();
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
expect(
|
|
106
|
-
expect(
|
|
107
|
-
expect(
|
|
108
|
-
expect(
|
|
120
|
+
const declarationNames = Array.from(css.matchAll(/^\s*(--[\w-]+):/gm), ([, name]) => name);
|
|
121
|
+
const duplicateNames = declarationNames.filter((name, index) => declarationNames.indexOf(name) !== index);
|
|
122
|
+
|
|
123
|
+
expect(declarationNames).toHaveLength(94);
|
|
124
|
+
expect(duplicateNames).toEqual([]);
|
|
125
|
+
expect(css).toContain("--error-text: var(--hc-error-text, #990011)");
|
|
126
|
+
expect(css).not.toContain("--error-text: var(--hc-error-text, #aa0011)");
|
|
127
|
+
expect(css).toContain("--border-0: var(--hc-border-0, #abcdef)");
|
|
128
|
+
expect(css).not.toContain("--border-0: var(--hc-border-0, var(--neutral-border))");
|
|
129
|
+
expect(css).toContain("--error-soft: var(--surface-2)");
|
|
130
|
+
expect(css).not.toContain("--error-soft: color-mix(in srgb, var(--error-fill) 12%, var(--surface-0))");
|
|
109
131
|
expect(css).toContain("--surface-0: var(--hc-surface-0, #fefefe)");
|
|
110
132
|
});
|
|
111
133
|
|
|
@@ -139,16 +161,35 @@ describe("theme", () => {
|
|
|
139
161
|
});
|
|
140
162
|
|
|
141
163
|
describe("interactive surface", () => {
|
|
142
|
-
it("использует accent
|
|
164
|
+
it("использует соответствующие состояния accent-схемы для hover, active и selected", () => {
|
|
143
165
|
const css = compileString('@use "interactive-surface";', {
|
|
144
166
|
loadPaths: [resolve("src/styles/themes")],
|
|
145
167
|
style: "expanded"
|
|
146
168
|
}).css;
|
|
147
169
|
|
|
148
|
-
expect(css).toContain("--ch: var(--accent-
|
|
149
|
-
expect(css).toContain("--sh: var(--accent-fill)");
|
|
150
|
-
expect(css).toContain("--bh: var(--accent-border)");
|
|
170
|
+
expect(css).toContain("--ch: var(--accent-text-hover)");
|
|
171
|
+
expect(css).toContain("--sh: var(--accent-fill-hover)");
|
|
172
|
+
expect(css).toContain("--bh: var(--accent-border-hover)");
|
|
173
|
+
expect(css).toContain("--ca: var(--accent-text-active)");
|
|
174
|
+
expect(css).toContain("--sa: var(--accent-fill-active)");
|
|
175
|
+
expect(css).toContain("--ba: var(--accent-border-active)");
|
|
176
|
+
expect(css).toContain("--cs: var(--accent-on-fill)");
|
|
177
|
+
expect(css).toContain("--ss: var(--accent-fill)");
|
|
178
|
+
expect(css).toContain("--bs: var(--accent-border)");
|
|
151
179
|
expect(css).toMatch(/\.interactiveSurface\[data-selected=true\]\.interactiveSurfaceFrame\s*\{\s*border-color: var\(--bs\);\s*\}/);
|
|
152
180
|
expect(css).not.toContain("--interactive-");
|
|
153
181
|
});
|
|
182
|
+
|
|
183
|
+
it("сохраняет ту же карту состояний в используемом popup option", () => {
|
|
184
|
+
const css = compileUiModule();
|
|
185
|
+
|
|
186
|
+
expect(css).toMatch(/\.uiPopupOption\.selected\s*\{\s*color: var\(--accent-on-fill\);\s*background-color: var\(--accent-fill\);/);
|
|
187
|
+
expect(css).toMatch(
|
|
188
|
+
/\.uiPopupOption\.uiPopupOptionActive,\s*\.uiPopupOption:active\s*\{\s*color: var\(--accent-text-active\);\s*background-color: var\(--accent-fill-active\);/
|
|
189
|
+
);
|
|
190
|
+
expect(css).toMatch(
|
|
191
|
+
/@media \(any-hover: hover\)\s*\{\s*\.uiPopupOption:hover\s*\{\s*color: var\(--accent-text-hover\);\s*background-color: var\(--accent-fill-hover\);/
|
|
192
|
+
);
|
|
193
|
+
expect(css).not.toMatch(/@media \(any-hover: none\)\s*\{\s*\.uiPopupOption:active/);
|
|
194
|
+
});
|
|
154
195
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{n as t}from"./iframe-CLqd5Giv.js";import{i as n,r}from"./react-Bl2r1tuC.js";import{a as i,d as a,f as o,l as s,m as c,n as l,p as u,r as d,u as f}from"./blocks-BIDgFZzT.js";import{a as p,i as m,n as h,o as g,r as _,s as v,t as y}from"./Badge.stories-NTzzKHJp.js";function b(e){let t={code:`code`,h2:`h2`,h3:`h3`,li:`li`,p:`p`,pre:`pre`,ul:`ul`,...n(),...e.components};return(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(s,{of:h,parameters:{atomicCanvas:!0,layout:`padded`,docs:{toc:!0}}}),`
|
|
2
2
|
`,(0,S.jsx)(u,{children:`Badge`}),`
|
|
3
3
|
`,(0,S.jsx)(o,{children:`Компактная текстовая метка для статусов, категорий, фильтров и коротких служебных пометок`}),`
|
|
4
4
|
`,(0,S.jsx)(t.p,{children:`Badge подходит для коротких подписей, которые должны быстро читаться и не перегружать интерфейс:`}),`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-
|
|
1
|
+
import{n as e,r as t}from"./rolldown-runtime-DkW27tQK.js";import{t as n}from"./react-BZJXY1be.js";import{n as r}from"./iframe-CLqd5Giv.js";import{i,n as a,r as o,t as s}from"./BadgeList-CyZwXD1B.js";var c=t({Appearances:()=>h,Basic:()=>p,RemovableList:()=>_,Sizes:()=>g,Tones:()=>m,__namedExportsOrder:()=>v,default:()=>f}),l,u,d,f,p,m,h,g,_,v;function y(){return(y=e((()=>{l=n(),i(),a(),u=r(),{useArgs:d}=__STORYBOOK_MODULE_PREVIEW_API__,f={title:`UI/Badge`,component:o,args:{children:`Новый`,size:`md`,tone:`info`,appearance:`solid`},parameters:{atomicCanvas:!0,layout:`padded`},argTypes:{children:{description:`Текст внутри бейджа.`,control:`text`},size:{description:`Размер бейджа.`,control:`inline-radio`,options:[`xs`,`sm`,`md`,`lg`,`xl`]},tone:{description:`Цветовой тон бейджа.`,control:`inline-radio`,options:[`neutral`,`accent`,`brand`,`success`,`warning`,`error`,`info`]},appearance:{description:`Форма бейджа.`,control:`inline-radio`,options:[`solid`,`outline`,`ghost`,`transparent`]},onRemove:{description:`Показывает кнопку удаления и вызывает обработчик по клику.`,control:!1}}},p={render:function(){let[e]=d();return(0,u.jsx)(o,{...e})}},m={render:()=>(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{tone:`neutral`,appearance:`outline`,children:`Neutral`}),(0,u.jsx)(o,{tone:`accent`,appearance:`solid`,children:`Акцент`}),(0,u.jsx)(o,{tone:`brand`,appearance:`solid`,children:`Бренд`}),(0,u.jsx)(o,{tone:`success`,appearance:`solid`,children:`Успешно`}),(0,u.jsx)(o,{tone:`warning`,appearance:`solid`,children:`Внимание`}),(0,u.jsx)(o,{tone:`error`,appearance:`solid`,children:`Ошибка`}),(0,u.jsx)(o,{tone:`info`,appearance:`solid`,children:`Информация`})]})},h={render:()=>(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{tone:`neutral`,appearance:`solid`,children:`Solid`}),(0,u.jsx)(o,{tone:`neutral`,appearance:`outline`,children:`Outline`}),(0,u.jsx)(o,{tone:`info`,appearance:`ghost`,children:`Ghost`}),(0,u.jsx)(o,{tone:`warning`,appearance:`transparent`,children:`Transparent`})]})},g={render:()=>(0,u.jsxs)(s,{children:[(0,u.jsx)(o,{size:`xs`,children:`Extra Small`}),(0,u.jsx)(o,{size:`sm`,children:`Small`}),(0,u.jsx)(o,{size:`md`,children:`Medium`}),(0,u.jsx)(o,{size:`lg`,children:`Large`}),(0,u.jsx)(o,{size:`xl`,children:`Extra Large`})]})},_={render:()=>{let[e,t]=(0,l.useState)([`Фильтр A`,`Фильтр B`,`Фильтр C`]);return(0,u.jsx)(s,{children:e.map(e=>(0,u.jsx)(o,{tone:`info`,appearance:`outline`,onRemove:()=>t(t=>t.filter(t=>t!==e)),children:e},e))})}},p.parameters={...p.parameters,docs:{...p.parameters?.docs,source:{originalSource:`{
|
|
2
2
|
render: function Render() {
|
|
3
3
|
const [args] = useArgs<BadgeStoryArgs>();
|
|
4
4
|
return <Badge {...args} />;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{n,t as r}from"./x-wBEq3sjm.js";import{n as i}from"./iframe-CLqd5Giv.js";import{a,i as o}from"./utils-tg3ibbzi.js";import{c as s,i as c}from"./array-D-_yMMUK-DnJ_b27D.js";import{n as l,t as u}from"./FloatingPopover-0Dprr5jf.js";import{a as d,i as f,r as p,t as m}from"./uiClasses-BY4mQ-J3.js";import{n as h,t as g}from"./FlexContainer-BWyPlTMB.js";function _({maxChar:e,placement:t=`left`,closeDelay:n=0,maxWidth:r,children:i,block:a,state:o,textWrap:c,textWrapProps:l}){let d=s(i);if(!d.length||e&&d.length<e)return(0,v.jsx)(`span`,{children:d});let f=c??`div`,p={style:{display:a?`block`:`inline-block`,width:e?`${e-3}ch`:`auto`},className:`textOverflow`},m={...l,...p,style:{...l?.style,...p.style},className:[l?.className,p.className].filter(Boolean).join(` `)};return(0,v.jsx)(u,{state:o,placement:t,openOnHover:!0,content:d,closeDelay:n,maxWidth:r,children:(0,v.jsx)(f,{...m,children:d})})}var v;function y(){return(y=e((()=>{c(),l(),v=i(),_.__docgenInfo={description:``,methods:[],displayName:`TextOverflow`,props:{children:{required:!0,tsType:{name:`string`},description:``},maxChar:{required:!1,tsType:{name:`number`},description:``},maxWidth:{required:!1,tsType:{name:`number`},description:`Максимальная ширина тултипа в em.`},placement:{required:!1,tsType:{name:`Placement`},description:``,defaultValue:{value:`"left"`,computed:!1}},closeDelay:{required:!1,tsType:{name:`number`},description:``,defaultValue:{value:`0`,computed:!1}},block:{required:!1,tsType:{name:`literal`,value:`true`},description:`Для работы text-overflow элемент обязан быть блочным или inline-block.
|
|
2
2
|
Если в качестве обёртки передается инлайновый компонент, то он будет
|
|
3
3
|
перезаписан через стили на display: block или inline-block в зависимости
|
|
4
4
|
от установки данного пропса.`},state:{required:!1,tsType:{name:`union`,raw:`"information" | "error" | "warning" | "success" | "negative"`,elements:[{name:`literal`,value:`"information"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"negative"`}]},description:``},textWrap:{required:!1,tsType:{name:`T`},description:``},textWrapProps:{required:!1,tsType:{name:`Omit`,elements:[{name:`ComponentProps`,elements:[{name:`T`}],raw:`ComponentProps<T>`},{name:`literal`,value:`"children"`}],raw:`Omit<ComponentProps<T>, "children">`},description:``}}}})))()}var b,x,S,C,w,T,E,D,O,k;function A(){return(A=e((()=>{b=`qBtmnH`,x=`p-HsHY`,S=`u9tQAE`,C=`FRScRz`,w=`W13uQO`,T=`_3IRcM9`,E=`R3ybI7`,D=`DdWAaC`,O=`_5cXBQF`,k={badge:b,passive:x,sizeXs:S,sizeSm:C,sizeMd:w,sizeLg:T,sizeXl:E,content:D,removeButton:O}})))()}function j({children:e,size:t=`sm`,tone:n,appearance:i,className:o,onRemove:s}){let c=n??`neutral`,l=d({tone:n,appearance:i,fallbackTone:c,fallbackAppearance:c===`neutral`?`outline`:`solid`});return(0,M.jsxs)(`div`,{className:a(k.badge,N[t],p(l.tone),m(l.appearance),!s&&k.passive,o),children:[(0,M.jsx)(_,{maxChar:25,placement:`top`,block:!0,textWrapProps:{className:k.content},children:String(e)}),s&&(0,M.jsx)(`button`,{type:`button`,onClick:s,className:k.removeButton,"aria-label":`Удалить бейдж`,"data-ui":`badge-remove-button`,"data-action":`remove-badge`,children:(0,M.jsx)(r,{})})]})}var M,N;function P(){return(P=e((()=>{o(),n(),y(),f(),A(),M=i(),N={xs:k.sizeXs,sm:k.sizeSm,md:k.sizeMd,lg:k.sizeLg,xl:k.sizeXl},j.__docgenInfo={description:`Компактный индикатор для статусов, категорий и коротких служебных меток.`,methods:[],displayName:`Badge`,props:{children:{required:!0,tsType:{name:`union`,raw:`string | number`,elements:[{name:`string`},{name:`number`}]},description:``},size:{required:!1,tsType:{name:`union`,raw:`"xs" | "sm" | "md" | "lg" | "xl"`,elements:[{name:`literal`,value:`"xs"`},{name:`literal`,value:`"sm"`},{name:`literal`,value:`"md"`},{name:`literal`,value:`"lg"`},{name:`literal`,value:`"xl"`}]},description:``,defaultValue:{value:`"sm"`,computed:!1}},tone:{required:!1,tsType:{name:`union`,raw:`"accent" | "neutral" | "brand" | "error" | "warning" | "success" | "info"`,elements:[{name:`literal`,value:`"accent"`},{name:`literal`,value:`"neutral"`},{name:`literal`,value:`"brand"`},{name:`literal`,value:`"error"`},{name:`literal`,value:`"warning"`},{name:`literal`,value:`"success"`},{name:`literal`,value:`"info"`}]},description:``},appearance:{required:!1,tsType:{name:`union`,raw:`"solid" | "outline" | "ghost" | "transparent"`,elements:[{name:`literal`,value:`"solid"`},{name:`literal`,value:`"outline"`},{name:`literal`,value:`"ghost"`},{name:`literal`,value:`"transparent"`}]},description:``},className:{required:!1,tsType:{name:`string`},description:``},onRemove:{required:!1,tsType:{name:`signature`,type:`function`,raw:`() => void`,signature:{arguments:[],return:{name:`void`}}},description:``}}}})))()}function F({children:e}){return(0,L.jsx)(g,{inline:!0,wrap:!0,gap:`sm`,align:`baseline`,children:I.Children.map(e,(e,t)=>(0,L.jsx)(I.Fragment,{children:e},t))})}var I,L;function R(){return(R=e((()=>{I=t(),h(),L=i(),F.__docgenInfo={description:"Контейнер для группы `Badge`, который выстраивает элементы в единый список с предсказуемыми отступами. Используется для компактного вывода набора меток или фильтров.",methods:[],displayName:`BadgeList`,props:{children:{required:!0,tsType:{name:`Array`,elements:[{name:`ReactElement`,elements:[{name:`union`,raw:`typeof Badge | null | undefined | false`,elements:[{name:`Badge`},{name:`null`},{name:`undefined`},{name:`literal`,value:`false`}]}],raw:`ReactElement<typeof Badge | null | undefined | false>`}],raw:`ReactElement<typeof Badge | null | undefined | false>[]`},description:``}}}})))()}export{P as i,R as n,j as r,F as t};
|