@persona/design-system 0.1.5-pre.4 → 0.1.7
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 +64 -111
- package/dist/{Action-B10lxofb.d.mts → Action-DkNqzc2X.d.mts} +3 -3
- package/dist/{Action-uduFOh2m.d.cts → Action-z1rV4qON.d.cts} +3 -3
- package/dist/Action.d.cts +1 -1
- package/dist/Action.d.mts +1 -1
- package/dist/Attribute.d.mts +4 -4
- package/dist/AttributeGrid.d.mts +1 -1
- package/dist/{Badge-BwAZD9BH.cjs → Badge-DAGPU4-e.cjs} +3 -6
- package/dist/{Badge-BwAZD9BH.cjs.map → Badge-DAGPU4-e.cjs.map} +1 -1
- package/dist/{Badge-BqLnhb4n.mjs → Badge-DRn_r6is.mjs} +2 -5
- package/dist/{Badge-BqLnhb4n.mjs.map → Badge-DRn_r6is.mjs.map} +1 -1
- package/dist/Banner.d.mts +1 -1
- package/dist/Breadcrumb-BOxfam3E.d.cts +31 -0
- package/dist/Breadcrumb-On7pOpgt.d.mts +31 -0
- package/dist/Breadcrumb.d.cts +2 -0
- package/dist/Breadcrumb.d.mts +2 -0
- package/dist/Breadcrumbs.d.cts +20 -0
- package/dist/Breadcrumbs.d.mts +20 -0
- package/dist/{Button-DqDLGURJ.d.mts → Button-DXsYU5qU.d.mts} +2 -2
- package/dist/Button.d.mts +1 -1
- package/dist/ButtonGroup.d.mts +1 -1
- package/dist/Calendar.d.mts +1 -1
- package/dist/CalendarBase.d.mts +1 -1
- package/dist/{Card-DeJSt5ys.mjs → Card-CLTkZLKr.mjs} +4 -4
- package/dist/{Card-DeJSt5ys.mjs.map → Card-CLTkZLKr.mjs.map} +1 -1
- package/dist/{Card-CyCKL-M5.cjs → Card-CaOItkgL.cjs} +5 -5
- package/dist/{Card-CyCKL-M5.cjs.map → Card-CaOItkgL.cjs.map} +1 -1
- package/dist/{Card-CrQL0hXm.d.cts → Card-DnmrsQWi.d.cts} +2 -2
- package/dist/{Card-CcU9cKCd.d.mts → Card-IOBCsfke.d.mts} +4 -4
- package/dist/Card.d.cts +1 -1
- package/dist/Card.d.mts +1 -1
- package/dist/Card2.d.cts +3 -3
- package/dist/Card2.d.mts +1 -1
- package/dist/{Checkbox-C5bGcb-r.mjs → Checkbox-BghGF-iW.mjs} +4 -4
- package/dist/{Checkbox-C5bGcb-r.mjs.map → Checkbox-BghGF-iW.mjs.map} +1 -1
- package/dist/{Checkbox-BWJNAP27.d.mts → Checkbox-DfI0Xp3y.d.cts} +1 -1
- package/dist/{Checkbox-D4nv7eNs.cjs → Checkbox-DhxpxzGp.cjs} +6 -6
- package/dist/{Checkbox-D4nv7eNs.cjs.map → Checkbox-DhxpxzGp.cjs.map} +1 -1
- package/dist/{Checkbox-BmjK0Wac.d.cts → Checkbox-MUC37dLY.d.mts} +1 -1
- package/dist/Checkbox.d.cts +1 -1
- package/dist/Checkbox.d.mts +1 -1
- package/dist/CheckboxGroupField.d.cts +1 -1
- package/dist/CheckboxGroupField.d.mts +2 -2
- package/dist/{Combobox-B_oe33Re.cjs → Combobox-4Bi9-N1p.cjs} +24 -23
- package/dist/Combobox-4Bi9-N1p.cjs.map +1 -0
- package/dist/{Combobox-DjbJYK_u.d.mts → Combobox-5rAFq_52.d.cts} +3 -3
- package/dist/Combobox-Bedo_GIj.d.mts +11 -0
- package/dist/{Combobox-B_-swcix.mjs → Combobox-CeKMrlxy.mjs} +31 -30
- package/dist/Combobox-CeKMrlxy.mjs.map +1 -0
- package/dist/Combobox.d.cts +3 -12
- package/dist/Combobox.d.mts +2 -2
- package/dist/{ComboboxBase-D2wypeXf.d.cts → ComboboxBase-BoR9DVwe.d.cts} +6 -5
- package/dist/{ComboboxBase-INya0Csa.d.mts → ComboboxBase-DGZUdsQa.d.mts} +9 -8
- package/dist/ComboboxBase.d.cts +1 -1
- package/dist/ComboboxBase.d.mts +1 -1
- package/dist/{ComboboxMultiSelect-Dn8cRZ6Z.d.cts → ComboboxMultiSelect-CnI6sFAF.d.cts} +2 -2
- package/dist/{ComboboxMultiSelect-Dq9DGH8S.d.mts → ComboboxMultiSelect-DMWPiBrE.d.mts} +2 -2
- package/dist/ComboboxMultiSelect.d.cts +1 -1
- package/dist/ComboboxMultiSelect.d.mts +1 -1
- package/dist/{ComboboxSingleSelect-WwBJRb0e.d.mts → ComboboxSingleSelect-CcppU_hq.d.mts} +4 -4
- package/dist/{ComboboxSingleSelect-D8YM7GKP.d.cts → ComboboxSingleSelect-Japejm0g.d.cts} +4 -4
- package/dist/ComboboxSingleSelect.d.cts +1 -1
- package/dist/ComboboxSingleSelect.d.mts +1 -1
- package/dist/CompactBar-2cpJD7qg.d.mts +21 -0
- package/dist/CompactBar-DTsGo1zU.d.cts +21 -0
- package/dist/CompactBar.d.cts +2 -0
- package/dist/CompactBar.d.mts +2 -0
- package/dist/ConfigFormGroup-DISUwz5j.mjs +28 -0
- package/dist/ConfigFormGroup-DISUwz5j.mjs.map +1 -0
- package/dist/ConfigFormGroup-DVRhkS2L.cjs +35 -0
- package/dist/ConfigFormGroup-DVRhkS2L.cjs.map +1 -0
- package/dist/ControlBar-BGmXymCB.d.cts +151 -0
- package/dist/ControlBar-DXyl1gjc.d.mts +151 -0
- package/dist/ControlBar.d.cts +2 -0
- package/dist/ControlBar.d.mts +2 -0
- package/dist/DataTable.d.cts +372 -0
- package/dist/DataTable.d.mts +372 -0
- package/dist/DateField.d.cts +23 -2
- package/dist/DateField.d.mts +23 -2
- package/dist/DatePicker.d.cts +2 -2
- package/dist/DatePicker.d.mts +2 -2
- package/dist/DateRangePicker.d.cts +8 -2
- package/dist/DateRangePicker.d.mts +9 -4
- package/dist/{DropdownButton-k9kEcexu.mjs → DropdownButton-B397h6ka.mjs} +3 -4
- package/dist/{DropdownButton-k9kEcexu.mjs.map → DropdownButton-B397h6ka.mjs.map} +1 -1
- package/dist/{DropdownButton-DO4NqvWR.cjs → DropdownButton-Du6dwZVL.cjs} +4 -5
- package/dist/{DropdownButton-DO4NqvWR.cjs.map → DropdownButton-Du6dwZVL.cjs.map} +1 -1
- package/dist/DropdownButton.d.cts +1 -1
- package/dist/DropdownButton.d.mts +2 -2
- package/dist/{DropdownMenu-rWgROxQe.d.mts → DropdownMenu-5qIgQ14A.d.mts} +4 -4
- package/dist/{DropdownMenu-D2fzpkX2.cjs → DropdownMenu-CfJxgWN5.cjs} +4 -4
- package/dist/{DropdownMenu-D2fzpkX2.cjs.map → DropdownMenu-CfJxgWN5.cjs.map} +1 -1
- package/dist/{DropdownMenu-Bm2QqLEq.d.cts → DropdownMenu-FIYz6oAo.d.cts} +3 -3
- package/dist/{DropdownMenu-BTk--LWo.mjs → DropdownMenu-cnkoGc7C.mjs} +3 -3
- package/dist/{DropdownMenu-BTk--LWo.mjs.map → DropdownMenu-cnkoGc7C.mjs.map} +1 -1
- package/dist/DropdownMenu.d.cts +1 -1
- package/dist/DropdownMenu.d.mts +1 -1
- package/dist/{ErrorProps-DLdVsYlk.d.cts → ErrorProps-BosuK6zJ.d.cts} +1 -1
- package/dist/{ErrorProps-DYUKygmd.d.mts → ErrorProps-iEj4BIVA.d.mts} +1 -1
- package/dist/ErrorProps.d.cts +1 -1
- package/dist/ErrorProps.d.mts +1 -1
- package/dist/FloatingActionBar.d.cts +40 -0
- package/dist/FloatingActionBar.d.mts +41 -0
- package/dist/{FormControl-BXHqI_2D.mjs → FormControl-ArDcvmir.mjs} +3 -3
- package/dist/{FormControl-BXHqI_2D.mjs.map → FormControl-ArDcvmir.mjs.map} +1 -1
- package/dist/{FormControl-KkeIYuBa.d.cts → FormControl-BrsML00L.d.cts} +2 -2
- package/dist/{FormControl-DiR2e7Od.cjs → FormControl-Czt95h2L.cjs} +6 -6
- package/dist/{FormControl-DiR2e7Od.cjs.map → FormControl-Czt95h2L.cjs.map} +1 -1
- package/dist/{FormControl-CM7wTn1P.d.mts → FormControl-DnsC4vTX.d.mts} +3 -3
- package/dist/FormControl.d.cts +1 -1
- package/dist/FormControl.d.mts +1 -1
- package/dist/FormControlLabel.d.mts +14 -0
- package/dist/{FormField-CdMru4s5.d.mts → FormField-BddCs6P0.d.mts} +2 -2
- package/dist/{FormField-19ownwjH.d.cts → FormField-DoSXvnJ3.d.cts} +2 -2
- package/dist/FormField.d.cts +1 -1
- package/dist/FormField.d.mts +1 -1
- package/dist/{Header-t1plnZc0.d.mts → Header-B-Us54dR.d.mts} +2 -2
- package/dist/{Header-D8oDtnIL.d.cts → Header-CkZvzbzL.d.cts} +1 -1
- package/dist/Header.d.cts +1 -1
- package/dist/Header.d.mts +1 -1
- package/dist/{HelperTooltip-oXdyk2At.d.cts → HelperTooltip-C1CYMpJP.d.cts} +2 -2
- package/dist/{HelperTooltip-Cd7I0Ucq.d.mts → HelperTooltip-CofPKyZh.d.mts} +3 -3
- package/dist/HelperTooltip.d.cts +1 -1
- package/dist/HelperTooltip.d.mts +1 -1
- package/dist/HoverCopyableField-B_WNB7Qp.cjs +110 -0
- package/dist/HoverCopyableField-B_WNB7Qp.cjs.map +1 -0
- package/dist/HoverCopyableField-DR575ayC.mjs +103 -0
- package/dist/HoverCopyableField-DR575ayC.mjs.map +1 -0
- package/dist/HoverCopyableField.d.cts +16 -0
- package/dist/HoverCopyableField.d.mts +17 -0
- package/dist/{IconButton-C28qxOdi.mjs → IconButton-DC4rh6ow.mjs} +5 -5
- package/dist/{IconButton-C28qxOdi.mjs.map → IconButton-DC4rh6ow.mjs.map} +1 -1
- package/dist/{IconButton-B1ZL8BqW.cjs → IconButton-DNy7g5zh.cjs} +5 -5
- package/dist/{IconButton-B1ZL8BqW.cjs.map → IconButton-DNy7g5zh.cjs.map} +1 -1
- package/dist/{IconButton-DsXbc3nQ.d.mts → IconButton-Dnnlf9uO.d.mts} +2 -2
- package/dist/IconButton.d.mts +1 -1
- package/dist/ImageTile.d.cts +1 -1
- package/dist/ImageTile.d.mts +2 -2
- package/dist/InlineCombobox.d.mts +45 -0
- package/dist/InlineInput.d.mts +39 -0
- package/dist/{Input-Cv5qieRg.d.mts → Input-4KeYlOWM.d.mts} +5 -5
- package/dist/{Input-DHOsR4cl.cjs → Input-BDLUq-pK.cjs} +6 -7
- package/dist/{Input-DHOsR4cl.cjs.map → Input-BDLUq-pK.cjs.map} +1 -1
- package/dist/{Input-XppkvfUf.d.cts → Input-CEcTvtX2.d.cts} +2 -2
- package/dist/{Input-eoFk39bE.mjs → Input-PWfwMSJ7.mjs} +4 -5
- package/dist/{Input-eoFk39bE.mjs.map → Input-PWfwMSJ7.mjs.map} +1 -1
- package/dist/Input.d.cts +1 -1
- package/dist/Input.d.mts +1 -1
- package/dist/{InputProps-CitGo8QA.d.cts → InputProps-CTLG2Tr0.d.mts} +2 -2
- package/dist/{InputProps-BHu05fX0.d.mts → InputProps-DNlik5IZ.d.cts} +2 -2
- package/dist/InputProps.d.cts +1 -1
- package/dist/InputProps.d.mts +1 -1
- package/dist/Inserter.d.cts +12 -0
- package/dist/Inserter.d.mts +12 -0
- package/dist/Link.d.mts +1 -1
- package/dist/{ListBox-CE3mfDSB.cjs → ListBox-BCscLcYL.cjs} +11 -15
- package/dist/ListBox-BCscLcYL.cjs.map +1 -0
- package/dist/{ListBox-Z1y0LG1H.mjs → ListBox-CDNOJmvz.mjs} +9 -13
- package/dist/{ListBox-CE3mfDSB.cjs.map → ListBox-CDNOJmvz.mjs.map} +1 -1
- package/dist/{ListBox-AyjzT6ra.d.mts → ListBox-DZIAlPbc.d.mts} +4 -4
- package/dist/{ListBox-DbyZFy2W.d.cts → ListBox-WyZvseo5.d.cts} +2 -2
- package/dist/ListBox.d.cts +1 -1
- package/dist/ListBox.d.mts +1 -1
- package/dist/ListBoxField.d.cts +2 -2
- package/dist/ListBoxField.d.mts +3 -3
- package/dist/{LoadingShimmer-CNE6JUVF.mjs → LoadingShimmer-Bu6KtQ06.mjs} +2 -2
- package/dist/{LoadingShimmer-CNE6JUVF.mjs.map → LoadingShimmer-Bu6KtQ06.mjs.map} +1 -1
- package/dist/{LoadingShimmer-DMK9RC4N.cjs → LoadingShimmer-CUjbAqGd.cjs} +4 -4
- package/dist/{LoadingShimmer-DMK9RC4N.cjs.map → LoadingShimmer-CUjbAqGd.cjs.map} +1 -1
- package/dist/LoadingShimmer.d.mts +2 -2
- package/dist/MaskedInput.d.cts +1 -1
- package/dist/MaskedInput.d.mts +1 -1
- package/dist/{Menu-DIFkRQ6x.d.mts → Menu-BJ5c7HGD.d.mts} +4 -4
- package/dist/{Menu-DPrNMatb.d.cts → Menu-BKMxOXkj.d.cts} +2 -2
- package/dist/{Menu-BpkjNO81.cjs → Menu-BXic-30n.cjs} +4 -4
- package/dist/{Menu-BpkjNO81.cjs.map → Menu-BXic-30n.cjs.map} +1 -1
- package/dist/{Menu-DNRHo2i_.mjs → Menu-CVuFAxl2.mjs} +3 -3
- package/dist/{Menu-DNRHo2i_.mjs.map → Menu-CVuFAxl2.mjs.map} +1 -1
- package/dist/Menu.d.cts +1 -1
- package/dist/Menu.d.mts +1 -1
- package/dist/MiddleTruncatedText-BIzKECv9.cjs +178 -0
- package/dist/MiddleTruncatedText-BIzKECv9.cjs.map +1 -0
- package/dist/MiddleTruncatedText-Bzpg3zAU.mjs +171 -0
- package/dist/MiddleTruncatedText-Bzpg3zAU.mjs.map +1 -0
- package/dist/Modal.d.cts +10 -5
- package/dist/Modal.d.mts +12 -7
- package/dist/PageHeader.d.mts +1 -1
- package/dist/PageSelector-CMoV-cHa.d.mts +30 -0
- package/dist/PageSelector-DoROR_Uh.d.cts +30 -0
- package/dist/PageSelector.d.cts +2 -30
- package/dist/PageSelector.d.mts +2 -30
- package/dist/Pagination-B97xQ-Wk.d.cts +33 -0
- package/dist/Pagination-Cj08JRG9.mjs +202 -0
- package/dist/Pagination-Cj08JRG9.mjs.map +1 -0
- package/dist/Pagination-D4IVVj3S.cjs +233 -0
- package/dist/Pagination-D4IVVj3S.cjs.map +1 -0
- package/dist/Pagination-QWNK_hH7.d.mts +33 -0
- package/dist/Pagination.d.cts +2 -33
- package/dist/Pagination.d.mts +2 -33
- package/dist/Pii-Bxh6_R4T.mjs +19 -0
- package/dist/Pii-Bxh6_R4T.mjs.map +1 -0
- package/dist/Pii-D-Ry7L0t.cjs +25 -0
- package/dist/Pii-D-Ry7L0t.cjs.map +1 -0
- package/dist/Pii.d.mts +1 -1
- package/dist/{Popover-C2dBSwiU.cjs → Popover-BAv7BujW.cjs} +5 -5
- package/dist/{Popover-C2dBSwiU.cjs.map → Popover-BAv7BujW.cjs.map} +1 -1
- package/dist/{Popover-BSdyxuja.mjs → Popover-D0QY5f-J.mjs} +5 -5
- package/dist/{Popover-BSdyxuja.mjs.map → Popover-D0QY5f-J.mjs.map} +1 -1
- package/dist/Popover.d.mts +1 -1
- package/dist/ProgressBar.d.mts +1 -1
- package/dist/ProgressIndicator.d.mts +1 -1
- package/dist/{PseudoClassProps-mZgO_iZJ.d.mts → PseudoClassProps-ySXCGUEQ.d.mts} +1 -1
- package/dist/PseudoClassProps.d.mts +1 -1
- package/dist/{Radio-w-L3Otuk.mjs → Radio-C9DevagH.mjs} +2 -2
- package/dist/{Radio-w-L3Otuk.mjs.map → Radio-C9DevagH.mjs.map} +1 -1
- package/dist/{Radio-mFfT6G3d.cjs → Radio-nw846eRv.cjs} +4 -4
- package/dist/{Radio-mFfT6G3d.cjs.map → Radio-nw846eRv.cjs.map} +1 -1
- package/dist/{RadioGroup-B8htTzsS.mjs → RadioGroup-B3hRbIWF.mjs} +3 -3
- package/dist/{RadioGroup-B8htTzsS.mjs.map → RadioGroup-B3hRbIWF.mjs.map} +1 -1
- package/dist/{RadioGroup-D5ueuC6a.d.cts → RadioGroup-D_H1B7JV.d.cts} +1 -1
- package/dist/{RadioGroup-BjDmweRK.cjs → RadioGroup-DmGVJCgT.cjs} +4 -4
- package/dist/{RadioGroup-BjDmweRK.cjs.map → RadioGroup-DmGVJCgT.cjs.map} +1 -1
- package/dist/{RadioGroup-Ls0vPsP_.d.mts → RadioGroup-nhMXEbCx.d.mts} +1 -1
- package/dist/RadioGroup.d.cts +1 -1
- package/dist/RadioGroup.d.mts +1 -1
- package/dist/RangeCalendar.d.mts +1 -1
- package/dist/RangeCalendarPresets.d.mts +2 -2
- package/dist/SearchInput-CAHYPQVX.d.cts +46 -0
- package/dist/SearchInput-s6qGC2WZ.d.mts +46 -0
- package/dist/SearchInput.d.cts +2 -0
- package/dist/SearchInput.d.mts +2 -0
- package/dist/Section.d.mts +1 -1
- package/dist/{SectionHeading-DVSXofwK.d.cts → SectionHeading-CDBQ4m9E.d.mts} +5 -6
- package/dist/{SectionHeading-QvAmhVmD.d.mts → SectionHeading-D-L4uPoX.d.cts} +5 -6
- package/dist/SectionHeading.d.cts +1 -1
- package/dist/SectionHeading.d.mts +1 -1
- package/dist/{SegmentedControl-DnwNjYre.mjs → SegmentedControl-B1ZLgu61.mjs} +2 -2
- package/dist/{SegmentedControl-DnwNjYre.mjs.map → SegmentedControl-B1ZLgu61.mjs.map} +1 -1
- package/dist/{SegmentedControl-DRtXdbLe.d.cts → SegmentedControl-BYuXohIp.d.cts} +1 -1
- package/dist/{SegmentedControl-Dk5S4Dhz.d.mts → SegmentedControl-CE845gnm.d.mts} +1 -1
- package/dist/{SegmentedControl-CvznPXgC.cjs → SegmentedControl-CIJz0oxY.cjs} +4 -4
- package/dist/{SegmentedControl-CvznPXgC.cjs.map → SegmentedControl-CIJz0oxY.cjs.map} +1 -1
- package/dist/SegmentedControl.d.cts +1 -1
- package/dist/SegmentedControl.d.mts +1 -1
- package/dist/{Select-DRnRqMAL.d.mts → Select-BMEwCfbv.d.mts} +5 -5
- package/dist/{Select-Cl3AOq0-.mjs → Select-ByTgXOlU.mjs} +8 -12
- package/dist/{Select-Cl3AOq0-.mjs.map → Select-ByTgXOlU.mjs.map} +1 -1
- package/dist/{Select-CVB-Q1g1.cjs → Select-C65bfYeT.cjs} +9 -13
- package/dist/{Select-CVB-Q1g1.cjs.map → Select-C65bfYeT.cjs.map} +1 -1
- package/dist/{Select-BdPdgtfU.d.cts → Select-NcaURrGZ.d.cts} +4 -4
- package/dist/Select.d.cts +1 -1
- package/dist/Select.d.mts +1 -1
- package/dist/Slider.d.cts +51 -2
- package/dist/Slider.d.mts +51 -2
- package/dist/SliderRHF.d.cts +18 -2
- package/dist/SliderRHF.d.mts +19 -2
- package/dist/SliderThumb.d.mts +2 -119
- package/dist/{Spacer-DWGkX170.cjs → Spacer-GYHbk-dS.cjs} +2 -2
- package/dist/{Spacer-DWGkX170.cjs.map → Spacer-GYHbk-dS.cjs.map} +1 -1
- package/dist/{Spacer-DxH_sQrV.mjs → Spacer-Ln3KChb5.mjs} +1 -1
- package/dist/{Spacer-DxH_sQrV.mjs.map → Spacer-Ln3KChb5.mjs.map} +1 -1
- package/dist/{Spinner-z7DrPE1d.cjs → Spinner-B6bx70yR.cjs} +2 -2
- package/dist/Spinner-B6bx70yR.cjs.map +1 -0
- package/dist/{Spinner-C05An_fn.mjs → Spinner-BEPF42RW.mjs} +1 -1
- package/dist/Spinner-BEPF42RW.mjs.map +1 -0
- package/dist/{Stack-BHb3ZB2A.cjs → Stack-BF-9YjA1.cjs} +2 -2
- package/dist/Stack-BF-9YjA1.cjs.map +1 -0
- package/dist/{Stack-toDRLy--.d.cts → Stack-D979gYU9.d.cts} +5 -5
- package/dist/{Stack-BntgUvsW.d.mts → Stack-UMhJ6F_3.d.mts} +6 -6
- package/dist/{Stack-hwgS2FU1.mjs → Stack-ckRN7LrP.mjs} +1 -1
- package/dist/Stack-ckRN7LrP.mjs.map +1 -0
- package/dist/Stack.d.cts +1 -1
- package/dist/Stack.d.mts +1 -1
- package/dist/StatusIndicator.d.mts +1 -1
- package/dist/{Sticker-D6bwBTGr.mjs → Sticker-B0TbkV4o.mjs} +3 -5
- package/dist/{Sticker-D6bwBTGr.mjs.map → Sticker-B0TbkV4o.mjs.map} +1 -1
- package/dist/{Sticker-D_dutvp_.cjs → Sticker-D0jIU2Dt.cjs} +4 -6
- package/dist/{Sticker-D_dutvp_.cjs.map → Sticker-D0jIU2Dt.cjs.map} +1 -1
- package/dist/{Sticker-Bd7KkekO.d.mts → Sticker-DjF9VJQB.d.mts} +5 -5
- package/dist/{Sticker-S6QWjlEJ.d.cts → Sticker-N8XZnv7M.d.cts} +2 -2
- package/dist/Sticker.d.cts +1 -1
- package/dist/Sticker.d.mts +1 -1
- package/dist/StyledIconDrag.d.mts +13 -0
- package/dist/SwatchPicker.d.mts +1 -1
- package/dist/Tab.d.mts +2 -2
- package/dist/{TabBar-BMv8dAS3.cjs → TabBar-BpHMYvNb.cjs} +9 -8
- package/dist/TabBar-BpHMYvNb.cjs.map +1 -0
- package/dist/{TabBar-Bf89XksH.mjs → TabBar-ByusqAXF.mjs} +8 -7
- package/dist/TabBar-ByusqAXF.mjs.map +1 -0
- package/dist/TabBarIconButton.d.mts +1 -1
- package/dist/Table-C9rjUVpn.cjs +478 -0
- package/dist/Table-C9rjUVpn.cjs.map +1 -0
- package/dist/Table-CNs8p8hL.mjs +387 -0
- package/dist/Table-CNs8p8hL.mjs.map +1 -0
- package/dist/{Table-DkAA1lt_.d.cts → Table-D3nyiZt0.d.mts} +1 -1
- package/dist/{Table-34f5m7w5.d.mts → Table-DJZtluW3.d.cts} +1 -1
- package/dist/Table.d.cts +1 -1
- package/dist/Table.d.mts +1 -1
- package/dist/{TableBody-5QcVMPP_.d.cts → TableBody-BFPF07n4.d.cts} +1 -1
- package/dist/{TableBody-Clf34yzJ.d.mts → TableBody-DpRjZgzU.d.mts} +1 -1
- package/dist/TableBody.d.cts +1 -1
- package/dist/TableBody.d.mts +1 -1
- package/dist/TableBox-DIJffyts.mjs +1356 -0
- package/dist/TableBox-DIJffyts.mjs.map +1 -0
- package/dist/TableBox-DO-yToJk.cjs +1370 -0
- package/dist/TableBox-DO-yToJk.cjs.map +1 -0
- package/dist/TableBox.d.cts +3 -0
- package/dist/TableBox.d.mts +3 -0
- package/dist/TableBoxCell-D1bjYv7b.d.mts +259 -0
- package/dist/TableBoxCell-DOQ8PnAT.d.cts +259 -0
- package/dist/TableBoxCell.d.cts +2 -0
- package/dist/TableBoxCell.d.mts +2 -0
- package/dist/TableBoxField.d.cts +99 -0
- package/dist/TableBoxField.d.mts +99 -0
- package/dist/TableBoxRow-BUK5RjRA.d.cts +86 -0
- package/dist/TableBoxRow-CTR14HJF.d.mts +86 -0
- package/dist/TableBoxRow.d.cts +2 -0
- package/dist/TableBoxRow.d.mts +2 -0
- package/dist/TableBoxRowActions-BoMt5d0b.d.mts +57 -0
- package/dist/TableBoxRowActions-CKgUEH38.d.cts +57 -0
- package/dist/TableBoxRowActions.d.cts +2 -0
- package/dist/TableBoxRowActions.d.mts +2 -0
- package/dist/TableBoxRowContext.d.mts +22 -0
- package/dist/TableCell.d.cts +1 -1
- package/dist/TableCell.d.mts +1 -1
- package/dist/TableControls-BZyiqk9V.d.mts +70 -0
- package/dist/TableControls-Bkd3jhC1.d.cts +70 -0
- package/dist/TableControls-BkdSeQvt.mjs +1029 -0
- package/dist/TableControls-BkdSeQvt.mjs.map +1 -0
- package/dist/TableControls-DcbnNqeK.cjs +1080 -0
- package/dist/TableControls-DcbnNqeK.cjs.map +1 -0
- package/dist/TableControls.d.cts +2 -0
- package/dist/TableControls.d.mts +2 -0
- package/dist/TableControlsContext-CleTWT7z.d.mts +21 -0
- package/dist/TableControlsContext-D6XpuRVw.d.cts +21 -0
- package/dist/TableControlsContext.d.cts +2 -0
- package/dist/TableControlsContext.d.mts +2 -0
- package/dist/{TableHead-9LLM1B8I.d.cts → TableHead-CTsZNRJm.d.cts} +1 -1
- package/dist/{TableHead-DJBGHoUD.d.mts → TableHead-wl78HqPT.d.mts} +1 -1
- package/dist/TableHead.d.cts +1 -1
- package/dist/TableHead.d.mts +1 -1
- package/dist/{TableHeaderCell-DzYZq7SG.d.mts → TableHeaderCell-B2yiOw4w.d.mts} +1 -1
- package/dist/{TableHeaderCell-25lC9tNk.d.cts → TableHeaderCell-UoY92mzR.d.cts} +1 -1
- package/dist/TableHeaderCell.d.cts +1 -1
- package/dist/TableHeaderCell.d.mts +1 -1
- package/dist/{TableLayout-BA3jbdbi.d.mts → TableLayout-GyRS-Awa.d.cts} +1 -1
- package/dist/{TableLayout-CmDKOu10.d.cts → TableLayout-_TWUnffx.d.mts} +1 -1
- package/dist/TableLayout.d.cts +1 -1
- package/dist/TableLayout.d.mts +1 -1
- package/dist/{TableRow-IPjQnK2q.d.cts → TableRow-BVzduO4G.d.cts} +1 -1
- package/dist/{TableRow-CBKpDeUV.d.mts → TableRow-C-faHbkL.d.mts} +2 -2
- package/dist/TableRow.d.cts +1 -1
- package/dist/TableRow.d.mts +1 -1
- package/dist/TableTH.d.cts +1 -1
- package/dist/TableTH.d.mts +1 -1
- package/dist/TableViewConfigurationDropdown-D2TM2wCv.d.mts +32 -0
- package/dist/TableViewConfigurationDropdown-u3-prEHJ.d.cts +32 -0
- package/dist/TableViewConfigurationDropdown.d.cts +2 -0
- package/dist/TableViewConfigurationDropdown.d.mts +2 -0
- package/dist/TechnicalSticker.d.cts +51 -0
- package/dist/TechnicalSticker.d.mts +51 -0
- package/dist/{Text-DVz8erdF.cjs → Text-CzN0DOXV.cjs} +2 -2
- package/dist/{Text-DVz8erdF.cjs.map → Text-CzN0DOXV.cjs.map} +1 -1
- package/dist/{Text-CnXedFut.d.mts → Text-D3FXEnG6.d.mts} +3 -3
- package/dist/{Text-DOTYjIt0.mjs → Text-hEoPeOc9.mjs} +1 -1
- package/dist/{Text-DOTYjIt0.mjs.map → Text-hEoPeOc9.mjs.map} +1 -1
- package/dist/Text.d.mts +1 -1
- package/dist/{TextArea-B1kitxCl.mjs → TextArea-DIPeBLkr.mjs} +2 -2
- package/dist/{TextArea-B1kitxCl.mjs.map → TextArea-DIPeBLkr.mjs.map} +1 -1
- package/dist/{TextArea-MVgGGM6r.cjs → TextArea-DVHi0K7M.cjs} +4 -4
- package/dist/{TextArea-MVgGGM6r.cjs.map → TextArea-DVHi0K7M.cjs.map} +1 -1
- package/dist/{TextArea-j43fhp2P.d.cts → TextArea-KpDoXg-5.d.cts} +2 -2
- package/dist/{TextArea-1bHvaq9p.d.mts → TextArea-weASn4Hq.d.mts} +2 -2
- package/dist/TextArea.d.cts +1 -1
- package/dist/TextArea.d.mts +1 -1
- package/dist/{TextUnderlineTooltip-z4sSGL91.d.mts → TextUnderlineTooltip-Cep5cgEQ.d.mts} +3 -3
- package/dist/{TextUnderlineTooltip-BDMs4iXn.d.cts → TextUnderlineTooltip-cSMjZOuB.d.cts} +2 -2
- package/dist/TextUnderlineTooltip.d.cts +1 -1
- package/dist/TextUnderlineTooltip.d.mts +1 -1
- package/dist/Tile.d.cts +1 -1
- package/dist/Tile.d.mts +2 -2
- package/dist/Toast.d.cts +2 -6
- package/dist/Toast.d.mts +2 -6
- package/dist/{Toggle-B3Cdyf7T.d.mts → Toggle-BQCOJZjZ.d.mts} +1 -1
- package/dist/{Toggle-CVdg5iQ0.cjs → Toggle-CTtrhzsV.cjs} +6 -6
- package/dist/{Toggle-CVdg5iQ0.cjs.map → Toggle-CTtrhzsV.cjs.map} +1 -1
- package/dist/{Toggle-BjkbL_uf.d.cts → Toggle-CYQE1Nk_.d.cts} +1 -1
- package/dist/{Toggle-8GNRxyvE.mjs → Toggle-CfjUQlcK.mjs} +4 -4
- package/dist/{Toggle-8GNRxyvE.mjs.map → Toggle-CfjUQlcK.mjs.map} +1 -1
- package/dist/Toggle.d.cts +1 -1
- package/dist/Toggle.d.mts +1 -1
- package/dist/{Tooltip-CE1oH6Iz.d.cts → Tooltip-BhGRP9QA.d.cts} +2 -2
- package/dist/{Tooltip-T7RQpy_a.mjs → Tooltip-CDvOu1UN.mjs} +3 -3
- package/dist/{Tooltip-T7RQpy_a.mjs.map → Tooltip-CDvOu1UN.mjs.map} +1 -1
- package/dist/{Tooltip-C0PS5InA.d.mts → Tooltip-DRgufW3i.d.mts} +3 -3
- package/dist/{Tooltip-0i_15ysU.cjs → Tooltip-vylydKVv.cjs} +4 -4
- package/dist/{Tooltip-0i_15ysU.cjs.map → Tooltip-vylydKVv.cjs.map} +1 -1
- package/dist/Tooltip.d.cts +1 -1
- package/dist/Tooltip.d.mts +1 -1
- package/dist/{TruncatedText-0Tf8CwFX.d.mts → TruncatedText-Cy8NpHzm.d.mts} +1 -1
- package/dist/{chunk-CoPdw6nB.cjs → chunk-CKQMccvm.cjs} +0 -36
- package/dist/components/Attribute/index.cjs +6 -6
- package/dist/components/Attribute/index.cjs.map +1 -1
- package/dist/components/Attribute/index.mjs +6 -6
- package/dist/components/Attribute/index.mjs.map +1 -1
- package/dist/components/Badge/index.cjs +1 -2
- package/dist/components/Badge/index.mjs +1 -1
- package/dist/components/Banner/index.cjs +2 -3
- package/dist/components/Banner/index.cjs.map +1 -1
- package/dist/components/Banner/index.mjs +1 -2
- package/dist/components/Banner/index.mjs.map +1 -1
- package/dist/components/Breadcrumbs/index.cjs +275 -0
- package/dist/components/Breadcrumbs/index.cjs.map +1 -0
- package/dist/components/Breadcrumbs/index.d.cts +2 -0
- package/dist/components/Breadcrumbs/index.d.mts +2 -0
- package/dist/components/Breadcrumbs/index.mjs +268 -0
- package/dist/components/Breadcrumbs/index.mjs.map +1 -0
- package/dist/components/Button/index.cjs +1 -2
- package/dist/components/Button/index.d.mts +2 -2
- package/dist/components/Button/index.mjs +1 -1
- package/dist/components/ButtonGroup/index.cjs +4 -4
- package/dist/components/ButtonGroup/index.cjs.map +1 -1
- package/dist/components/ButtonGroup/index.mjs +2 -2
- package/dist/components/ButtonGroup/index.mjs.map +1 -1
- package/dist/components/Card/index.cjs +1 -2
- package/dist/components/Card/index.d.cts +2 -2
- package/dist/components/Card/index.d.mts +2 -2
- package/dist/components/Card/index.mjs +1 -1
- package/dist/components/CardV2/index.cjs +16 -109
- package/dist/components/CardV2/index.cjs.map +1 -1
- package/dist/components/CardV2/index.d.cts +1 -1
- package/dist/components/CardV2/index.d.mts +1 -1
- package/dist/components/CardV2/index.mjs +18 -118
- package/dist/components/CardV2/index.mjs.map +1 -1
- package/dist/components/Checkbox/index.cjs +1 -2
- package/dist/components/Checkbox/index.d.cts +1 -1
- package/dist/components/Checkbox/index.d.mts +1 -1
- package/dist/components/Checkbox/index.mjs +1 -1
- package/dist/components/Combobox/index.cjs +1 -2
- package/dist/components/Combobox/index.d.cts +3 -3
- package/dist/components/Combobox/index.d.mts +3 -3
- package/dist/components/Combobox/index.mjs +1 -1
- package/dist/components/ConfigFormGroup/index.cjs +4 -31
- package/dist/components/ConfigFormGroup/index.mjs +1 -26
- package/dist/components/DataTable/TableControls/index.cjs +13 -0
- package/dist/components/DataTable/TableControls/index.d.cts +6 -0
- package/dist/components/DataTable/TableControls/index.d.mts +6 -0
- package/dist/components/DataTable/TableControls/index.mjs +2 -0
- package/dist/components/DataTable/index.cjs +1434 -0
- package/dist/components/DataTable/index.cjs.map +1 -0
- package/dist/components/DataTable/index.d.cts +8 -0
- package/dist/components/DataTable/index.d.mts +8 -0
- package/dist/components/DataTable/index.mjs +1407 -0
- package/dist/components/DataTable/index.mjs.map +1 -0
- package/dist/components/DataTable/types.d.cts +159 -0
- package/dist/components/DataTable/types.d.mts +159 -0
- package/dist/components/DataTable/types.mjs +0 -0
- package/dist/components/DatePicker/index.cjs +296 -10866
- package/dist/components/DatePicker/index.cjs.map +1 -1
- package/dist/components/DatePicker/index.d.cts +1 -1
- package/dist/components/DatePicker/index.d.mts +1 -1
- package/dist/components/DatePicker/index.mjs +290 -10859
- package/dist/components/DatePicker/index.mjs.map +1 -1
- package/dist/components/DropdownButton/index.cjs +1 -2
- package/dist/components/DropdownButton/index.mjs +1 -1
- package/dist/components/DropdownMenu/index.cjs +1 -2
- package/dist/components/DropdownMenu/index.d.cts +1 -1
- package/dist/components/DropdownMenu/index.d.mts +1 -1
- package/dist/components/DropdownMenu/index.mjs +1 -1
- package/dist/components/FormControl/index.cjs +2 -3
- package/dist/components/FormControl/index.d.cts +2 -2
- package/dist/components/FormControl/index.d.mts +2 -2
- package/dist/components/FormControl/index.mjs +1 -1
- package/dist/components/FormField/index.cjs +128 -23
- package/dist/components/FormField/index.cjs.map +1 -1
- package/dist/components/FormField/index.d.cts +3 -2
- package/dist/components/FormField/index.d.mts +3 -2
- package/dist/components/FormField/index.mjs +127 -23
- package/dist/components/FormField/index.mjs.map +1 -1
- package/dist/components/HoverCopyableField/index.cjs +2 -0
- package/dist/components/HoverCopyableField/index.d.cts +2 -0
- package/dist/components/HoverCopyableField/index.d.mts +2 -0
- package/dist/components/HoverCopyableField/index.mjs +2 -0
- package/dist/components/ImageTile/index.cjs +9 -12
- package/dist/components/ImageTile/index.cjs.map +1 -1
- package/dist/components/ImageTile/index.mjs +8 -11
- package/dist/components/ImageTile/index.mjs.map +1 -1
- package/dist/components/Input/index.cjs +1 -2
- package/dist/components/Input/index.cjs.map +1 -1
- package/dist/components/Input/index.d.cts +1 -1
- package/dist/components/Input/index.d.mts +1 -1
- package/dist/components/Input/index.mjs +1 -1
- package/dist/components/Link/index.cjs +2 -2
- package/dist/components/Link/index.cjs.map +1 -1
- package/dist/components/Link/index.mjs +1 -1
- package/dist/components/Link/index.mjs.map +1 -1
- package/dist/components/ListBox/index.cjs +1 -2
- package/dist/components/ListBox/index.d.cts +1 -1
- package/dist/components/ListBox/index.d.mts +1 -1
- package/dist/components/ListBox/index.mjs +1 -1
- package/dist/components/LoadingShimmer/index.cjs +1 -2
- package/dist/components/LoadingShimmer/index.mjs +1 -1
- package/dist/components/MaskedInput/index.cjs +3 -3
- package/dist/components/MaskedInput/index.mjs +2 -2
- package/dist/components/MatchHighlight/index.cjs +1 -1
- package/dist/components/MatchHighlight/index.cjs.map +1 -1
- package/dist/components/MatchHighlight/index.mjs.map +1 -1
- package/dist/components/Menu/index.cjs +1 -2
- package/dist/components/Menu/index.d.cts +1 -1
- package/dist/components/Menu/index.d.mts +1 -1
- package/dist/components/Menu/index.mjs +1 -1
- package/dist/components/Modal/index.cjs +37 -32
- package/dist/components/Modal/index.cjs.map +1 -1
- package/dist/components/Modal/index.d.cts +2 -2
- package/dist/components/Modal/index.d.mts +2 -2
- package/dist/components/Modal/index.mjs +36 -31
- package/dist/components/Modal/index.mjs.map +1 -1
- package/dist/components/PageHeader/index.cjs +2 -2
- package/dist/components/PageHeader/index.cjs.map +1 -1
- package/dist/components/PageHeader/index.mjs +1 -1
- package/dist/components/PageHeader/index.mjs.map +1 -1
- package/dist/components/Pagination/index.cjs +6 -207
- package/dist/components/Pagination/index.d.cts +4 -3
- package/dist/components/Pagination/index.d.mts +4 -3
- package/dist/components/Pagination/index.mjs +2 -203
- package/dist/components/Pii/index.cjs +2 -20
- package/dist/components/Pii/index.mjs +1 -18
- package/dist/components/Popover/index.cjs +1 -2
- package/dist/components/Popover/index.mjs +1 -1
- package/dist/components/ProgressBar/index.cjs +2 -2
- package/dist/components/ProgressBar/index.cjs.map +1 -1
- package/dist/components/ProgressBar/index.mjs +1 -1
- package/dist/components/ProgressBar/index.mjs.map +1 -1
- package/dist/components/ProgressIndicator/index.cjs +1 -1
- package/dist/components/ProgressIndicator/index.cjs.map +1 -1
- package/dist/components/ProgressIndicator/index.mjs.map +1 -1
- package/dist/components/Radio/index.cjs +1 -2
- package/dist/components/Radio/index.mjs +1 -1
- package/dist/components/RadioGroup/index.cjs +1 -2
- package/dist/components/RadioGroup/index.d.cts +1 -1
- package/dist/components/RadioGroup/index.d.mts +1 -1
- package/dist/components/RadioGroup/index.mjs +1 -1
- package/dist/components/SegmentedControl/index.cjs +1 -2
- package/dist/components/SegmentedControl/index.d.cts +1 -1
- package/dist/components/SegmentedControl/index.d.mts +1 -1
- package/dist/components/SegmentedControl/index.mjs +1 -1
- package/dist/components/Select/index.cjs +1 -2
- package/dist/components/Select/index.d.cts +1 -1
- package/dist/components/Select/index.d.mts +1 -1
- package/dist/components/Select/index.mjs +1 -1
- package/dist/components/Slider/index.cjs +20 -1282
- package/dist/components/Slider/index.cjs.map +1 -1
- package/dist/components/Slider/index.d.cts +2 -2
- package/dist/components/Slider/index.d.mts +2 -2
- package/dist/components/Slider/index.mjs +18 -1279
- package/dist/components/Slider/index.mjs.map +1 -1
- package/dist/components/Spacer/index.cjs +1 -2
- package/dist/components/Spacer/index.mjs +1 -1
- package/dist/components/Spinner/index.cjs +1 -2
- package/dist/components/Spinner/index.mjs +1 -1
- package/dist/components/Stack/index.cjs +1 -2
- package/dist/components/Stack/index.d.cts +1 -1
- package/dist/components/Stack/index.d.mts +1 -1
- package/dist/components/Stack/index.mjs +1 -1
- package/dist/components/StatusIndicator/index.cjs +1 -1
- package/dist/components/StatusIndicator/index.cjs.map +1 -1
- package/dist/components/StatusIndicator/index.mjs.map +1 -1
- package/dist/components/Sticker/index.cjs +1 -2
- package/dist/components/Sticker/index.d.cts +1 -1
- package/dist/components/Sticker/index.d.mts +1 -1
- package/dist/components/Sticker/index.mjs +1 -1
- package/dist/components/SwatchPicker/index.cjs +3 -5
- package/dist/components/SwatchPicker/index.cjs.map +1 -1
- package/dist/components/SwatchPicker/index.mjs +2 -4
- package/dist/components/SwatchPicker/index.mjs.map +1 -1
- package/dist/components/TabBar/index.cjs +1 -2
- package/dist/components/TabBar/index.mjs +1 -1
- package/dist/components/Table/index.cjs +17 -396
- package/dist/components/Table/index.d.cts +7 -7
- package/dist/components/Table/index.d.mts +7 -7
- package/dist/components/Table/index.mjs +1 -378
- package/dist/components/TableBox/index.cjs +7 -0
- package/dist/components/TableBox/index.d.cts +3 -0
- package/dist/components/TableBox/index.d.mts +3 -0
- package/dist/components/TableBox/index.mjs +2 -0
- package/dist/components/TechnicalSticker/index.cjs +239 -0
- package/dist/components/TechnicalSticker/index.cjs.map +1 -0
- package/dist/components/TechnicalSticker/index.d.cts +2 -0
- package/dist/components/TechnicalSticker/index.d.mts +2 -0
- package/dist/components/TechnicalSticker/index.mjs +232 -0
- package/dist/components/TechnicalSticker/index.mjs.map +1 -0
- package/dist/components/Text/index.cjs +1 -2
- package/dist/components/Text/index.d.mts +1 -1
- package/dist/components/Text/index.mjs +1 -1
- package/dist/components/TextArea/index.cjs +1 -2
- package/dist/components/TextArea/index.d.cts +1 -1
- package/dist/components/TextArea/index.d.mts +1 -1
- package/dist/components/TextArea/index.mjs +1 -1
- package/dist/components/Tile/index.cjs +5 -6
- package/dist/components/Tile/index.cjs.map +1 -1
- package/dist/components/Tile/index.mjs +4 -5
- package/dist/components/Tile/index.mjs.map +1 -1
- package/dist/components/Toast/index.cjs +5 -12
- package/dist/components/Toast/index.cjs.map +1 -1
- package/dist/components/Toast/index.d.cts +2 -2
- package/dist/components/Toast/index.d.mts +2 -2
- package/dist/components/Toast/index.mjs +4 -10
- package/dist/components/Toast/index.mjs.map +1 -1
- package/dist/components/Toggle/index.cjs +1 -2
- package/dist/components/Toggle/index.d.cts +1 -1
- package/dist/components/Toggle/index.d.mts +1 -1
- package/dist/components/Toggle/index.mjs +1 -1
- package/dist/components/Tooltip/index.cjs +1 -2
- package/dist/components/Tooltip/index.d.cts +3 -3
- package/dist/components/Tooltip/index.d.mts +3 -3
- package/dist/components/Tooltip/index.mjs +1 -1
- package/dist/constants-DVwPpTt5.d.mts +6 -0
- package/dist/constants-kwVsjw8O.d.cts +6 -0
- package/dist/constants.d.cts +2 -0
- package/dist/constants.d.mts +2 -5
- package/dist/constants2.d.cts +10 -0
- package/dist/constants2.d.mts +10 -0
- package/dist/helpers.d.cts +76 -0
- package/dist/helpers.d.mts +76 -0
- package/dist/{TableCell-Dog4Blfq.d.mts → index-BPnJP0jZ.d.mts} +4 -4
- package/dist/index-Oio5ygqN.d.mts +1 -0
- package/dist/index-VWno75SQ.d.mts +1 -0
- package/dist/{TableCell-DIs9h97h.d.cts → index-_tQRydn9.d.cts} +3 -3
- package/dist/index-_wQ5ClJU.d.cts +1 -0
- package/dist/index-c55Utzva.d.mts +1 -0
- package/dist/index-gpCH5158.d.mts +1 -0
- package/dist/index-lQ_hGQ08.d.cts +1 -0
- package/dist/index-luywJTzJ.d.mts +1 -0
- package/dist/index-zO0Ly4bS.d.cts +1 -0
- package/dist/index.cjs +0 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index2.d.cts +2 -1
- package/dist/index2.d.mts +2 -1
- package/dist/index3.d.cts +1 -0
- package/dist/index3.d.mts +1 -0
- package/dist/{input-Bm_anD8X.d.cts → input-BkzqXwn7.d.cts} +2 -2
- package/dist/{input-BCmP106-.d.mts → input-DrG6mA0V.d.mts} +3 -3
- package/dist/inputFields.d.cts +10 -10
- package/dist/inputFields.d.mts +11 -11
- package/dist/intersperse-Gxwgpbk8.cjs +26 -0
- package/dist/intersperse-Gxwgpbk8.cjs.map +1 -0
- package/dist/intersperse-yd3oMrQl.mjs +21 -0
- package/dist/intersperse-yd3oMrQl.mjs.map +1 -0
- package/dist/lib/ConfigContext.cjs +1 -1
- package/dist/lib/GlobalStyles.cjs +57 -0
- package/dist/lib/GlobalStyles.cjs.map +1 -0
- package/dist/lib/GlobalStyles.d.cts +8 -0
- package/dist/lib/GlobalStyles.d.mts +8 -0
- package/dist/lib/GlobalStyles.mjs +51 -0
- package/dist/lib/GlobalStyles.mjs.map +1 -0
- package/dist/lib/HeadlessAriaButton.cjs +1 -1
- package/dist/lib/MiddleTruncatedText.cjs +7 -0
- package/dist/lib/MiddleTruncatedText.d.cts +14 -0
- package/dist/lib/MiddleTruncatedText.d.mts +14 -0
- package/dist/lib/MiddleTruncatedText.mjs +2 -0
- package/dist/lib/PDSProvider.cjs +5 -12
- package/dist/lib/PDSProvider.cjs.map +1 -1
- package/dist/lib/PDSProvider.d.cts +0 -2
- package/dist/lib/PDSProvider.d.mts +1 -3
- package/dist/lib/PDSProvider.mjs +4 -11
- package/dist/lib/PDSProvider.mjs.map +1 -1
- package/dist/lib/TruncatedText.cjs +2 -2
- package/dist/lib/TruncatedText.d.mts +1 -1
- package/dist/lib/TruncatedText.mjs +1 -1
- package/dist/lib/TruncatedTextWithTooltip.cjs +3 -3
- package/dist/lib/TruncatedTextWithTooltip.d.cts +1 -1
- package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
- package/dist/lib/TruncatedTextWithTooltip.mjs +2 -2
- package/dist/lib/comboboxHelper.cjs +6 -6
- package/dist/lib/comboboxHelper.cjs.map +1 -1
- package/dist/lib/comboboxHelper.mjs +1 -1
- package/dist/lib/copyTextToClipboard.cjs +33 -0
- package/dist/lib/copyTextToClipboard.cjs.map +1 -0
- package/dist/lib/copyTextToClipboard.d.cts +4 -0
- package/dist/lib/copyTextToClipboard.d.mts +5 -0
- package/dist/lib/copyTextToClipboard.mjs +33 -0
- package/dist/lib/copyTextToClipboard.mjs.map +1 -0
- package/dist/lib/datePickerHelper.cjs +9 -3541
- package/dist/lib/datePickerHelper.cjs.map +1 -1
- package/dist/lib/datePickerHelper.mjs +3 -3537
- package/dist/lib/datePickerHelper.mjs.map +1 -1
- package/dist/lib/message.cjs +12 -0
- package/dist/lib/message.cjs.map +1 -0
- package/dist/lib/message.d.cts +2 -0
- package/dist/lib/message.d.mts +2 -0
- package/dist/lib/message.mjs +11 -0
- package/dist/lib/message.mjs.map +1 -0
- package/dist/lib/pseudoClass.cjs +0 -1
- package/dist/lib/pseudoClass.cjs.map +1 -1
- package/dist/lib/pseudoClass.d.mts +1 -1
- package/dist/lib/reorderItems.cjs +0 -1
- package/dist/lib/reorderItems.cjs.map +1 -1
- package/dist/lib/selectHelper.cjs +4 -4
- package/dist/lib/selectHelper.cjs.map +1 -1
- package/dist/lib/selectHelper.mjs +1 -1
- package/dist/lib/useControlled.cjs +1 -1
- package/dist/lib/useIsOverflow.cjs +1 -1
- package/dist/lib/useOutsideClick.cjs +1 -1
- package/dist/lib/useScrollOverflow.cjs +61 -0
- package/dist/lib/useScrollOverflow.cjs.map +1 -0
- package/dist/lib/useScrollOverflow.d.cts +36 -0
- package/dist/lib/useScrollOverflow.d.mts +36 -0
- package/dist/lib/useScrollOverflow.mjs +59 -0
- package/dist/lib/useScrollOverflow.mjs.map +1 -0
- package/dist/lib/zindex.cjs +0 -1
- package/dist/lib/zindex.cjs.map +1 -1
- package/dist/message-BfJ87aIU.d.mts +9 -0
- package/dist/message-C2286H-r.d.cts +9 -0
- package/dist/middleTruncateText.d.mts +13 -0
- package/dist/mixins/focus.cjs +1 -1
- package/dist/mixins/focus.cjs.map +1 -1
- package/dist/mixins/focus.d.mts +1 -1
- package/dist/mixins/focus.mjs.map +1 -1
- package/dist/mixins/hoverable.cjs +1 -1
- package/dist/mixins/hoverable.d.mts +2 -2
- package/dist/mixins/input.cjs +1 -1
- package/dist/mixins/input.cjs.map +1 -1
- package/dist/mixins/input.d.cts +1 -1
- package/dist/mixins/input.d.mts +1 -1
- package/dist/mixins/input.mjs.map +1 -1
- package/dist/mixins/menuItem.cjs +1 -1
- package/dist/mixins/menuItem.cjs.map +1 -1
- package/dist/mixins/menuItem.d.mts +2 -2
- package/dist/mixins/menuItem.mjs.map +1 -1
- package/dist/mixins/print/index.cjs +1 -1
- package/dist/mixins/text.cjs +1 -1
- package/dist/mixins/text.cjs.map +1 -1
- package/dist/mixins/text.d.mts +1 -1
- package/dist/mixins/text.mjs.map +1 -1
- package/dist/positioning.d.mts +11 -0
- package/dist/tableBoxKeyboardNavigation.d.mts +8 -0
- package/dist/{text-BrSUs-88.d.mts → text-CtoDqqAO.d.mts} +1 -1
- package/dist/{theme-DGAqgnUa.d.mts → theme-Bx2sn3Lt.d.mts} +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.d.mts +1 -1
- package/dist/types-B34lbI2k.d.mts +25 -0
- package/dist/types-C_AUGurs.d.cts +25 -0
- package/dist/types-CuCT-YnX.d.cts +10 -0
- package/dist/types-DTak9UTv.d.mts +10 -0
- package/dist/types.d.cts +2 -0
- package/dist/types.d.mts +2 -0
- package/dist/types2.d.cts +2 -0
- package/dist/types2.d.mts +2 -0
- package/dist/useColumnWidthLock.d.mts +28 -0
- package/dist/useDelayedInlineEditError.d.mts +12 -0
- package/dist/{useFormField-DN3gpEEV.cjs → useFormField-B98dmreO.cjs} +3 -3
- package/dist/{useFormField-DN3gpEEV.cjs.map → useFormField-B98dmreO.cjs.map} +1 -1
- package/dist/{useFormField-BmtItl8y.d.mts → useFormField-BE0rTBF1.d.mts} +2 -2
- package/dist/{useFormField-Ba0CQ43u.d.cts → useFormField-CaIdE7JQ.d.cts} +2 -2
- package/dist/useFormField.d.cts +1 -1
- package/dist/useFormField.d.mts +1 -1
- package/dist/{useFormGroup-B_mFNoN9.cjs → useFormGroup-BE7v9eAj.cjs} +2 -2
- package/dist/{useFormGroup-B_mFNoN9.cjs.map → useFormGroup-BE7v9eAj.cjs.map} +1 -1
- package/dist/useTableBoxDragAndDrop--QBq2FQh.d.cts +69 -0
- package/dist/useTableBoxDragAndDrop-BTtv9PEt.d.mts +69 -0
- package/dist/useTableBoxDragAndDrop.d.cts +2 -0
- package/dist/useTableBoxDragAndDrop.d.mts +2 -0
- package/dist/useTableColumns.d.cts +72 -0
- package/dist/useTableColumns.d.mts +72 -0
- package/dist/{useToggle-0zLL1E7s.mjs → useToggle-3k3EkV8V.mjs} +1 -1
- package/dist/{useToggle-0zLL1E7s.mjs.map → useToggle-3k3EkV8V.mjs.map} +1 -1
- package/dist/{useToggle-DNrEsTpr.cjs → useToggle-CSkZWXtQ.cjs} +2 -2
- package/dist/{useToggle-DNrEsTpr.cjs.map → useToggle-CSkZWXtQ.cjs.map} +1 -1
- package/dist/useTruncation.d.mts +1 -1
- package/dist/{utilities-C8Jf-xpi.d.cts → utilities-DqO6Sh94.d.cts} +1 -1
- package/dist/{utilities-w1K54IAy.d.mts → utilities-SMbDe8oK.d.mts} +1 -1
- package/dist/utilities.d.cts +1 -1
- package/dist/utilities.d.mts +1 -1
- package/dist/utils/storybook.cjs +2 -3
- package/dist/utils/storybook.cjs.map +1 -1
- package/dist/utils/storybook.mjs +1 -2
- package/dist/utils/storybook.mjs.map +1 -1
- package/dist/utils/testing.cjs +5 -5
- package/dist/utils/testing.cjs.map +1 -1
- package/dist/utils/testing.d.cts +5 -357
- package/dist/utils/testing.d.mts +4 -356
- package/dist/utils/testing.mjs +2 -2
- package/dist/utils/testing.mjs.map +1 -1
- package/dist/utils.d.mts +9 -0
- package/dist/variables/color.cjs +0 -1
- package/dist/variables/color.cjs.map +1 -1
- package/dist/variables/effect.cjs +1 -1
- package/dist/variables/keyframes.cjs +1 -1
- package/dist/variables/spacing.cjs +1 -2
- package/dist/variables/spacing.cjs.map +1 -1
- package/dist/variables/spacing.d.cts +1 -1
- package/dist/variables/spacing.d.mts +1 -1
- package/dist/variables/spacing.mjs +1 -1
- package/dist/variables/spacing.mjs.map +1 -1
- package/dist/variables/text.cjs +0 -1
- package/dist/variables/text.cjs.map +1 -1
- package/dist/variables/transitions.cjs +0 -1
- package/dist/variables/transitions.cjs.map +1 -1
- package/package.json +135 -90
- package/dist/Combobox-B_-swcix.mjs.map +0 -1
- package/dist/Combobox-B_oe33Re.cjs.map +0 -1
- package/dist/DateField-Bwe_0qm9.d.cts +0 -24
- package/dist/DateField-Chko9oLb.d.mts +0 -24
- package/dist/ListBox-Z1y0LG1H.mjs.map +0 -1
- package/dist/RegisterComponent-BDb43KvI.d.mts +0 -34
- package/dist/RegisterComponent-CpXIR-51.d.cts +0 -34
- package/dist/Slider-D3gz7otf.d.mts +0 -56
- package/dist/Slider-uH5MOu2D.d.cts +0 -56
- package/dist/SliderRHF-Cc-9RuPe.d.cts +0 -984
- package/dist/SliderRHF-DIV-tCEv.d.mts +0 -984
- package/dist/Spinner-C05An_fn.mjs.map +0 -1
- package/dist/Spinner-z7DrPE1d.cjs.map +0 -1
- package/dist/Stack-BHb3ZB2A.cjs.map +0 -1
- package/dist/Stack-hwgS2FU1.mjs.map +0 -1
- package/dist/TabBar-BMv8dAS3.cjs.map +0 -1
- package/dist/TabBar-Bf89XksH.mjs.map +0 -1
- package/dist/chunk-Bpcn9VDT.mjs +0 -39
- package/dist/components/ConfigFormGroup/index.cjs.map +0 -1
- package/dist/components/ConfigFormGroup/index.mjs.map +0 -1
- package/dist/components/Pagination/index.cjs.map +0 -1
- package/dist/components/Pagination/index.mjs.map +0 -1
- package/dist/components/Pii/index.cjs.map +0 -1
- package/dist/components/Pii/index.mjs.map +0 -1
- package/dist/components/Table/index.cjs.map +0 -1
- package/dist/components/Table/index.mjs.map +0 -1
- package/dist/ids-Cr-NW2RJ.d.mts +0 -11
- package/dist/ids-e4V5Y3Ub.d.cts +0 -11
- package/dist/index-8R9vlM2B.d.mts +0 -83
- package/dist/index-BM1DqNZf.d.cts +0 -628
- package/dist/index-CExuKKOI.d.cts +0 -218
- package/dist/index-CKu60b9I.d.mts +0 -154
- package/dist/index-DQvVmqvS.d.mts +0 -628
- package/dist/lib/register/RegisterComponent.cjs +0 -91
- package/dist/lib/register/RegisterComponent.cjs.map +0 -1
- package/dist/lib/register/RegisterComponent.d.cts +0 -2
- package/dist/lib/register/RegisterComponent.d.mts +0 -2
- package/dist/lib/register/RegisterComponent.mjs +0 -88
- package/dist/lib/register/RegisterComponent.mjs.map +0 -1
- package/dist/lib/register/ids.cjs +0 -31
- package/dist/lib/register/ids.cjs.map +0 -1
- package/dist/lib/register/ids.d.cts +0 -2
- package/dist/lib/register/ids.d.mts +0 -2
- package/dist/lib/register/ids.mjs +0 -28
- package/dist/lib/register/ids.mjs.map +0 -1
- package/dist/lib/register/index.cjs +0 -8
- package/dist/lib/register/index.d.cts +0 -4
- package/dist/lib/register/index.d.mts +0 -4
- package/dist/lib/register/index.mjs +0 -3
- package/dist/lib/register/types.cjs +0 -1
- package/dist/lib/register/types.d.cts +0 -2
- package/dist/lib/register/types.d.mts +0 -2
- package/dist/mergeRefs-BZinWopc.cjs +0 -31
- package/dist/mergeRefs-BZinWopc.cjs.map +0 -1
- package/dist/mergeRefs-BgcbK0Qy.mjs +0 -26
- package/dist/mergeRefs-BgcbK0Qy.mjs.map +0 -1
- package/dist/motion-DoikasqZ.mjs +0 -7483
- package/dist/motion-DoikasqZ.mjs.map +0 -1
- package/dist/motion-QW6imSxE.cjs +0 -7488
- package/dist/motion-QW6imSxE.cjs.map +0 -1
- package/dist/react.esm-C-es35jP.cjs +0 -11441
- package/dist/react.esm-C-es35jP.cjs.map +0 -1
- package/dist/react.esm-Dv1lMDRs.mjs +0 -11397
- package/dist/react.esm-Dv1lMDRs.mjs.map +0 -1
- package/dist/types-DzHQ5MGm.d.mts +0 -69
- package/dist/types-N-cXznfM.d.cts +0 -69
- package/dist/useLabel-BcbghpIU.cjs +0 -1465
- package/dist/useLabel-BcbghpIU.cjs.map +0 -1
- package/dist/useLabel-DHGzNIKw.mjs +0 -1212
- package/dist/useLabel-DHGzNIKw.mjs.map +0 -1
- /package/dist/{lib/register/types.mjs → components/DataTable/types.cjs} +0 -0
- /package/dist/{index-1-AkepUA.d.mts → index-8SLBz2NH.d.mts} +0 -0
- /package/dist/{index-7in8TPrM.d.mts → index-B5cbLMbC2.d.cts} +0 -0
- /package/dist/{index-BBDa5smF.d.cts → index-BCsiC0tv.d.cts} +0 -0
- /package/dist/{index-BJ8-FA6N.d.cts → index-BR1oNnaF.d.cts} +0 -0
- /package/dist/{index-BUYyA1Xh.d.cts → index-BSVhZrWN.d.mts} +0 -0
- /package/dist/{index-CCt0lwyI.d.mts → index-BTImeehL2.d.mts} +0 -0
- /package/dist/{index-CEDY7cmG.d.cts → index-C0NRIDsj2.d.cts} +0 -0
- /package/dist/{index-CIABef8t.d.mts → index-C3kE54DD.d.mts} +0 -0
- /package/dist/{index-CIBxlpQo.d.mts → index-C6yvNuzO.d.cts} +0 -0
- /package/dist/{index-CP2eJYlK.d.mts → index-C8k_zgEm.d.cts} +0 -0
- /package/dist/{index-CRo77wc3.d.mts → index-CROz1VSV.d.mts} +0 -0
- /package/dist/{index-CiBIKhMu.d.cts → index-CWt1yJ75.d.cts} +0 -0
- /package/dist/{index-Cii4Qb1X.d.mts → index-CmCelmEL.d.cts} +0 -0
- /package/dist/{index-CspKFJM1.d.cts → index-CmUzJ4E-2.d.cts} +0 -0
- /package/dist/{index-D26lpgQi.d.cts → index-CtCMUyZA.d.cts} +0 -0
- /package/dist/{index-D4DUvwPf.d.mts → index-D5tSVhTd.d.mts} +0 -0
- /package/dist/{index-D4ELpJXS.d.cts → index-D8dPsry7.d.mts} +0 -0
- /package/dist/{index-D6CnpA_r.d.cts → index-DeEmP3Jc.d.cts} +0 -0
- /package/dist/{index-DLoAMD9J.d.cts → index-DeVKzGce.d.mts} +0 -0
- /package/dist/{index-DWfPppPU.d.mts → index-DrZ2Dh-H.d.cts} +0 -0
- /package/dist/{index-DcU87nuJ2.d.cts → index-DxSM7VXJ.d.cts} +0 -0
- /package/dist/{index-DkrC-i1D.d.mts → index-FtE8MXJ_.d.mts} +0 -0
- /package/dist/{index-DvuJXuAN.d.mts → index-JuxZj_Qp2.d.mts} +0 -0
- /package/dist/{index-OEBbnNdr.d.mts → index-LhFpnU-f.d.mts} +0 -0
- /package/dist/{index-QbUkWSLh.d.mts → index-N-OgGgfF.d.mts} +0 -0
- /package/dist/{index-VmEFGBxN.d.cts → index-NKYLt_R9.d.mts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner-C05An_fn.mjs","names":["LoaderIconMedium"],"sources":["../components/Spinner/Spinner.tsx"],"sourcesContent":["import { rotate } from '@persona/design-system/variables/keyframes';\nimport { TransitionDuration } from '@persona/design-system/variables/transitions';\nimport { Color } from '@persona/design-tokens';\nimport { LoaderIcon } from '@persona/icons';\nimport { LoaderIcon as LoaderIconMedium } from '@persona/icons/24px';\nimport styled from 'styled-components';\n\nexport type SpinnerVariant = 'default' | 'inverse';\n\nconst SPINNER_COLOR: Record<SpinnerVariant, string> = {\n default: Color.BorderIconPrimary,\n inverse: Color.BorderIconInverse,\n};\n\ntype SpinnerSize = 'sm' | 'md';\n\ninterface SpinnerProps {\n /**\n * `default` uses {@link Color.BorderIconPrimary}; `inverse` uses {@link Color.BorderIconInverse}\n * (e.g. on dark backgrounds).\n */\n variant?: SpinnerVariant;\n /** Size of the spinner. Defaults to 'sm'. */\n size?: SpinnerSize;\n /** Screen reader text. Defaults to \"Loading...\". */\n srText?: string;\n className?: string;\n}\n\nconst Container = styled.span`\n line-height: 0;\n display: inline-block;\n`;\n\nconst VisuallyHidden = styled.span`\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n`;\n\nconst IconContainer = styled.span`\n display: inline-block;\n animation: ${rotate} ${TransitionDuration.OneSecond} linear infinite;\n`;\n\nexport const Spinner = ({ variant = 'default', size = 'sm', srText, className }: SpinnerProps) => {\n const resolvedColor = SPINNER_COLOR[variant];\n return (\n <Container role='status' aria-label='loading spinner' className={className}>\n <VisuallyHidden>{srText ?? 'Loading...'}</VisuallyHidden>\n <IconContainer>\n {size === 'sm' ? (\n <LoaderIcon color={resolvedColor} />\n ) : (\n <LoaderIconMedium color={resolvedColor} />\n )}\n </IconContainer>\n </Container>\n );\n};\n\nexport default Spinner;\n"],"mappings":";;;;;;;;AASA,MAAM,gBAAgD;CACpD,SAAS,MAAM;CACf,SAAS,MAAM;CAChB;AAiBD,MAAM,YAAY,OAAO,IAAI;;;;AAK7B,MAAM,iBAAiB,OAAO,IAAI;;;;;;;;AASlC,MAAM,gBAAgB,OAAO,IAAI;;eAElB,OAAO,GAAA,SAAgC;;AAGtD,MAAa,WAAW,EAAE,UAAU,WAAW,OAAO,MAAM,QAAQ,gBAA8B;CAChG,MAAM,gBAAgB,cAAc;AACpC,QACE,qBAAC,WAAD;EAAW,MAAK;EAAS,cAAW;EAA6B;YAAjE,CACE,oBAAC,gBAAD,EAAA,UAAiB,UAAU,cAA8B,CAAA,EACzD,oBAAC,eAAD,EAAA,UACG,SAAS,OACR,oBAAC,YAAD,EAAY,OAAO,eAAiB,CAAA,GAEpC,oBAACA,cAAD,EAAkB,OAAO,eAAiB,CAAA,EAE9B,CAAA,CACN"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Spinner-z7DrPE1d.cjs","names":["Color","rotate","LoaderIcon","LoaderIconMedium"],"sources":["../components/Spinner/Spinner.tsx"],"sourcesContent":["import { rotate } from '@persona/design-system/variables/keyframes';\nimport { TransitionDuration } from '@persona/design-system/variables/transitions';\nimport { Color } from '@persona/design-tokens';\nimport { LoaderIcon } from '@persona/icons';\nimport { LoaderIcon as LoaderIconMedium } from '@persona/icons/24px';\nimport styled from 'styled-components';\n\nexport type SpinnerVariant = 'default' | 'inverse';\n\nconst SPINNER_COLOR: Record<SpinnerVariant, string> = {\n default: Color.BorderIconPrimary,\n inverse: Color.BorderIconInverse,\n};\n\ntype SpinnerSize = 'sm' | 'md';\n\ninterface SpinnerProps {\n /**\n * `default` uses {@link Color.BorderIconPrimary}; `inverse` uses {@link Color.BorderIconInverse}\n * (e.g. on dark backgrounds).\n */\n variant?: SpinnerVariant;\n /** Size of the spinner. Defaults to 'sm'. */\n size?: SpinnerSize;\n /** Screen reader text. Defaults to \"Loading...\". */\n srText?: string;\n className?: string;\n}\n\nconst Container = styled.span`\n line-height: 0;\n display: inline-block;\n`;\n\nconst VisuallyHidden = styled.span`\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n`;\n\nconst IconContainer = styled.span`\n display: inline-block;\n animation: ${rotate} ${TransitionDuration.OneSecond} linear infinite;\n`;\n\nexport const Spinner = ({ variant = 'default', size = 'sm', srText, className }: SpinnerProps) => {\n const resolvedColor = SPINNER_COLOR[variant];\n return (\n <Container role='status' aria-label='loading spinner' className={className}>\n <VisuallyHidden>{srText ?? 'Loading...'}</VisuallyHidden>\n <IconContainer>\n {size === 'sm' ? (\n <LoaderIcon color={resolvedColor} />\n ) : (\n <LoaderIconMedium color={resolvedColor} />\n )}\n </IconContainer>\n </Container>\n );\n};\n\nexport default Spinner;\n"],"mappings":";;;;;;;;;;AASA,MAAM,gBAAgD;CACpD,SAASA,uBAAAA,MAAM;CACf,SAASA,uBAAAA,MAAM;CAChB;AAiBD,MAAM,YAAY,kBAAA,QAAO,IAAI;;;;AAK7B,MAAM,iBAAiB,kBAAA,QAAO,IAAI;;;;;;;;AASlC,MAAM,gBAAgB,kBAAA,QAAO,IAAI;;eAElBC,4BAAAA,OAAO,GAAA,SAAgC;;AAGtD,MAAa,WAAW,EAAE,UAAU,WAAW,OAAO,MAAM,QAAQ,gBAA8B;CAChG,MAAM,gBAAgB,cAAc;AACpC,QACE,iBAAA,GAAA,kBAAA,MAAC,WAAD;EAAW,MAAK;EAAS,cAAW;EAA6B;YAAjE,CACE,iBAAA,GAAA,kBAAA,KAAC,gBAAD,EAAA,UAAiB,UAAU,cAA8B,CAAA,EACzD,iBAAA,GAAA,kBAAA,KAAC,eAAD,EAAA,UACG,SAAS,OACR,iBAAA,GAAA,kBAAA,KAACC,eAAAA,YAAD,EAAY,OAAO,eAAiB,CAAA,GAEpC,iBAAA,GAAA,kBAAA,KAACC,oBAAAA,YAAD,EAAkB,OAAO,eAAiB,CAAA,EAE9B,CAAA,CACN"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Stack-BHb3ZB2A.cjs","names":["Spacing"],"sources":["../components/Stack/Stack.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport type * as CSS from 'csstype';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nexport interface StackProps {\n /**\n * Spacing between items. Defaults to Spacing[3].\n *\n * @defaultValue Spacing[3]\n */\n spacing?: Spacing;\n\n /**\n * Direction of Stack. Defaults to vertical.\n *\n * @defaultValue 'vertical'\n */\n direction?: 'vertical' | 'horizontal';\n\n /**\n * Passed through as `align-items`\n */\n align?: CSS.Property.AlignItems;\n\n /**\n * Passed through as `justify-content`\n */\n justify?: CSS.Property.JustifyContent;\n\n /**\n * Passed through as `flex-wrap`\n */\n wrap?: CSS.Property.FlexWrap;\n\n /**\n * Give each item an equal width/height.\n */\n equal?: boolean;\n\n /**\n * Passed through as `width: 100%`\n */\n fullWidth?: boolean;\n}\n\nexport const Stack = styled('div')<StackProps>`\n display: flex;\n flex-direction: ${({ direction }) => (direction === 'horizontal' ? 'row' : 'column')};\n gap: ${({ spacing }) => spacing || Spacing[2]};\n\n ${({ align }) =>\n align &&\n css`\n align-items: ${align};\n `}\n\n ${({ justify }) =>\n justify &&\n css`\n justify-content: ${justify};\n `}\n\n ${({ wrap }) =>\n wrap &&\n css`\n flex-wrap: ${wrap};\n `}\n\n ${({ equal }) =>\n equal &&\n css`\n > * {\n flex-grow: 1;\n flex-basis: 0;\n }\n `}\n\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n width: 100%;\n `}\n`;\n\nexport default Stack;\n\nexport type HStackProps = ComponentPropsWithoutRef<'div'> & StackProps;\n\nexport const HStack = (props: HStackProps) => <Stack {...props} direction='horizontal' />;\n"],"mappings":";;;;;;AA8CA,MAAa,QAAQ,CAAA,GAAA,kBAAA,SAAO,MAAM;;qBAEb,EAAE,gBAAiB,cAAc,eAAe,QAAQ,SAAU;UAC7E,EAAE,cAAc,WAAWA,uBAAAA,QAAQ,GAAG;;KAE3C,EAAE,YACH,SACA,kBAAA,GAAG;qBACc,MAAM;MACrB;;KAED,EAAE,cACH,WACA,kBAAA,GAAG;yBACkB,QAAQ;MAC3B;;KAED,EAAE,WACH,QACA,kBAAA,GAAG;mBACY,KAAK;MAClB;;KAED,EAAE,YACH,SACA,kBAAA,GAAG;;;;;MAKD;;KAED,EAAE,gBACH,aACA,kBAAA,GAAG;;MAED;;AAON,MAAa,UAAU,UAAuB,iBAAA,GAAA,kBAAA,KAAC,OAAD;CAAO,GAAI;CAAO,WAAU;CAAe,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Stack-hwgS2FU1.mjs","names":[],"sources":["../components/Stack/Stack.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport type * as CSS from 'csstype';\nimport type { ComponentPropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nexport interface StackProps {\n /**\n * Spacing between items. Defaults to Spacing[3].\n *\n * @defaultValue Spacing[3]\n */\n spacing?: Spacing;\n\n /**\n * Direction of Stack. Defaults to vertical.\n *\n * @defaultValue 'vertical'\n */\n direction?: 'vertical' | 'horizontal';\n\n /**\n * Passed through as `align-items`\n */\n align?: CSS.Property.AlignItems;\n\n /**\n * Passed through as `justify-content`\n */\n justify?: CSS.Property.JustifyContent;\n\n /**\n * Passed through as `flex-wrap`\n */\n wrap?: CSS.Property.FlexWrap;\n\n /**\n * Give each item an equal width/height.\n */\n equal?: boolean;\n\n /**\n * Passed through as `width: 100%`\n */\n fullWidth?: boolean;\n}\n\nexport const Stack = styled('div')<StackProps>`\n display: flex;\n flex-direction: ${({ direction }) => (direction === 'horizontal' ? 'row' : 'column')};\n gap: ${({ spacing }) => spacing || Spacing[2]};\n\n ${({ align }) =>\n align &&\n css`\n align-items: ${align};\n `}\n\n ${({ justify }) =>\n justify &&\n css`\n justify-content: ${justify};\n `}\n\n ${({ wrap }) =>\n wrap &&\n css`\n flex-wrap: ${wrap};\n `}\n\n ${({ equal }) =>\n equal &&\n css`\n > * {\n flex-grow: 1;\n flex-basis: 0;\n }\n `}\n\n ${({ fullWidth }) =>\n fullWidth &&\n css`\n width: 100%;\n `}\n`;\n\nexport default Stack;\n\nexport type HStackProps = ComponentPropsWithoutRef<'div'> & StackProps;\n\nexport const HStack = (props: HStackProps) => <Stack {...props} direction='horizontal' />;\n"],"mappings":";;;;AA8CA,MAAa,QAAQ,OAAO,MAAM;;qBAEb,EAAE,gBAAiB,cAAc,eAAe,QAAQ,SAAU;UAC7E,EAAE,cAAc,WAAW,QAAQ,GAAG;;KAE3C,EAAE,YACH,SACA,GAAG;qBACc,MAAM;MACrB;;KAED,EAAE,cACH,WACA,GAAG;yBACkB,QAAQ;MAC3B;;KAED,EAAE,WACH,QACA,GAAG;mBACY,KAAK;MAClB;;KAED,EAAE,YACH,SACA,GAAG;;;;;MAKD;;KAED,EAAE,gBACH,aACA,GAAG;;MAED;;AAON,MAAa,UAAU,UAAuB,oBAAC,OAAD;CAAO,GAAI;CAAO,WAAU;CAAe,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar-BMv8dAS3.cjs","names":["Spacing","Color","paragraphMixins","TabBarContext","mergeRefs","Spacing","paragraphMixins","Button","isActive","isNotDisabled","isHovered","Color","isFocused","TabBarContext","Badge","IconButton","Spacing","BorderRadius","isActive","isNotDisabled","isHovered","isFocused","Color"],"sources":["../components/TabBar/TabBarContext.ts","../components/TabBar/TabBar.tsx","../components/TabBar/Tab.tsx","../components/TabBar/TabBarIconButton.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport default createContext<{ maxTabChars?: number; size?: 'md' | 'sm' }>({});\n","import { Color, Spacing } from '@persona/design-tokens';\nimport { mergeRefs } from '@react-aria/utils';\nimport {\n type ComponentPropsWithoutRef,\n type ForwardedRef,\n forwardRef,\n type KeyboardEventHandler,\n type ReactNode,\n useRef,\n} from 'react';\nimport styled from 'styled-components';\n\nimport TabBarContext from 'design-system/components/TabBar/TabBarContext';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst TabBarContainer = styled.div`\n display: flex;\n height: ${Spacing[6]};\n position: relative;\n box-sizing: border-box;\n border-bottom: 1px solid ${Color.BorderDivider};\n justify-content: space-between;\n gap: ${Spacing[4]};\n`;\n\nconst RightActions = styled.div`\n align-self: center;\n`;\n\nconst TitleTab = styled.div`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n ${paragraphMixins.mdBold};\n`;\n\nconst StyledTabContainer = styled.div<{ $size?: 'md' | 'sm' }>`\n display: flex;\n gap: ${({ $size = 'md' }) => ($size === 'sm' ? Spacing[3] : Spacing[4])};\n // These two lines prevent the overflow hidden from hiding the bottom border of the selected tab\n margin-bottom: -2px;\n padding-bottom: 2px;\n overflow: hidden;\n flex-wrap: wrap;\n`;\n\ninterface TabContainerProps extends ComponentPropsWithoutRef<'div'> {\n children: ReactNode;\n /**\n * Truncate tab text to the specified number of characters.\n */\n maxTabChars?: number;\n /**\n * Size of the tabs. Affects font size.\n */\n size?: 'md' | 'sm';\n}\n\nexport const TabContainer = forwardRef<HTMLDivElement, TabContainerProps>(function TabContainer(\n { children, maxTabChars, size, ...props },\n forwardedRef,\n) {\n const tabListRef = useRef<HTMLDivElement>(null);\n\n const getIndexOfCurrentTab = (list: Element[]) => {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return getIndex(list, document.activeElement);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLDivElement> = (e) => {\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n const list = getTabList(tabListRef.current.children);\n\n if (document.activeElement && !list.includes(document.activeElement)) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowLeft': {\n // Go to previous tab\n const curIndex = getIndexOfCurrentTab(list);\n const nextIndex = curIndex === 0 ? list.length - 1 : curIndex - 1;\n (list[nextIndex] as HTMLElement).focus();\n break;\n }\n case 'ArrowRight': {\n // Go to next tab\n const curIndex = getIndexOfCurrentTab(list);\n (list[(curIndex + 1) % list.length] as HTMLElement).focus();\n break;\n }\n case 'Home': {\n // Go to first tab\n (list[0] as HTMLElement).focus();\n break;\n }\n case 'End': {\n // Go to last tab\n (list[list.length - 1] as HTMLElement).focus();\n break;\n }\n default:\n break;\n }\n };\n\n return (\n <TabBarContext.Provider value={{ maxTabChars, size }}>\n <StyledTabContainer\n role='tablist'\n ref={mergeRefs<HTMLDivElement>(tabListRef, forwardedRef)}\n onKeyDown={handleKeyDown}\n $size={size}\n {...props}\n >\n {children}\n </StyledTabContainer>\n </TabBarContext.Provider>\n );\n});\n\nconst getIndex = (children: Element[], element: Element) => {\n return children.indexOf(element);\n};\n\nconst getTabList = (list: HTMLCollection) => {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return Array.from(list).filter((e: HTMLElement) => {\n return !(e.getAttribute('aria-disabled') || e.getAttribute('disabled'));\n });\n};\n\nexport interface TabBarProps extends ComponentPropsWithoutRef<'div'> {\n actions?: ReactNode;\n title?: string;\n 'data-tour-target'?: string;\n /**\n * Truncate tab text to the specified number of characters.\n */\n maxTabChars?: number;\n /**\n * Size of the tabs. Affects font size.\n */\n size?: 'md' | 'sm';\n}\n\nexport const TabBar = forwardRef<HTMLDivElement, TabBarProps>(function TabBar(\n {\n children,\n actions,\n title,\n 'data-tour-target': dataTourTarget,\n maxTabChars,\n size,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...elemProps\n },\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <TabBarContainer {...elemProps}>\n <TabContainer\n ref={forwardedRef}\n maxTabChars={maxTabChars}\n size={size}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {title && <TitleTab data-tour-target={dataTourTarget}>{title}</TitleTab>}\n {children}\n </TabContainer>\n {actions && <RightActions>{actions}</RightActions>}\n </TabBarContainer>\n );\n});\n\nexport default TabBar;\n","import { Color, Spacing } from '@persona/design-tokens';\nimport {\n cloneElement,\n type ComponentPropsWithoutRef,\n type ElementType,\n type ReactElement,\n useContext,\n} from 'react';\nimport styled, {\n css,\n type DefaultTheme,\n type FlattenInterpolation,\n type ThemeProps,\n} from 'styled-components';\n\nimport Badge from 'design-system/components/Badge';\nimport Button from 'design-system/components/Button';\nimport TabBarContext from 'design-system/components/TabBar/TabBarContext';\nimport { isActive, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ninterface TabProps<T extends ElementType = 'button'> extends ComponentPropsWithoutRef<\n typeof Button\n> {\n selected?: boolean;\n badge?: ReactElement;\n as?: T;\n size?: 'md' | 'sm';\n}\n\nconst BadgeContainer = styled.span`\n padding: 0;\n margin-left: ${Spacing[1]};\n`;\n\nconst sizeStyles: Record<\n NonNullable<TabProps['size']>,\n FlattenInterpolation<ThemeProps<DefaultTheme>>\n> = {\n md: css`\n ${paragraphMixins.md}\n `,\n sm: css`\n ${paragraphMixins.sm}\n `,\n};\n\nconst tabSelectedStyle = css`\n color: ${({ theme }) => theme.color.primary.brand};\n border-bottom-color: ${({ theme }) => theme.color.primary.brand};\n box-shadow: none;\n &:after {\n transition: border-bottom-color ${TransitionDuration.Fast};\n border-bottom-color: ${({ theme }) => theme.color.primary.brand};\n }\n`;\n\nexport const StyledTab = styled(Button).attrs<TabProps>({\n width: 'auto',\n variant: 'basic',\n})<TabProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n white-space: nowrap;\n background-color: transparent;\n color: ${({ theme, disabled }) =>\n disabled ? theme.color.variants.basic.textDisabled : theme.color.text.tertiary};\n transition: color ${TransitionDuration.Fast} ease-out;\n height: 32px;\n margin: 0;\n padding: 0;\n ${({ size }) => sizeStyles[size || 'md']};\n outline: none;\n border-radius: ${({ theme }) => theme.button.borderRadius};\n\n a {\n color: currentColor;\n }\n\n /* remove default button focused/hovered box shadow */\n &${isActive}${isNotDisabled} {\n background-color: unset;\n }\n &${isHovered}${isNotDisabled} {\n background-color: unset;\n ${({ selected }) =>\n !selected &&\n css`\n color: ${Color.TextPrimary};\n `}\n }\n &${isFocused}${isNotDisabled} {\n box-shadow: none;\n background-color: unset;\n }\n &${isHovered}${isFocused}${isNotDisabled} {\n background-color: unset;\n }\n &:disabled {\n background-color: unset;\n }\n\n &:after {\n position: absolute;\n bottom: 0px;\n width: 100%;\n border-bottom: 1px solid transparent;\n content: '';\n }\n\n &.selected,\n &.active {\n ${tabSelectedStyle}\n }\n\n ${({ selected }) => selected && tabSelectedStyle}\n\n ${({ disabled }) =>\n disabled &&\n css`\n cursor: default;\n `}\n\n a& {\n text-decoration: none;\n }\n`;\n\n/**\n * Helper function to truncate text if it exceeds maxCharacters\n */\nconst truncateText = (text: string, maxCharacters: number): string => {\n if (text.length <= maxCharacters) {\n return text;\n }\n return `${text.substring(0, maxCharacters).trimEnd()}...`;\n};\n\nconst Tab = <T extends ElementType = 'button'>({\n selected,\n disabled,\n children,\n badge,\n as,\n size,\n ...elemProps\n}: TabProps<T> & ComponentPropsWithoutRef<T>) => {\n const { maxTabChars, size: contextSize } = useContext(TabBarContext);\n const finalSize = size || contextSize || 'md';\n\n // Truncate text if maxTabChars is provided and children is a string\n const hasTruncation = maxTabChars && typeof children === 'string';\n const displayChildren = hasTruncation ? truncateText(children, maxTabChars) : children;\n\n return (\n <StyledTab\n role='tab'\n selected={selected}\n aria-selected={selected}\n aria-disabled={disabled}\n disabled={disabled}\n as={as as ElementType}\n size={finalSize}\n title={hasTruncation ? children : undefined}\n {...elemProps}\n >\n {displayChildren}\n {badge && (\n <BadgeContainer>\n {badge.type === Badge\n ? cloneElement(badge, {\n variant: selected ? 'active' : 'basic',\n onSecondaryBackground: true,\n })\n : badge}\n </BadgeContainer>\n )}\n </StyledTab>\n );\n};\n\nexport default Tab;\n","import { BorderRadius, Color, Spacing } from '@persona/design-tokens';\nimport styled from 'styled-components';\n\nimport { IconButton } from 'design-system/components/Button';\nimport { isActive, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\n\nexport default styled(IconButton).attrs({\n size: 'sm',\n})`\n padding-left: ${Spacing[2]};\n padding-right: ${Spacing[2]};\n border-radius: ${BorderRadius.Sm};\n\n // remove default button focused/hovered box shadow\n &${isActive}${isNotDisabled} {\n background-color: transparent;\n }\n &${isHovered}${isNotDisabled} {\n box-shadow: none;\n }\n &${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n &${isHovered}${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n &:disabled {\n background-color: transparent;\n }\n &:focus-visible${isNotDisabled}, &${isHovered}${isNotDisabled}:focus-visible {\n box-shadow: 0 0 0 3px ${({ theme }) => theme.color.variants.basic.highlight};\n }\n\n svg {\n color: ${Color.CoreSlate800};\n }\n\n &:hover {\n svg {\n color: ${Color.CoreSlate900};\n }\n }\n`;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabBar-Bf89XksH.mjs","names":["TabBarContext","mergeRefs","TabBarContext"],"sources":["../components/TabBar/TabBarContext.ts","../components/TabBar/TabBar.tsx","../components/TabBar/Tab.tsx","../components/TabBar/TabBarIconButton.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport default createContext<{ maxTabChars?: number; size?: 'md' | 'sm' }>({});\n","import { Color, Spacing } from '@persona/design-tokens';\nimport { mergeRefs } from '@react-aria/utils';\nimport {\n type ComponentPropsWithoutRef,\n type ForwardedRef,\n forwardRef,\n type KeyboardEventHandler,\n type ReactNode,\n useRef,\n} from 'react';\nimport styled from 'styled-components';\n\nimport TabBarContext from 'design-system/components/TabBar/TabBarContext';\nimport { paragraphMixins } from 'design-system/mixins/text';\n\nconst TabBarContainer = styled.div`\n display: flex;\n height: ${Spacing[6]};\n position: relative;\n box-sizing: border-box;\n border-bottom: 1px solid ${Color.BorderDivider};\n justify-content: space-between;\n gap: ${Spacing[4]};\n`;\n\nconst RightActions = styled.div`\n align-self: center;\n`;\n\nconst TitleTab = styled.div`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n ${paragraphMixins.mdBold};\n`;\n\nconst StyledTabContainer = styled.div<{ $size?: 'md' | 'sm' }>`\n display: flex;\n gap: ${({ $size = 'md' }) => ($size === 'sm' ? Spacing[3] : Spacing[4])};\n // These two lines prevent the overflow hidden from hiding the bottom border of the selected tab\n margin-bottom: -2px;\n padding-bottom: 2px;\n overflow: hidden;\n flex-wrap: wrap;\n`;\n\ninterface TabContainerProps extends ComponentPropsWithoutRef<'div'> {\n children: ReactNode;\n /**\n * Truncate tab text to the specified number of characters.\n */\n maxTabChars?: number;\n /**\n * Size of the tabs. Affects font size.\n */\n size?: 'md' | 'sm';\n}\n\nexport const TabContainer = forwardRef<HTMLDivElement, TabContainerProps>(function TabContainer(\n { children, maxTabChars, size, ...props },\n forwardedRef,\n) {\n const tabListRef = useRef<HTMLDivElement>(null);\n\n const getIndexOfCurrentTab = (list: Element[]) => {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return getIndex(list, document.activeElement);\n };\n\n const handleKeyDown: KeyboardEventHandler<HTMLDivElement> = (e) => {\n // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tab_role\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n const list = getTabList(tabListRef.current.children);\n\n if (document.activeElement && !list.includes(document.activeElement)) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowLeft': {\n // Go to previous tab\n const curIndex = getIndexOfCurrentTab(list);\n const nextIndex = curIndex === 0 ? list.length - 1 : curIndex - 1;\n (list[nextIndex] as HTMLElement).focus();\n break;\n }\n case 'ArrowRight': {\n // Go to next tab\n const curIndex = getIndexOfCurrentTab(list);\n (list[(curIndex + 1) % list.length] as HTMLElement).focus();\n break;\n }\n case 'Home': {\n // Go to first tab\n (list[0] as HTMLElement).focus();\n break;\n }\n case 'End': {\n // Go to last tab\n (list[list.length - 1] as HTMLElement).focus();\n break;\n }\n default:\n break;\n }\n };\n\n return (\n <TabBarContext.Provider value={{ maxTabChars, size }}>\n <StyledTabContainer\n role='tablist'\n ref={mergeRefs<HTMLDivElement>(tabListRef, forwardedRef)}\n onKeyDown={handleKeyDown}\n $size={size}\n {...props}\n >\n {children}\n </StyledTabContainer>\n </TabBarContext.Provider>\n );\n});\n\nconst getIndex = (children: Element[], element: Element) => {\n return children.indexOf(element);\n};\n\nconst getTabList = (list: HTMLCollection) => {\n /* @ts-expect-error [strict-migration] The following line is not strict; please fix! */\n return Array.from(list).filter((e: HTMLElement) => {\n return !(e.getAttribute('aria-disabled') || e.getAttribute('disabled'));\n });\n};\n\nexport interface TabBarProps extends ComponentPropsWithoutRef<'div'> {\n actions?: ReactNode;\n title?: string;\n 'data-tour-target'?: string;\n /**\n * Truncate tab text to the specified number of characters.\n */\n maxTabChars?: number;\n /**\n * Size of the tabs. Affects font size.\n */\n size?: 'md' | 'sm';\n}\n\nexport const TabBar = forwardRef<HTMLDivElement, TabBarProps>(function TabBar(\n {\n children,\n actions,\n title,\n 'data-tour-target': dataTourTarget,\n maxTabChars,\n size,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n ...elemProps\n },\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <TabBarContainer {...elemProps}>\n <TabContainer\n ref={forwardedRef}\n maxTabChars={maxTabChars}\n size={size}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n >\n {title && <TitleTab data-tour-target={dataTourTarget}>{title}</TitleTab>}\n {children}\n </TabContainer>\n {actions && <RightActions>{actions}</RightActions>}\n </TabBarContainer>\n );\n});\n\nexport default TabBar;\n","import { Color, Spacing } from '@persona/design-tokens';\nimport {\n cloneElement,\n type ComponentPropsWithoutRef,\n type ElementType,\n type ReactElement,\n useContext,\n} from 'react';\nimport styled, {\n css,\n type DefaultTheme,\n type FlattenInterpolation,\n type ThemeProps,\n} from 'styled-components';\n\nimport Badge from 'design-system/components/Badge';\nimport Button from 'design-system/components/Button';\nimport TabBarContext from 'design-system/components/TabBar/TabBarContext';\nimport { isActive, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\ninterface TabProps<T extends ElementType = 'button'> extends ComponentPropsWithoutRef<\n typeof Button\n> {\n selected?: boolean;\n badge?: ReactElement;\n as?: T;\n size?: 'md' | 'sm';\n}\n\nconst BadgeContainer = styled.span`\n padding: 0;\n margin-left: ${Spacing[1]};\n`;\n\nconst sizeStyles: Record<\n NonNullable<TabProps['size']>,\n FlattenInterpolation<ThemeProps<DefaultTheme>>\n> = {\n md: css`\n ${paragraphMixins.md}\n `,\n sm: css`\n ${paragraphMixins.sm}\n `,\n};\n\nconst tabSelectedStyle = css`\n color: ${({ theme }) => theme.color.primary.brand};\n border-bottom-color: ${({ theme }) => theme.color.primary.brand};\n box-shadow: none;\n &:after {\n transition: border-bottom-color ${TransitionDuration.Fast};\n border-bottom-color: ${({ theme }) => theme.color.primary.brand};\n }\n`;\n\nexport const StyledTab = styled(Button).attrs<TabProps>({\n width: 'auto',\n variant: 'basic',\n})<TabProps>`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n white-space: nowrap;\n background-color: transparent;\n color: ${({ theme, disabled }) =>\n disabled ? theme.color.variants.basic.textDisabled : theme.color.text.tertiary};\n transition: color ${TransitionDuration.Fast} ease-out;\n height: 32px;\n margin: 0;\n padding: 0;\n ${({ size }) => sizeStyles[size || 'md']};\n outline: none;\n border-radius: ${({ theme }) => theme.button.borderRadius};\n\n a {\n color: currentColor;\n }\n\n /* remove default button focused/hovered box shadow */\n &${isActive}${isNotDisabled} {\n background-color: unset;\n }\n &${isHovered}${isNotDisabled} {\n background-color: unset;\n ${({ selected }) =>\n !selected &&\n css`\n color: ${Color.TextPrimary};\n `}\n }\n &${isFocused}${isNotDisabled} {\n box-shadow: none;\n background-color: unset;\n }\n &${isHovered}${isFocused}${isNotDisabled} {\n background-color: unset;\n }\n &:disabled {\n background-color: unset;\n }\n\n &:after {\n position: absolute;\n bottom: 0px;\n width: 100%;\n border-bottom: 1px solid transparent;\n content: '';\n }\n\n &.selected,\n &.active {\n ${tabSelectedStyle}\n }\n\n ${({ selected }) => selected && tabSelectedStyle}\n\n ${({ disabled }) =>\n disabled &&\n css`\n cursor: default;\n `}\n\n a& {\n text-decoration: none;\n }\n`;\n\n/**\n * Helper function to truncate text if it exceeds maxCharacters\n */\nconst truncateText = (text: string, maxCharacters: number): string => {\n if (text.length <= maxCharacters) {\n return text;\n }\n return `${text.substring(0, maxCharacters).trimEnd()}...`;\n};\n\nconst Tab = <T extends ElementType = 'button'>({\n selected,\n disabled,\n children,\n badge,\n as,\n size,\n ...elemProps\n}: TabProps<T> & ComponentPropsWithoutRef<T>) => {\n const { maxTabChars, size: contextSize } = useContext(TabBarContext);\n const finalSize = size || contextSize || 'md';\n\n // Truncate text if maxTabChars is provided and children is a string\n const hasTruncation = maxTabChars && typeof children === 'string';\n const displayChildren = hasTruncation ? truncateText(children, maxTabChars) : children;\n\n return (\n <StyledTab\n role='tab'\n selected={selected}\n aria-selected={selected}\n aria-disabled={disabled}\n disabled={disabled}\n as={as as ElementType}\n size={finalSize}\n title={hasTruncation ? children : undefined}\n {...elemProps}\n >\n {displayChildren}\n {badge && (\n <BadgeContainer>\n {badge.type === Badge\n ? cloneElement(badge, {\n variant: selected ? 'active' : 'basic',\n onSecondaryBackground: true,\n })\n : badge}\n </BadgeContainer>\n )}\n </StyledTab>\n );\n};\n\nexport default Tab;\n","import { BorderRadius, Color, Spacing } from '@persona/design-tokens';\nimport styled from 'styled-components';\n\nimport { IconButton } from 'design-system/components/Button';\nimport { isActive, isFocused, isHovered, isNotDisabled } from 'design-system/lib/pseudoClass';\n\nexport default styled(IconButton).attrs({\n size: 'sm',\n})`\n padding-left: ${Spacing[2]};\n padding-right: ${Spacing[2]};\n border-radius: ${BorderRadius.Sm};\n\n // remove default button focused/hovered box shadow\n &${isActive}${isNotDisabled} {\n background-color: transparent;\n }\n &${isHovered}${isNotDisabled} {\n box-shadow: none;\n }\n &${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n &${isHovered}${isFocused}${isNotDisabled} {\n box-shadow: none;\n }\n &:disabled {\n background-color: transparent;\n }\n &:focus-visible${isNotDisabled}, &${isHovered}${isNotDisabled}:focus-visible {\n box-shadow: 0 0 0 3px ${({ theme }) => theme.color.variants.basic.highlight};\n }\n\n svg {\n color: ${Color.CoreSlate800};\n }\n\n &:hover {\n svg {\n color: ${Color.CoreSlate900};\n }\n }\n`;\n"],"mappings":"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"}
|
package/dist/chunk-Bpcn9VDT.mjs
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
//#region \0rolldown/runtime.js
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
9
|
-
var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
|
|
10
|
-
var __exportAll = (all, no_symbols) => {
|
|
11
|
-
let target = {};
|
|
12
|
-
for (var name in all) __defProp(target, name, {
|
|
13
|
-
get: all[name],
|
|
14
|
-
enumerable: true
|
|
15
|
-
});
|
|
16
|
-
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
17
|
-
return target;
|
|
18
|
-
};
|
|
19
|
-
var __copyProps = (to, from, except, desc) => {
|
|
20
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
21
|
-
key = keys[i];
|
|
22
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
23
|
-
get: ((k) => from[k]).bind(null, key),
|
|
24
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
return to;
|
|
28
|
-
};
|
|
29
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
-
value: mod,
|
|
31
|
-
enumerable: true
|
|
32
|
-
}) : target, mod));
|
|
33
|
-
var __toCommonJS = (mod) => __hasOwnProp.call(mod, "module.exports") ? mod["module.exports"] : __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
34
|
-
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
|
|
35
|
-
if (typeof require !== "undefined") return require.apply(this, arguments);
|
|
36
|
-
throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
37
|
-
});
|
|
38
|
-
//#endregion
|
|
39
|
-
export { __toCommonJS as a, __require as i, __esmMin as n, __toESM as o, __exportAll as r, __commonJSMin as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["Spacing","FormGroupContext"],"sources":["../../../components/ConfigFormGroup/ConfigFormGroup.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { FormGroupContext } from './useFormGroup';\n\n/**\n * Use to wrap a group of config fields.\n * Provides consistent spacing between the fields.\n */\nconst FormGroup = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${Spacing[5]};\n`;\n\nexport const ConfigFormGroup = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n function ConfigFormGroup(props, ref) {\n return (\n <FormGroupContext.Provider value={{ configField: true }}>\n <FormGroup ref={ref} {...props} />\n </FormGroupContext.Provider>\n );\n },\n);\n\nexport default ConfigFormGroup;\n"],"mappings":";;;;;;;;;;;;;;;;AAUA,MAAM,YAAY,kBAAA,QAAO,GAAG;;;SAGnBA,uBAAAA,QAAQ,GAAG;;AAGpB,MAAa,mBAAA,GAAA,MAAA,YACX,SAAS,gBAAgB,OAAO,KAAK;AACnC,QACE,iBAAA,GAAA,kBAAA,KAACC,qBAAAA,iBAAiB,UAAlB;EAA2B,OAAO,EAAE,aAAa,MAAM;YACrD,iBAAA,GAAA,kBAAA,KAAC,WAAD;GAAgB;GAAK,GAAI;GAAS,CAAA;EACR,CAAA;EAGjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../components/ConfigFormGroup/ConfigFormGroup.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled from 'styled-components';\n\nimport { FormGroupContext } from './useFormGroup';\n\n/**\n * Use to wrap a group of config fields.\n * Provides consistent spacing between the fields.\n */\nconst FormGroup = styled.div`\n display: flex;\n flex-direction: column;\n gap: ${Spacing[5]};\n`;\n\nexport const ConfigFormGroup = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<'div'>>(\n function ConfigFormGroup(props, ref) {\n return (\n <FormGroupContext.Provider value={{ configField: true }}>\n <FormGroup ref={ref} {...props} />\n </FormGroupContext.Provider>\n );\n },\n);\n\nexport default ConfigFormGroup;\n"],"mappings":";;;;;;;;;;AAUA,MAAM,YAAY,OAAO,GAAG;;;SAGnB,QAAQ,GAAG;;AAGpB,MAAa,kBAAkB,WAC7B,SAAS,gBAAgB,OAAO,KAAK;AACnC,QACE,oBAAC,iBAAiB,UAAlB;EAA2B,OAAO,EAAE,aAAa,MAAM;YACrD,oBAAC,WAAD;GAAgB;GAAK,GAAI;GAAS,CAAA;EACR,CAAA;EAGjC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["HStack","Spacing","Input","Button","Spacing","Color","Typography","Select","Option","Color"],"sources":["../../../components/Pagination/constants.ts","../../../components/Pagination/PageSelector.tsx","../../../components/Pagination/PageSizeSelector.tsx","../../../components/Pagination/Pagination.tsx","../../../components/Pagination/index.ts"],"sourcesContent":["export const DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100, 300];\n","import Button from '@persona/design-system/components/Button';\nimport { Input } from '@persona/design-system/components/Input';\nimport { HStack } from '@persona/design-system/components/Stack';\nimport { Spacing } from '@persona/design-tokens';\nimport { debounce } from 'lodash/fp';\nimport { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\n\nimport type { PaginationParams } from 'lib/interfaces/api';\n\n// After a certain limit, it no longer makes sense for someone\n// to jump to the last page. Deep paging has performance limitations.\nexport const PAGE_LIMIT_BEFORE_SCROLL_MODE = 100;\n\nconst PageSelectorStack = styled(HStack).attrs({ justify: 'flex-end' })`\n padding: ${Spacing[2]};\n`;\n\nexport const PageInput = styled(HStack).attrs({ align: 'center' })`\n white-space: nowrap;\n`;\n\ninterface PageSelectorProps {\n paginationParams: PaginationParams;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n /**\n * Called with the new page number after the page changes (next, prev, or\n * typed input). Lets the consumer react to page changes -- e.g. scroll the\n * page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n}\n\nexport default function PageSelector({\n paginationParams,\n handlePageLinkClick,\n isLoading,\n onPageChange,\n}: PageSelectorProps) {\n const {\n 'current-page': currentPage,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams ?? {};\n const [selectedPage, setSelectedPage] = useState<number | undefined>(currentPage);\n\n // We don't use useDebounced to avoid function object reference issues.\n const handlePageLinkClickDebounced = useMemo(\n () => debounce(500, handlePageLinkClick),\n [handlePageLinkClick],\n );\n\n // Keep input state synced to pagination state when other user action changes\n // pagination state.\n useEffect(() => {\n if (currentPage != null) {\n setSelectedPage(currentPage);\n }\n }, [currentPage]);\n\n if (!paginationParams) {\n return <div />;\n }\n\n return (\n <PageSelectorStack data-test='pagination__page-selector' id='pagination__page-selector'>\n <PageInput>\n {totalPages < PAGE_LIMIT_BEFORE_SCROLL_MODE && !lowerBound ? (\n <Input\n aria-label='Go to page number'\n size='sm'\n inputSize={2}\n onChange={(e) => {\n const value = e.target.valueAsNumber;\n if (Number.isNaN(value)) {\n setSelectedPage(undefined);\n } else {\n // Setting unbounded value feels smoother as the value is not corrected until after the fetch via useEffect.\n setSelectedPage(value);\n const boundedValue = Math.min(Math.max(e.target.valueAsNumber, 1), totalPages);\n handlePageLinkClickDebounced(boundedValue);\n onPageChange?.(boundedValue);\n }\n }}\n onBlur={(e) => {\n // Fill blank value on blur.\n if (Number.isNaN(e.target.valueAsNumber)) {\n setSelectedPage(currentPage);\n }\n }}\n min={1}\n max={totalPages}\n type='number'\n disabled={isLoading}\n value={selectedPage ?? ''}\n />\n ) : (\n currentPage + ' '\n )}\n of {lowerBound ? 'many' : totalPages} pages\n </PageInput>\n <Button\n id='pagination__page-selector--left'\n disabled={currentPage === 1 || isLoading}\n onClick={() => {\n if (currentPage !== 1) {\n const prevPageNum = currentPage - 1;\n setSelectedPage(prevPageNum);\n handlePageLinkClick(prevPageNum);\n onPageChange?.(prevPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-left'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Previous page'\n >\n Prev\n </Button>\n <Button\n id='pagination__page-selector--right'\n disabled={(currentPage === totalPages && !lowerBound) || isLoading}\n onClick={() => {\n if (currentPage !== totalPages || lowerBound) {\n const nextPageNum = currentPage + 1;\n setSelectedPage(nextPageNum);\n handlePageLinkClick(nextPageNum);\n onPageChange?.(nextPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-right'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Next page'\n >\n Next\n </Button>\n </PageSelectorStack>\n );\n}\n","import Select, { Option } from '@persona/design-system/components/Select';\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport styled from 'styled-components';\n\nconst Selector = styled('div')`\n padding: ${Spacing[2]};\n display: flex;\n justify-content: flex-end;\n`;\n\nconst Label = styled.label`\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: ${Spacing[2]};\n padding: ${Spacing[2]};\n`;\n\ninterface PageSizeOptionProps {\n currentPageSize: number;\n pageSizeOption: number;\n}\n\nexport const PageSizeOption = styled('div')<PageSizeOptionProps>`\n padding: 0 ${Spacing[1]};\n color: ${Color.PrimaryPurple};\n cursor: pointer;\n\n ${({ currentPageSize, pageSizeOption }) => {\n if (currentPageSize === pageSizeOption) {\n return `\n ${Typography.TextMediumBold};\n text-decoration: underline;\n `;\n }\n }};\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\ninterface PageSizeSelectorProps {\n pageSize: number;\n pageSizeOptions: number[];\n handlePageSizeClick: (pageSize: number) => void;\n}\n\nconst PageSizeSelector = ({\n pageSize,\n pageSizeOptions,\n handlePageSizeClick,\n}: PageSizeSelectorProps) => {\n // Add pageSize to selector just in case it isn't part of the options so UI doesn't look weird\n const pageSizes = [\n ...pageSizeOptions,\n ...(pageSizeOptions.includes(pageSize) ? [] : [pageSize]),\n ].sort((a, b) => a - b);\n\n return (\n <Selector data-test='pagination__page-size-selector'>\n <Label>\n Items per page:\n <Select\n value={pageSize.toString()}\n onValueChange={(val) => handlePageSizeClick(Number(val))}\n size='sm'\n >\n {pageSizes.map((size) => (\n <Option key={size} value={size.toString()}>\n {size}\n </Option>\n ))}\n </Select>\n </Label>\n </Selector>\n );\n};\n\nexport default PageSizeSelector;\n","import { Color } from '@persona/design-tokens';\nimport styled from 'styled-components';\n\nimport type { PaginationParams } from 'lib/interfaces/api';\n\nimport { DEFAULT_PAGE_SIZE_OPTIONS } from './constants';\nimport PageSelector from './PageSelector';\nimport PageSizeSelector from './PageSizeSelector';\n\n// NB: this is configured in config/initializers/kaminari.rb\nconst MAX_PAGES = 100;\n\nconst Container = styled('nav')`\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const PaginationInfo = styled('div')`\n display: flex;\n align-items: center;\n\n color: ${Color.TextPrimary};\n`;\n\ninterface PaginationProps {\n pageSize?: number;\n pageSizeOptions?: number[];\n paginationParams?: PaginationParams;\n handlePageSizeClick: (pageSize: number) => void;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n showPageSizeSelector?: boolean;\n /**\n * Called with the new page number after the page changes. Lets the consumer\n * react to page changes -- e.g. scroll the page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n}\n\nconst Pagination = ({\n pageSize,\n pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,\n paginationParams,\n handlePageSizeClick,\n handlePageLinkClick,\n isLoading,\n showPageSizeSelector = true,\n onPageChange,\n}: PaginationProps) => {\n if (!paginationParams || !pageSize) {\n return <div />;\n }\n\n const {\n 'current-page': currentPage,\n 'total-count': totalCount,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams;\n\n // If the total number of pages is the same as MAX_PAGES, we guess that the total number of\n // items might be limited by max pages, and that the total could change based on page size.\n // To limit user confusion here, we use 'many' instead of a specific number.\n const totalCountDisplay = lowerBound || totalPages >= MAX_PAGES ? 'many' : totalCount;\n\n const lastItemIndex = lowerBound\n ? currentPage * pageSize\n : Math.min(currentPage * pageSize, totalCount);\n const firstItemIndex = pageSize * (currentPage - 1) + 1;\n\n return (\n <Container role='navigation' aria-label='pagination'>\n {showPageSizeSelector && (\n <PageSizeSelector\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n handlePageSizeClick={handlePageSizeClick}\n />\n )}\n {totalCount > 0 && (\n <>\n <div>\n Showing {firstItemIndex}-{lastItemIndex} of {totalCountDisplay} items\n </div>\n <PaginationInfo>\n <PageSelector\n paginationParams={paginationParams}\n handlePageLinkClick={handlePageLinkClick}\n isLoading={isLoading}\n onPageChange={onPageChange}\n />\n </PaginationInfo>\n </>\n )}\n </Container>\n );\n};\n\nexport default Pagination;\n","import Pagination from './Pagination';\n\nexport { default as PageSelector, PAGE_LIMIT_BEFORE_SCROLL_MODE } from './PageSelector';\nexport default Pagination;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Pagination/constants.ts","../../../components/Pagination/PageSelector.tsx","../../../components/Pagination/PageSizeSelector.tsx","../../../components/Pagination/Pagination.tsx","../../../components/Pagination/index.ts"],"sourcesContent":["export const DEFAULT_PAGE_SIZE_OPTIONS = [10, 25, 50, 100, 300];\n","import Button from '@persona/design-system/components/Button';\nimport { Input } from '@persona/design-system/components/Input';\nimport { HStack } from '@persona/design-system/components/Stack';\nimport { Spacing } from '@persona/design-tokens';\nimport { debounce } from 'lodash/fp';\nimport { useEffect, useMemo, useState } from 'react';\nimport styled from 'styled-components';\n\nimport type { PaginationParams } from 'lib/interfaces/api';\n\n// After a certain limit, it no longer makes sense for someone\n// to jump to the last page. Deep paging has performance limitations.\nexport const PAGE_LIMIT_BEFORE_SCROLL_MODE = 100;\n\nconst PageSelectorStack = styled(HStack).attrs({ justify: 'flex-end' })`\n padding: ${Spacing[2]};\n`;\n\nexport const PageInput = styled(HStack).attrs({ align: 'center' })`\n white-space: nowrap;\n`;\n\ninterface PageSelectorProps {\n paginationParams: PaginationParams;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n /**\n * Called with the new page number after the page changes (next, prev, or\n * typed input). Lets the consumer react to page changes -- e.g. scroll the\n * page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n}\n\nexport default function PageSelector({\n paginationParams,\n handlePageLinkClick,\n isLoading,\n onPageChange,\n}: PageSelectorProps) {\n const {\n 'current-page': currentPage,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams ?? {};\n const [selectedPage, setSelectedPage] = useState<number | undefined>(currentPage);\n\n // We don't use useDebounced to avoid function object reference issues.\n const handlePageLinkClickDebounced = useMemo(\n () => debounce(500, handlePageLinkClick),\n [handlePageLinkClick],\n );\n\n // Keep input state synced to pagination state when other user action changes\n // pagination state.\n useEffect(() => {\n if (currentPage != null) {\n setSelectedPage(currentPage);\n }\n }, [currentPage]);\n\n if (!paginationParams) {\n return <div />;\n }\n\n return (\n <PageSelectorStack data-test='pagination__page-selector' id='pagination__page-selector'>\n <PageInput>\n {totalPages < PAGE_LIMIT_BEFORE_SCROLL_MODE && !lowerBound ? (\n <Input\n aria-label='Go to page number'\n size='sm'\n inputSize={2}\n onChange={(e) => {\n const value = e.target.valueAsNumber;\n if (Number.isNaN(value)) {\n setSelectedPage(undefined);\n } else {\n // Setting unbounded value feels smoother as the value is not corrected until after the fetch via useEffect.\n setSelectedPage(value);\n const boundedValue = Math.min(Math.max(e.target.valueAsNumber, 1), totalPages);\n handlePageLinkClickDebounced(boundedValue);\n onPageChange?.(boundedValue);\n }\n }}\n onBlur={(e) => {\n // Fill blank value on blur.\n if (Number.isNaN(e.target.valueAsNumber)) {\n setSelectedPage(currentPage);\n }\n }}\n min={1}\n max={totalPages}\n type='number'\n disabled={isLoading}\n value={selectedPage ?? ''}\n />\n ) : (\n currentPage + ' '\n )}\n of {lowerBound ? 'many' : totalPages} pages\n </PageInput>\n <Button\n id='pagination__page-selector--left'\n disabled={currentPage === 1 || isLoading}\n onClick={() => {\n if (currentPage !== 1) {\n const prevPageNum = currentPage - 1;\n setSelectedPage(prevPageNum);\n handlePageLinkClick(prevPageNum);\n onPageChange?.(prevPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-left'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Previous page'\n >\n Prev\n </Button>\n <Button\n id='pagination__page-selector--right'\n disabled={(currentPage === totalPages && !lowerBound) || isLoading}\n onClick={() => {\n if (currentPage !== totalPages || lowerBound) {\n const nextPageNum = currentPage + 1;\n setSelectedPage(nextPageNum);\n handlePageLinkClick(nextPageNum);\n onPageChange?.(nextPageNum);\n }\n }}\n data-test='pagination__page-selector-paddle-right'\n variant='inverse'\n size='sm'\n width='auto'\n aria-label='Next page'\n >\n Next\n </Button>\n </PageSelectorStack>\n );\n}\n","import Select, { Option } from '@persona/design-system/components/Select';\nimport { Color, Spacing, Typography } from '@persona/design-tokens';\nimport styled from 'styled-components';\n\nconst Selector = styled('div')`\n padding: ${Spacing[2]};\n display: flex;\n justify-content: flex-end;\n`;\n\nconst Label = styled.label`\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: ${Spacing[2]};\n padding: ${Spacing[2]};\n`;\n\ninterface PageSizeOptionProps {\n currentPageSize: number;\n pageSizeOption: number;\n}\n\nexport const PageSizeOption = styled('div')<PageSizeOptionProps>`\n padding: 0 ${Spacing[1]};\n color: ${Color.PrimaryPurple};\n cursor: pointer;\n\n ${({ currentPageSize, pageSizeOption }) => {\n if (currentPageSize === pageSizeOption) {\n return `\n ${Typography.TextMediumBold};\n text-decoration: underline;\n `;\n }\n }};\n\n &:hover {\n text-decoration: underline;\n }\n`;\n\ninterface PageSizeSelectorProps {\n pageSize: number;\n pageSizeOptions: number[];\n handlePageSizeClick: (pageSize: number) => void;\n}\n\nconst PageSizeSelector = ({\n pageSize,\n pageSizeOptions,\n handlePageSizeClick,\n}: PageSizeSelectorProps) => {\n // Add pageSize to selector just in case it isn't part of the options so UI doesn't look weird\n const pageSizes = [\n ...pageSizeOptions,\n ...(pageSizeOptions.includes(pageSize) ? [] : [pageSize]),\n ].sort((a, b) => a - b);\n\n return (\n <Selector data-test='pagination__page-size-selector'>\n <Label>\n Items per page:\n <Select\n value={pageSize.toString()}\n onValueChange={(val) => handlePageSizeClick(Number(val))}\n size='sm'\n >\n {pageSizes.map((size) => (\n <Option key={size} value={size.toString()}>\n {size}\n </Option>\n ))}\n </Select>\n </Label>\n </Selector>\n );\n};\n\nexport default PageSizeSelector;\n","import { Color } from '@persona/design-tokens';\nimport styled from 'styled-components';\n\nimport type { PaginationParams } from 'lib/interfaces/api';\n\nimport { DEFAULT_PAGE_SIZE_OPTIONS } from './constants';\nimport PageSelector from './PageSelector';\nimport PageSizeSelector from './PageSizeSelector';\n\n// NB: this is configured in config/initializers/kaminari.rb\nconst MAX_PAGES = 100;\n\nconst Container = styled('nav')`\n display: flex;\n align-items: center;\n justify-content: space-between;\n`;\n\nexport const PaginationInfo = styled('div')`\n display: flex;\n align-items: center;\n\n color: ${Color.TextPrimary};\n`;\n\ninterface PaginationProps {\n pageSize?: number;\n pageSizeOptions?: number[];\n paginationParams?: PaginationParams;\n handlePageSizeClick: (pageSize: number) => void;\n handlePageLinkClick: (pageNumber: number) => void;\n isLoading?: boolean;\n showPageSizeSelector?: boolean;\n /**\n * Called with the new page number after the page changes. Lets the consumer\n * react to page changes -- e.g. scroll the page back to the top.\n */\n onPageChange?: (pageNumber: number) => void;\n}\n\nconst Pagination = ({\n pageSize,\n pageSizeOptions = DEFAULT_PAGE_SIZE_OPTIONS,\n paginationParams,\n handlePageSizeClick,\n handlePageLinkClick,\n isLoading,\n showPageSizeSelector = true,\n onPageChange,\n}: PaginationProps) => {\n if (!paginationParams || !pageSize) {\n return <div />;\n }\n\n const {\n 'current-page': currentPage,\n 'total-count': totalCount,\n 'total-pages': totalPages,\n 'lower-bound': lowerBound,\n } = paginationParams;\n\n // If the total number of pages is the same as MAX_PAGES, we guess that the total number of\n // items might be limited by max pages, and that the total could change based on page size.\n // To limit user confusion here, we use 'many' instead of a specific number.\n const totalCountDisplay = lowerBound || totalPages >= MAX_PAGES ? 'many' : totalCount;\n\n const lastItemIndex = lowerBound\n ? currentPage * pageSize\n : Math.min(currentPage * pageSize, totalCount);\n const firstItemIndex = pageSize * (currentPage - 1) + 1;\n\n return (\n <Container role='navigation' aria-label='pagination'>\n {showPageSizeSelector && (\n <PageSizeSelector\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n handlePageSizeClick={handlePageSizeClick}\n />\n )}\n {totalCount > 0 && (\n <>\n <div>\n Showing {firstItemIndex}-{lastItemIndex} of {totalCountDisplay} items\n </div>\n <PaginationInfo>\n <PageSelector\n paginationParams={paginationParams}\n handlePageLinkClick={handlePageLinkClick}\n isLoading={isLoading}\n onPageChange={onPageChange}\n />\n </PaginationInfo>\n </>\n )}\n </Container>\n );\n};\n\nexport default Pagination;\n","import Pagination from './Pagination';\n\nexport { default as PageSelector, PAGE_LIMIT_BEFORE_SCROLL_MODE } from './PageSelector';\nexport default Pagination;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["Sticker"],"sources":["../../../components/Pii/Pii.tsx","../../../components/Pii/index.ts"],"sourcesContent":["import Sticker from '@persona/design-system/components/Sticker';\nimport type { ReactNode } from 'react';\n\ninterface PiiProps {\n children?: ReactNode;\n isRedacted: boolean;\n hideOnRedacted?: boolean;\n}\n\nconst Pii = ({ children, isRedacted, hideOnRedacted }: PiiProps) => {\n if (isRedacted) {\n return hideOnRedacted ? null : <Sticker data-test='pii__redacted'>Redacted</Sticker>;\n }\n\n if (children == null || children === '') {\n return null;\n }\n\n // There used to be code inserting a classname here in certain cases. There's\n // no other reason for this to be conditionally wrapped in a span, but\n // removing it breaks a lot of tests. Someday, the tests will be fixed...\n // hopefully.\n if (['string', 'number'].includes(typeof children)) {\n return <span>{children}</span>;\n }\n\n return <>{children}</>;\n};\n\nexport default Pii;\n","import Pii from './Pii';\n\nexport default Pii;\n"],"mappings":";;;;AASA,MAAM,OAAO,EAAE,UAAU,YAAY,qBAA+B;AAClE,KAAI,WACF,QAAO,iBAAiB,OAAO,iBAAA,GAAA,kBAAA,KAACA,gBAAAA,SAAD;EAAS,aAAU;YAAgB;EAAkB,CAAA;AAGtF,KAAI,YAAY,QAAQ,aAAa,GACnC,QAAO;AAOT,KAAI,CAAC,UAAU,SAAS,CAAC,SAAS,OAAO,SAAS,CAChD,QAAO,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAO,UAAgB,CAAA;AAGhC,QAAO,iBAAA,GAAA,kBAAA,KAAA,kBAAA,UAAA,EAAG,UAAY,CAAA;;;;ACxBxB,IAAA,cAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../components/Pii/Pii.tsx","../../../components/Pii/index.ts"],"sourcesContent":["import Sticker from '@persona/design-system/components/Sticker';\nimport type { ReactNode } from 'react';\n\ninterface PiiProps {\n children?: ReactNode;\n isRedacted: boolean;\n hideOnRedacted?: boolean;\n}\n\nconst Pii = ({ children, isRedacted, hideOnRedacted }: PiiProps) => {\n if (isRedacted) {\n return hideOnRedacted ? null : <Sticker data-test='pii__redacted'>Redacted</Sticker>;\n }\n\n if (children == null || children === '') {\n return null;\n }\n\n // There used to be code inserting a classname here in certain cases. There's\n // no other reason for this to be conditionally wrapped in a span, but\n // removing it breaks a lot of tests. Someday, the tests will be fixed...\n // hopefully.\n if (['string', 'number'].includes(typeof children)) {\n return <span>{children}</span>;\n }\n\n return <>{children}</>;\n};\n\nexport default Pii;\n","import Pii from './Pii';\n\nexport default Pii;\n"],"mappings":";;;AASA,MAAM,OAAO,EAAE,UAAU,YAAY,qBAA+B;AAClE,KAAI,WACF,QAAO,iBAAiB,OAAO,oBAAC,SAAD;EAAS,aAAU;YAAgB;EAAkB,CAAA;AAGtF,KAAI,YAAY,QAAQ,aAAa,GACnC,QAAO;AAOT,KAAI,CAAC,UAAU,SAAS,CAAC,SAAS,OAAO,SAAS,CAChD,QAAO,oBAAC,QAAD,EAAO,UAAgB,CAAA;AAGhC,QAAO,oBAAA,UAAA,EAAG,UAAY,CAAA;;;;ACxBxB,IAAA,cAAe"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["slideKeyframes","paragraphMixins","Spacing","paragraphMixins","Spacing","CaretUpIcon","CaretDownIcon","isHovered","isFocusedVisible","HelperTooltip","Spacing","paragraphMixins","Paragraph","Spacing","Z_INDICES","Spacing","fadeIn","Spinner","Color"],"sources":["../../../components/Table/Table.tsx","../../../components/Table/TableHeaderCell.tsx","../../../components/Table/TableRow.tsx","../../../components/Table/TableTH.tsx","../../../components/Table/TableCell.tsx","../../../components/Table/TableHead.tsx","../../../components/Table/TableBody.tsx","../../../components/Table/TableLayout.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport styled, { css, keyframes } from 'styled-components';\n\nimport { paragraphMixins } from 'design-system/mixins/text';\n\ninterface TableProps {\n size?: 'sm' | 'md';\n isLoading?: boolean;\n}\n\nconst slideKeyframes = keyframes`\n 0% {\n transform: translateX(-50%) scaleX(0);\n }\n 50% {\n transform: translateX(0) scaleX(1);\n }\n 100% {\n transform: translateX(50%) scaleX(0);\n }\n`;\n\nexport const Table = styled.table.attrs({ role: 'table' })<TableProps>`\n display: table;\n width: 100%;\n border-spacing: 0;\n ${paragraphMixins.md};\n\n ${({ size }) =>\n size === 'sm' &&\n css`\n td,\n th {\n padding: ${Spacing[2]};\n }\n `}\n\n ${({ isLoading }) =>\n isLoading &&\n css`\n thead {\n &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n border-bottom: 3px solid ${({ theme }) => theme.color.primary.brand};\n animation: ${slideKeyframes} 3s infinite cubic-bezier(0.5, 0, 0.5, 1);\n }\n }\n `}\n`;\n\nexport default Table;\n","import { Spacing } from '@persona/design-tokens';\nimport { CaretDownIcon, CaretUpIcon } from '@persona/icons';\nimport { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { BASE } from 'design-system/variables/spacing';\n\ninterface TableHeaderCellProps {\n size?: 'sm' | 'md';\n sortable?: boolean;\n width?: 'auto' | 'min' | 'max' | string;\n isSticky?: boolean;\n align?: 'left' | 'right';\n}\n\nconst StyledTableHeaderCell = styled.th<TableHeaderCellProps>`\n display: table-cell;\n\n background-color: ${({ theme }) => theme.color.background.secondary};\n padding: ${({ size }) => (size === 'sm' ? BASE : BASE * 1.5)}px;\n text-align: left;\n white-space: nowrap;\n ${({ size }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n line-height: 1;\n width: ${({ width }) => {\n switch (width) {\n case 'min':\n return '1px';\n case 'max':\n return '100%';\n default:\n if (width) {\n return width;\n } else {\n return 'auto';\n }\n }\n }};\n\n &:first-child {\n border-radius: ${({ theme }) =>\n `${theme.element.borderRadius} 0 0 ${theme.element.borderRadius}`};\n }\n\n &:last-child {\n border-radius: ${({ theme }) =>\n `0 ${theme.element.borderRadius} ${theme.element.borderRadius} 0`};\n }\n\n ${({ sortable }) =>\n sortable &&\n css`\n cursor: pointer;\n\n &:hover ${TableIconContainer} {\n display: inline;\n visibility: visible;\n }\n `};\n\n ${({ isSticky }) =>\n isSticky\n ? css`\n position: sticky;\n top: 0;\n z-index: 1;\n `\n : css`\n position: relative;\n `}\n`;\n\nconst VerticalAlign = styled.div`\n display: flex;\n align-items: center;\n gap: ${Spacing[1]};\n`;\n\ninterface TableIconContainerProps {\n sortDirection?: 'asc' | 'desc' | false;\n}\n\nconst TableIconContainer = styled('div')<TableIconContainerProps>`\n display: inline-block;\n\n ${({ sortDirection }) => {\n if (sortDirection) {\n return css`\n display: inline;\n `;\n } else {\n return css`\n display: inline;\n visibility: hidden;\n color: ${({ theme }) => theme.color.text.disabled};\n `;\n }\n }};\n`;\n\nconst TableHeaderCell = forwardRef<\n HTMLTableCellElement,\n ComponentPropsWithoutRef<'th'> & TableHeaderCellProps & TableIconContainerProps\n>(function TableHeaderCell({ sortable, sortDirection, children, align, ...elemProps }, ref) {\n let ariaSort: 'none' | 'ascending' | 'descending' | 'other' = 'none';\n\n if (sortable && sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n\n return (\n <StyledTableHeaderCell\n sortable={sortable}\n aria-sort={ariaSort}\n role='columnheader'\n {...elemProps}\n ref={ref}\n >\n <VerticalAlign\n css={{\n flexDirection: align === 'right' ? 'row-reverse' : 'row',\n }}\n >\n {children}\n {sortable && (\n <TableIconContainer sortDirection={sortDirection}>\n {sortDirection === 'asc' ? <CaretUpIcon /> : <CaretDownIcon />}\n </TableIconContainer>\n )}\n </VerticalAlign>\n </StyledTableHeaderCell>\n );\n});\n\nexport default TableHeaderCell;\n","import styled, { css } from 'styled-components';\n\nimport { isFocusedVisible, isHovered } from 'design-system/lib/pseudoClass';\nimport type PseudoClassProps from 'design-system/types/PseudoClassProps';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nexport interface TableRowProps extends PseudoClassProps {\n disableHoverBackground?: boolean;\n}\n\nconst TableRow = styled.tr.attrs({\n role: 'row',\n})<TableRowProps>`\n display: table-row;\n\n ${({ onClick }) =>\n onClick != null &&\n css`\n cursor: pointer;\n `}\n\n ${({ disableHoverBackground, theme }) =>\n !disableHoverBackground &&\n css`\n &${isHovered} {\n background-color: ${theme.color.background.highlight};\n transition-duration: ${TransitionDuration.Fast};\n }\n `}\n\n ${isFocusedVisible}\n`;\n\nexport default TableRow;\n","import { TableHeaderCell } from '@persona/design-system/components/Table';\nimport { HelperTooltip } from '@persona/design-system/components/Tooltip';\nimport { Spacing } from '@persona/design-tokens';\nimport { type ComponentPropsWithoutRef, forwardRef, type ReactNode } from 'react';\n\nexport interface TableTHProps extends ComponentPropsWithoutRef<typeof TableHeaderCell> {\n canSort?: boolean;\n isSorted?: boolean;\n isDescending?: boolean;\n isSticky?: boolean;\n /**\n * Display help icon and tooltip for column header\n */\n helpText?: ReactNode;\n align?: 'left' | 'right';\n size?: 'sm' | 'md';\n}\n\nconst TableTH = forwardRef<HTMLTableCellElement, TableTHProps>(function TableTH(\n { children, canSort, isSorted, isSticky, isDescending, helpText, align, size, ...props },\n ref,\n) {\n return (\n <TableHeaderCell\n sortable={canSort}\n sortDirection={canSort && isSorted ? (isDescending ? 'desc' : 'asc') : false}\n ref={ref}\n isSticky={isSticky}\n align={align}\n size={size}\n {...props}\n >\n {/* We have to wrap the children to make it easier to use tooltips */}\n <span className='th__text'>{children}</span>\n {helpText && (\n <HelperTooltip size='sm' css={{ height: 14, marginLeft: Spacing[1] }}>\n {helpText}\n </HelperTooltip>\n )}\n </TableHeaderCell>\n );\n});\n\nexport default TableTH;\n","import { Spacing } from '@persona/design-tokens';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Paragraph } from 'design-system/components/Text';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { BASE } from 'design-system/variables/spacing';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nimport TableRow from './TableRow';\nimport TableTH from './TableTH';\n\nexport interface TableCellProps {\n breakWord?: boolean;\n size?: 'sm' | 'md';\n}\n\nconst TableCell = styled.td.attrs({ role: 'cell' })<TableCellProps>`\n display: table-cell;\n vertical-align: middle;\n\n border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};\n text-align: left;\n padding: ${({ size }) => (size === 'sm' ? BASE : BASE * 1.5)}px;\n color: ${({ theme }) => theme.color.text.primary};\n white-space: nowrap;\n ${paragraphMixins.md};\n line-height: 1;\n ${({ breakWord }) =>\n breakWord\n ? `white-space: normal;\n overflow-wrap: break-word;`\n : ''}\n`;\n\nexport default TableCell;\n\nconst CellTitleContainer = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst CellTitle = styled(Paragraph).attrs({ color: 'primary' })`\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\ninterface TableCellTitleProps extends ComponentPropsWithoutRef<'div'> {\n subtitle?: ReactNode;\n}\n\nexport const TableCellTitle = ({ children, subtitle, ...elemProps }: TableCellTitleProps) => {\n return (\n <CellTitleContainer {...elemProps}>\n <CellTitle>{children}</CellTitle>\n {subtitle && <Paragraph>{subtitle}</Paragraph>}\n </CellTitleContainer>\n );\n};\n\nexport const TableTD = styled(TableCell)<{ unclickable?: boolean }>`\n white-space: normal;\n overflow-wrap: break-word;\n ${(props) =>\n props.unclickable &&\n css`\n cursor: default;\n `}\n`;\n\nexport const TableIconTD = styled(TableTD)`\n text-align: right;\n line-height: 0; /* To center icon; cannot use flex here */\n padding: 0;\n padding-left: ${Spacing[4]};\n width: 36px;\n`;\n\nexport const TableActionTD = styled(TableTD)`\n text-align: right;\n padding: 0;\n padding-right: ${Spacing[4]};\n width: 48px;\n`;\n\nexport const StickyTD = styled(TableTD)<{\n left?: number;\n hasRightBorder?: boolean;\n}>`\n position: sticky;\n left: ${({ left = 0 }) => `${left}px`}; // Default to 0 if not specified\n background-color: ${({ theme }) => theme.color.background.primary};\n\n ${({ hasRightBorder, theme }) =>\n hasRightBorder && `border-right: 2px solid ${theme.color.border.primary};`}\n z-index: 2;\n`;\n\nexport const StickyTH = styled(TableTH)<{\n left?: number;\n hasRightBorder?: boolean;\n size?: 'sm' | 'md';\n}>`\n position: sticky;\n left: ${({ left = 0 }) => `${left}px`}; // Default to 0 if not specified\n z-index: 2;\n max-width: 10%;\n background-color: ${({ theme }) => theme.color.background.secondary};\n ${({ hasRightBorder, theme }) =>\n hasRightBorder && `border-right: 2px solid ${theme.color.border.primary};`}\n`;\n\nexport const TableTR = styled(TableRow)<{ disableHoverBackground?: boolean; $isActive?: boolean }>`\n ${({ disableHoverBackground }) =>\n disableHoverBackground &&\n css`\n &:hover {\n background-color: transparent !important;\n }\n `}\n\n ${({ $isActive }) =>\n $isActive &&\n css`\n background-color: ${({ theme }) => theme.color.background.highlight};\n &:hover {\n background-color: ${({ theme }) => theme.color.background.highlight};\n }\n `}\n\n ${({ onClick, disableHoverBackground, $isActive }) =>\n onClick != null &&\n !disableHoverBackground &&\n !$isActive &&\n css`\n cursor: pointer;\n :hover {\n background-color: ${({ theme }) => theme.color.background.highlight};\n }\n transition-duration: ${TransitionDuration.Fast};\n `}\n`;\n","import styled, { css } from 'styled-components';\n\ninterface TableHeadProps {\n sticky?: boolean;\n}\n\nconst TableHead = styled.thead.attrs({ role: 'rowgroup' })<TableHeadProps>`\n display: table-header-group;\n ${({ sticky }) =>\n sticky &&\n css`\n position: sticky;\n top: 0;\n z-index: 1;\n `}\n`;\n\nexport default TableHead;\n","import styled from 'styled-components';\n\nconst TableBody = styled.tbody.attrs({ role: 'rowgroup' })`\n display: table-row-group;\n`;\n\nexport default TableBody;\n","import { Color, Spacing } from '@persona/design-tokens';\nimport type { FC, PropsWithChildren, ReactNode } from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { Spinner } from 'design-system/components/Spinner';\nimport Table, { TableHead, TableRow } from 'design-system/components/Table';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { fadeIn } from 'design-system/variables/keyframes';\n\nconst Container = styled.div<{ maxHeight?: number }>`\n position: relative;\n z-index: 0;\n overflow-x: auto;\n ${({ maxHeight }) => {\n if (maxHeight != null) {\n return `max-height: ${maxHeight}px;`;\n }\n }}\n `;\n\nconst slideKeyframes = keyframes`\n 0% {\n transform: translateX(-50%) scaleX(0);\n }\n 50% {\n transform: translateX(0) scaleX(1);\n }\n 100% {\n transform: translateX(50%) scaleX(0);\n }\n `;\n\nconst Loader = styled.div`\n position: absolute;\n z-index: ${Z_INDICES.loadingOverlays};\n border-bottom: 3px solid ${({ theme }) => theme.color.primary.brand};\n width: 100%;\n \n animation: ${slideKeyframes} 3s infinite cubic-bezier(0.5, 0, 0.5, 1);\n `;\n\nconst Overlay = styled.div`\n position: absolute;\n z-index: ${Z_INDICES.loadingOverlays};\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ${({ theme }) => theme.color.primary.white};\n opacity: 50%;\n `;\n\nconst SpinnerWrapper = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${Spacing[5]} 0;\n animation: ${fadeIn} 1s;\n animation-delay: 0.5s;\n animation-fill-mode: backwards;\n `;\n\nconst TableSpinner = styled(Spinner)`\n svg {\n width: 120px;\n height: 120px;\n }\n \n path {\n stroke: ${Color.CorePurple500};\n stroke-width: 0.46;\n }\n `;\n\ninterface TableLayoutProps {\n className?: string;\n containerMaxHeight?: number;\n dataTest?: string;\n headerTR: JSX.Element;\n isEmpty?: boolean;\n isLoading?: boolean;\n nullState: ReactNode;\n showHeader?: boolean;\n size?: 'sm' | 'md';\n stickyHeader?: boolean;\n}\n\nconst TableLayout: FC<PropsWithChildren<TableLayoutProps>> = ({\n children,\n className,\n containerMaxHeight,\n dataTest,\n headerTR,\n isEmpty,\n isLoading,\n nullState,\n showHeader,\n size = 'md',\n stickyHeader = false,\n}) => {\n if (isEmpty && !showHeader) {\n if (isLoading) {\n return (\n <SpinnerWrapper\n role='status'\n aria-live='polite'\n aria-busy='true'\n aria-label='Loading...'\n data-loading-indicator='true'\n >\n <TableSpinner size='md' />\n </SpinnerWrapper>\n );\n } else {\n return <Container data-test={dataTest}>{nullState}</Container>;\n }\n }\n\n return (\n <Container data-test={dataTest} maxHeight={containerMaxHeight} className={className}>\n {isLoading && <Loader data-test='table-layout__loader' />}\n {isLoading && <Overlay />}\n\n <Table size={size} aria-busy={isLoading || undefined}>\n <TableHead sticky={stickyHeader}>\n <TableRow>{headerTR}</TableRow>\n </TableHead>\n {!isEmpty && children}\n </Table>\n\n {isEmpty && nullState}\n </Container>\n );\n};\n\nexport default TableLayout;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAUA,MAAMA,mBAAiB,kBAAA,SAAS;;;;;;;;;;;AAYhC,MAAa,QAAQ,kBAAA,QAAO,MAAM,MAAM,EAAE,MAAM,SAAS,CAAC;;;;IAItDC,oBAAAA,gBAAgB,GAAG;;KAElB,EAAE,WACH,SAAS,QACT,kBAAA,GAAG;;;mBAGYC,uBAAAA,QAAQ,GAAG;;MAExB;;KAED,EAAE,gBACH,aACA,kBAAA,GAAG;;;;;;;;;sCAS+B,EAAE,YAAY,MAAM,MAAM,QAAQ,MAAM;uBACvDF,iBAAe;;;MAGhC;;;;ACpCN,MAAM,wBAAwB,kBAAA,QAAO,EAAwB;;;uBAGtC,EAAE,YAAY,MAAM,MAAM,WAAW,UAAU;cACxD,EAAE,WAAY,SAAS,OAAA,IAAA,IAAqB,IAAK;;;KAG1D,EAAE,WAAY,SAAS,OAAOG,oBAAAA,gBAAgB,KAAKA,oBAAAA,gBAAgB,GAAI;;YAEhE,EAAE,YAAY;AACtB,SAAQ,OAAR;EACE,KAAK,MACH,QAAO;EACT,KAAK,MACH,QAAO;EACT,QACE,KAAI,MACF,QAAO;MAEP,QAAO;;EAGb;;;sBAGkB,EAAE,YAClB,GAAG,MAAM,QAAQ,aAAa,OAAO,MAAM,QAAQ,eAAe;;;;sBAIlD,EAAE,YAClB,KAAK,MAAM,QAAQ,aAAa,GAAG,MAAM,QAAQ,aAAa,IAAI;;;KAGnE,EAAE,eACH,YACA,kBAAA,GAAG;;;gBAGS,mBAAmB;;;;MAI7B;;KAED,EAAE,eACH,WACI,kBAAA,GAAG;;;;YAKH,kBAAA,GAAG;;UAED;;AAGV,MAAM,gBAAgB,kBAAA,QAAO,GAAG;;;SAGvBC,uBAAAA,QAAQ,GAAG;;AAOpB,MAAM,qBAAqB,CAAA,GAAA,kBAAA,SAAO,MAAM;;;KAGnC,EAAE,oBAAoB;AACvB,KAAI,cACF,QAAO,kBAAA,GAAG;;;KAIV,QAAO,kBAAA,GAAG;;;kBAGE,EAAE,YAAY,MAAM,MAAM,KAAK,SAAS;;EAGtD;;AAGJ,MAAM,mBAAA,GAAA,MAAA,YAGJ,SAAS,gBAAgB,EAAE,UAAU,eAAe,UAAU,OAAO,GAAG,aAAa,KAAK;CAC1F,IAAI,WAA0D;AAE9D,KAAI,YAAY,cACd,YAAW,kBAAkB,QAAQ,cAAc;AAGrD,QACE,iBAAA,GAAA,kBAAA,KAAC,uBAAD;EACY;EACV,aAAW;EACX,MAAK;EACL,GAAI;EACC;YAEL,iBAAA,GAAA,kBAAA,MAAC,eAAD;GACE,KAAK,EACH,eAAe,UAAU,UAAU,gBAAgB,OACpD;aAHH,CAKG,UACA,YACC,iBAAA,GAAA,kBAAA,KAAC,oBAAD;IAAmC;cAChC,kBAAkB,QAAQ,iBAAA,GAAA,kBAAA,KAACC,eAAAA,aAAD,EAAe,CAAA,GAAG,iBAAA,GAAA,kBAAA,KAACC,eAAAA,eAAD,EAAiB,CAAA;IAC3C,CAAA,CAET;;EACM,CAAA;EAE1B;;;AC3HF,MAAM,WAAW,kBAAA,QAAO,GAAG,MAAM,EAC/B,MAAM,OACP,CAAC;;;KAGG,EAAE,cACH,WAAW,QACX,kBAAA,GAAG;;MAED;;KAED,EAAE,wBAAwB,YAC3B,CAAC,0BACD,kBAAA,GAAG;SACEC,wBAAAA,UAAU;4BACS,MAAM,MAAM,WAAW,UAAU;uCACN;;MAEjD;;IAEFC,wBAAAA,iBAAiB;;;;ACZrB,MAAM,WAAA,GAAA,MAAA,YAAyD,SAAS,QACtE,EAAE,UAAU,SAAS,UAAU,UAAU,cAAc,UAAU,OAAO,MAAM,GAAG,SACjF,KACA;AACA,QACE,iBAAA,GAAA,kBAAA,MAAC,iBAAD;EACE,UAAU;EACV,eAAe,WAAW,WAAY,eAAe,SAAS,QAAS;EAClE;EACK;EACH;EACD;EACN,GAAI;YAPN,CAUE,iBAAA,GAAA,kBAAA,KAAC,QAAD;GAAM,WAAU;GAAY;GAAgB,CAAA,EAC3C,YACC,iBAAA,GAAA,kBAAA,KAACC,gBAAAA,eAAD;GAAe,MAAK;GAAK,KAAK;IAAE,QAAQ;IAAI,YAAYC,uBAAAA,QAAQ;IAAI;aACjE;GACa,CAAA,CAEF;;EAEpB;;;ACxBF,MAAM,YAAY,kBAAA,QAAO,GAAG,MAAM,EAAE,MAAM,QAAQ,CAAC;;;;8BAIrB,EAAE,YAAY,MAAM,MAAM,OAAO,QAAQ;;cAEzD,EAAE,WAAY,SAAS,OAAA,IAAA,IAAqB,IAAK;YACnD,EAAE,YAAY,MAAM,MAAM,KAAK,QAAQ;;IAE/CC,oBAAAA,gBAAgB,GAAG;;KAElB,EAAE,gBACH,YACI;uCAEA,GAAG;;AAKX,MAAM,qBAAqB,kBAAA,QAAO,GAAG;;;;AAKrC,MAAM,YAAY,CAAA,GAAA,kBAAA,SAAOC,aAAAA,UAAU,CAAC,MAAM,EAAE,OAAO,WAAW,CAAC;;;SAGtDC,uBAAAA,QAAQ,GAAG;;AAOpB,MAAa,kBAAkB,EAAE,UAAU,UAAU,GAAG,gBAAqC;AAC3F,QACE,iBAAA,GAAA,kBAAA,MAAC,oBAAD;EAAoB,GAAI;YAAxB,CACE,iBAAA,GAAA,kBAAA,KAAC,WAAD,EAAY,UAAqB,CAAA,EAChC,YAAY,iBAAA,GAAA,kBAAA,KAACD,aAAAA,WAAD,EAAA,UAAY,UAAqB,CAAA,CAC3B;;;AAIzB,MAAa,UAAU,CAAA,GAAA,kBAAA,SAAO,UAAU;;;KAGnC,UACD,MAAM,eACN,kBAAA,GAAG;;MAED;;AAGN,MAAa,cAAc,CAAA,GAAA,kBAAA,SAAO,QAAQ;;;;kBAIxBC,uBAAAA,QAAQ,GAAG;;;AAI7B,MAAa,gBAAgB,CAAA,GAAA,kBAAA,SAAO,QAAQ;;;mBAGzBA,uBAAAA,QAAQ,GAAG;;;AAI9B,MAAa,WAAW,CAAA,GAAA,kBAAA,SAAO,QAAQ;;WAK5B,EAAE,OAAO,QAAQ,GAAG,KAAK,IAAI;uBACjB,EAAE,YAAY,MAAM,MAAM,WAAW,QAAQ;;KAE/D,EAAE,gBAAgB,YACnB,kBAAkB,2BAA2B,MAAM,MAAM,OAAO,QAAQ,GAAG;;;AAI/E,MAAa,WAAW,CAAA,GAAA,kBAAA,SAAO,QAAQ;;WAM5B,EAAE,OAAO,QAAQ,GAAG,KAAK,IAAI;;;uBAGjB,EAAE,YAAY,MAAM,MAAM,WAAW,UAAU;KACjE,EAAE,gBAAgB,YACnB,kBAAkB,2BAA2B,MAAM,MAAM,OAAO,QAAQ,GAAG;;AAG/E,MAAa,UAAU,CAAA,GAAA,kBAAA,SAAO,SAAS;KAClC,EAAE,6BACH,0BACA,kBAAA,GAAG;;;;MAID;;KAED,EAAE,gBACH,aACA,kBAAA,GAAG;2BACoB,EAAE,YAAY,MAAM,MAAM,WAAW,UAAU;;6BAE7C,EAAE,YAAY,MAAM,MAAM,WAAW,UAAU;;MAEtE;;KAED,EAAE,SAAS,wBAAwB,gBACpC,WAAW,QACX,CAAC,0BACD,CAAC,aACD,kBAAA,GAAG;;;6BAGsB,EAAE,YAAY,MAAM,MAAM,WAAW,UAAU;;qCAEvB;MAC/C;;;;ACvIN,MAAM,YAAY,kBAAA,QAAO,MAAM,MAAM,EAAE,MAAM,YAAY,CAAC;;KAErD,EAAE,aACH,UACA,kBAAA,GAAG;;;;MAID;;;;ACZN,MAAM,YAAY,kBAAA,QAAO,MAAM,MAAM,EAAE,MAAM,YAAY,CAAC;;;;;ACO1D,MAAM,YAAY,kBAAA,QAAO,GAA2B;;;;OAI7C,EAAE,gBAAgB;AACnB,KAAI,aAAa,KACf,QAAO,eAAe,UAAU;EAElC;;AAGN,MAAM,iBAAiB,kBAAA,SAAS;;;;;;;;;;;AAYhC,MAAM,SAAS,kBAAA,QAAO,GAAG;;eAEVC,mBAAAA,UAAU,gBAAgB;gCACT,EAAE,YAAY,MAAM,MAAM,QAAQ,MAAM;;;iBAGvD,eAAe;;AAGhC,MAAM,UAAU,kBAAA,QAAO,GAAG;;eAEXA,mBAAAA,UAAU,gBAAgB;;;;;mBAKtB,EAAE,YAAY,MAAM,MAAM,QAAQ,MAAM;;;AAI3D,MAAM,iBAAiB,kBAAA,QAAO,GAAG;;;;;eAKlBC,uBAAAA,QAAQ,GAAG;iBACTC,4BAAAA,OAAO;;;;AAKxB,MAAM,eAAe,CAAA,GAAA,kBAAA,SAAOC,gBAAAA,QAAQ;;;;;;;gBAOpBC,uBAAAA,MAAM,cAAc;;;;AAkBpC,MAAM,eAAwD,EAC5D,UACA,WACA,oBACA,UACA,UACA,SACA,WACA,WACA,YACA,OAAO,MACP,eAAe,YACX;AACJ,KAAI,WAAW,CAAC,WACd,KAAI,UACF,QACE,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EACE,MAAK;EACL,aAAU;EACV,aAAU;EACV,cAAW;EACX,0BAAuB;YAEvB,iBAAA,GAAA,kBAAA,KAAC,cAAD,EAAc,MAAK,MAAO,CAAA;EACX,CAAA;KAGnB,QAAO,iBAAA,GAAA,kBAAA,KAAC,WAAD;EAAW,aAAW;YAAW;EAAsB,CAAA;AAIlE,QACE,iBAAA,GAAA,kBAAA,MAAC,WAAD;EAAW,aAAW;EAAU,WAAW;EAA+B;YAA1E;GACG,aAAa,iBAAA,GAAA,kBAAA,KAAC,QAAD,EAAQ,aAAU,wBAAyB,CAAA;GACxD,aAAa,iBAAA,GAAA,kBAAA,KAAC,SAAD,EAAW,CAAA;GAEzB,iBAAA,GAAA,kBAAA,MAAC,OAAD;IAAa;IAAM,aAAW,aAAa,KAAA;cAA3C,CACE,iBAAA,GAAA,kBAAA,KAAC,WAAD;KAAW,QAAQ;eACjB,iBAAA,GAAA,kBAAA,KAAC,UAAD,EAAA,UAAW,UAAoB,CAAA;KACrB,CAAA,EACX,CAAC,WAAW,SACP;;GAEP,WAAW;GACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["slideKeyframes"],"sources":["../../../components/Table/Table.tsx","../../../components/Table/TableHeaderCell.tsx","../../../components/Table/TableRow.tsx","../../../components/Table/TableTH.tsx","../../../components/Table/TableCell.tsx","../../../components/Table/TableHead.tsx","../../../components/Table/TableBody.tsx","../../../components/Table/TableLayout.tsx"],"sourcesContent":["import { Spacing } from '@persona/design-tokens';\nimport styled, { css, keyframes } from 'styled-components';\n\nimport { paragraphMixins } from 'design-system/mixins/text';\n\ninterface TableProps {\n size?: 'sm' | 'md';\n isLoading?: boolean;\n}\n\nconst slideKeyframes = keyframes`\n 0% {\n transform: translateX(-50%) scaleX(0);\n }\n 50% {\n transform: translateX(0) scaleX(1);\n }\n 100% {\n transform: translateX(50%) scaleX(0);\n }\n`;\n\nexport const Table = styled.table.attrs({ role: 'table' })<TableProps>`\n display: table;\n width: 100%;\n border-spacing: 0;\n ${paragraphMixins.md};\n\n ${({ size }) =>\n size === 'sm' &&\n css`\n td,\n th {\n padding: ${Spacing[2]};\n }\n `}\n\n ${({ isLoading }) =>\n isLoading &&\n css`\n thead {\n &:after {\n content: '';\n display: block;\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n border-bottom: 3px solid ${({ theme }) => theme.color.primary.brand};\n animation: ${slideKeyframes} 3s infinite cubic-bezier(0.5, 0, 0.5, 1);\n }\n }\n `}\n`;\n\nexport default Table;\n","import { Spacing } from '@persona/design-tokens';\nimport { CaretDownIcon, CaretUpIcon } from '@persona/icons';\nimport { type ComponentPropsWithoutRef, forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { BASE } from 'design-system/variables/spacing';\n\ninterface TableHeaderCellProps {\n size?: 'sm' | 'md';\n sortable?: boolean;\n width?: 'auto' | 'min' | 'max' | string;\n isSticky?: boolean;\n align?: 'left' | 'right';\n}\n\nconst StyledTableHeaderCell = styled.th<TableHeaderCellProps>`\n display: table-cell;\n\n background-color: ${({ theme }) => theme.color.background.secondary};\n padding: ${({ size }) => (size === 'sm' ? BASE : BASE * 1.5)}px;\n text-align: left;\n white-space: nowrap;\n ${({ size }) => (size === 'sm' ? paragraphMixins.sm : paragraphMixins.md)};\n line-height: 1;\n width: ${({ width }) => {\n switch (width) {\n case 'min':\n return '1px';\n case 'max':\n return '100%';\n default:\n if (width) {\n return width;\n } else {\n return 'auto';\n }\n }\n }};\n\n &:first-child {\n border-radius: ${({ theme }) =>\n `${theme.element.borderRadius} 0 0 ${theme.element.borderRadius}`};\n }\n\n &:last-child {\n border-radius: ${({ theme }) =>\n `0 ${theme.element.borderRadius} ${theme.element.borderRadius} 0`};\n }\n\n ${({ sortable }) =>\n sortable &&\n css`\n cursor: pointer;\n\n &:hover ${TableIconContainer} {\n display: inline;\n visibility: visible;\n }\n `};\n\n ${({ isSticky }) =>\n isSticky\n ? css`\n position: sticky;\n top: 0;\n z-index: 1;\n `\n : css`\n position: relative;\n `}\n`;\n\nconst VerticalAlign = styled.div`\n display: flex;\n align-items: center;\n gap: ${Spacing[1]};\n`;\n\ninterface TableIconContainerProps {\n sortDirection?: 'asc' | 'desc' | false;\n}\n\nconst TableIconContainer = styled('div')<TableIconContainerProps>`\n display: inline-block;\n\n ${({ sortDirection }) => {\n if (sortDirection) {\n return css`\n display: inline;\n `;\n } else {\n return css`\n display: inline;\n visibility: hidden;\n color: ${({ theme }) => theme.color.text.disabled};\n `;\n }\n }};\n`;\n\nconst TableHeaderCell = forwardRef<\n HTMLTableCellElement,\n ComponentPropsWithoutRef<'th'> & TableHeaderCellProps & TableIconContainerProps\n>(function TableHeaderCell({ sortable, sortDirection, children, align, ...elemProps }, ref) {\n let ariaSort: 'none' | 'ascending' | 'descending' | 'other' = 'none';\n\n if (sortable && sortDirection) {\n ariaSort = sortDirection === 'asc' ? 'ascending' : 'descending';\n }\n\n return (\n <StyledTableHeaderCell\n sortable={sortable}\n aria-sort={ariaSort}\n role='columnheader'\n {...elemProps}\n ref={ref}\n >\n <VerticalAlign\n css={{\n flexDirection: align === 'right' ? 'row-reverse' : 'row',\n }}\n >\n {children}\n {sortable && (\n <TableIconContainer sortDirection={sortDirection}>\n {sortDirection === 'asc' ? <CaretUpIcon /> : <CaretDownIcon />}\n </TableIconContainer>\n )}\n </VerticalAlign>\n </StyledTableHeaderCell>\n );\n});\n\nexport default TableHeaderCell;\n","import styled, { css } from 'styled-components';\n\nimport { isFocusedVisible, isHovered } from 'design-system/lib/pseudoClass';\nimport type PseudoClassProps from 'design-system/types/PseudoClassProps';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nexport interface TableRowProps extends PseudoClassProps {\n disableHoverBackground?: boolean;\n}\n\nconst TableRow = styled.tr.attrs({\n role: 'row',\n})<TableRowProps>`\n display: table-row;\n\n ${({ onClick }) =>\n onClick != null &&\n css`\n cursor: pointer;\n `}\n\n ${({ disableHoverBackground, theme }) =>\n !disableHoverBackground &&\n css`\n &${isHovered} {\n background-color: ${theme.color.background.highlight};\n transition-duration: ${TransitionDuration.Fast};\n }\n `}\n\n ${isFocusedVisible}\n`;\n\nexport default TableRow;\n","import { TableHeaderCell } from '@persona/design-system/components/Table';\nimport { HelperTooltip } from '@persona/design-system/components/Tooltip';\nimport { Spacing } from '@persona/design-tokens';\nimport { type ComponentPropsWithoutRef, forwardRef, type ReactNode } from 'react';\n\nexport interface TableTHProps extends ComponentPropsWithoutRef<typeof TableHeaderCell> {\n canSort?: boolean;\n isSorted?: boolean;\n isDescending?: boolean;\n isSticky?: boolean;\n /**\n * Display help icon and tooltip for column header\n */\n helpText?: ReactNode;\n align?: 'left' | 'right';\n size?: 'sm' | 'md';\n}\n\nconst TableTH = forwardRef<HTMLTableCellElement, TableTHProps>(function TableTH(\n { children, canSort, isSorted, isSticky, isDescending, helpText, align, size, ...props },\n ref,\n) {\n return (\n <TableHeaderCell\n sortable={canSort}\n sortDirection={canSort && isSorted ? (isDescending ? 'desc' : 'asc') : false}\n ref={ref}\n isSticky={isSticky}\n align={align}\n size={size}\n {...props}\n >\n {/* We have to wrap the children to make it easier to use tooltips */}\n <span className='th__text'>{children}</span>\n {helpText && (\n <HelperTooltip size='sm' css={{ height: 14, marginLeft: Spacing[1] }}>\n {helpText}\n </HelperTooltip>\n )}\n </TableHeaderCell>\n );\n});\n\nexport default TableTH;\n","import { Spacing } from '@persona/design-tokens';\nimport type { ComponentPropsWithoutRef, ReactNode } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { Paragraph } from 'design-system/components/Text';\nimport { paragraphMixins } from 'design-system/mixins/text';\nimport { BASE } from 'design-system/variables/spacing';\nimport { TransitionDuration } from 'design-system/variables/transitions';\n\nimport TableRow from './TableRow';\nimport TableTH from './TableTH';\n\nexport interface TableCellProps {\n breakWord?: boolean;\n size?: 'sm' | 'md';\n}\n\nconst TableCell = styled.td.attrs({ role: 'cell' })<TableCellProps>`\n display: table-cell;\n vertical-align: middle;\n\n border-bottom: 1px solid ${({ theme }) => theme.color.border.primary};\n text-align: left;\n padding: ${({ size }) => (size === 'sm' ? BASE : BASE * 1.5)}px;\n color: ${({ theme }) => theme.color.text.primary};\n white-space: nowrap;\n ${paragraphMixins.md};\n line-height: 1;\n ${({ breakWord }) =>\n breakWord\n ? `white-space: normal;\n overflow-wrap: break-word;`\n : ''}\n`;\n\nexport default TableCell;\n\nconst CellTitleContainer = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst CellTitle = styled(Paragraph).attrs({ color: 'primary' })`\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\ninterface TableCellTitleProps extends ComponentPropsWithoutRef<'div'> {\n subtitle?: ReactNode;\n}\n\nexport const TableCellTitle = ({ children, subtitle, ...elemProps }: TableCellTitleProps) => {\n return (\n <CellTitleContainer {...elemProps}>\n <CellTitle>{children}</CellTitle>\n {subtitle && <Paragraph>{subtitle}</Paragraph>}\n </CellTitleContainer>\n );\n};\n\nexport const TableTD = styled(TableCell)<{ unclickable?: boolean }>`\n white-space: normal;\n overflow-wrap: break-word;\n ${(props) =>\n props.unclickable &&\n css`\n cursor: default;\n `}\n`;\n\nexport const TableIconTD = styled(TableTD)`\n text-align: right;\n line-height: 0; /* To center icon; cannot use flex here */\n padding: 0;\n padding-left: ${Spacing[4]};\n width: 36px;\n`;\n\nexport const TableActionTD = styled(TableTD)`\n text-align: right;\n padding: 0;\n padding-right: ${Spacing[4]};\n width: 48px;\n`;\n\nexport const StickyTD = styled(TableTD)<{\n left?: number;\n hasRightBorder?: boolean;\n}>`\n position: sticky;\n left: ${({ left = 0 }) => `${left}px`}; // Default to 0 if not specified\n background-color: ${({ theme }) => theme.color.background.primary};\n\n ${({ hasRightBorder, theme }) =>\n hasRightBorder && `border-right: 2px solid ${theme.color.border.primary};`}\n z-index: 2;\n`;\n\nexport const StickyTH = styled(TableTH)<{\n left?: number;\n hasRightBorder?: boolean;\n size?: 'sm' | 'md';\n}>`\n position: sticky;\n left: ${({ left = 0 }) => `${left}px`}; // Default to 0 if not specified\n z-index: 2;\n max-width: 10%;\n background-color: ${({ theme }) => theme.color.background.secondary};\n ${({ hasRightBorder, theme }) =>\n hasRightBorder && `border-right: 2px solid ${theme.color.border.primary};`}\n`;\n\nexport const TableTR = styled(TableRow)<{ disableHoverBackground?: boolean; $isActive?: boolean }>`\n ${({ disableHoverBackground }) =>\n disableHoverBackground &&\n css`\n &:hover {\n background-color: transparent !important;\n }\n `}\n\n ${({ $isActive }) =>\n $isActive &&\n css`\n background-color: ${({ theme }) => theme.color.background.highlight};\n &:hover {\n background-color: ${({ theme }) => theme.color.background.highlight};\n }\n `}\n\n ${({ onClick, disableHoverBackground, $isActive }) =>\n onClick != null &&\n !disableHoverBackground &&\n !$isActive &&\n css`\n cursor: pointer;\n :hover {\n background-color: ${({ theme }) => theme.color.background.highlight};\n }\n transition-duration: ${TransitionDuration.Fast};\n `}\n`;\n","import styled, { css } from 'styled-components';\n\ninterface TableHeadProps {\n sticky?: boolean;\n}\n\nconst TableHead = styled.thead.attrs({ role: 'rowgroup' })<TableHeadProps>`\n display: table-header-group;\n ${({ sticky }) =>\n sticky &&\n css`\n position: sticky;\n top: 0;\n z-index: 1;\n `}\n`;\n\nexport default TableHead;\n","import styled from 'styled-components';\n\nconst TableBody = styled.tbody.attrs({ role: 'rowgroup' })`\n display: table-row-group;\n`;\n\nexport default TableBody;\n","import { Color, Spacing } from '@persona/design-tokens';\nimport type { FC, PropsWithChildren, ReactNode } from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { Spinner } from 'design-system/components/Spinner';\nimport Table, { TableHead, TableRow } from 'design-system/components/Table';\nimport { Z_INDICES } from 'design-system/lib/zindex';\nimport { fadeIn } from 'design-system/variables/keyframes';\n\nconst Container = styled.div<{ maxHeight?: number }>`\n position: relative;\n z-index: 0;\n overflow-x: auto;\n ${({ maxHeight }) => {\n if (maxHeight != null) {\n return `max-height: ${maxHeight}px;`;\n }\n }}\n `;\n\nconst slideKeyframes = keyframes`\n 0% {\n transform: translateX(-50%) scaleX(0);\n }\n 50% {\n transform: translateX(0) scaleX(1);\n }\n 100% {\n transform: translateX(50%) scaleX(0);\n }\n `;\n\nconst Loader = styled.div`\n position: absolute;\n z-index: ${Z_INDICES.loadingOverlays};\n border-bottom: 3px solid ${({ theme }) => theme.color.primary.brand};\n width: 100%;\n \n animation: ${slideKeyframes} 3s infinite cubic-bezier(0.5, 0, 0.5, 1);\n `;\n\nconst Overlay = styled.div`\n position: absolute;\n z-index: ${Z_INDICES.loadingOverlays};\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: ${({ theme }) => theme.color.primary.white};\n opacity: 50%;\n `;\n\nconst SpinnerWrapper = styled.div`\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: ${Spacing[5]} 0;\n animation: ${fadeIn} 1s;\n animation-delay: 0.5s;\n animation-fill-mode: backwards;\n `;\n\nconst TableSpinner = styled(Spinner)`\n svg {\n width: 120px;\n height: 120px;\n }\n \n path {\n stroke: ${Color.CorePurple500};\n stroke-width: 0.46;\n }\n `;\n\ninterface TableLayoutProps {\n className?: string;\n containerMaxHeight?: number;\n dataTest?: string;\n headerTR: JSX.Element;\n isEmpty?: boolean;\n isLoading?: boolean;\n nullState: ReactNode;\n showHeader?: boolean;\n size?: 'sm' | 'md';\n stickyHeader?: boolean;\n}\n\nconst TableLayout: FC<PropsWithChildren<TableLayoutProps>> = ({\n children,\n className,\n containerMaxHeight,\n dataTest,\n headerTR,\n isEmpty,\n isLoading,\n nullState,\n showHeader,\n size = 'md',\n stickyHeader = false,\n}) => {\n if (isEmpty && !showHeader) {\n if (isLoading) {\n return (\n <SpinnerWrapper\n role='status'\n aria-live='polite'\n aria-busy='true'\n aria-label='Loading...'\n data-loading-indicator='true'\n >\n <TableSpinner size='md' />\n </SpinnerWrapper>\n );\n } else {\n return <Container data-test={dataTest}>{nullState}</Container>;\n }\n }\n\n return (\n <Container data-test={dataTest} maxHeight={containerMaxHeight} className={className}>\n {isLoading && <Loader data-test='table-layout__loader' />}\n {isLoading && <Overlay />}\n\n <Table size={size} aria-busy={isLoading || undefined}>\n <TableHead sticky={stickyHeader}>\n <TableRow>{headerTR}</TableRow>\n </TableHead>\n {!isEmpty && children}\n </Table>\n\n {isEmpty && nullState}\n </Container>\n );\n};\n\nexport default TableLayout;\n"],"mappings":"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"}
|
package/dist/ids-Cr-NW2RJ.d.mts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region lib/register/ids.d.ts
|
|
2
|
-
declare function sanitizeId(raw: string): string;
|
|
3
|
-
/**
|
|
4
|
-
* Get or create a globally stable ID keyed on any object (typically a React ref).
|
|
5
|
-
* The hint is sanitized and combined with a random suffix for uniqueness.
|
|
6
|
-
* IDs are GC'd when the key object goes out of scope.
|
|
7
|
-
*/
|
|
8
|
-
declare function getStableId(key: object, hint: string): string;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { sanitizeId as n, getStableId as t };
|
|
11
|
-
//# sourceMappingURL=ids-Cr-NW2RJ.d.mts.map
|
package/dist/ids-e4V5Y3Ub.d.cts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
//#region lib/register/ids.d.ts
|
|
2
|
-
declare function sanitizeId(raw: string): string;
|
|
3
|
-
/**
|
|
4
|
-
* Get or create a globally stable ID keyed on any object (typically a React ref).
|
|
5
|
-
* The hint is sanitized and combined with a random suffix for uniqueness.
|
|
6
|
-
* IDs are GC'd when the key object goes out of scope.
|
|
7
|
-
*/
|
|
8
|
-
declare function getStableId(key: object, hint: string): string;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { sanitizeId as n, getStableId as t };
|
|
11
|
-
//# sourceMappingURL=ids-e4V5Y3Ub.d.cts.map
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { a as InputBase, c as ValueBase, d as InputDOMProps, i as HelpTextProps, l as AriaLabelingProps, n as LabelableProps, o as RangeValue, r as FocusableProps, s as Validation, u as DOMProps } from "./index-CKu60b9I.mjs";
|
|
2
|
-
import { MutableRefObject, ReactElement, ReactNode } from "react";
|
|
3
|
-
import { CalendarDate, CalendarDateTime, ZonedDateTime } from "@internationalized/date";
|
|
4
|
-
|
|
5
|
-
//#region ../../node_modules/@react-types/overlays/src/index.d.ts
|
|
6
|
-
interface OverlayTriggerProps {
|
|
7
|
-
/** Whether the overlay is open by default (controlled). */
|
|
8
|
-
isOpen?: boolean;
|
|
9
|
-
/** Whether the overlay is open by default (uncontrolled). */
|
|
10
|
-
defaultOpen?: boolean;
|
|
11
|
-
/** Handler that is called when the overlay's open state changes. */
|
|
12
|
-
onOpenChange?: (isOpen: boolean) => void;
|
|
13
|
-
}
|
|
14
|
-
//#endregion
|
|
15
|
-
//#region ../../node_modules/@react-types/calendar/src/index.d.ts
|
|
16
|
-
type PageBehavior = 'single' | 'visible';
|
|
17
|
-
//#endregion
|
|
18
|
-
//#region ../../node_modules/@react-types/datepicker/src/index.d.ts
|
|
19
|
-
type DateValue$1 = CalendarDate | CalendarDateTime | ZonedDateTime;
|
|
20
|
-
type MappedDateValue<T> = T extends ZonedDateTime ? ZonedDateTime : T extends CalendarDateTime ? CalendarDateTime : T extends CalendarDate ? CalendarDate : never;
|
|
21
|
-
type Granularity = 'day' | 'hour' | 'minute' | 'second';
|
|
22
|
-
interface DateFieldBase<T extends DateValue$1> extends InputBase, Validation<MappedDateValue<T>>, FocusableProps, LabelableProps, HelpTextProps {
|
|
23
|
-
/** The minimum allowed date that a user may select. */
|
|
24
|
-
minValue?: DateValue$1 | null;
|
|
25
|
-
/** The maximum allowed date that a user may select. */
|
|
26
|
-
maxValue?: DateValue$1 | null;
|
|
27
|
-
/** Callback that is called for each date of the calendar. If it returns true, then the date is unavailable. */
|
|
28
|
-
isDateUnavailable?: (date: DateValue$1) => boolean;
|
|
29
|
-
/** A placeholder date that influences the format of the placeholder shown when no value is selected. Defaults to today's date at midnight. */
|
|
30
|
-
placeholderValue?: T | null;
|
|
31
|
-
/** Whether to display the time in 12 or 24 hour format. By default, this is determined by the user's locale. */
|
|
32
|
-
hourCycle?: 12 | 24;
|
|
33
|
-
/** Determines the smallest unit that is displayed in the date picker. By default, this is `"day"` for dates, and `"minute"` for times. */
|
|
34
|
-
granularity?: Granularity;
|
|
35
|
-
/**
|
|
36
|
-
* Whether to hide the time zone abbreviation.
|
|
37
|
-
* @default false
|
|
38
|
-
*/
|
|
39
|
-
hideTimeZone?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Whether to always show leading zeros in the month, day, and hour fields.
|
|
42
|
-
* By default, this is determined by the user's locale.
|
|
43
|
-
*/
|
|
44
|
-
shouldForceLeadingZeros?: boolean;
|
|
45
|
-
}
|
|
46
|
-
interface AriaDateFieldBaseProps<T extends DateValue$1> extends DateFieldBase<T>, AriaLabelingProps, DOMProps {}
|
|
47
|
-
interface DateFieldProps<T extends DateValue$1> extends DateFieldBase<T>, ValueBase<T | null, MappedDateValue<T> | null> {}
|
|
48
|
-
interface AriaDateFieldProps<T extends DateValue$1> extends DateFieldProps<T>, AriaDateFieldBaseProps<T>, InputDOMProps {
|
|
49
|
-
/**
|
|
50
|
-
* Describes the type of autocomplete functionality the input should provide if any. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefautocomplete).
|
|
51
|
-
*/
|
|
52
|
-
autoComplete?: string;
|
|
53
|
-
}
|
|
54
|
-
interface DatePickerBase<T extends DateValue$1> extends DateFieldBase<T>, OverlayTriggerProps {
|
|
55
|
-
/**
|
|
56
|
-
* Controls the behavior of paging. Pagination either works by advancing the visible page by visibleDuration (default) or one unit of visibleDuration.
|
|
57
|
-
* @default visible
|
|
58
|
-
*/
|
|
59
|
-
pageBehavior?: PageBehavior;
|
|
60
|
-
/**
|
|
61
|
-
* The day that starts the week.
|
|
62
|
-
*/
|
|
63
|
-
firstDayOfWeek?: 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat';
|
|
64
|
-
}
|
|
65
|
-
interface DatePickerProps<T extends DateValue$1> extends DatePickerBase<T>, ValueBase<T | null, MappedDateValue<T> | null> {}
|
|
66
|
-
interface DateRangePickerProps<T extends DateValue$1> extends Omit<DatePickerBase<T>, 'validate'>, Validation<RangeValue<MappedDateValue<T>>>, ValueBase<RangeValue<T> | null, RangeValue<MappedDateValue<T>> | null> {
|
|
67
|
-
/**
|
|
68
|
-
* When combined with `isDateUnavailable`, determines whether non-contiguous ranges,
|
|
69
|
-
* i.e. ranges containing unavailable dates, may be selected.
|
|
70
|
-
*/
|
|
71
|
-
allowsNonContiguousRanges?: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* The name of the start date input element, used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefname).
|
|
74
|
-
*/
|
|
75
|
-
startName?: string;
|
|
76
|
-
/**
|
|
77
|
-
* The name of the end date input element, used when submitting an HTML form. See [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefname).
|
|
78
|
-
*/
|
|
79
|
-
endName?: string;
|
|
80
|
-
}
|
|
81
|
-
//#endregion
|
|
82
|
-
export { DatePickerProps as n, DateRangePickerProps as r, AriaDateFieldProps as t };
|
|
83
|
-
//# sourceMappingURL=index-8R9vlM2B.d.mts.map
|