@servicetitan/anvil2 2.9.1 → 3.0.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/CHANGELOG.md +71 -0
- package/dist/{AiMark-DR-w6Nbm.js → AiMark-B1-M3ZgP.js} +26 -25
- package/dist/{AiMark-DR-w6Nbm.js.map → AiMark-B1-M3ZgP.js.map} +1 -1
- package/dist/AiMark.css +246 -256
- package/dist/AiMark.js +1 -1
- package/dist/{Alert-Dj61Bq8h.js → Alert-DmbqtMg_.js} +20 -31
- package/dist/Alert-DmbqtMg_.js.map +1 -0
- package/dist/Alert.css +72 -90
- package/dist/Alert.js +1 -1
- package/dist/{Announcement-B9zm-_1S.js → Announcement-_C5g2Lzm.js} +14 -14
- package/dist/{Announcement-B9zm-_1S.js.map → Announcement-_C5g2Lzm.js.map} +1 -1
- package/dist/Announcement.css +108 -97
- package/dist/Announcement.js +1 -1
- package/dist/{AnvilProvider-DUPYyMc7.js → AnvilProvider-JXEbeQjR.js} +13 -8
- package/dist/AnvilProvider-JXEbeQjR.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Avatar-BckUfs1N.js → Avatar-B4hRHku9.js} +23 -23
- package/dist/Avatar-B4hRHku9.js.map +1 -0
- package/dist/{Avatar-ChybzixS.js → Avatar-NbFc4Ovc.js} +2 -2
- package/dist/{Avatar-ChybzixS.js.map → Avatar-NbFc4Ovc.js.map} +1 -1
- package/dist/Avatar.css +116 -177
- package/dist/Avatar.js +2 -2
- package/dist/{Badge-C2W7Dls9.js → Badge-C_wTvtnB.js} +7 -7
- package/dist/{Badge-C2W7Dls9.js.map → Badge-C_wTvtnB.js.map} +1 -1
- package/dist/Badge.css +42 -50
- package/dist/Badge.js +1 -1
- package/dist/{Breadcrumbs-ojgYVZwe.js → Breadcrumbs-CYmciJ1D.js} +7 -7
- package/dist/{Breadcrumbs-ojgYVZwe.js.map → Breadcrumbs-CYmciJ1D.js.map} +1 -1
- package/dist/Breadcrumbs.css +37 -45
- package/dist/Breadcrumbs.js +1 -1
- package/dist/{Button-BdrrhBTI.js → Button-Bnt8XUI7.js} +13 -10
- package/dist/{Button-BdrrhBTI.js.map → Button-Bnt8XUI7.js.map} +1 -1
- package/dist/Button.css +274 -335
- package/dist/Button.js +1 -1
- package/dist/Button.module-DsGhJYRw.js +23 -0
- package/dist/Button.module-DsGhJYRw.js.map +1 -0
- package/dist/{ButtonCompound-Cmw3cgMY.js → ButtonCompound-DsrK7G3q.js} +11 -4
- package/dist/ButtonCompound-DsrK7G3q.js.map +1 -0
- package/dist/ButtonCompound.css +25 -0
- package/dist/ButtonCompound.js +1 -1
- package/dist/{ButtonLink-BJKTJER8.js → ButtonLink-j3h_wRNi.js} +9 -6
- package/dist/ButtonLink-j3h_wRNi.js.map +1 -0
- package/dist/ButtonLink.js +1 -1
- package/dist/{ButtonToggle-DaFQ3DBG.js → ButtonToggle-Ct9_5bhC.js} +7 -4
- package/dist/ButtonToggle-Ct9_5bhC.js.map +1 -0
- package/dist/ButtonToggle.css +109 -0
- package/dist/ButtonToggle.js +1 -1
- package/dist/{Calendar-Cka4unyi.js → Calendar-BAbAagIx.js} +2 -2
- package/dist/{Calendar-Cka4unyi.js.map → Calendar-BAbAagIx.js.map} +1 -1
- package/dist/{Calendar-Dxl9QnfP.js → Calendar-CaCMa_jq.js} +38 -35
- package/dist/Calendar-CaCMa_jq.js.map +1 -0
- package/dist/Calendar.css +250 -301
- package/dist/Calendar.js +2 -2
- package/dist/{Card-wz71dEVA.js → Card-DSFuXUGk.js} +11 -11
- package/dist/{Card-wz71dEVA.js.map → Card-DSFuXUGk.js.map} +1 -1
- package/dist/Card.css +51 -65
- package/dist/Card.js +1 -1
- package/dist/{Checkbox-B-XTVPbX.js → Checkbox-BSAS8-DM.js} +28 -39
- package/dist/Checkbox-BSAS8-DM.js.map +1 -0
- package/dist/{Checkbox-Cw1-KFvq.js → Checkbox-Ckl8EFpF.js} +2 -2
- package/dist/{Checkbox-Cw1-KFvq.js.map → Checkbox-Ckl8EFpF.js.map} +1 -1
- package/dist/Checkbox.css +237 -271
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.module-TYMeYIxw.js +28 -0
- package/dist/Checkbox.module-TYMeYIxw.js.map +1 -0
- package/dist/{Chip-Ce0WGKAc.js → Chip-CR5i8mQW.js} +31 -23
- package/dist/Chip-CR5i8mQW.js.map +1 -0
- package/dist/Chip.css +191 -206
- package/dist/Chip.js +1 -1
- package/dist/{Combobox-CNQUROyr.js → Combobox-BffGTugd.js} +59 -72
- package/dist/Combobox-BffGTugd.js.map +1 -0
- package/dist/Combobox.css +158 -176
- package/dist/Combobox.js +1 -1
- package/dist/{DataTable-JRxu2yTP.js → DataTable-D9Xj1nq5.js} +73 -72
- package/dist/{DataTable-JRxu2yTP.js.map → DataTable-D9Xj1nq5.js.map} +1 -1
- package/dist/DataTable.css +593 -780
- package/dist/{DateFieldRange-D2hnF50O.js → DateFieldRange-DPTC3EZz.js} +6 -6
- package/dist/{DateFieldRange-D2hnF50O.js.map → DateFieldRange-DPTC3EZz.js.map} +1 -1
- package/dist/DateFieldRange.js +1 -1
- package/dist/{DateFieldSingle-BuaB7RDr.js → DateFieldSingle-w1G-zd9G.js} +6 -6
- package/dist/{DateFieldSingle-BuaB7RDr.js.map → DateFieldSingle-w1G-zd9G.js.map} +1 -1
- package/dist/DateFieldSingle.js +1 -1
- package/dist/{DateFieldYearless-DLeMEutt.js → DateFieldYearless-DHNVc7Sd.js} +7 -7
- package/dist/{DateFieldYearless-DLeMEutt.js.map → DateFieldYearless-DHNVc7Sd.js.map} +1 -1
- package/dist/DateFieldYearless.js +1 -1
- package/dist/{DateFieldYearlessRange-BfPuYKKC.js → DateFieldYearlessRange-C5ktVUgG.js} +10 -10
- package/dist/{DateFieldYearlessRange-BfPuYKKC.js.map → DateFieldYearlessRange-C5ktVUgG.js.map} +1 -1
- package/dist/DateFieldYearlessRange.css +11 -19
- package/dist/DateFieldYearlessRange.js +1 -1
- package/dist/{DaysOfTheWeek-BW1T8sTU.js → DaysOfTheWeek-BubWkBZ0.js} +10 -10
- package/dist/{DaysOfTheWeek-BW1T8sTU.js.map → DaysOfTheWeek-BubWkBZ0.js.map} +1 -1
- package/dist/DaysOfTheWeek.css +19 -27
- package/dist/DaysOfTheWeek.js +1 -1
- package/dist/{Details-CZOIpNP_.js → Details-DYRJcLWL.js} +10 -10
- package/dist/{Details-CZOIpNP_.js.map → Details-DYRJcLWL.js.map} +1 -1
- package/dist/Details.css +134 -138
- package/dist/Details.js +1 -1
- package/dist/{Dialog-Cewu2pd_.js → Dialog-DGmF6qx3.js} +27 -26
- package/dist/Dialog-DGmF6qx3.js.map +1 -0
- package/dist/Dialog.css +108 -143
- package/dist/Dialog.js +1 -1
- package/dist/{DialogCancelButton-Czz4Wpse.js → DialogCancelButton-CbtQcf2J.js} +2 -2
- package/dist/{DialogCancelButton-Czz4Wpse.js.map → DialogCancelButton-CbtQcf2J.js.map} +1 -1
- package/dist/{Divider-B1UoK8ho.js → Divider-Ds3WKsKa.js} +19 -19
- package/dist/{Divider-B1UoK8ho.js.map → Divider-Ds3WKsKa.js.map} +1 -1
- package/dist/Divider.css +93 -169
- package/dist/Divider.js +1 -1
- package/dist/Dnd.js +1 -1
- package/dist/DndSort.css +18 -34
- package/dist/DndSort.js +10 -10
- package/dist/{Drawer-Cb5asXWf.js → Drawer-iewBy1DW.js} +24 -25
- package/dist/{Drawer-Cb5asXWf.js.map → Drawer-iewBy1DW.js.map} +1 -1
- package/dist/Drawer.css +109 -144
- package/dist/Drawer.js +1 -1
- package/dist/DrillDown.css +117 -131
- package/dist/DrillDown.js +1 -1
- package/dist/DrillDown.module-D1Bf9_yP.js +27 -0
- package/dist/{DrillDown.module-C8VOhzaF.js.map → DrillDown.module-D1Bf9_yP.js.map} +1 -1
- package/dist/{EditCard-DlJE3LXN.js → EditCard-D7-Ye7R0.js} +21 -20
- package/dist/{EditCard-DlJE3LXN.js.map → EditCard-D7-Ye7R0.js.map} +1 -1
- package/dist/EditCard.css +71 -65
- package/dist/EditCard.js +1 -1
- package/dist/{FieldLabel-HO2VP-4B.js → FieldLabel-DZWu5dMp.js} +17 -17
- package/dist/{FieldLabel-HO2VP-4B.js.map → FieldLabel-DZWu5dMp.js.map} +1 -1
- package/dist/FieldLabel.css +66 -102
- package/dist/FieldLabel.js +1 -1
- package/dist/FieldMessage-DzxfodaI.js +81 -0
- package/dist/FieldMessage-DzxfodaI.js.map +1 -0
- package/dist/FieldMessage.css +20 -29
- package/dist/FieldMessage.js +1 -1
- package/dist/{Flex-WyyZm1bf.js → Flex-DOUtHiPi.js} +4 -4
- package/dist/{Flex-WyyZm1bf.js.map → Flex-DOUtHiPi.js.map} +1 -1
- package/dist/Flex.css +25 -28
- package/dist/Flex.js +1 -1
- package/dist/{Grid-DeYIx5k4.js → Grid-B1VVssDD.js} +5 -5
- package/dist/{Grid-DeYIx5k4.js.map → Grid-B1VVssDD.js.map} +1 -1
- package/dist/Grid.css +37 -54
- package/dist/Grid.js +1 -1
- package/dist/{Helper-B_FIOlhy.js → Helper-DtDeaYTn.js} +8 -10
- package/dist/Helper-DtDeaYTn.js.map +1 -0
- package/dist/Helper.css +4 -16
- package/dist/{Icon-DuIlne4x.js → Icon-BMMbp40n.js} +7 -7
- package/dist/{Icon-DuIlne4x.js.map → Icon-BMMbp40n.js.map} +1 -1
- package/dist/Icon.css +42 -48
- package/dist/Icon.js +1 -1
- package/dist/{InputMask-CLLTehFI.js → InputMask-EwEJlW-t.js} +3 -3
- package/dist/{InputMask-CLLTehFI.js.map → InputMask-EwEJlW-t.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{InteractiveCard-GTYbR6Xy.js → InteractiveCard-CnW0m_F-.js} +7 -7
- package/dist/{InteractiveCard-GTYbR6Xy.js.map → InteractiveCard-CnW0m_F-.js.map} +1 -1
- package/dist/InteractiveCard.css +56 -57
- package/dist/InteractiveCard.js +1 -1
- package/dist/{Layout-CISAxILX.js → Layout-C2Q2hyLG.js} +80 -80
- package/dist/{Layout-CISAxILX.js.map → Layout-C2Q2hyLG.js.map} +1 -1
- package/dist/Layout.css +260 -324
- package/dist/Layout.js +1 -1
- package/dist/{Link-jTvzyXca.js → Link-BUgivkGS.js} +8 -8
- package/dist/{Link-jTvzyXca.js.map → Link-BUgivkGS.js.map} +1 -1
- package/dist/Link.css +48 -65
- package/dist/Link.js +1 -1
- package/dist/Link.module-DJc0cOlg.js +12 -0
- package/dist/Link.module-DJc0cOlg.js.map +1 -0
- package/dist/{LinkButton-DGyHR1E7.js → LinkButton-CuHSdGdj.js} +7 -16
- package/dist/LinkButton-CuHSdGdj.js.map +1 -0
- package/dist/LinkButton.js +1 -1
- package/dist/{List--KhCpjZn.js → List-BXyHWQ9e.js} +8 -8
- package/dist/{List--KhCpjZn.js.map → List-BXyHWQ9e.js.map} +1 -1
- package/dist/List.css +39 -58
- package/dist/List.js +1 -1
- package/dist/{ListView-CPi-qG2w.js → ListView-DBO9Bl1H.js} +4 -4
- package/dist/{ListView-CPi-qG2w.js.map → ListView-DBO9Bl1H.js.map} +1 -1
- package/dist/ListView.css +108 -120
- package/dist/ListView.js +1 -1
- package/dist/ListView.module-CRk9NfLG.js +9 -0
- package/dist/ListView.module-CRk9NfLG.js.map +1 -0
- package/dist/{Listbox-Bp4hqIpH.js → Listbox-DDlxpVu9.js} +7 -7
- package/dist/{Listbox-Bp4hqIpH.js.map → Listbox-DDlxpVu9.js.map} +1 -1
- package/dist/Listbox.css +102 -143
- package/dist/Listbox.js +1 -1
- package/dist/Listbox.module-CfpLm9pS.js +18 -0
- package/dist/Listbox.module-CfpLm9pS.js.map +1 -0
- package/dist/{LocalizationProvider-DWCyga_d.js → LocalizationProvider-CO8fQGqs.js} +2 -2
- package/dist/{LocalizationProvider-DWCyga_d.js.map → LocalizationProvider-CO8fQGqs.js.map} +1 -1
- package/dist/LocalizationProvider.js +1 -1
- package/dist/{Menu-CCavGohP.js → Menu-wpTyUDac.js} +10 -10
- package/dist/{Menu-CCavGohP.js.map → Menu-wpTyUDac.js.map} +1 -1
- package/dist/Menu.css +135 -137
- package/dist/Menu.js +1 -1
- package/dist/MultiSelectField.js +1 -1
- package/dist/{MultiSelectFieldSync-ChZCW4M9.js → MultiSelectFieldSync-DZ3tm7zt.js} +34 -33
- package/dist/MultiSelectFieldSync-DZ3tm7zt.js.map +1 -0
- package/dist/MultiSelectFieldSync.css +263 -257
- package/dist/MultiSelectMenu.js +1 -1
- package/dist/{MultiSelectMenuSync-7C1wW4oO.js → MultiSelectMenuSync-dgO9SmHi.js} +4 -4
- package/dist/{MultiSelectMenuSync-7C1wW4oO.js.map → MultiSelectMenuSync-dgO9SmHi.js.map} +1 -1
- package/dist/{NumberField-CZSTHBeO.js → NumberField-DJbdyatF.js} +15 -12
- package/dist/{NumberField-CZSTHBeO.js.map → NumberField-DJbdyatF.js.map} +1 -1
- package/dist/NumberField.css +34 -49
- package/dist/NumberField.js +1 -1
- package/dist/Overflow.css +143 -164
- package/dist/Overflow.js +44 -42
- package/dist/Overflow.js.map +1 -1
- package/dist/{Page-BHdvTlfE.js → Page-Be1Blwme.js} +65 -65
- package/dist/Page-Be1Blwme.js.map +1 -0
- package/dist/Page.css +384 -404
- package/dist/Page.js +1 -1
- package/dist/{Pagination-B5jqHYG3.js → Pagination-USDJM5vi.js} +29 -34
- package/dist/{Pagination-B5jqHYG3.js.map → Pagination-USDJM5vi.js.map} +1 -1
- package/dist/Pagination.css +63 -117
- package/dist/Pagination.js +1 -1
- package/dist/{Popover-BbqTZw-1.js → Popover-CyB7yzSf.js} +7 -7
- package/dist/{Popover-BbqTZw-1.js.map → Popover-CyB7yzSf.js.map} +1 -1
- package/dist/Popover.css +84 -97
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-CZcxkdX6.js → ProgressBar-DSrjgLTx.js} +15 -15
- package/dist/{ProgressBar-CZcxkdX6.js.map → ProgressBar-DSrjgLTx.js.map} +1 -1
- package/dist/ProgressBar.css +59 -81
- package/dist/ProgressBar.js +1 -1
- package/dist/{Radio-BFr8AdHc.js → Radio-CQaXJ72d.js} +2 -2
- package/dist/{Radio-BFr8AdHc.js.map → Radio-CQaXJ72d.js.map} +1 -1
- package/dist/{Radio-DJZVMCv0.js → Radio-DO4UhbBE.js} +45 -48
- package/dist/Radio-DO4UhbBE.js.map +1 -0
- package/dist/Radio.css +233 -229
- package/dist/Radio.js +1 -1
- package/dist/{SearchField-im7AHGYo.js → SearchField-CsRGYZx3.js} +9 -11
- package/dist/{SearchField-im7AHGYo.js.map → SearchField-CsRGYZx3.js.map} +1 -1
- package/dist/SearchField.css +22 -39
- package/dist/SearchField.js +1 -1
- package/dist/{SegmentedControl-B9NWUF7s.js → SegmentedControl-Chhqyyra.js} +15 -16
- package/dist/SegmentedControl-Chhqyyra.js.map +1 -0
- package/dist/SegmentedControl.css +103 -122
- package/dist/SegmentedControl.js +1 -1
- package/dist/SelectCard-CtXwY8FZ.js +351 -0
- package/dist/SelectCard-CtXwY8FZ.js.map +1 -0
- package/dist/SelectCard.css +135 -82
- package/dist/SelectCard.js +1 -1
- package/dist/SelectField.js +1 -1
- package/dist/{SelectFieldLabel-kEBS8L4l.js → SelectFieldLabel-DLT5dKbx.js} +3 -3
- package/dist/{SelectFieldLabel-kEBS8L4l.js.map → SelectFieldLabel-DLT5dKbx.js.map} +1 -1
- package/dist/{SelectFieldSync-o1Cp9UYC.js → SelectFieldSync-C44hPeeS.js} +9 -8
- package/dist/SelectFieldSync-C44hPeeS.js.map +1 -0
- package/dist/SelectMenu.js +1 -1
- package/dist/{SelectMenuSync-DXrwecFt.js → SelectMenuSync-V97oN85V.js} +4 -4
- package/dist/{SelectMenuSync-DXrwecFt.js.map → SelectMenuSync-V97oN85V.js.map} +1 -1
- package/dist/{SelectOptions-Dy2OWqxn.js → SelectOptions-CDoo4AUu.js} +2 -2
- package/dist/{SelectOptions-Dy2OWqxn.js.map → SelectOptions-CDoo4AUu.js.map} +1 -1
- package/dist/{SelectTrigger-DhKYzEAr.js → SelectTrigger-BWN3Tx43.js} +5 -5
- package/dist/{SelectTrigger-DhKYzEAr.js.map → SelectTrigger-BWN3Tx43.js.map} +1 -1
- package/dist/SelectTrigger.js +1 -1
- package/dist/{SelectTriggerBase-Ni8WqeUx.js → SelectTriggerBase-Do7lQ5rw.js} +8 -7
- package/dist/{SelectTriggerBase-Ni8WqeUx.js.map → SelectTriggerBase-Do7lQ5rw.js.map} +1 -1
- package/dist/SelectTriggerBase.css +231 -305
- package/dist/SelectTriggerBase.module-DKF1FQnc.js +37 -0
- package/dist/SelectTriggerBase.module-DKF1FQnc.js.map +1 -0
- package/dist/{SideNav-CrxYExjh.js → SideNav-CZRVOSbt.js} +19 -14
- package/dist/SideNav-CZRVOSbt.js.map +1 -0
- package/dist/SideNav.css +126 -294
- package/dist/SideNav.js +1 -1
- package/dist/Skeleton.css +57 -65
- package/dist/Skeleton.js +16 -16
- package/dist/Skeleton.js.map +1 -1
- package/dist/{Spinner-BqmcE2pb.js → Spinner-lPMo68yW.js} +16 -17
- package/dist/Spinner-lPMo68yW.js.map +1 -0
- package/dist/Spinner.css +33 -43
- package/dist/Spinner.js +1 -1
- package/dist/{SrOnly-eUpYGpAT.js → SrOnly-pnf8ajnh.js} +2 -2
- package/dist/{SrOnly-eUpYGpAT.js.map → SrOnly-pnf8ajnh.js.map} +1 -1
- package/dist/SrOnly.css +12 -14
- package/dist/SrOnly.js +1 -1
- package/dist/StatusIcon-BwULopyH.js +57 -0
- package/dist/StatusIcon-BwULopyH.js.map +1 -0
- package/dist/StatusIcon.css +32 -0
- package/dist/{Stepper-Dt2xAXth.js → Stepper-CYY64NU1.js} +16 -16
- package/dist/{Stepper-Dt2xAXth.js.map → Stepper-CYY64NU1.js.map} +1 -1
- package/dist/Stepper.css +180 -239
- package/dist/Stepper.js +1 -1
- package/dist/{Switch-C84MBChG.js → Switch-DeBu4Ucg.js} +17 -13
- package/dist/{Switch-C84MBChG.js.map → Switch-DeBu4Ucg.js.map} +1 -1
- package/dist/Switch.css +109 -125
- package/dist/Switch.js +1 -1
- package/dist/{Tab-BZpTCG0i.js → Tab-CewPzmuK.js} +20 -34
- package/dist/Tab-CewPzmuK.js.map +1 -0
- package/dist/Tab.css +232 -194
- package/dist/Tab.js +1 -1
- package/dist/Table.js +1 -1
- package/dist/{Text-WiS8UZkY.js → Text-J5YtSSXY.js} +15 -38
- package/dist/Text-J5YtSSXY.js.map +1 -0
- package/dist/Text.css +101 -142
- package/dist/Text.js +1 -1
- package/dist/Text.module-BXrY87ui.js +23 -0
- package/dist/Text.module-BXrY87ui.js.map +1 -0
- package/dist/{TextField-Bul_uln5.js → TextField-CRDTnuUN.js} +7 -7
- package/dist/{TextField-Bul_uln5.js.map → TextField-CRDTnuUN.js.map} +1 -1
- package/dist/{TextField-OznkTx4e.js → TextField-YlMkDHp-.js} +2 -2
- package/dist/{TextField-OznkTx4e.js.map → TextField-YlMkDHp-.js.map} +1 -1
- package/dist/TextField.css +156 -148
- package/dist/TextField.js +1 -1
- package/dist/TextField.module-MRVo1X9H.js +23 -0
- package/dist/TextField.module-MRVo1X9H.js.map +1 -0
- package/dist/{Textarea-CCYLsJ1x.js → Textarea-CxXmr_Gx.js} +16 -13
- package/dist/{Textarea-CCYLsJ1x.js.map → Textarea-CxXmr_Gx.js.map} +1 -1
- package/dist/Textarea.css +71 -81
- package/dist/Textarea.js +1 -1
- package/dist/{ThemeProvider-CaYW3RuA.js → ThemeProvider-D4KdGCaP.js} +11 -9
- package/dist/ThemeProvider-D4KdGCaP.js.map +1 -0
- package/dist/ThemeProvider.css +586 -516
- package/dist/ThemeProvider.js +1 -1
- package/dist/{TimeField-BPvPbD8H.js → TimeField-DTg0CE5L.js} +7 -7
- package/dist/{TimeField-BPvPbD8H.js.map → TimeField-DTg0CE5L.js.map} +1 -1
- package/dist/TimeField.css +5 -8
- package/dist/TimeField.js +1 -1
- package/dist/{TimezoneMessage-Cnsl4cHT.js → TimezoneMessage-BrKB_psP.js} +2 -2
- package/dist/{TimezoneMessage-Cnsl4cHT.js.map → TimezoneMessage-BrKB_psP.js.map} +1 -1
- package/dist/TimezoneMessage.css +5 -5
- package/dist/Toast.js +2 -2
- package/dist/{Toaster-DYJm06Vb.js → Toaster-Bq42x6Gx.js} +35 -34
- package/dist/Toaster-Bq42x6Gx.js.map +1 -0
- package/dist/{Toaster-CIaIvwH6.js → Toaster-Dly3rfva.js} +2 -2
- package/dist/{Toaster-CIaIvwH6.js.map → Toaster-Dly3rfva.js.map} +1 -1
- package/dist/Toaster.css +210 -242
- package/dist/{Toolbar-ByyI7SqG.js → Toolbar-C1_etxss.js} +42 -42
- package/dist/{Toolbar-ByyI7SqG.js.map → Toolbar-C1_etxss.js.map} +1 -1
- package/dist/Toolbar.css +121 -202
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-C1PBRnJv.js → Tooltip-BlStOXN3.js} +8 -8
- package/dist/{Tooltip-C1PBRnJv.js.map → Tooltip-BlStOXN3.js.map} +1 -1
- package/dist/Tooltip.css +46 -58
- package/dist/Tooltip.js +1 -1
- package/dist/{YearlessDateInputWithPicker-C_twiQW5.js → YearlessDateInputWithPicker-DyytWt0x.js} +14 -16
- package/dist/{YearlessDateInputWithPicker-C_twiQW5.js.map → YearlessDateInputWithPicker-DyytWt0x.js.map} +1 -1
- package/dist/YearlessDateInputWithPicker.css +110 -196
- package/dist/assets/css-utils/a2-border.css +47 -45
- package/dist/assets/css-utils/a2-color.css +443 -227
- package/dist/assets/css-utils/a2-font.css +0 -2
- package/dist/assets/css-utils/a2-spacing.css +476 -478
- package/dist/assets/css-utils/a2-utils.css +992 -772
- package/dist/assets/css-utils/border.css +47 -45
- package/dist/assets/css-utils/color.css +443 -227
- package/dist/assets/css-utils/font.css +0 -2
- package/dist/assets/css-utils/spacing.css +476 -478
- package/dist/assets/css-utils/utils.css +992 -772
- package/dist/beta.js +10 -10
- package/dist/{indeterminate_check_box-B4zobNlt.js → check_box-0U1tbEAd.js} +2 -4
- package/dist/check_box-0U1tbEAd.js.map +1 -0
- package/dist/components/DateFieldRange/internal/MaskedDateRangeInput.d.ts +1 -1
- package/dist/components/DateFieldRange/internal/useDateFieldRangeConversion.d.ts +1 -1
- package/dist/components/DateFieldSingle/internal/MaskedDateInput.d.ts +1 -1
- package/dist/components/DateFieldYearless/internal/YearlessDateInput.d.ts +1 -1
- package/dist/components/DateFieldYearless/internal/YearlessDateInputWithPicker.d.ts +1 -1
- package/dist/components/NumberField/NumberField.d.ts +1 -1
- package/dist/components/Page/Page.d.ts +2 -2
- package/dist/components/SearchField/internal/SearchField.d.ts +1 -1
- package/dist/components/Stepper/Stepper.d.ts +1 -1
- package/dist/components/Stepper/StepperStep.d.ts +1 -1
- package/dist/components/Tab/Tab.d.ts +1 -1
- package/dist/components/Tab/TabButton.d.ts +1 -1
- package/dist/indeterminate_check_box-jjLG4UY6.js +6 -0
- package/dist/indeterminate_check_box-jjLG4UY6.js.map +1 -0
- package/dist/{index-D6ag_WQW.js → index-ByMdotWU.js} +18 -18
- package/dist/{index-D6ag_WQW.js.map → index-ByMdotWU.js.map} +1 -1
- package/dist/index.css +98 -126
- package/dist/index.js +85 -82
- package/dist/index.js.map +1 -1
- package/dist/index2.css +57 -74
- package/dist/internal/components/StatusIcon/StatusIcon.d.ts +5 -5
- package/dist/internal/hooks/useSelectOrchestration.d.ts +1 -1
- package/dist/primitive-DXlHdTFb.js +1056 -0
- package/dist/primitive-DXlHdTFb.js.map +1 -0
- package/dist/providers/ThemeProvider/ThemeProvider.d.ts +1 -0
- package/dist/{stripInlineMarkdown-Cg1qlNwL.js → stripInlineMarkdown-BWbMy7r_.js} +2 -2
- package/dist/{stripInlineMarkdown-Cg1qlNwL.js.map → stripInlineMarkdown-BWbMy7r_.js.map} +1 -1
- package/dist/{syncFilterUtils-UR5Vgqkh.js → syncFilterUtils-BLcRXQfd.js} +49 -49
- package/dist/syncFilterUtils-BLcRXQfd.js.map +1 -0
- package/dist/syncFilterUtils.css +189 -217
- package/dist/token/core/component-variables.scss +1088 -131
- package/dist/token/core/component.d.ts +558 -0
- package/dist/token/core/component.js +6685 -249
- package/dist/token/core/component.scss +557 -69
- package/dist/token/core/css-utils/a2-border.css +47 -45
- package/dist/token/core/css-utils/a2-color.css +443 -227
- package/dist/token/core/css-utils/a2-font.css +0 -2
- package/dist/token/core/css-utils/a2-spacing.css +476 -478
- package/dist/token/core/css-utils/a2-utils.css +992 -772
- package/dist/token/core/css-utils/border.css +47 -45
- package/dist/token/core/css-utils/color.css +443 -227
- package/dist/token/core/css-utils/font.css +0 -2
- package/dist/token/core/css-utils/spacing.css +476 -478
- package/dist/token/core/css-utils/utils.css +992 -772
- package/dist/token/core/index.d.ts +6 -0
- package/dist/token/core/index.js +1 -1
- package/dist/token/core/primitive-variables.scss +148 -65
- package/dist/token/core/primitive.d.ts +209 -0
- package/dist/token/core/primitive.js +779 -61
- package/dist/token/core/primitive.scss +207 -124
- package/dist/token/core/semantic-variables.scss +363 -245
- package/dist/token/core/semantic.d.ts +221 -0
- package/dist/token/core/semantic.js +1592 -347
- package/dist/token/core/semantic.scss +219 -140
- package/dist/token.js +9076 -833
- package/dist/token.js.map +1 -1
- package/dist/{useBreakpoint-okJ64T1D.js → useBreakpoint-CeaUyHxh.js} +2 -2
- package/dist/{useBreakpoint-okJ64T1D.js.map → useBreakpoint-CeaUyHxh.js.map} +1 -1
- package/dist/useBreakpoint.js +1 -1
- package/dist/{useDrillDownContext-BssSasVB.js → useDrillDownContext-iUvoTget.js} +2 -2
- package/dist/{useDrillDownContext-BssSasVB.js.map → useDrillDownContext-iUvoTget.js.map} +1 -1
- package/dist/{useDrilldown-D6VZNSCX.js → useDrilldown-D5WWJRU2.js} +7 -7
- package/dist/{useDrilldown-D6VZNSCX.js.map → useDrilldown-D5WWJRU2.js.map} +1 -1
- package/dist/{useLayoutPropsUtil-DMDdfIah.js → useLayoutPropsUtil-CB_zHDbW.js} +3 -3
- package/dist/{useLayoutPropsUtil-DMDdfIah.js.map → useLayoutPropsUtil-CB_zHDbW.js.map} +1 -1
- package/dist/{useToggleSelection-BBdrIVWs.js → useToggleSelection-D_2qS0P1.js} +2 -2
- package/dist/{useToggleSelection-BBdrIVWs.js.map → useToggleSelection-D_2qS0P1.js.map} +1 -1
- package/package.json +2 -2
- package/dist/Alert-Dj61Bq8h.js.map +0 -1
- package/dist/AnvilProvider-DUPYyMc7.js.map +0 -1
- package/dist/Avatar-BckUfs1N.js.map +0 -1
- package/dist/Button.module-wCtFYGVD.js +0 -26
- package/dist/Button.module-wCtFYGVD.js.map +0 -1
- package/dist/ButtonCompound-Cmw3cgMY.js.map +0 -1
- package/dist/ButtonLink-BJKTJER8.js.map +0 -1
- package/dist/ButtonToggle-DaFQ3DBG.js.map +0 -1
- package/dist/Calendar-Dxl9QnfP.js.map +0 -1
- package/dist/Checkbox-B-XTVPbX.js.map +0 -1
- package/dist/Checkbox.module-EkRZO48Y.js +0 -28
- package/dist/Checkbox.module-EkRZO48Y.js.map +0 -1
- package/dist/Chip-Ce0WGKAc.js.map +0 -1
- package/dist/Combobox-CNQUROyr.js.map +0 -1
- package/dist/Dialog-Cewu2pd_.js.map +0 -1
- package/dist/DrillDown.module-C8VOhzaF.js +0 -27
- package/dist/FieldMessage-COHqUdj5.js +0 -132
- package/dist/FieldMessage-COHqUdj5.js.map +0 -1
- package/dist/Helper-B_FIOlhy.js.map +0 -1
- package/dist/Link.module-CZt9wvuD.js +0 -12
- package/dist/Link.module-CZt9wvuD.js.map +0 -1
- package/dist/LinkButton-DGyHR1E7.js.map +0 -1
- package/dist/LinkButton.css +0 -5
- package/dist/ListView.module-BilDg12y.js +0 -9
- package/dist/ListView.module-BilDg12y.js.map +0 -1
- package/dist/Listbox.module-HAXMOKvC.js +0 -18
- package/dist/Listbox.module-HAXMOKvC.js.map +0 -1
- package/dist/MultiSelectFieldSync-ChZCW4M9.js.map +0 -1
- package/dist/Page-BHdvTlfE.js.map +0 -1
- package/dist/Radio-DJZVMCv0.js.map +0 -1
- package/dist/SegmentedControl-B9NWUF7s.js.map +0 -1
- package/dist/SelectCard-DVcWJRbX.js +0 -352
- package/dist/SelectCard-DVcWJRbX.js.map +0 -1
- package/dist/SelectFieldSync-o1Cp9UYC.js.map +0 -1
- package/dist/SelectTriggerBase.module-CKoq6qzX.js +0 -38
- package/dist/SelectTriggerBase.module-CKoq6qzX.js.map +0 -1
- package/dist/SideNav-CrxYExjh.js.map +0 -1
- package/dist/Spinner-BqmcE2pb.js.map +0 -1
- package/dist/Tab-BZpTCG0i.js.map +0 -1
- package/dist/Text-WiS8UZkY.js.map +0 -1
- package/dist/TextField.module-BP-hDP5m.js +0 -22
- package/dist/TextField.module-BP-hDP5m.js.map +0 -1
- package/dist/ThemeProvider-CaYW3RuA.js.map +0 -1
- package/dist/Toaster-DYJm06Vb.js.map +0 -1
- package/dist/indeterminate_check_box-B4zobNlt.js.map +0 -1
- package/dist/primitive-C3RFDRA8.js +0 -255
- package/dist/primitive-C3RFDRA8.js.map +0 -1
- package/dist/syncFilterUtils-UR5Vgqkh.js.map +0 -1
- package/dist/token/core/raw.js +0 -234
|
@@ -3,31 +3,32 @@ import { c as cx } from './index-De1g9FRV.js';
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import { S as SvgCheck } from './check-Cf67OWrZ.js';
|
|
6
|
-
import { C as Card } from './Card-
|
|
7
|
-
import { T as Text } from './Text-
|
|
8
|
-
import { I as Icon } from './Icon-
|
|
9
|
-
import { B as Button } from './Button-
|
|
10
|
-
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-
|
|
6
|
+
import { C as Card } from './Card-DSFuXUGk.js';
|
|
7
|
+
import { T as Text } from './Text-J5YtSSXY.js';
|
|
8
|
+
import { I as Icon } from './Icon-BMMbp40n.js';
|
|
9
|
+
import { B as Button } from './Button-Bnt8XUI7.js';
|
|
10
|
+
import { u as useLayoutPropsUtil } from './useLayoutPropsUtil-CB_zHDbW.js';
|
|
11
11
|
|
|
12
|
-
import './EditCard.css';const container = "
|
|
13
|
-
const header = "
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
12
|
+
import './EditCard.css';const container = "_container_1u530_23";
|
|
13
|
+
const header = "_header_1u530_30";
|
|
14
|
+
const heading = "_heading_1u530_38";
|
|
15
|
+
const content = "_content_1u530_42";
|
|
16
|
+
const footer = "_footer_1u530_49";
|
|
17
|
+
const indicator = "_indicator_1u530_55";
|
|
18
18
|
const styles = {
|
|
19
|
-
"edit-card": "_edit-
|
|
20
|
-
"edit-card-
|
|
21
|
-
"edit-card-
|
|
19
|
+
"edit-card": "_edit-card_1u530_1",
|
|
20
|
+
"edit-card-in-progress": "_edit-card-in-progress_1u530_8",
|
|
21
|
+
"edit-card-complete": "_edit-card-complete_1u530_13",
|
|
22
|
+
"edit-card-error": "_edit-card-error_1u530_18",
|
|
22
23
|
container: container,
|
|
23
24
|
header: header,
|
|
25
|
+
heading: heading,
|
|
24
26
|
content: content,
|
|
27
|
+
footer: footer,
|
|
25
28
|
indicator: indicator,
|
|
26
|
-
"indicator-in-progress": "_indicator-in-
|
|
27
|
-
"indicator-complete": "_indicator-
|
|
28
|
-
"indicator-error": "_indicator-
|
|
29
|
-
heading: heading,
|
|
30
|
-
footer: footer
|
|
29
|
+
"indicator-in-progress": "_indicator-in-progress_1u530_78",
|
|
30
|
+
"indicator-complete": "_indicator-complete_1u530_84",
|
|
31
|
+
"indicator-error": "_indicator-error_1u530_91"
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
const SvgPriorityHigh = (props) => /* @__PURE__ */ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props }, /* @__PURE__ */ React.createElement("circle", { cx: 12, cy: 19, r: 2 }), /* @__PURE__ */ React.createElement("path", { d: "M12 3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2s2-.9 2-2V5c0-1.1-.9-2-2-2z" }));
|
|
@@ -108,4 +109,4 @@ const EditCard = forwardRef(
|
|
|
108
109
|
EditCard.displayName = "EditCard";
|
|
109
110
|
|
|
110
111
|
export { EditCard as E };
|
|
111
|
-
//# sourceMappingURL=EditCard-
|
|
112
|
+
//# sourceMappingURL=EditCard-D7-Ye7R0.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditCard-
|
|
1
|
+
{"version":3,"file":"EditCard-D7-Ye7R0.js","sources":["../../hammer-icon/mdi/round/priority_high.svg","../src/components/EditCard/EditCard.tsx"],"sourcesContent":["import * as React from \"react\";\nconst SvgPriorityHigh = (props) => /* @__PURE__ */ React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"1em\", height: \"1em\", viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"circle\", { cx: 12, cy: 19, r: 2 }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2s2-.9 2-2V5c0-1.1-.9-2-2-2z\" }));\nexport default SvgPriorityHigh;\n","import cx from \"classnames\";\nimport styles from \"./EditCard.module.scss\";\nimport { ComponentPropsWithoutRef, forwardRef } from \"react\";\nimport { LayoutUtilProps } from \"../../types\";\nimport Check from \"@servicetitan/hammer-icon/mdi/round/check.svg\";\nimport PriorityHigh from \"@servicetitan/hammer-icon/mdi/round/priority_high.svg\";\nimport { useLayoutPropsUtil } from \"../../internal/hooks\";\nimport { Card } from \"../Card\";\nimport { Text } from \"../Text\";\nimport { Icon } from \"../Icon\";\nimport { Button } from \"../Button\";\n\n/**\n * Props for the EditCard component\n * @extends ComponentPropsWithoutRef<\"div\">\n * @extends LayoutUtilProps\n */\nexport type EditCardProps = ComponentPropsWithoutRef<\"div\"> &\n LayoutUtilProps & {\n /**\n * The header text to display. Can be a string or an object mapping states to different text.\n */\n headerText:\n | string\n | {\n \"not started\": string;\n \"in progress\": string;\n error: string;\n complete: string;\n };\n /**\n * The current state of the edit card.\n */\n state: EditCardState;\n /**\n * Text to display on the save button.\n * @default \"Save\"\n */\n saveButtonText?: string;\n /**\n * Text to display on the edit button.\n * @default \"Edit\"\n */\n editButtonText?: string;\n /**\n * Whether to disable the edit button.\n * @default false\n */\n disableEdit?: boolean;\n /**\n * Whether to disable the save button.\n * @default false\n */\n disableSave?: boolean;\n /**\n * Callback function called when the state changes.\n */\n onStateChange?: (changeType: EditCardChange) => void;\n };\n\n/**\n * The type of state change that can occur.\n * @property {\"edit\"} edit - User clicked the edit button to start editing\n * @property {\"save\"} save - User clicked the save button to save changes\n * @property {\"cancel\"} cancel - User clicked the cancel button to discard changes\n */\nexport type EditCardChange = \"edit\" | \"save\" | \"cancel\";\n\n/**\n * The current state of the edit card.\n * @property {\"not started\"} not started - Initial state, content is not being edited\n * @property {\"in progress\"} in progress - User is currently editing the content\n * @property {\"error\"} error - An error occurred during the edit process\n * @property {\"complete\"} complete - Edit was successfully completed\n */\nexport type EditCardState =\n | \"not started\"\n | \"in progress\"\n | \"error\"\n | \"complete\";\n\n/**\n * EditCard component for managing editable content with different states and actions.\n *\n * Features:\n * - Four distinct states: not started, in progress, error, and complete\n * - Visual indicators for each state with appropriate icons\n * - Dynamic header text that can change based on state\n * - Edit and save buttons with customizable text\n * - Optional button disabling for different states\n * - State change callbacks for handling user interactions\n * - Built on Card component with consistent styling\n * - Supports layout utilities for positioning and spacing\n * - Accessible with proper ARIA attributes\n * - Visual state indicators with color-coded borders\n * - Automatic tracking ID generation for analytics\n *\n * @example\n * <EditCard\n * headerText=\"User Profile\"\n * state=\"not started\"\n * onStateChange={(change) => console.log(change)}\n * >\n * <Text>Profile information goes here</Text>\n * </EditCard>\n */\nexport const EditCard = forwardRef<HTMLDivElement, EditCardProps>(\n (props, ref) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const {\n children,\n className,\n style,\n headerText,\n state,\n editButtonText = \"Edit\",\n saveButtonText = \"Save\",\n disableEdit = false,\n disableSave = false,\n onStateChange,\n ...rest\n } = componentProps;\n\n const kebabState = state?.replaceAll(\" \", \"-\");\n\n const editCardClassNames = cx(\n styles[\"edit-card\"],\n styles[`edit-card-${kebabState}`],\n className,\n );\n\n return (\n <Card\n padding=\"large\"\n className={editCardClassNames}\n data-anv=\"edit-card\"\n style={style}\n ref={ref}\n {...rest}\n >\n <div\n className={cx(styles.indicator, styles[`indicator-${kebabState}`])}\n >\n {state === \"complete\" && <Icon svg={Check} />}\n {state === \"error\" && <Icon svg={PriorityHigh} />}\n </div>\n <div className={styles.container}>\n <div className={styles.header}>\n <Text className={styles.heading} variant=\"headline\" el=\"h3\">\n {typeof headerText === \"string\" ? headerText : headerText[state]}\n </Text>\n {state !== \"in progress\" && (\n <Button\n disabled={disableEdit}\n onClick={() => onStateChange?.(\"edit\")}\n >\n {editButtonText}\n </Button>\n )}\n </div>\n {children && (\n <div className={styles.content} style={layoutStyles}>\n {children}\n </div>\n )}\n {state === \"in progress\" && (\n <div className={styles.footer}>\n <Button onClick={() => onStateChange?.(\"cancel\")}>Cancel</Button>\n <Button\n appearance=\"primary\"\n onClick={() => onStateChange?.(\"save\")}\n disabled={disableSave}\n >\n {saveButtonText}\n </Button>\n </div>\n )}\n </div>\n </Card>\n );\n },\n);\n\nEditCard.displayName = \"EditCard\";\n"],"names":["Check","PriorityHigh"],"mappings":"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"}
|
package/dist/EditCard.css
CHANGED
|
@@ -1,66 +1,72 @@
|
|
|
1
|
-
@layer starter, reset, base, state, application
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
1
|
+
.anvil2{@layer starter, reset, base, state, application;._edit-card_1u530_1 {
|
|
2
|
+
--a2-mod-edit-card-border-inline-start-color: var(--a2-edit-card-default-border-inline-start-color, var(--a2-border-color-subdued, light-dark(var(--a2-color-neutral-80, #e6e6e6), var(--a2-color-neutral-700, #404040))));
|
|
3
|
+
--a2-mod-edit-card-border-inline-start-width: var(--a2-edit-card-default-border-inline-start-width, var(--a2-size-quarter, 0.0625rem));
|
|
4
|
+
border-inline-start: var(--a2-mod-edit-card-border-inline-start-width) solid var(--a2-mod-edit-card-border-inline-start-color);
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
}._edit-card-in-progress_1u530_8 {
|
|
7
|
+
--a2-mod-edit-card-border-inline-start-color: var(--a2-edit-card-in-progress-border-inline-start-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
|
|
8
|
+
--a2-mod-edit-card-border-inline-start-width: var(--a2-edit-card-in-progress-border-inline-start-width, 0.375rem);
|
|
9
|
+
}._edit-card-complete_1u530_13 {
|
|
10
|
+
--a2-mod-edit-card-border-inline-start-color: var(--a2-edit-card-complete-border-inline-start-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
|
|
11
|
+
--a2-mod-edit-card-border-inline-start-width: var(--a2-edit-card-complete-border-inline-start-width, 0.375rem);
|
|
12
|
+
}._edit-card-error_1u530_18 {
|
|
13
|
+
--a2-mod-edit-card-border-inline-start-color: var(--a2-edit-card-error-border-inline-start-color, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))));
|
|
14
|
+
--a2-mod-edit-card-border-inline-start-width: var(--a2-edit-card-error-border-inline-start-width, 0.375rem);
|
|
15
|
+
}._container_1u530_23 {
|
|
16
|
+
display: flex;
|
|
17
|
+
flex-direction: column;
|
|
18
|
+
flex-grow: 1;
|
|
19
|
+
gap: var(--a2-size-6, 1.5rem);
|
|
20
|
+
}._header_1u530_30 {
|
|
21
|
+
display: flex;
|
|
22
|
+
flex-direction: row;
|
|
23
|
+
font-weight: var(--a2-typography-heading-font-weight, var(--a2-font-weight-bold, 700));
|
|
24
|
+
gap: var(--a2-size-3, 0.75rem);
|
|
25
|
+
justify-content: space-between;
|
|
26
|
+
}._heading_1u530_38 {
|
|
27
|
+
margin-block-start: var(--a2-size-2, 0.5rem);
|
|
28
|
+
}._content_1u530_42 {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex: 1 1 auto;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
gap: var(--a2-size-1, 0.25rem);
|
|
33
|
+
}._footer_1u530_49 {
|
|
34
|
+
display: flex;
|
|
35
|
+
gap: var(--a2-size-3, 0.75rem);
|
|
36
|
+
justify-content: flex-end;
|
|
37
|
+
}._indicator_1u530_55 {
|
|
38
|
+
--a2-mod-edit-card-indicator-background-color: var(--a2-edit-card-default-indicator-background-color, var(--a2-background-color-default, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a))));
|
|
39
|
+
--a2-mod-edit-card-indicator-border-color: var(--a2-edit-card-default-indicator-border-color, var(--a2-background-color-strongest, light-dark(var(--a2-color-neutral-200, #c4c4c4), var(--a2-color-neutral-500, #707070))));
|
|
40
|
+
--a2-mod-edit-card-indicator-border-style: var(--a2-edit-card-default-indicator-border-style, dashed);
|
|
41
|
+
--a2-mod-edit-card-indicator-icon-color: var(--a2-edit-card-default-indicator-icon-color, rgba(0, 0, 0, 0));
|
|
42
|
+
background-color: var(--a2-mod-edit-card-indicator-background-color);
|
|
43
|
+
border: var(--a2-edit-card-indicator-border-width, var(--a2-size-quarter, 0.0625rem)) var(--a2-mod-edit-card-indicator-border-style) var(--a2-mod-edit-card-indicator-border-color);
|
|
44
|
+
border-radius: var(--a2-border-radius-circular, 100%);
|
|
45
|
+
height: var(--a2-edit-card-indicator-size, var(--a2-size-4, 1rem));
|
|
46
|
+
margin-block-start: var(--a2-size-3, 0.75rem);
|
|
47
|
+
margin-inline-end: var(--a2-size-2, 0.5rem);
|
|
48
|
+
margin-inline-start: -0.3125rem;
|
|
49
|
+
min-width: var(--a2-edit-card-indicator-size, var(--a2-size-4, 1rem));
|
|
50
|
+
width: var(--a2-edit-card-indicator-size, var(--a2-size-4, 1rem));
|
|
51
|
+
}._indicator_1u530_55 > span {
|
|
52
|
+
--a2-mod-icon-foreground-color: var(
|
|
53
|
+
--a2-mod-edit-card-indicator-icon-color
|
|
54
|
+
);
|
|
55
|
+
--a2-mod-icon-height: var(--a2-edit-card-indicator-size, var(--a2-size-4, 1rem));
|
|
56
|
+
--a2-mod-icon-width: var(--a2-edit-card-indicator-size, var(--a2-size-4, 1rem));
|
|
57
|
+
}._indicator-in-progress_1u530_78 {
|
|
58
|
+
--a2-mod-edit-card-indicator-border-color: var(--a2-edit-card-in-progress-indicator-border-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
|
|
59
|
+
--a2-mod-edit-card-indicator-border-style: var(--a2-edit-card-indicator-border-style, solid);
|
|
60
|
+
--a2-mod-edit-card-indicator-icon-color: var(--a2-edit-card-in-progress-indicator-icon-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
|
|
61
|
+
}._indicator-complete_1u530_84 {
|
|
62
|
+
--a2-mod-edit-card-indicator-background-color: var(--a2-edit-card-complete-indicator-background-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
|
|
63
|
+
--a2-mod-edit-card-indicator-border-color: var(--a2-edit-card-complete-indicator-border-color, var(--a2-status-color-info, light-dark(var(--a2-color-blue-600, #0265dc), var(--a2-color-blue-300, #70b1ff))));
|
|
64
|
+
--a2-mod-edit-card-indicator-border-style: var(--a2-edit-card-indicator-border-style, solid);
|
|
65
|
+
--a2-mod-edit-card-indicator-icon-color: var(--a2-edit-card-complete-indicator-icon-color, var(--a2-foreground-color-on-primary, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a))));
|
|
66
|
+
}._indicator-error_1u530_91 {
|
|
67
|
+
--a2-mod-edit-card-indicator-background-color: var(--a2-edit-card-error-indicator-background-color, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))));
|
|
68
|
+
--a2-mod-edit-card-indicator-border-color: var(--a2-edit-card-error-indicator-border-color, var(--a2-status-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))));
|
|
69
|
+
--a2-mod-edit-card-indicator-border-style: var(--a2-edit-card-indicator-border-style, solid);
|
|
70
|
+
--a2-mod-edit-card-indicator-icon-color: var(--a2-edit-card-error-indicator-icon-color, var(--a2-foreground-color-on-danger, light-dark(var(--a2-color-neutral-0, #ffffff), var(--a2-color-neutral-900, #1a1a1a))));
|
|
71
|
+
}
|
|
66
72
|
}
|
package/dist/EditCard.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { E as EditCard, E as default } from './EditCard-
|
|
1
|
+
export { E as EditCard, E as default } from './EditCard-D7-Ye7R0.js';
|
|
2
2
|
//# sourceMappingURL=EditCard.js.map
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useMemo, forwardRef } from 'react';
|
|
3
3
|
import { c as cx } from './index-De1g9FRV.js';
|
|
4
|
-
import { S as SrOnly } from './SrOnly-
|
|
5
|
-
import { T as Tooltip } from './Tooltip-
|
|
6
|
-
import { F as FieldLabelButton, A as AiMark } from './AiMark-
|
|
7
|
-
import { I as Icon } from './Icon-
|
|
4
|
+
import { S as SrOnly } from './SrOnly-pnf8ajnh.js';
|
|
5
|
+
import { T as Tooltip } from './Tooltip-BlStOXN3.js';
|
|
6
|
+
import { F as FieldLabelButton, A as AiMark } from './AiMark-B1-M3ZgP.js';
|
|
7
|
+
import { I as Icon } from './Icon-BMMbp40n.js';
|
|
8
8
|
import { S as SvgInfo } from './info-CYpG6tcI.js';
|
|
9
9
|
|
|
10
10
|
import './FieldLabel.css';const INLINE_MARKDOWN_REGEX = /\*\*\*(.+?)\*\*\*|\*\*(.+?)\*\*|\*(.+?)\*|==(.+?)==|`(.+?)`/g;
|
|
11
11
|
|
|
12
|
-
const
|
|
13
|
-
const
|
|
12
|
+
const highlight = "_highlight_1v2if_1";
|
|
13
|
+
const code = "_code_1v2if_7";
|
|
14
14
|
const styles$1 = {
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
highlight: highlight,
|
|
16
|
+
code: code
|
|
17
17
|
};
|
|
18
18
|
|
|
19
19
|
const parseInlineMarkdown = (text) => {
|
|
@@ -53,17 +53,17 @@ const parseInlineMarkdown = (text) => {
|
|
|
53
53
|
return parts;
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
const label = "
|
|
57
|
-
const required = "
|
|
56
|
+
const label = "_label_1hcxw_1";
|
|
57
|
+
const required = "_required_1hcxw_51";
|
|
58
58
|
const styles = {
|
|
59
59
|
label: label,
|
|
60
|
-
"top-container": "_top-
|
|
61
|
-
"
|
|
60
|
+
"top-container": "_top-container_1hcxw_31",
|
|
61
|
+
"ai-mark-icon": "_ai-mark-icon_1hcxw_35",
|
|
62
|
+
"label-text": "_label-text_1hcxw_46",
|
|
62
63
|
required: required,
|
|
63
|
-
"info-container": "_info-
|
|
64
|
-
"info-trigger": "_info-
|
|
65
|
-
"info-content": "_info-
|
|
66
|
-
"ai-mark-icon": "_ai-mark-icon_1r4te_81"
|
|
64
|
+
"info-container": "_info-container_1hcxw_57",
|
|
65
|
+
"info-trigger": "_info-trigger_1hcxw_63",
|
|
66
|
+
"info-content": "_info-content_1hcxw_69"
|
|
67
67
|
};
|
|
68
68
|
|
|
69
69
|
const FieldLabelMoreInfoIcon = ({
|
|
@@ -177,4 +177,4 @@ FieldLabelElement.displayName = "FieldLabel";
|
|
|
177
177
|
const FieldLabel = FieldLabelElement;
|
|
178
178
|
|
|
179
179
|
export { FieldLabel as F, INLINE_MARKDOWN_REGEX as I };
|
|
180
|
-
//# sourceMappingURL=FieldLabel-
|
|
180
|
+
//# sourceMappingURL=FieldLabel-DZWu5dMp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldLabel-HO2VP-4B.js","sources":["../src/internal/utils/inlineMarkdownRegex.ts","../src/internal/functions/inlineMarkdown.tsx","../src/components/FieldLabel/internal/FieldLabelMoreInfoIcon.tsx","../src/internal/components/InlineMarkdown/InlineMarkdown.tsx","../src/components/FieldLabel/FieldLabel.tsx"],"sourcesContent":["/**\n * Shared regex for parsing inline markdown constructs.\n * Matches (in order): bold-italic `***`, bold `**`, italic `*`, highlight `==`, code `` ` ``\n */\nexport const INLINE_MARKDOWN_REGEX =\n /\\*\\*\\*(.+?)\\*\\*\\*|\\*\\*(.+?)\\*\\*|\\*(.+?)\\*|==(.+?)==|`(.+?)`/g;\n","import { ReactNode } from \"react\";\nimport styles from \"../components/InlineMarkdown/InlineMarkdown.module.scss\";\nimport { INLINE_MARKDOWN_REGEX } from \"../utils/inlineMarkdownRegex\";\n\n/**\n * Parses a limited set of inline markdown constructs in a string and returns React nodes.\n * `lastIndex` is reset at the start of each call and saved/restored around recursive calls\n * so a single shared regex instance is safe for nested parsing.\n *\n * Supported constructs (matched in order):\n * - `***text***` → `<strong><em>text</em></strong>`\n * - `**text**` → `<strong>text</strong>`\n * - `*text*` → `<em>text</em>`\n * - `==text==` → `<mark>`\n * - `` `text` `` → `<code>` (no nested markdown inside code)\n *\n * For plain-text stripping (e.g. aria-label), use `stripInlineMarkdown` from\n * `./stripInlineMarkdown` — it has no style dependencies.\n *\n * @param text - The string to parse\n * @returns Array of React nodes representing the parsed content\n */\nexport const parseInlineMarkdown = (text: string): ReactNode[] => {\n const parts: ReactNode[] = [];\n let lastIndex = 0;\n\n INLINE_MARKDOWN_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = INLINE_MARKDOWN_REGEX.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n\n const key = match.index;\n const savedIndex = INLINE_MARKDOWN_REGEX.lastIndex;\n\n if (match[1]) {\n // ***bold italic***\n parts.push(\n <strong key={key}>\n <em>{parseInlineMarkdown(match[1])}</em>\n </strong>,\n );\n } else if (match[2]) {\n // **bold**\n parts.push(<strong key={key}>{parseInlineMarkdown(match[2])}</strong>);\n } else if (match[3]) {\n // *italic*\n parts.push(<em key={key}>{parseInlineMarkdown(match[3])}</em>);\n } else if (match[4]) {\n // ==highlight==\n parts.push(\n <mark key={key} className={styles.highlight}>\n {parseInlineMarkdown(match[4])}\n </mark>,\n );\n } else if (match[5]) {\n // `code` — no recursion inside code\n parts.push(\n <code key={key} className={styles.code}>\n {match[5]}\n </code>,\n );\n }\n\n INLINE_MARKDOWN_REGEX.lastIndex = savedIndex;\n lastIndex = savedIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts;\n};\n","import { FieldLabelProps } from \"../FieldLabel\";\nimport { Tooltip } from \"../../Tooltip\";\nimport { FieldLabelButton } from \"./FieldLabelButton\";\nimport { Icon } from \"../../Icon\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport styles from \"../FieldLabel.module.scss\";\nimport { SrOnly } from \"../../SrOnly\";\n\n/**\n * Internal component for rendering the info icon button with tooltip.\n *\n * @param props - Component props\n * @param props.moreInfo - The content to display in the tooltip\n * @param props.moreInfoId - ID for the visually-hidden description span, used by aria-describedby on the associated input\n */\nexport const FieldLabelMoreInfoIcon = ({\n moreInfo,\n moreInfoId,\n}: {\n moreInfo: FieldLabelProps[\"moreInfo\"];\n moreInfoId?: string;\n}) => {\n return (\n <div className={styles[\"info-container\"]}>\n {moreInfoId && <SrOnly id={moreInfoId}>{moreInfo}</SrOnly>}\n <Tooltip\n placement=\"top\"\n offset={5}\n fallbackPlacements={[\"right\", \"bottom\", \"left\"]}\n >\n <Tooltip.Trigger className={styles[\"info-trigger\"]}>\n <FieldLabelButton aria-label=\"More information\">\n <Icon svg={Info} />\n </FieldLabelButton>\n </Tooltip.Trigger>\n <Tooltip.Content className={styles[\"info-content\"]}>\n {moreInfo}\n </Tooltip.Content>\n </Tooltip>\n </div>\n );\n};\n","import { useMemo } from \"react\";\nimport { parseInlineMarkdown } from \"../../functions/inlineMarkdown\";\n\n/**\n * Props for the InlineMarkdown component\n * @property {string} [value] - The markdown string to parse and render\n */\nexport interface InlineMarkdownProps {\n value?: string;\n}\n\n/**\n * Renders a string with limited inline markdown constructs as formatted React content.\n *\n * Features:\n * - Bold: `**text**`\n * - Italic: `*text*`\n * - Bold and italic: `***text***`\n * - Highlight: `==text==`\n * - Inline code: `` `text` ``\n * - Memoized rendering for performance\n * - Passes through plain strings with no overhead\n *\n * @example\n * <InlineMarkdown value=\"Save **now** or `discard`\" />\n */\nexport const InlineMarkdown = ({ value = \"\" }: InlineMarkdownProps) => {\n const content = useMemo(() => parseInlineMarkdown(value), [value]);\n return <>{content}</>;\n};\n","import {\n forwardRef,\n ComponentPropsWithoutRef,\n ReactNode,\n type Ref,\n type ElementType,\n type JSX,\n type JSXElementConstructor,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./FieldLabel.module.scss\";\nimport { TooltipProps } from \"../Tooltip\";\nimport { SrOnly } from \"../SrOnly\";\nimport { FieldLabelMoreInfoIcon } from \"./internal/FieldLabelMoreInfoIcon\";\nimport { AiMarkWithTooltipOrPopoverProps } from \"../../types\";\nimport { AiMark } from \"../../components/AiMark\";\nimport { InlineMarkdown } from \"../../internal/components/InlineMarkdown\";\n\ntype IntrinsicAttributes<\n E extends keyof JSX.IntrinsicElements | JSXElementConstructor<unknown>,\n> = JSX.LibraryManagedAttributes<E, ComponentPropsWithoutRef<E>>;\n\ntype FieldLabelOwnProps<E extends ElementType = ElementType> =\n AiMarkWithTooltipOrPopoverProps & {\n /** The HTML element to render */\n el?: E;\n /** Unique identifier for the label element */\n id?: string;\n /**\n * Whether the field is required. Shows a red asterisk (*) when true.\n * @default false\n */\n required?: boolean;\n /** Additional information to display in a tooltip */\n moreInfo?: ReactNode;\n /** ID for the sr-only description span, referenced via aria-describedby on the associated input. @internal */\n moreInfoId?: string;\n /**\n * Controls the open state of the more info tooltip.\n * @default false\n * @deprecated The more info tooltip is now triggered by a keyboard-accessible button. This prop has no effect.\n */\n moreInfoOpen?: TooltipProps[\"open\"];\n };\n\n/**\n * Props for the FieldLabel component.\n */\nexport type FieldLabelProps<E extends ElementType = ElementType> =\n FieldLabelOwnProps<E> &\n Omit<IntrinsicAttributes<E>, keyof FieldLabelOwnProps>;\n\n/**\n * FieldLabel component for form field labels with optional required indicator and help tooltip.\n *\n * Features:\n * - Accessible form label with proper semantic HTML\n * - Optional required field indicator with red asterisk\n * - Help tooltip with info icon for additional context\n * - Screen reader support for required field announcement\n * - Keyboard-accessible info icon button for additional field context\n * - Flexible content support for label text and help information\n * - Proper ARIA attributes and semantic structure\n * - Responsive design with consistent typography\n * - Polymorphic element support for different HTML elements\n *\n * @example\n * <FieldLabel htmlFor=\"email\" required>\n * Email Address\n * </FieldLabel>\n * <input id=\"email\" type=\"email\" />\n *\n * @example\n * <FieldLabel\n * el=\"label\"\n * htmlFor=\"password\"\n * required\n * moreInfo=\"Password must be at least 8 characters long\"\n * >\n * Password\n * </FieldLabel>\n * <input id=\"password\" type=\"password\" />\n *\n * @example\n * <FieldLabel el=\"legend\" required>\n * Form Section\n * </FieldLabel>\n */\nconst FieldLabelElement = forwardRef(\n (\n {\n aiMark,\n el: Element = \"label\",\n children,\n className,\n moreInfo,\n moreInfoId,\n required,\n moreInfoOpen: _moreInfoOpen, // deprecated, ignored\n ...props\n }: FieldLabelProps,\n ref,\n ) => {\n const FieldLabelClassNames = cx([styles[\"label\"]], className);\n\n const labelText = (\n <span className={styles[\"label-text\"]}>\n {/* TODO(v4.0.0): remove typeof check — children will always be string */}\n {typeof children === \"string\" ? (\n <InlineMarkdown value={children} />\n ) : (\n children\n )}\n {required ? (\n <>\n <span aria-hidden className={styles[\"required\"]}>\n *\n </span>\n <SrOnly>Required</SrOnly>\n </>\n ) : null}\n </span>\n );\n\n const hasMoreInfoOrAiMark = moreInfo || aiMark;\n\n // When el=\"label\" with moreInfo, a <button> cannot be a descendant of <label> per HTML spec.\n // Restructure: outer div wrapper + inner <label display:contents> + button as siblings.\n if (Element === \"label\" && hasMoreInfoOrAiMark) {\n const { htmlFor, id, ...labelProps } =\n props as ComponentPropsWithoutRef<\"label\">;\n return (\n <div className={FieldLabelClassNames} ref={ref as Ref<HTMLDivElement>}>\n <div className={styles[\"top-container\"]}>\n <label\n htmlFor={htmlFor}\n id={id}\n data-anv=\"label\"\n {...(labelProps as ComponentPropsWithoutRef<\"label\">)}\n >\n {labelText}\n </label>\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n </div>\n );\n }\n\n return (\n <Element\n className={FieldLabelClassNames}\n data-anv=\"label\"\n ref={ref}\n {...props}\n >\n {hasMoreInfoOrAiMark ? (\n <div className={styles[\"top-container\"]}>\n {labelText}\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n ) : (\n labelText\n )}\n </Element>\n );\n },\n);\n\nFieldLabelElement.displayName = \"FieldLabel\";\n\nexport const FieldLabel = FieldLabelElement as <\n E extends ElementType = \"label\",\n>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: FieldLabelProps<E> & { ref?: React.Ref<any> },\n) => JSX.Element;\n"],"names":["styles","Info"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldLabel-DZWu5dMp.js","sources":["../src/internal/utils/inlineMarkdownRegex.ts","../src/internal/functions/inlineMarkdown.tsx","../src/components/FieldLabel/internal/FieldLabelMoreInfoIcon.tsx","../src/internal/components/InlineMarkdown/InlineMarkdown.tsx","../src/components/FieldLabel/FieldLabel.tsx"],"sourcesContent":["/**\n * Shared regex for parsing inline markdown constructs.\n * Matches (in order): bold-italic `***`, bold `**`, italic `*`, highlight `==`, code `` ` ``\n */\nexport const INLINE_MARKDOWN_REGEX =\n /\\*\\*\\*(.+?)\\*\\*\\*|\\*\\*(.+?)\\*\\*|\\*(.+?)\\*|==(.+?)==|`(.+?)`/g;\n","import { ReactNode } from \"react\";\nimport styles from \"../components/InlineMarkdown/InlineMarkdown.module.scss\";\nimport { INLINE_MARKDOWN_REGEX } from \"../utils/inlineMarkdownRegex\";\n\n/**\n * Parses a limited set of inline markdown constructs in a string and returns React nodes.\n * `lastIndex` is reset at the start of each call and saved/restored around recursive calls\n * so a single shared regex instance is safe for nested parsing.\n *\n * Supported constructs (matched in order):\n * - `***text***` → `<strong><em>text</em></strong>`\n * - `**text**` → `<strong>text</strong>`\n * - `*text*` → `<em>text</em>`\n * - `==text==` → `<mark>`\n * - `` `text` `` → `<code>` (no nested markdown inside code)\n *\n * For plain-text stripping (e.g. aria-label), use `stripInlineMarkdown` from\n * `./stripInlineMarkdown` — it has no style dependencies.\n *\n * @param text - The string to parse\n * @returns Array of React nodes representing the parsed content\n */\nexport const parseInlineMarkdown = (text: string): ReactNode[] => {\n const parts: ReactNode[] = [];\n let lastIndex = 0;\n\n INLINE_MARKDOWN_REGEX.lastIndex = 0;\n let match: RegExpExecArray | null;\n\n while ((match = INLINE_MARKDOWN_REGEX.exec(text)) !== null) {\n if (match.index > lastIndex) {\n parts.push(text.substring(lastIndex, match.index));\n }\n\n const key = match.index;\n const savedIndex = INLINE_MARKDOWN_REGEX.lastIndex;\n\n if (match[1]) {\n // ***bold italic***\n parts.push(\n <strong key={key}>\n <em>{parseInlineMarkdown(match[1])}</em>\n </strong>,\n );\n } else if (match[2]) {\n // **bold**\n parts.push(<strong key={key}>{parseInlineMarkdown(match[2])}</strong>);\n } else if (match[3]) {\n // *italic*\n parts.push(<em key={key}>{parseInlineMarkdown(match[3])}</em>);\n } else if (match[4]) {\n // ==highlight==\n parts.push(\n <mark key={key} className={styles.highlight}>\n {parseInlineMarkdown(match[4])}\n </mark>,\n );\n } else if (match[5]) {\n // `code` — no recursion inside code\n parts.push(\n <code key={key} className={styles.code}>\n {match[5]}\n </code>,\n );\n }\n\n INLINE_MARKDOWN_REGEX.lastIndex = savedIndex;\n lastIndex = savedIndex;\n }\n\n if (lastIndex < text.length) {\n parts.push(text.substring(lastIndex));\n }\n\n return parts;\n};\n","import { FieldLabelProps } from \"../FieldLabel\";\nimport { Tooltip } from \"../../Tooltip\";\nimport { FieldLabelButton } from \"./FieldLabelButton\";\nimport { Icon } from \"../../Icon\";\nimport Info from \"@servicetitan/hammer-icon/mdi/round/info.svg\";\nimport styles from \"../FieldLabel.module.scss\";\nimport { SrOnly } from \"../../SrOnly\";\n\n/**\n * Internal component for rendering the info icon button with tooltip.\n *\n * @param props - Component props\n * @param props.moreInfo - The content to display in the tooltip\n * @param props.moreInfoId - ID for the visually-hidden description span, used by aria-describedby on the associated input\n */\nexport const FieldLabelMoreInfoIcon = ({\n moreInfo,\n moreInfoId,\n}: {\n moreInfo: FieldLabelProps[\"moreInfo\"];\n moreInfoId?: string;\n}) => {\n return (\n <div className={styles[\"info-container\"]}>\n {moreInfoId && <SrOnly id={moreInfoId}>{moreInfo}</SrOnly>}\n <Tooltip\n placement=\"top\"\n offset={5}\n fallbackPlacements={[\"right\", \"bottom\", \"left\"]}\n >\n <Tooltip.Trigger className={styles[\"info-trigger\"]}>\n <FieldLabelButton aria-label=\"More information\">\n <Icon svg={Info} />\n </FieldLabelButton>\n </Tooltip.Trigger>\n <Tooltip.Content className={styles[\"info-content\"]}>\n {moreInfo}\n </Tooltip.Content>\n </Tooltip>\n </div>\n );\n};\n","import { useMemo } from \"react\";\nimport { parseInlineMarkdown } from \"../../functions/inlineMarkdown\";\n\n/**\n * Props for the InlineMarkdown component\n * @property {string} [value] - The markdown string to parse and render\n */\nexport interface InlineMarkdownProps {\n value?: string;\n}\n\n/**\n * Renders a string with limited inline markdown constructs as formatted React content.\n *\n * Features:\n * - Bold: `**text**`\n * - Italic: `*text*`\n * - Bold and italic: `***text***`\n * - Highlight: `==text==`\n * - Inline code: `` `text` ``\n * - Memoized rendering for performance\n * - Passes through plain strings with no overhead\n *\n * @example\n * <InlineMarkdown value=\"Save **now** or `discard`\" />\n */\nexport const InlineMarkdown = ({ value = \"\" }: InlineMarkdownProps) => {\n const content = useMemo(() => parseInlineMarkdown(value), [value]);\n return <>{content}</>;\n};\n","import {\n forwardRef,\n ComponentPropsWithoutRef,\n ReactNode,\n type Ref,\n type ElementType,\n type JSX,\n type JSXElementConstructor,\n} from \"react\";\nimport cx from \"classnames\";\n\nimport styles from \"./FieldLabel.module.scss\";\nimport { TooltipProps } from \"../Tooltip\";\nimport { SrOnly } from \"../SrOnly\";\nimport { FieldLabelMoreInfoIcon } from \"./internal/FieldLabelMoreInfoIcon\";\nimport { AiMarkWithTooltipOrPopoverProps } from \"../../types\";\nimport { AiMark } from \"../../components/AiMark\";\nimport { InlineMarkdown } from \"../../internal/components/InlineMarkdown\";\n\ntype IntrinsicAttributes<\n E extends keyof JSX.IntrinsicElements | JSXElementConstructor<unknown>,\n> = JSX.LibraryManagedAttributes<E, ComponentPropsWithoutRef<E>>;\n\ntype FieldLabelOwnProps<E extends ElementType = ElementType> =\n AiMarkWithTooltipOrPopoverProps & {\n /** The HTML element to render */\n el?: E;\n /** Unique identifier for the label element */\n id?: string;\n /**\n * Whether the field is required. Shows a red asterisk (*) when true.\n * @default false\n */\n required?: boolean;\n /** Additional information to display in a tooltip */\n moreInfo?: ReactNode;\n /** ID for the sr-only description span, referenced via aria-describedby on the associated input. @internal */\n moreInfoId?: string;\n /**\n * Controls the open state of the more info tooltip.\n * @default false\n * @deprecated The more info tooltip is now triggered by a keyboard-accessible button. This prop has no effect.\n */\n moreInfoOpen?: TooltipProps[\"open\"];\n };\n\n/**\n * Props for the FieldLabel component.\n */\nexport type FieldLabelProps<E extends ElementType = ElementType> =\n FieldLabelOwnProps<E> &\n Omit<IntrinsicAttributes<E>, keyof FieldLabelOwnProps>;\n\n/**\n * FieldLabel component for form field labels with optional required indicator and help tooltip.\n *\n * Features:\n * - Accessible form label with proper semantic HTML\n * - Optional required field indicator with red asterisk\n * - Help tooltip with info icon for additional context\n * - Screen reader support for required field announcement\n * - Keyboard-accessible info icon button for additional field context\n * - Flexible content support for label text and help information\n * - Proper ARIA attributes and semantic structure\n * - Responsive design with consistent typography\n * - Polymorphic element support for different HTML elements\n *\n * @example\n * <FieldLabel htmlFor=\"email\" required>\n * Email Address\n * </FieldLabel>\n * <input id=\"email\" type=\"email\" />\n *\n * @example\n * <FieldLabel\n * el=\"label\"\n * htmlFor=\"password\"\n * required\n * moreInfo=\"Password must be at least 8 characters long\"\n * >\n * Password\n * </FieldLabel>\n * <input id=\"password\" type=\"password\" />\n *\n * @example\n * <FieldLabel el=\"legend\" required>\n * Form Section\n * </FieldLabel>\n */\nconst FieldLabelElement = forwardRef(\n (\n {\n aiMark,\n el: Element = \"label\",\n children,\n className,\n moreInfo,\n moreInfoId,\n required,\n moreInfoOpen: _moreInfoOpen, // deprecated, ignored\n ...props\n }: FieldLabelProps,\n ref,\n ) => {\n const FieldLabelClassNames = cx([styles[\"label\"]], className);\n\n const labelText = (\n <span className={styles[\"label-text\"]}>\n {/* TODO(v4.0.0): remove typeof check — children will always be string */}\n {typeof children === \"string\" ? (\n <InlineMarkdown value={children} />\n ) : (\n children\n )}\n {required ? (\n <>\n <span aria-hidden className={styles[\"required\"]}>\n *\n </span>\n <SrOnly>Required</SrOnly>\n </>\n ) : null}\n </span>\n );\n\n const hasMoreInfoOrAiMark = moreInfo || aiMark;\n\n // When el=\"label\" with moreInfo, a <button> cannot be a descendant of <label> per HTML spec.\n // Restructure: outer div wrapper + inner <label display:contents> + button as siblings.\n if (Element === \"label\" && hasMoreInfoOrAiMark) {\n const { htmlFor, id, ...labelProps } =\n props as ComponentPropsWithoutRef<\"label\">;\n return (\n <div className={FieldLabelClassNames} ref={ref as Ref<HTMLDivElement>}>\n <div className={styles[\"top-container\"]}>\n <label\n htmlFor={htmlFor}\n id={id}\n data-anv=\"label\"\n {...(labelProps as ComponentPropsWithoutRef<\"label\">)}\n >\n {labelText}\n </label>\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n </div>\n );\n }\n\n return (\n <Element\n className={FieldLabelClassNames}\n data-anv=\"label\"\n ref={ref}\n {...props}\n >\n {hasMoreInfoOrAiMark ? (\n <div className={styles[\"top-container\"]}>\n {labelText}\n {moreInfo && (\n <FieldLabelMoreInfoIcon\n moreInfo={moreInfo}\n moreInfoId={moreInfoId}\n />\n )}\n {aiMark && (\n <AiMark\n className={styles[\"ai-mark-icon\"]}\n type=\"gradient\"\n popoverOrTooltipConfig={\n typeof aiMark === \"object\" ? aiMark : undefined\n }\n />\n )}\n </div>\n ) : (\n labelText\n )}\n </Element>\n );\n },\n);\n\nFieldLabelElement.displayName = \"FieldLabel\";\n\nexport const FieldLabel = FieldLabelElement as <\n E extends ElementType = \"label\",\n>(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: FieldLabelProps<E> & { ref?: React.Ref<any> },\n) => JSX.Element;\n"],"names":["styles","Info"],"mappings":";;;;;;;;;AAIO,MAAM,qBAAA,GACX;;;;;;;;;ACiBK,MAAM,mBAAA,GAAsB,CAAC,IAAA,KAA8B;AAChE,EAAA,MAAM,QAAqB,EAAC;AAC5B,EAAA,IAAI,SAAA,GAAY,CAAA;AAEhB,EAAA,qBAAA,CAAsB,SAAA,GAAY,CAAA;AAClC,EAAA,IAAI,KAAA;AAEJ,EAAA,OAAA,CAAQ,KAAA,GAAQ,qBAAA,CAAsB,IAAA,CAAK,IAAI,OAAO,IAAA,EAAM;AAC1D,IAAA,IAAI,KAAA,CAAM,QAAQ,SAAA,EAAW;AAC3B,MAAA,KAAA,CAAM,KAAK,IAAA,CAAK,SAAA,CAAU,SAAA,EAAW,KAAA,CAAM,KAAK,CAAC,CAAA;AAAA,IACnD;AAEA,IAAA,MAAM,MAAM,KAAA,CAAM,KAAA;AAClB,IAAA,MAAM,aAAa,qBAAA,CAAsB,SAAA;AAEzC,IAAA,IAAI,KAAA,CAAM,CAAC,CAAA,EAAG;AAEZ,MAAA,KAAA,CAAM,IAAA;AAAA,wBACJ,GAAA,CAAC,QAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAI,QAAA,EAAA,mBAAA,CAAoB,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,EAAA,EADxB,GAEb;AAAA,OACF;AAAA,IACF,CAAA,MAAA,IAAW,KAAA,CAAM,CAAC,CAAA,EAAG;AAEnB,MAAA,KAAA,CAAM,IAAA,qBAAM,QAAA,EAAA,EAAkB,QAAA,EAAA,mBAAA,CAAoB,MAAM,CAAC,CAAC,CAAA,EAAA,EAAlC,GAAoC,CAAS,CAAA;AAAA,IACvE,CAAA,MAAA,IAAW,KAAA,CAAM,CAAC,CAAA,EAAG;AAEnB,MAAA,KAAA,CAAM,IAAA,qBAAM,IAAA,EAAA,EAAc,QAAA,EAAA,mBAAA,CAAoB,MAAM,CAAC,CAAC,CAAA,EAAA,EAAlC,GAAoC,CAAK,CAAA;AAAA,IAC/D,CAAA,MAAA,IAAW,KAAA,CAAM,CAAC,CAAA,EAAG;AAEnB,MAAA,KAAA,CAAM,IAAA;AAAA,wBACJ,GAAA,CAAC,MAAA,EAAA,EAAe,SAAA,EAAWA,QAAA,CAAO,SAAA,EAC/B,8BAAoB,KAAA,CAAM,CAAC,CAAC,CAAA,EAAA,EADpB,GAEX;AAAA,OACF;AAAA,IACF,CAAA,MAAA,IAAW,KAAA,CAAM,CAAC,CAAA,EAAG;AAEnB,MAAA,KAAA,CAAM,IAAA;AAAA,wBACJ,GAAA,CAAC,UAAe,SAAA,EAAWA,QAAA,CAAO,MAC/B,QAAA,EAAA,KAAA,CAAM,CAAC,KADC,GAEX;AAAA,OACF;AAAA,IACF;AAEA,IAAA,qBAAA,CAAsB,SAAA,GAAY,UAAA;AAClC,IAAA,SAAA,GAAY,UAAA;AAAA,EACd;AAEA,EAAA,IAAI,SAAA,GAAY,KAAK,MAAA,EAAQ;AAC3B,IAAA,KAAA,CAAM,IAAA,CAAK,IAAA,CAAK,SAAA,CAAU,SAAS,CAAC,CAAA;AAAA,EACtC;AAEA,EAAA,OAAO,KAAA;AACT,CAAA;;;;;;;;;;;;;;;AC5DO,MAAM,yBAAyB,CAAC;AAAA,EACrC,QAAA;AAAA,EACA;AACF,CAAA,KAGM;AACJ,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,gBAAgB,CAAA,EACpC,QAAA,EAAA;AAAA,IAAA,UAAA,oBAAc,GAAA,CAAC,MAAA,EAAA,EAAO,EAAA,EAAI,UAAA,EAAa,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,oBACjD,IAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,KAAA;AAAA,QACV,MAAA,EAAQ,CAAA;AAAA,QACR,kBAAA,EAAoB,CAAC,OAAA,EAAS,QAAA,EAAU,MAAM,CAAA;AAAA,QAE9C,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,QAAQ,OAAA,EAAR,EAAgB,SAAA,EAAW,MAAA,CAAO,cAAc,CAAA,EAC/C,QAAA,kBAAA,GAAA,CAAC,gBAAA,EAAA,EAAiB,YAAA,EAAW,oBAC3B,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,GAAA,EAAKC,OAAA,EAAM,GACnB,CAAA,EACF,CAAA;AAAA,0BACA,GAAA,CAAC,QAAQ,OAAA,EAAR,EAAgB,WAAW,MAAA,CAAO,cAAc,GAC9C,QAAA,EAAA,QAAA,EACH;AAAA;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ,CAAA;;ACfO,MAAM,cAAA,GAAiB,CAAC,EAAE,KAAA,GAAQ,IAAG,KAA2B;AACrE,EAAA,MAAM,OAAA,GAAU,QAAQ,MAAM,mBAAA,CAAoB,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AACjE,EAAA,uCAAU,QAAA,EAAA,OAAA,EAAQ,CAAA;AACpB,CAAA;;AC4DA,MAAM,iBAAA,GAAoB,UAAA;AAAA,EACxB,CACE;AAAA,IACE,MAAA;AAAA,IACA,IAAI,OAAA,GAAU,OAAA;AAAA,IACd,QAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,UAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA,EAAc,aAAA;AAAA;AAAA,IACd,GAAG;AAAA,KAEL,GAAA,KACG;AACH,IAAA,MAAM,uBAAuB,EAAA,CAAG,CAAC,OAAO,OAAO,CAAC,GAAG,SAAS,CAAA;AAE5D,IAAA,MAAM,4BACJ,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,YAAY,CAAA,EAEjC,QAAA,EAAA;AAAA,MAAA,OAAO,aAAa,QAAA,mBACnB,GAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAO,UAAU,CAAA,GAEjC,QAAA;AAAA,MAED,2BACC,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,UAAK,aAAA,EAAW,IAAA,EAAC,WAAW,MAAA,CAAO,UAAU,GAAG,QAAA,EAAA,GAAA,EAEjD,CAAA;AAAA,wBACA,GAAA,CAAC,UAAO,QAAA,EAAA,UAAA,EAAQ;AAAA,OAAA,EAClB,CAAA,GACE;AAAA,KAAA,EACN,CAAA;AAGF,IAAA,MAAM,sBAAsB,QAAA,IAAY,MAAA;AAIxC,IAAA,IAAI,OAAA,KAAY,WAAW,mBAAA,EAAqB;AAC9C,MAAA,MAAM,EAAE,OAAA,EAAS,EAAA,EAAI,GAAG,YAAW,GACjC,KAAA;AACF,MAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,oBAAA,EAAsB,GAAA,EACpC,+BAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,eAAe,CAAA,EACpC,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,OAAA;AAAA,UAAA;AAAA,YACC,OAAA;AAAA,YACA,EAAA;AAAA,YACA,UAAA,EAAS,OAAA;AAAA,YACR,GAAI,UAAA;AAAA,YAEJ,QAAA,EAAA;AAAA;AAAA,SACH;AAAA,QACC,QAAA,oBACC,GAAA;AAAA,UAAC,sBAAA;AAAA,UAAA;AAAA,YACC,QAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,QAED,MAAA,oBACC,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,YAChC,IAAA,EAAK,UAAA;AAAA,YACL,sBAAA,EACE,OAAO,MAAA,KAAW,QAAA,GAAW,MAAA,GAAS;AAAA;AAAA;AAE1C,OAAA,EAEJ,CAAA,EACF,CAAA;AAAA,IAEJ;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,oBAAA;AAAA,QACX,UAAA,EAAS,OAAA;AAAA,QACT,GAAA;AAAA,QACC,GAAG,KAAA;AAAA,QAEH,gDACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,eAAe,CAAA,EACnC,QAAA,EAAA;AAAA,UAAA,SAAA;AAAA,UACA,QAAA,oBACC,GAAA;AAAA,YAAC,sBAAA;AAAA,YAAA;AAAA,cACC,QAAA;AAAA,cACA;AAAA;AAAA,WACF;AAAA,UAED,MAAA,oBACC,GAAA;AAAA,YAAC,MAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,OAAO,cAAc,CAAA;AAAA,cAChC,IAAA,EAAK,UAAA;AAAA,cACL,sBAAA,EACE,OAAO,MAAA,KAAW,QAAA,GAAW,MAAA,GAAS;AAAA;AAAA;AAE1C,SAAA,EAEJ,CAAA,GAEA;AAAA;AAAA,KAEJ;AAAA,EAEJ;AACF,CAAA;AAEA,iBAAA,CAAkB,WAAA,GAAc,YAAA;AAEzB,MAAM,UAAA,GAAa;;;;"}
|
package/dist/FieldLabel.css
CHANGED
|
@@ -1,105 +1,69 @@
|
|
|
1
|
-
@layer starter, reset, base, state, application
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
.
|
|
5
|
-
|
|
1
|
+
.anvil2{@layer starter, reset, base, state, application;._highlight_1v2if_1 {
|
|
2
|
+
background-color: var(--a2-background-color-warning, var(--a2-status-color-warning, light-dark(var(--a2-color-yellow-500, #ffbe00), var(--a2-color-yellow-300, #ffe278))));
|
|
3
|
+
border-radius: var(--a2-border-radius-small, var(--a2-radius-1, 0.1875rem));
|
|
4
|
+
padding-inline: var(--a2-size-half, 0.125rem);
|
|
5
|
+
}code._code_1v2if_7 {
|
|
6
|
+
font-family: monospace;
|
|
7
|
+
font-size: var(--a2-font-size-200, 0.75rem);
|
|
8
|
+
background-color: var(--a2-background-color-stronger, light-dark(var(--a2-color-neutral-50, #eeeeee), var(--a2-color-neutral-700, #404040)));
|
|
9
|
+
border-radius: var(--a2-border-radius-small, var(--a2-radius-1, 0.1875rem));
|
|
10
|
+
padding: var(--a2-size-half, 0.125rem);
|
|
6
11
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
12
|
+
}.anvil2{@layer starter, reset, base, state, application;._label_1hcxw_1 {
|
|
13
|
+
--a2-mod-field-label-foreground-color: var(--a2-field-label-foreground-color, var(--a2-foreground-color-default, light-dark(var(--a2-color-neutral-950, #040404), var(--a2-color-neutral-0, #ffffff))));
|
|
14
|
+
--a2-mod-field-label-required-color: var(--a2-field-label-required-color, var(--a2-foreground-color-danger, light-dark(var(--a2-color-red-600, #d62100), var(--a2-color-red-400, #ff5b3d))));
|
|
15
|
+
--a2-mod-tooltip-display: flex;
|
|
16
|
+
all: unset;
|
|
17
|
+
font-family: var(--a2-font-family-base, "Nunito Sans", sans-serif);
|
|
18
|
+
font-size: 100%;
|
|
19
|
+
color: var(--a2-mod-field-label-foreground-color);
|
|
20
|
+
margin: 0;
|
|
21
|
+
padding: 0;
|
|
22
|
+
border-style: none;
|
|
23
|
+
border-width: 0;
|
|
24
|
+
border-color: transparent;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
display: revert-layer;
|
|
27
|
+
cursor: default;
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
font-size: var(--a2-typography-label-size-default, var(--a2-font-size-300, 0.875rem));
|
|
31
|
+
gap: var(--a2-size-1, 0.25rem);
|
|
32
|
+
justify-items: flex-start;
|
|
33
|
+
line-height: 1;
|
|
34
|
+
}._label_1hcxw_1 label {
|
|
35
|
+
font-size: inherit;
|
|
36
|
+
line-height: 1;
|
|
37
|
+
margin-block-end: 0;
|
|
38
|
+
}._label_1hcxw_1:has(._top-container_1hcxw_31) {
|
|
39
|
+
width: 100%;
|
|
40
|
+
}._label_1hcxw_1 ._ai-mark-icon_1hcxw_35 {
|
|
41
|
+
margin-inline-start: auto;
|
|
42
|
+
}._top-container_1hcxw_31 {
|
|
43
|
+
align-items: flex-start;
|
|
44
|
+
display: flex;
|
|
45
|
+
gap: var(--a2-size-1, 0.25rem);
|
|
46
|
+
width: 100%;
|
|
47
|
+
}._label-text_1hcxw_46 {
|
|
48
|
+
font-weight: var(--a2-font-weight-semibold, 600);
|
|
49
|
+
line-height: var(--a2-font-size-400, 1rem);
|
|
50
|
+
}._required_1hcxw_51 {
|
|
51
|
+
color: var(--a2-mod-field-label-required-color);
|
|
52
|
+
margin-inline-end: var(--a2-size-half, 0.125rem);
|
|
53
|
+
margin-inline-start: var(--a2-size-half, 0.125rem);
|
|
54
|
+
}._info-container_1hcxw_57 {
|
|
55
|
+
height: var(--a2-font-size-400, 1rem);
|
|
56
|
+
position: relative;
|
|
57
|
+
width: var(--a2-size-7, 1.75rem);
|
|
58
|
+
}._info-trigger_1hcxw_63 {
|
|
59
|
+
left: -var(--a2-size-1, 0.25rem);
|
|
60
|
+
position: absolute;
|
|
61
|
+
top: calc(-1 * (var(--a2-size-1, 0.25rem) + var(--a2-size-half, 0.125rem)));
|
|
62
|
+
}._info-content_1hcxw_69 {
|
|
63
|
+
max-width: 15rem !important;
|
|
64
|
+
}legend._label_1hcxw_1 {
|
|
65
|
+
border: 0 !important;
|
|
66
|
+
color: var(--a2-mod-field-label-foreground-color) !important;
|
|
67
|
+
margin-block-end: var(--a2-size-2, 0.5rem);
|
|
51
68
|
}
|
|
52
|
-
@layer base {
|
|
53
|
-
._label_1r4te_2 {
|
|
54
|
-
all: unset;
|
|
55
|
-
font-family: var(--font-family-base, "Nunito Sans", sans-serif);
|
|
56
|
-
font-size: 100%;
|
|
57
|
-
color: var(--foreground-color, #141414);
|
|
58
|
-
margin: 0;
|
|
59
|
-
padding: 0;
|
|
60
|
-
border-style: none;
|
|
61
|
-
border-width: 0;
|
|
62
|
-
border-color: transparent;
|
|
63
|
-
box-sizing: border-box;
|
|
64
|
-
display: revert-layer;
|
|
65
|
-
display: flex;
|
|
66
|
-
justify-items: flex-start;
|
|
67
|
-
gap: 0.25rem;
|
|
68
|
-
cursor: default;
|
|
69
|
-
flex-direction: column;
|
|
70
|
-
font-size: 0.875rem;
|
|
71
|
-
line-height: 1;
|
|
72
|
-
width: 100%;
|
|
73
|
-
}
|
|
74
|
-
._label_1r4te_2 ._top-container_1r4te_53 {
|
|
75
|
-
display: flex;
|
|
76
|
-
gap: 0.25rem;
|
|
77
|
-
align-items: flex-start;
|
|
78
|
-
width: 100%;
|
|
79
|
-
}
|
|
80
|
-
._label_1r4te_2 ._label-text_1r4te_59 {
|
|
81
|
-
line-height: 1rem;
|
|
82
|
-
font-weight: 600;
|
|
83
|
-
}
|
|
84
|
-
._label_1r4te_2 ._label-text_1r4te_59 ._required_1r4te_63 {
|
|
85
|
-
color: var(--foreground-color-danger, #e13212);
|
|
86
|
-
margin-inline-start: 0.125rem;
|
|
87
|
-
margin-inline-end: 0.125rem;
|
|
88
|
-
}
|
|
89
|
-
._info-container_1r4te_68 {
|
|
90
|
-
position: relative;
|
|
91
|
-
height: 1rem;
|
|
92
|
-
width: 1.75rem;
|
|
93
|
-
}
|
|
94
|
-
._info-trigger_1r4te_73 {
|
|
95
|
-
position: absolute;
|
|
96
|
-
top: -0.375rem;
|
|
97
|
-
left: -0.25rem;
|
|
98
|
-
}
|
|
99
|
-
._info-content_1r4te_78 {
|
|
100
|
-
max-width: 15rem !important;
|
|
101
|
-
}
|
|
102
|
-
._ai-mark-icon_1r4te_81 {
|
|
103
|
-
margin-inline-start: auto;
|
|
104
|
-
}
|
|
105
69
|
}
|
package/dist/FieldLabel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { F as FieldLabel, F as default } from './FieldLabel-
|
|
1
|
+
export { F as FieldLabel, F as default } from './FieldLabel-DZWu5dMp.js';
|
|
2
2
|
//# sourceMappingURL=FieldLabel.js.map
|