@persona/design-system 0.7.1 → 0.7.2
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 +17 -0
- package/README.md +9 -9
- package/dist/Accordion.d.mts +38 -0
- package/dist/AccordionItem.d.mts +31 -0
- package/dist/{Action-C7INft7X.d.mts → Action-Cyo6KCsS.d.mts} +3 -3
- package/dist/Action.d.mts +1 -1
- package/dist/AdvancedFilterRuleRow.d.mts +2 -2
- package/dist/AdvancedFilterRulesPopover.d.mts +2 -2
- package/dist/ArrayValueControl.d.mts +1 -1
- package/dist/Attribute.d.mts +3 -3
- package/dist/BooleanValueControl.d.mts +1 -1
- package/dist/{Breadcrumb-DtW1R9xW.d.mts → Breadcrumb-CYXkrKXl.d.mts} +1 -1
- package/dist/Breadcrumb.d.mts +1 -1
- package/dist/{Breadcrumbs-B6JyoS8n.d.mts → Breadcrumbs-CP7eUYUy.d.mts} +2 -2
- package/dist/Breadcrumbs.d.mts +1 -1
- package/dist/{Button-HodDf_bB.d.mts → Button-Dhiund3f.d.mts} +4 -4
- package/dist/Button.d.mts +1 -1
- package/dist/{Calendar-DrdTvzAa.d.mts → Calendar-CMeIZ0BO.d.mts} +1 -1
- package/dist/Calendar.d.mts +1 -1
- package/dist/CalendarBase.d.mts +1 -1
- package/dist/{Card-CpDwATnX.d.mts → Card-DCYB_mtR.d.mts} +3 -3
- package/dist/Card.d.mts +1 -1
- package/dist/{Checkbox-CyWXhuby.mjs → Checkbox-AjL7ucoR.mjs} +2 -2
- package/dist/{Checkbox-CyWXhuby.mjs.map → Checkbox-AjL7ucoR.mjs.map} +1 -1
- package/dist/{Checkbox-C-hMfItK.d.mts → Checkbox-fWj7GkBl.d.mts} +1 -1
- package/dist/Checkbox.d.mts +1 -1
- package/dist/CheckboxGroupField.d.mts +1 -1
- package/dist/ChoicesValueControl.d.mts +1 -1
- package/dist/{Combobox-1M6EwVmq.mjs → Combobox-C2b9u955.mjs} +9 -6
- package/dist/Combobox-C2b9u955.mjs.map +1 -0
- package/dist/{Combobox-DyNllwt8.d.mts → Combobox-CC-Osr57.d.mts} +3 -3
- package/dist/Combobox.d.mts +2 -2
- package/dist/{ComboboxBase-B3YqkjQp.d.mts → ComboboxBase-Evo0FRxP.d.mts} +7 -5
- package/dist/ComboboxBase.d.mts +1 -1
- package/dist/{ComboboxMultiSelect-BuwVssvZ.d.mts → ComboboxMultiSelect-CvAc0FT3.d.mts} +2 -2
- package/dist/ComboboxMultiSelect.d.mts +1 -1
- package/dist/{ComboboxSingleSelect-gJC4v7ER.d.mts → ComboboxSingleSelect-CBm7x0oh.d.mts} +4 -4
- package/dist/ComboboxSingleSelect.d.mts +1 -1
- package/dist/{CompactBar-DhHh7Roq.d.mts → CompactBar-D_2qMK4y.d.mts} +3 -3
- package/dist/CompactBar.d.mts +1 -1
- package/dist/{ControlBar-C8kagIck.d.mts → ControlBar-B7j9sOr9.d.mts} +2 -2
- package/dist/ControlBar.d.mts +1 -1
- package/dist/DataTable.d.mts +3 -3
- package/dist/{DateField-2aigfD4u.d.mts → DateField-BamAk9_w.d.mts} +2 -2
- package/dist/DateField.d.mts +1 -1
- package/dist/{DatePicker-DC_RKjdM.d.mts → DatePicker-C3xNSkPG.d.mts} +2 -2
- package/dist/{DatePicker-D9JurBBj.mjs → DatePicker-IgiUI3Wj.mjs} +3 -3
- package/dist/{DatePicker-D9JurBBj.mjs.map → DatePicker-IgiUI3Wj.mjs.map} +1 -1
- package/dist/DatePicker.d.mts +1 -1
- package/dist/{DateRangePicker-ByD6IsLB.d.mts → DateRangePicker-C4QKMo2a.d.mts} +3 -3
- package/dist/DateRangePicker.d.mts +1 -1
- package/dist/DateRangeValueControl.d.mts +2 -2
- package/dist/DateValueControl.d.mts +1 -1
- package/dist/DropdownButton.d.mts +2 -2
- package/dist/{DropdownMenu-Xl1BYXsY.d.mts → DropdownMenu-DL5ye-0m.d.mts} +2 -2
- package/dist/DropdownMenu.d.mts +1 -1
- package/dist/{ErrorProps-Dgu98PkH.d.mts → ErrorProps-BA0-m_Wp.d.mts} +1 -1
- package/dist/ErrorProps.d.mts +1 -1
- package/dist/{FieldRegistry-BdtxI1N2.d.mts → FieldRegistry-bKxrF1gC.d.mts} +2 -2
- package/dist/FieldRegistry.d.mts +1 -1
- package/dist/{FilterBar-jYjPeD7F.d.mts → FilterBar-DhlBLWxw.d.mts} +4 -4
- package/dist/FilterBar.d.mts +1 -1
- package/dist/FilterPickerMenu.d.mts +2 -2
- package/dist/FilterPill.d.mts +1 -1
- package/dist/FilterPopover.d.mts +1 -1
- package/dist/FloatValueControl.d.mts +1 -1
- package/dist/{FormControl-CJfYdgZF.d.mts → FormControl-D5xyPkST.d.mts} +6 -2
- package/dist/{FormControl-BEk4F1EV.mjs → FormControl-DnfZTli_.mjs} +25 -10
- package/dist/FormControl-DnfZTli_.mjs.map +1 -0
- package/dist/FormControl.d.mts +1 -1
- package/dist/FormControlLabel.d.mts +1 -1
- package/dist/{FormField-ByT0avVx.mjs → FormField-74TPV8-8.mjs} +27 -17
- package/dist/FormField-74TPV8-8.mjs.map +1 -0
- package/dist/{FormField-CK8o1sMB.d.mts → FormField-BJZUj6jg.d.mts} +4 -2
- package/dist/FormField.d.mts +1 -1
- package/dist/Grid-DOyYYsvk.mjs +92 -0
- package/dist/Grid-DOyYYsvk.mjs.map +1 -0
- package/dist/Grid.d.mts +4 -1
- package/dist/{Header-ZnHGm8fs.d.mts → Header-BqEKkEp5.d.mts} +1 -1
- package/dist/Header.d.mts +1 -1
- package/dist/{HelperTooltip-CQpPO16Q.d.mts → HelperTooltip-mOVSuEB8.d.mts} +2 -2
- package/dist/HelperTooltip.d.mts +1 -1
- package/dist/{IconButton-zu-VNp1h.d.mts → IconButton-CjPFhpVG.d.mts} +2 -2
- package/dist/IconButton-CqTPMhjV.mjs.map +1 -1
- package/dist/IconButton.d.mts +1 -1
- package/dist/ImageTile.d.mts +1 -1
- package/dist/InlineCombobox.d.mts +1 -1
- package/dist/InlineInput.d.mts +1 -1
- package/dist/{Input-Ce8FvSYf.d.mts → Input-CZ_6KWDN.d.mts} +3 -3
- package/dist/{Input-Bc2yWH3j.mjs → Input-C_3QwAAt.mjs} +2 -2
- package/dist/{Input-Bc2yWH3j.mjs.map → Input-C_3QwAAt.mjs.map} +1 -1
- package/dist/Input.d.mts +1 -1
- package/dist/{InputProps-B1Xod4wm.d.mts → InputProps-lag6BM5h.d.mts} +2 -2
- package/dist/InputProps.d.mts +1 -1
- package/dist/IntegerValueControl.d.mts +1 -1
- package/dist/Link.d.mts +1 -1
- package/dist/{ListBox-CFBhILRy.mjs → ListBox-D4j4LCT3.mjs} +2 -2
- package/dist/{ListBox-CFBhILRy.mjs.map → ListBox-D4j4LCT3.mjs.map} +1 -1
- package/dist/{ListBox-D-8iwYVj.d.mts → ListBox-nYAdYVQx.d.mts} +3 -3
- package/dist/ListBox.d.mts +1 -1
- package/dist/ListBoxField.d.mts +3 -2
- package/dist/LoadingShimmer.d.mts +1 -1
- package/dist/{LogicRow-CgPds2tq.d.mts → LogicRow-k4ZPtjN0.d.mts} +3 -3
- package/dist/LogicRow.d.mts +1 -1
- package/dist/MaskedInput.d.mts +2 -2
- package/dist/{Menu-CSwzFqdv.d.mts → Menu-Bu7-KBhp.d.mts} +3 -3
- package/dist/Menu.d.mts +1 -1
- package/dist/Modal-BN0K8QXi.mjs +258 -0
- package/dist/Modal-BN0K8QXi.mjs.map +1 -0
- package/dist/Modal-Dwq-QBw_.d.mts +145 -0
- package/dist/Modal.d.mts +2 -145
- package/dist/{PageHeader-DJOlcAiW.mjs → PageHeader-BTtm3hRQ.mjs} +1 -1
- package/dist/{PageHeader-DJOlcAiW.mjs.map → PageHeader-BTtm3hRQ.mjs.map} +1 -1
- package/dist/PageHeader.d.mts +1 -1
- package/dist/PageLayoutFrame.d.mts +28 -0
- package/dist/{PageSelector-BMz2Q4P6.d.mts → PageSelector-CeGC84N1.d.mts} +3 -3
- package/dist/PageSelector.d.mts +1 -1
- package/dist/{Pagination-B1u203DE.mjs → Pagination-CPd4mSnw.mjs} +3 -3
- package/dist/{Pagination-B1u203DE.mjs.map → Pagination-CPd4mSnw.mjs.map} +1 -1
- package/dist/{Pagination-ne9hnVoe.d.mts → Pagination-H-CcXrCD.d.mts} +2 -2
- package/dist/Pagination.d.mts +1 -1
- package/dist/{PillShell-ChTB_koa.d.mts → PillShell-BQC-k7Rl.d.mts} +2 -2
- package/dist/PillShell.d.mts +1 -1
- package/dist/ProgressIndicator-3A4Aqci6.mjs +188 -0
- package/dist/ProgressIndicator-3A4Aqci6.mjs.map +1 -0
- package/dist/ProgressIndicator-DbOLOaxJ.d.mts +66 -0
- package/dist/ProgressIndicator.d.mts +2 -66
- package/dist/{PseudoClassProps-CdRF3QNn.d.mts → PseudoClassProps-CHtBNv8B.d.mts} +1 -1
- package/dist/PseudoClassProps.d.mts +1 -1
- package/dist/{Radio-Ds1pODKw.mjs → Radio-Cxt89w8s.mjs} +2 -2
- package/dist/{Radio-Ds1pODKw.mjs.map → Radio-Cxt89w8s.mjs.map} +1 -1
- package/dist/{RadioGroup-HIC9V2hO.mjs → RadioGroup-B6Cg1kdm.mjs} +2 -2
- package/dist/{RadioGroup-HIC9V2hO.mjs.map → RadioGroup-B6Cg1kdm.mjs.map} +1 -1
- package/dist/{RadioGroup-CxL6LW4q.d.mts → RadioGroup-BjrfVPZQ.d.mts} +1 -1
- package/dist/RadioGroup.d.mts +1 -1
- package/dist/{RangeCalendar-B7TwRJbg.d.mts → RangeCalendar-CPnLaM-J.d.mts} +2 -2
- package/dist/RangeCalendar.d.mts +1 -1
- package/dist/RangeCalendarPresets.d.mts +1 -1
- package/dist/{RouterContext-B7N12wkK.d.mts → RouterContext-CbvHIl4K.d.mts} +2 -2
- package/dist/RouterContext.d.mts +1 -1
- package/dist/{RouterLink-Bq36EGjc.d.mts → RouterLink-v9AG9fYa.d.mts} +2 -2
- package/dist/RouterLink.d.mts +1 -1
- package/dist/RuleEditorFields.d.mts +2 -2
- package/dist/RulesPill.d.mts +1 -1
- package/dist/{SearchInput-D69WxMNq.d.mts → SearchInput-CIjwmT8R.d.mts} +2 -2
- package/dist/SearchInput.d.mts +1 -1
- package/dist/SectionHeading.d.mts +1 -1
- package/dist/{SegmentedControl-OHrfJiw0.mjs → SegmentedControl-BcwfLuHA.mjs} +12 -5
- package/dist/SegmentedControl-BcwfLuHA.mjs.map +1 -0
- package/dist/{SegmentedControl-vCnGsdXo.d.mts → SegmentedControl-Crr_aHAs.d.mts} +2 -1
- package/dist/SegmentedControl.d.mts +1 -1
- package/dist/{Select-DE7uv9C8.mjs → Select-BstCz8P1.mjs} +2 -2
- package/dist/{Select-DE7uv9C8.mjs.map → Select-BstCz8P1.mjs.map} +1 -1
- package/dist/{Select-sQb4dQwT.d.mts → Select-CJQeuCiF.d.mts} +3 -3
- package/dist/Select.d.mts +1 -1
- package/dist/SingleColumnLayout.d.mts +16 -0
- package/dist/SplitColumnLayout.d.mts +19 -0
- package/dist/{Stack-8KGPQp0u.d.mts → Stack-RVptVTVi.d.mts} +1 -1
- package/dist/Stack.d.mts +1 -1
- package/dist/{Sticker-Bf9rhSkv.d.mts → Sticker-BVX38LKi.d.mts} +4 -4
- package/dist/Sticker.d.mts +1 -1
- package/dist/StringValueControl.d.mts +1 -1
- package/dist/Tab.d.mts +1 -1
- package/dist/{Table-BefytM6w.d.mts → Table-DFiSWroB.d.mts} +1 -1
- package/dist/Table.d.mts +1 -1
- package/dist/{TableBody-BZ34-_wV.d.mts → TableBody-Di9JYHDN.d.mts} +1 -1
- package/dist/TableBody.d.mts +1 -1
- package/dist/{TableBox-NP6bhtKb.mjs → TableBox-DAQ3Plqx.mjs} +3 -3
- package/dist/{TableBox-NP6bhtKb.mjs.map → TableBox-DAQ3Plqx.mjs.map} +1 -1
- package/dist/TableBox.d.mts +2 -2
- package/dist/{TableBoxCell-CHGw9HVj.d.mts → TableBoxCell-D6h1X5ph.d.mts} +6 -6
- package/dist/TableBoxCell.d.mts +1 -1
- package/dist/TableBoxField.d.mts +4 -3
- package/dist/{TableBoxRow-BljsXKrL.d.mts → TableBoxRow-C6l6J4mq.d.mts} +3 -3
- package/dist/TableBoxRow.d.mts +1 -1
- package/dist/{TableBoxRowActions-h6HNEv9F.d.mts → TableBoxRowActions-CsLN1b1J.d.mts} +2 -2
- package/dist/TableBoxRowActions.d.mts +1 -1
- package/dist/{TableCell-DorRxyke.d.mts → TableCell-WSDXw79Q.d.mts} +2 -2
- package/dist/TableCell.d.mts +1 -1
- package/dist/{TableControls-CYTpBlQN.mjs → TableControls-BxuPCUQS.mjs} +19 -11
- package/dist/TableControls-BxuPCUQS.mjs.map +1 -0
- package/dist/{TableControls-BtGFiZeD.d.mts → TableControls-cswMgBAr.d.mts} +3 -3
- package/dist/TableControls.d.mts +1 -1
- package/dist/{TableControlsContext-C3DYeUmB.d.mts → TableControlsContext-Cbh8wear.d.mts} +2 -2
- package/dist/TableControlsContext.d.mts +1 -1
- package/dist/{TableHead-B0Fdldgw.d.mts → TableHead-CkL1fEg2.d.mts} +1 -1
- package/dist/TableHead.d.mts +1 -1
- package/dist/{TableHeaderCell-C_7X8QAT.d.mts → TableHeaderCell-K9Ry6YqO.d.mts} +1 -1
- package/dist/TableHeaderCell.d.mts +1 -1
- package/dist/{TableLayout-CXVVzq0e.d.mts → TableLayout-CYRGIFEl.d.mts} +1 -1
- package/dist/TableLayout.d.mts +1 -1
- package/dist/{TableRow-Dr61XJNw.d.mts → TableRow-DMHlo1eg.d.mts} +2 -2
- package/dist/TableRow.d.mts +1 -1
- package/dist/TableTH.d.mts +1 -1
- package/dist/{TableViewConfigurationDropdown-CCtwcB3I.d.mts → TableViewConfigurationDropdown-BRbOcVNc.d.mts} +2 -2
- package/dist/TableViewConfigurationDropdown.d.mts +1 -1
- package/dist/{Text-DD_W_ixb.d.mts → Text-B69gp3X_.d.mts} +3 -3
- package/dist/Text.d.mts +1 -1
- package/dist/{TextArea-8TuVvmvj.mjs → TextArea-CcxltuBh.mjs} +2 -2
- package/dist/{TextArea-8TuVvmvj.mjs.map → TextArea-CcxltuBh.mjs.map} +1 -1
- package/dist/{TextArea-DOofaXJi.d.mts → TextArea-Cjsdl07-.d.mts} +2 -2
- package/dist/TextArea.d.mts +1 -1
- package/dist/{TextUnderlineTooltip-BPLKU9wu.d.mts → TextUnderlineTooltip-DDzKLCeX.d.mts} +2 -2
- package/dist/TextUnderlineTooltip.d.mts +1 -1
- package/dist/Tile.d.mts +1 -1
- package/dist/Toast.d.mts +1 -1
- package/dist/{Toggle-2nrUX591.d.mts → Toggle-B5sSdb_q.d.mts} +3 -1
- package/dist/{Toggle-Dcn2Rqgm.mjs → Toggle-DWbJOwf3.mjs} +4 -3
- package/dist/Toggle-DWbJOwf3.mjs.map +1 -0
- package/dist/Toggle.d.mts +1 -1
- package/dist/{Tooltip-Cnqf1-tx.d.mts → Tooltip-x1pFf-Mj.d.mts} +2 -2
- package/dist/Tooltip.d.mts +1 -1
- package/dist/{TruncatedText-g2T5HlqX.d.mts → TruncatedText-BE8FuEQm.d.mts} +1 -1
- package/dist/WizardModal.d.mts +41 -0
- package/dist/accordionTitleTypography-BYhjSN9t.d.mts +17 -0
- package/dist/accordionTitleTypography.d.mts +2 -0
- package/dist/{codec-CoX6LfOY.d.mts → codec-BcgsGCHE.d.mts} +2 -2
- package/dist/codec.d.mts +1 -1
- package/dist/{color-Bt0Lv1e3.d.mts → color-LH7zKfKo.d.mts} +2 -2
- package/dist/components/Accordion/index.d.mts +4 -0
- package/dist/components/Accordion/index.mjs +330 -0
- package/dist/components/Accordion/index.mjs.map +1 -0
- package/dist/components/Breadcrumbs/index.d.mts +1 -1
- package/dist/components/Button/index.d.mts +2 -2
- package/dist/components/ButtonGroup/index.mjs +1 -1
- package/dist/components/Card/index.d.mts +2 -2
- package/dist/components/CardV2/index.d.mts +1 -1
- package/dist/components/Checkbox/index.d.mts +1 -1
- package/dist/components/Checkbox/index.mjs +1 -1
- package/dist/components/Combobox/index.d.mts +2 -2
- package/dist/components/Combobox/index.mjs +1 -1
- package/dist/components/DataTable/TableControls/index.d.mts +19 -19
- package/dist/components/DataTable/TableControls/index.mjs +1 -1
- package/dist/components/DataTable/index.mjs +3 -3
- package/dist/components/DataTable/index.mjs.map +1 -1
- package/dist/components/DataTable/types.d.mts +2 -2
- package/dist/components/DatePicker/index.d.mts +5 -5
- package/dist/components/DatePicker/index.mjs +1 -1
- package/dist/components/DropdownMenu/index.d.mts +1 -1
- package/dist/components/FormControl/index.d.mts +2 -2
- package/dist/components/FormControl/index.mjs +2 -2
- package/dist/components/FormField/index.d.mts +1 -1
- package/dist/components/FormField/index.mjs +1 -1
- package/dist/components/Grid/index.d.mts +2 -2
- package/dist/components/Grid/index.mjs +2 -85
- package/dist/components/ImageTile/index.mjs +1 -1
- package/dist/components/Input/index.d.mts +1 -1
- package/dist/components/Input/index.mjs +1 -1
- package/dist/components/Link/index.mjs.map +1 -1
- package/dist/components/ListBox/index.d.mts +3 -3
- package/dist/components/ListBox/index.mjs +1 -1
- package/dist/components/MaskedInput/index.mjs +1 -1
- package/dist/components/Menu/index.d.mts +1 -1
- package/dist/components/Modal/index.d.mts +1 -1
- package/dist/components/Modal/index.mjs +1 -257
- package/dist/components/PageHeader/index.mjs +1 -1
- package/dist/components/Pagination/index.d.mts +3 -3
- package/dist/components/Pagination/index.mjs +1 -1
- package/dist/components/ProgressIndicator/index.d.mts +2 -2
- package/dist/components/ProgressIndicator/index.mjs +1 -187
- package/dist/components/Radio/index.mjs +1 -1
- package/dist/components/RadioGroup/index.d.mts +1 -1
- package/dist/components/RadioGroup/index.mjs +1 -1
- package/dist/components/SegmentedControl/index.d.mts +1 -1
- package/dist/components/SegmentedControl/index.mjs +1 -1
- package/dist/components/Select/index.d.mts +1 -1
- package/dist/components/Select/index.mjs +1 -1
- package/dist/components/Stack/index.d.mts +1 -1
- package/dist/components/Sticker/index.d.mts +1 -1
- package/dist/components/Table/index.d.mts +8 -8
- package/dist/components/TableBox/index.d.mts +2 -2
- package/dist/components/TableBox/index.mjs +1 -1
- package/dist/components/Text/index.d.mts +1 -1
- package/dist/components/TextArea/index.d.mts +1 -1
- package/dist/components/TextArea/index.mjs +1 -1
- package/dist/components/Toggle/index.d.mts +1 -1
- package/dist/components/Toggle/index.mjs +1 -1
- package/dist/components/Tooltip/index.d.mts +3 -3
- package/dist/components/WizardModal/index.d.mts +2 -0
- package/dist/components/WizardModal/index.mjs +106 -0
- package/dist/components/WizardModal/index.mjs.map +1 -0
- package/dist/compound-expression.d.mts +1 -1
- package/dist/{constants-D8bzZ-7B.d.mts → constants-BpwnTzcv.d.mts} +1 -1
- package/dist/constants.d.mts +1 -1
- package/dist/{createPath-BDYRvl57.d.mts → createPath-Bst12Uxr.d.mts} +2 -2
- package/dist/createPath.d.mts +1 -1
- package/dist/{date-range-rule-value-jZAHuxZJ.d.mts → date-range-rule-value-C4ir2Y8W.d.mts} +2 -2
- package/dist/date-range-rule-value.d.mts +1 -1
- package/dist/{date-rule-intent-CC1LdkE7.d.mts → date-rule-intent-gKmuxMVA.d.mts} +3 -3
- package/dist/date-rule-intent.d.mts +1 -1
- package/dist/display.d.mts +1 -1
- package/dist/fieldPickerOptions.d.mts +2 -2
- package/dist/{filter-size-context-BGczB5R9.d.mts → filter-size-context-BOpH6pBm.d.mts} +2 -2
- package/dist/filter-size-context.d.mts +1 -1
- package/dist/helpers.d.mts +1 -1
- package/dist/{index-BZmGEbsA.d.mts → index-BXdrzR0c.d.mts} +3 -3
- package/dist/{index-DalP_w0c.d.mts → index-C2-PBfN3.d.mts} +2 -2
- package/dist/{index-BRKXhLGa.d.mts → index-c0aXmZV9.d.mts} +2 -2
- package/dist/index-dhjtMp5F.d.mts +1 -0
- package/dist/index-xmouCHX9.d.mts +1 -0
- package/dist/index.d.mts +1 -1
- package/dist/index2.d.mts +1 -1
- package/dist/index3.d.mts +3 -3
- package/dist/index4.d.mts +1 -1
- package/dist/index5.d.mts +14 -14
- package/dist/{input-DCJivcWf.d.mts → input-DVJhMlxU.d.mts} +3 -3
- package/dist/inputFields.d.mts +14 -12
- package/dist/{jsonSchema-c_EfAj8y.d.mts → jsonSchema-DmdZYC4a.d.mts} +35 -11
- package/dist/lib/PDSProvider.d.mts +2 -2
- package/dist/lib/TruncatedText.d.mts +1 -1
- package/dist/lib/TruncatedTextWithTooltip.d.mts +1 -1
- package/dist/lib/color.d.mts +1 -1
- package/dist/lib/date-filter/index.d.mts +2 -2
- package/dist/lib/jsonSchema.d.mts +2 -2
- package/dist/lib/jsonSchema.mjs +10 -10
- package/dist/lib/jsonSchema.mjs.map +1 -1
- package/dist/lib/message.d.mts +1 -1
- package/dist/lib/methodChain.d.mts +1 -1
- package/dist/lib/objectSchemaTypes.d.mts +1 -1
- package/dist/lib/pseudoClass.d.mts +1 -1
- package/dist/lib/router/adapters/reactRouter.d.mts +1 -1
- package/dist/lib/router/adapters/tanstack.d.mts +1 -1
- package/dist/lib/router/index.d.mts +5 -5
- package/dist/lib/semanticColor.d.mts +1 -1
- package/dist/{message-CjIHdhX1.d.mts → message-CKSLIKF0.d.mts} +1 -1
- package/dist/mixins/focus.d.mts +1 -1
- package/dist/mixins/hoverable.d.mts +2 -2
- package/dist/mixins/input.d.mts +1 -1
- package/dist/mixins/menuItem.d.mts +2 -2
- package/dist/mixins/text.d.mts +1 -1
- package/dist/{operators-x_ZENhrT.d.mts → operators-1_jTgYRX.d.mts} +2 -2
- package/dist/operators.d.mts +1 -1
- package/dist/{palette-qgPRWgUN.d.mts → palette-CMOEyNPH.d.mts} +3 -3
- package/dist/palette.d.mts +1 -1
- package/dist/patterns/LayoutLoadingShimmer/index.mjs +1 -1
- package/dist/patterns/PageLayout/index.d.mts +4 -1
- package/dist/patterns/PageLayout/index.mjs +99 -2
- package/dist/patterns/PageLayout/index.mjs.map +1 -1
- package/dist/reactRouterFallback.d.mts +1 -1
- package/dist/relative-date-label.d.mts +1 -1
- package/dist/scrollExpandedItemIntoView.d.mts +12 -0
- package/dist/{semantic-DUctmpu_.d.mts → semantic-BXwNUd4a.d.mts} +1 -1
- package/dist/{semanticColor-IAhXS17y.d.mts → semanticColor-Cru2gSys.d.mts} +3 -3
- package/dist/{text-DjTGRUM1.d.mts → text-CxIup7HJ.d.mts} +1 -1
- package/dist/{theme-DKiszVRN.d.mts → theme-CW6qlONZ.d.mts} +3 -3
- package/dist/theme.d.mts +1 -1
- package/dist/tone.d.mts +3 -3
- package/dist/{types-gnF3MPfk2.d.mts → types-3iEDsymE.d.mts} +2 -2
- package/dist/{types-CuQSgl1F.d.mts → types-B-stjYNc.d.mts} +1 -1
- package/dist/{types-N8PYonjD.d.mts → types-BEjWTkZV.d.mts} +2 -2
- package/dist/{types-CcZbBH0e.d.mts → types-ChkiGhjQ.d.mts} +1 -1
- package/dist/{types-D8rWSj3z.d.mts → types-YojUycQK.d.mts} +1 -1
- package/dist/{types-RWjW1d9I.d.mts → types-g-aqbnek.d.mts} +1 -1
- package/dist/types.d.mts +1 -1
- package/dist/types2.d.mts +1 -1
- package/dist/types3.d.mts +1 -1
- package/dist/types4.d.mts +1 -1
- package/dist/types5.d.mts +1 -1
- package/dist/types6.d.mts +1 -1
- package/dist/{url-state-C2gl07_y.d.mts → url-state-CHK2N2fA.d.mts} +2 -2
- package/dist/url-state.d.mts +1 -1
- package/dist/useComboboxFooterAction.d.mts +1 -1
- package/dist/{useFilterStateV2-BQYcAdKR.d.mts → useFilterStateV2-B26e5iUx.d.mts} +3 -3
- package/dist/useFilterStateV2.d.mts +1 -1
- package/dist/{useFormField-DsvC5dOb.mjs → useFormField-BzhMbl5P.mjs} +2 -1
- package/dist/useFormField-BzhMbl5P.mjs.map +1 -0
- package/dist/{useFormField-DDbo-ExT.d.mts → useFormField-DPFClB5h.d.mts} +4 -2
- package/dist/useFormField.d.mts +1 -1
- package/dist/{useLocationPathname-K2N4fw8j.d.mts → useLocationPathname-CnRd_Rzn.d.mts} +1 -1
- package/dist/useLocationPathname.d.mts +1 -1
- package/dist/{useTableBoxDragAndDrop-CbbH3pMK.d.mts → useTableBoxDragAndDrop-DWlG5vhl.d.mts} +1 -1
- package/dist/useTableBoxDragAndDrop.d.mts +1 -1
- package/dist/useTruncation.d.mts +1 -1
- package/dist/{utilities-D0EhDri-.d.mts → utilities-BcGuP8Fd.d.mts} +1 -1
- package/dist/utilities.d.mts +1 -1
- package/dist/utils/testing.d.mts +1 -1
- package/dist/utils/testing.mjs.map +1 -1
- package/dist/utils.d.mts +1 -1
- package/dist/{validation-CMtfUd-R.d.mts → validation-B-Om4ANo.d.mts} +3 -3
- package/dist/validation.d.mts +1 -1
- package/dist/{value-control-resolver-Au9JNS5z.d.mts → value-control-resolver-BiyhB8zt.d.mts} +2 -2
- package/dist/value-control-resolver.d.mts +1 -1
- package/dist/variables/effect.d.mts +1 -1
- package/dist/variables/semantic.d.mts +1 -1
- package/llms.txt +10 -1
- package/package.json +5 -3
- package/skills/ui-authoring/COMPONENTS.md +5 -1
- package/skills/ui-authoring/PATTERNS.md +74 -115
- package/dist/Combobox-1M6EwVmq.mjs.map +0 -1
- package/dist/FormControl-BEk4F1EV.mjs.map +0 -1
- package/dist/FormField-ByT0avVx.mjs.map +0 -1
- package/dist/SegmentedControl-OHrfJiw0.mjs.map +0 -1
- package/dist/TableControls-CYTpBlQN.mjs.map +0 -1
- package/dist/Toggle-Dcn2Rqgm.mjs.map +0 -1
- package/dist/components/Grid/index.mjs.map +0 -1
- package/dist/components/Modal/index.mjs.map +0 -1
- package/dist/components/ProgressIndicator/index.mjs.map +0 -1
- package/dist/fieldSchemaTypes-BVYSm74B.d.mts +0 -39
- package/dist/lib/fieldSchemaTypes.d.mts +0 -2
- package/dist/lib/fieldSchemaTypes.mjs +0 -41
- package/dist/lib/fieldSchemaTypes.mjs.map +0 -1
- package/dist/useFormField-DsvC5dOb.mjs.map +0 -1
- /package/dist/{index-B33elXxm.d.mts → index-BCh-G39Y2.d.mts} +0 -0
- /package/dist/{index-B_BBnMou.d.mts → index-BMBcfD_R.d.mts} +0 -0
- /package/dist/{index-BrGZHEgX.d.mts → index-BOn0AAue.d.mts} +0 -0
- /package/dist/{index-BwAfCVZH2.d.mts → index-BcsXXrHq.d.mts} +0 -0
- /package/dist/{index-C6HcjJiY.d.mts → index-BwFl_eS0.d.mts} +0 -0
- /package/dist/{index-CX869wwk.d.mts → index-C-lwXyQ6.d.mts} +0 -0
- /package/dist/{index-CjDodOH2.d.mts → index-C1o2TFfS.d.mts} +0 -0
- /package/dist/{index-CsuikFeJ.d.mts → index-C3kE54DD.d.mts} +0 -0
- /package/dist/{index-CzItj62a.d.mts → index-CREkvfw9.d.mts} +0 -0
- /package/dist/{index-D13oYj4_.d.mts → index-CfCYi7PF.d.mts} +0 -0
- /package/dist/{index-D4DUvwPf.d.mts → index-DCTy4zg0.d.mts} +0 -0
- /package/dist/{index-DMRtRo7y.d.mts → index-DWIh4oP5.d.mts} +0 -0
- /package/dist/{index-DXJd7-2Z.d.mts → index-De7MV8-j.d.mts} +0 -0
- /package/dist/{index-DZlqSwCF.d.mts → index-DgJfEygr.d.mts} +0 -0
- /package/dist/{index-DeVKzGce.d.mts → index-DrK1_jKY.d.mts} +0 -0
- /package/dist/{index-Deol7ZWO.d.mts → index-Es5nKSSL.d.mts} +0 -0
- /package/dist/{index-DztUdPP_.d.mts → index-Qwqzz3XM.d.mts} +0 -0
- /package/dist/{index-Rvd9MEUQ.d.mts → index-Wc1llEvP.d.mts} +0 -0
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { a as styled } from "./styledComponentsInterop-NxwFjeA4.mjs";
|
|
2
|
+
import { semanticColor, semanticOnly } from "./lib/semanticColor.mjs";
|
|
3
|
+
import { t as Card_default } from "./Card-Dz6jqJuJ.mjs";
|
|
4
|
+
import { n as Heading$1 } from "./Text-BdluS7Fy.mjs";
|
|
5
|
+
import useEmbeddedSurface, { useEmbeddedSurfaceGate, useEmbeddedSurfaceId } from "./lib/useEmbeddedSurface.mjs";
|
|
6
|
+
import useModalInsetRight from "./lib/useModalInsetRight.mjs";
|
|
7
|
+
import { n as Stack, t as HStack } from "./Stack-ChsImaEY.mjs";
|
|
8
|
+
import { n as Button$1 } from "./IconButton-CqTPMhjV.mjs";
|
|
9
|
+
import { i as TabBar, r as Tab } from "./TabBar-BepWbJHz.mjs";
|
|
10
|
+
import { Color, Spacing } from "@persona/design-tokens";
|
|
11
|
+
import { forwardRef, useContext, useEffect, useState } from "react";
|
|
12
|
+
import { Button, Dialog, DialogTrigger, Heading, Modal, ModalOverlay, OverlayTriggerStateContext, Pressable } from "react-aria-components";
|
|
13
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
import { XIcon } from "@persona/icons";
|
|
15
|
+
//#region components/Modal/Modal.tsx
|
|
16
|
+
const StyledModalOverlay = styled(ModalOverlay)`
|
|
17
|
+
@keyframes overlayShow {
|
|
18
|
+
from {
|
|
19
|
+
opacity: 0;
|
|
20
|
+
}
|
|
21
|
+
to {
|
|
22
|
+
opacity: 1;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
26
|
+
position: fixed;
|
|
27
|
+
top: 0;
|
|
28
|
+
bottom: 0;
|
|
29
|
+
left: 0;
|
|
30
|
+
right: ${({ $insetRight }) => $insetRight};
|
|
31
|
+
transition: right ${({ $transitionMs }) => $transitionMs}ms ease-out;
|
|
32
|
+
animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
33
|
+
animation-delay: ${({ $animationDelayMs }) => $animationDelayMs}ms;
|
|
34
|
+
animation-fill-mode: both;
|
|
35
|
+
${({ $hostPending }) => $hostPending && `
|
|
36
|
+
animation-play-state: paused;
|
|
37
|
+
`}
|
|
38
|
+
@media (prefers-reduced-motion: reduce) {
|
|
39
|
+
animation-duration: 0ms;
|
|
40
|
+
animation-delay: 0ms;
|
|
41
|
+
animation-play-state: running;
|
|
42
|
+
}
|
|
43
|
+
z-index: 10000;
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
justify-content: center;
|
|
47
|
+
`;
|
|
48
|
+
const StyledModal = styled(Modal)`
|
|
49
|
+
z-index: 10001;
|
|
50
|
+
outline: none;
|
|
51
|
+
width: fit-content;
|
|
52
|
+
max-width: 100%;
|
|
53
|
+
${semanticOnly((tokens) => `color: ${tokens.FgPrimary};`)}
|
|
54
|
+
`;
|
|
55
|
+
/**
|
|
56
|
+
* React Aria keeps the overlay mounted through the exit animation, so announcing the surface from
|
|
57
|
+
* here — rather than from the persistent gate below — releases the host's backdrop exactly when the
|
|
58
|
+
* modal stops being painted.
|
|
59
|
+
*/
|
|
60
|
+
const EmbeddedSurfaceModal = forwardRef(function EmbeddedSurfaceModal({ children, surfaceId }, ref) {
|
|
61
|
+
useEmbeddedSurface(surfaceId);
|
|
62
|
+
return /* @__PURE__ */ jsx(StyledModal, {
|
|
63
|
+
ref,
|
|
64
|
+
children
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
const EmbeddedSurfaceOverlay = ({ surfaceId, ...props }) => {
|
|
68
|
+
const isOpen = useContext(OverlayTriggerStateContext)?.isOpen ?? false;
|
|
69
|
+
const { ready, animationDelayMs } = useEmbeddedSurfaceGate(surfaceId, isOpen);
|
|
70
|
+
const { $insetRight, $transitionMs, ...overlayProps } = props;
|
|
71
|
+
return /* @__PURE__ */ jsx(StyledModalOverlay, {
|
|
72
|
+
...overlayProps,
|
|
73
|
+
$insetRight,
|
|
74
|
+
$transitionMs,
|
|
75
|
+
$animationDelayMs: animationDelayMs,
|
|
76
|
+
$hostPending: isOpen && !ready
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
const ModalCloseButton = styled(Button$1)`
|
|
80
|
+
display: inline-flex;
|
|
81
|
+
padding: ${Spacing[2]};
|
|
82
|
+
border-radius: ${Spacing[1]};
|
|
83
|
+
width: fit-content;
|
|
84
|
+
min-width: unset;
|
|
85
|
+
`;
|
|
86
|
+
const ModalFooter = styled(HStack).attrs({
|
|
87
|
+
justify: "flex-end",
|
|
88
|
+
align: "center",
|
|
89
|
+
spacing: Spacing[2]
|
|
90
|
+
})`
|
|
91
|
+
padding: ${Spacing[3]} ${Spacing[4]};
|
|
92
|
+
border-top: 1px solid ${({ theme }) => semanticColor(theme, "BorderSubtle", Color.BorderDivider)};
|
|
93
|
+
`;
|
|
94
|
+
const ModalHeaderTitle = styled.div`
|
|
95
|
+
flex: 1;
|
|
96
|
+
`;
|
|
97
|
+
const ModalTrigger = DialogTrigger;
|
|
98
|
+
const ModalContent = StyledModal;
|
|
99
|
+
const ModalClose = (props) => {
|
|
100
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
101
|
+
slot: "close",
|
|
102
|
+
style: {
|
|
103
|
+
all: "unset",
|
|
104
|
+
display: "contents"
|
|
105
|
+
},
|
|
106
|
+
children: /* @__PURE__ */ jsx(ModalCloseButton, {
|
|
107
|
+
variant: "text",
|
|
108
|
+
width: "icon",
|
|
109
|
+
size: "md",
|
|
110
|
+
...props,
|
|
111
|
+
children: /* @__PURE__ */ jsx(XIcon, {})
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
const ModalTitle = ({ children, ...props }) => {
|
|
116
|
+
return /* @__PURE__ */ jsx(Heading$1, {
|
|
117
|
+
size: "sm",
|
|
118
|
+
color: "primary",
|
|
119
|
+
as: Heading,
|
|
120
|
+
slot: "title",
|
|
121
|
+
...props,
|
|
122
|
+
children
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
const ModalHeader = styled(HStack)`
|
|
126
|
+
border-bottom: ${({ $hasTabs, theme }) => $hasTabs ? "none" : `1px solid ${semanticColor(theme, "BorderSubtle", Color.BorderDivider)}`};
|
|
127
|
+
padding: ${({ $hasTabs }) => $hasTabs ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}` : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`};
|
|
128
|
+
`;
|
|
129
|
+
const ModalTabBar = styled(TabBar)`
|
|
130
|
+
padding-left: ${Spacing[4]};
|
|
131
|
+
`;
|
|
132
|
+
const StyledDialog = styled(Dialog)`
|
|
133
|
+
outline: none;
|
|
134
|
+
`;
|
|
135
|
+
const StyledCard = styled(Card_default)`
|
|
136
|
+
position: relative;
|
|
137
|
+
width: ${({ $size }) => {
|
|
138
|
+
switch ($size) {
|
|
139
|
+
case "auto": return "auto";
|
|
140
|
+
case "full": return "calc(100vw - 160px)";
|
|
141
|
+
default: return "90vw";
|
|
142
|
+
}
|
|
143
|
+
}};
|
|
144
|
+
max-width: ${({ theme, $size }) => {
|
|
145
|
+
switch ($size) {
|
|
146
|
+
case "auto": return "auto";
|
|
147
|
+
case "full": return "calc(100vw - 160px)";
|
|
148
|
+
default: return theme.modal.width[$size];
|
|
149
|
+
}
|
|
150
|
+
}};
|
|
151
|
+
/* TODO: Use breakpoints to make this responsive */
|
|
152
|
+
max-height: ${({ $size }) => $size === "full" ? "calc(100vh - 160px)" : "85vh"};
|
|
153
|
+
display: flex;
|
|
154
|
+
flex-direction: column;
|
|
155
|
+
overflow: hidden;
|
|
156
|
+
${({ $size }) => $size === "full" && `
|
|
157
|
+
height: calc(100vh - 160px);
|
|
158
|
+
`}
|
|
159
|
+
margin-bottom: 0;
|
|
160
|
+
`;
|
|
161
|
+
const StyledModalCardBody = styled(Card_default.Body)`
|
|
162
|
+
overflow-y: auto;
|
|
163
|
+
flex: 1;
|
|
164
|
+
min-height: 0;
|
|
165
|
+
${({ $noPadding }) => $noPadding ? "padding: 0;" : `
|
|
166
|
+
padding-left: ${Spacing[4]};
|
|
167
|
+
padding-right: ${Spacing[4]};
|
|
168
|
+
`}
|
|
169
|
+
${({ $hidden }) => $hidden && "display: none;"}
|
|
170
|
+
`;
|
|
171
|
+
/**
|
|
172
|
+
* Card to be used in Modal contexts. Inherits props from react-aria-components Dialog.
|
|
173
|
+
*/
|
|
174
|
+
const ModalCard = forwardRef(function ModalCard({ title, children, showCloseButton = true, size, footer, tabs, noBodyPadding = false, portalContainer, ...props }, ref) {
|
|
175
|
+
const [selectedTabIdx, setSelectedTabIdx] = useState(0);
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
setSelectedTabIdx(0);
|
|
178
|
+
}, [tabs?.length ?? 0]);
|
|
179
|
+
const titleAndClose = /* @__PURE__ */ jsxs(ModalHeader, {
|
|
180
|
+
justify: "flex-start",
|
|
181
|
+
align: "center",
|
|
182
|
+
spacing: Spacing[2],
|
|
183
|
+
$hasTabs: Boolean(tabs),
|
|
184
|
+
children: [/* @__PURE__ */ jsx(ModalHeaderTitle, { children: title ? /* @__PURE__ */ jsx(ModalTitle, { children: title }) : null }), showCloseButton && /* @__PURE__ */ jsx(ModalClose, { "aria-label": "Close" })]
|
|
185
|
+
});
|
|
186
|
+
const modalHeader = tabs ? /* @__PURE__ */ jsxs(Stack, { children: [titleAndClose, /* @__PURE__ */ jsx(ModalTabBar, { children: tabs.map((tab, idx) => /* @__PURE__ */ jsx(Tab, {
|
|
187
|
+
selected: selectedTabIdx === idx,
|
|
188
|
+
id: `pds-modal_tab-${idx}`,
|
|
189
|
+
onClick: () => setSelectedTabIdx(idx),
|
|
190
|
+
"aria-controls": `pds-modal_tab-panel-${idx}`,
|
|
191
|
+
children: tab.name
|
|
192
|
+
}, tab.name)) })] }) : titleAndClose;
|
|
193
|
+
return /* @__PURE__ */ jsx(StyledDialog, {
|
|
194
|
+
...props,
|
|
195
|
+
ref,
|
|
196
|
+
children: /* @__PURE__ */ jsxs(StyledCard, {
|
|
197
|
+
elevated: true,
|
|
198
|
+
$size: size,
|
|
199
|
+
children: [
|
|
200
|
+
(showCloseButton || title) && modalHeader,
|
|
201
|
+
tabs ? tabs.map((tab, idx) => /* @__PURE__ */ jsx(StyledModalCardBody, {
|
|
202
|
+
$noPadding: noBodyPadding,
|
|
203
|
+
$hidden: selectedTabIdx !== idx,
|
|
204
|
+
role: tabs ? "tabpanel" : void 0,
|
|
205
|
+
id: `pds-modal_tab-panel-${tab.name}`,
|
|
206
|
+
"aria-labelledby": `pds-modal_tab-${tab.name}`,
|
|
207
|
+
children: typeof tab.contents === "function" ? tab.contents({ portalContainer }) : tab.contents
|
|
208
|
+
}, tab.name)) : /* @__PURE__ */ jsx(StyledModalCardBody, {
|
|
209
|
+
$noPadding: noBodyPadding,
|
|
210
|
+
role: tabs ? "tabpanel" : void 0,
|
|
211
|
+
id: `pds-modal_tab-panel-${selectedTabIdx}`,
|
|
212
|
+
"aria-labelledby": `pds-modal_tab-${selectedTabIdx}`,
|
|
213
|
+
children
|
|
214
|
+
}),
|
|
215
|
+
footer && /* @__PURE__ */ jsx(ModalFooter, { children: footer })
|
|
216
|
+
]
|
|
217
|
+
})
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
const Modal$1 = ({ children, trigger, contentProps, noBodyPadding = false, size = "md", title, footer, tabs, defaultOpen, onOpenChange, isDismissable = false, isKeyboardDismissDisabled = false, open }) => {
|
|
221
|
+
const [portalContainer, setPortalContainer] = useState(null);
|
|
222
|
+
const surfaceId = useEmbeddedSurfaceId();
|
|
223
|
+
const { insetRight: modalInsetRight, panelState } = useModalInsetRight();
|
|
224
|
+
const transitionMs = panelState === "opening" ? 425 : panelState === "closing" ? 200 : 0;
|
|
225
|
+
const content = /* @__PURE__ */ jsx(ModalCard, {
|
|
226
|
+
size,
|
|
227
|
+
title,
|
|
228
|
+
footer,
|
|
229
|
+
tabs,
|
|
230
|
+
noBodyPadding,
|
|
231
|
+
...contentProps,
|
|
232
|
+
portalContainer,
|
|
233
|
+
children: typeof children === "function" ? children({ portalContainer }) : children
|
|
234
|
+
});
|
|
235
|
+
return /* @__PURE__ */ jsxs(DialogTrigger, {
|
|
236
|
+
isOpen: open,
|
|
237
|
+
defaultOpen,
|
|
238
|
+
onOpenChange,
|
|
239
|
+
children: [trigger ? /* @__PURE__ */ jsx(Pressable, { children: trigger }) : null, /* @__PURE__ */ jsx(EmbeddedSurfaceOverlay, {
|
|
240
|
+
surfaceId,
|
|
241
|
+
$insetRight: modalInsetRight,
|
|
242
|
+
$transitionMs: transitionMs,
|
|
243
|
+
isDismissable,
|
|
244
|
+
isKeyboardDismissDisabled,
|
|
245
|
+
shouldCloseOnInteractOutside: (element) => !element.closest("[data-react-aria-top-layer]"),
|
|
246
|
+
children: /* @__PURE__ */ jsx(EmbeddedSurfaceModal, {
|
|
247
|
+
ref: setPortalContainer,
|
|
248
|
+
surfaceId,
|
|
249
|
+
children: content
|
|
250
|
+
})
|
|
251
|
+
})]
|
|
252
|
+
});
|
|
253
|
+
};
|
|
254
|
+
var Modal_default = Object.assign(Modal$1, { Title: ModalTitle });
|
|
255
|
+
//#endregion
|
|
256
|
+
export { Modal_default as i, ModalContent as n, ModalTrigger as r, ModalClose as t };
|
|
257
|
+
|
|
258
|
+
//# sourceMappingURL=Modal-BN0K8QXi.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal-BN0K8QXi.mjs","names":["AriaModal","Button","AriaButton","Heading","AriaHeading","Card","Modal"],"sources":["../components/Modal/Modal.tsx"],"sourcesContent":["import {\n forwardRef,\n type ComponentProps,\n type ComponentPropsWithoutRef,\n type ReactNode,\n useContext,\n useEffect,\n useState,\n} from 'react';\nimport {\n Button as AriaButton,\n Dialog,\n DialogTrigger,\n Heading as AriaHeading,\n Modal as AriaModal,\n ModalOverlay,\n type ModalOverlayProps,\n OverlayTriggerStateContext,\n Pressable,\n} from 'react-aria-components';\nimport styled from 'styled-components';\n\nimport Button, { type ButtonProps } from '@persona/design-system/components/Button';\nimport Card from '@persona/design-system/components/Card';\nimport Stack, { HStack } from '@persona/design-system/components/Stack';\nimport TabBar, { Tab } from '@persona/design-system/components/TabBar';\nimport { Heading } from '@persona/design-system/components/Text';\nimport { Color, Spacing } from '@persona/design-tokens';\nimport { XIcon } from '@persona/icons';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\nimport useEmbeddedSurface, {\n useEmbeddedSurfaceGate,\n useEmbeddedSurfaceId,\n} from 'design-system/lib/useEmbeddedSurface';\nimport useModalInsetRight, {\n SIDEBAR_CLOSE_TRANSITION_MS,\n SIDEBAR_OPEN_TRANSITION_MS,\n} from 'design-system/lib/useModalInsetRight';\n\nconst StyledModalOverlay = styled(ModalOverlay)<{\n $hostPending: boolean;\n $animationDelayMs: number;\n $insetRight: string;\n $transitionMs: number;\n}>`\n @keyframes overlayShow {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n background-color: rgba(0, 0, 0, 0.5);\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: ${({ $insetRight }) => $insetRight};\n transition: right ${({ $transitionMs }) => $transitionMs}ms ease-out;\n animation: overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1);\n animation-delay: ${({ $animationDelayMs }) => $animationDelayMs}ms;\n animation-fill-mode: both;\n ${({ $hostPending }) =>\n $hostPending &&\n `\n animation-play-state: paused;\n `}\n @media (prefers-reduced-motion: reduce) {\n animation-duration: 0ms;\n animation-delay: 0ms;\n animation-play-state: running;\n }\n z-index: 10000;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst StyledModal = styled(AriaModal)`\n z-index: 10001;\n outline: none;\n width: fit-content;\n max-width: 100%;\n ${semanticOnly((tokens) => `color: ${tokens.FgPrimary};`)}\n`;\n\n/**\n * React Aria keeps the overlay mounted through the exit animation, so announcing the surface from\n * here — rather than from the persistent gate below — releases the host's backdrop exactly when the\n * modal stops being painted.\n */\nconst EmbeddedSurfaceModal = forwardRef<HTMLDivElement, { children: ReactNode; surfaceId: string }>(\n function EmbeddedSurfaceModal({ children, surfaceId }, ref) {\n useEmbeddedSurface(surfaceId);\n return <StyledModal ref={ref}>{children}</StyledModal>;\n },\n);\n\ntype EmbeddedSurfaceOverlayProps = ModalOverlayProps & {\n $insetRight: string;\n $transitionMs: number;\n surfaceId: string;\n};\n\nconst EmbeddedSurfaceOverlay = ({ surfaceId, ...props }: EmbeddedSurfaceOverlayProps) => {\n const state = useContext(OverlayTriggerStateContext);\n const isOpen = state?.isOpen ?? false;\n const { ready, animationDelayMs } = useEmbeddedSurfaceGate(surfaceId, isOpen);\n\n const { $insetRight, $transitionMs, ...overlayProps } = props;\n return (\n <StyledModalOverlay\n {...overlayProps}\n $insetRight={$insetRight}\n $transitionMs={$transitionMs}\n $animationDelayMs={animationDelayMs}\n $hostPending={isOpen && !ready}\n />\n );\n};\n\nconst ModalCloseButton = styled(Button)`\n display: inline-flex;\n padding: ${Spacing[2]};\n border-radius: ${Spacing[1]};\n width: fit-content;\n min-width: unset;\n`;\n\nconst ModalFooter = styled(HStack).attrs({\n justify: 'flex-end',\n align: 'center',\n spacing: Spacing[2],\n})`\n padding: ${Spacing[3]} ${Spacing[4]};\n border-top: 1px solid ${({ theme }) => semanticColor(theme, 'BorderSubtle', Color.BorderDivider)};\n`;\n\nconst ModalHeaderTitle = styled.div`\n flex: 1;\n`;\n\nexport const ModalTrigger = DialogTrigger;\nexport const ModalContent = StyledModal;\n\nexport const ModalClose = (props: ButtonProps) => {\n return (\n <AriaButton slot='close' style={{ all: 'unset', display: 'contents' }}>\n <ModalCloseButton variant='text' width='icon' size='md' {...props}>\n <XIcon />\n </ModalCloseButton>\n </AriaButton>\n );\n};\n\nexport interface ModalTitleProps {\n children: ReactNode;\n className?: string;\n}\n\n/** Props passed to modal content render functions. */\nexport interface ModalRenderProps {\n /** Element that floating content should use as its portal container. */\n portalContainer: HTMLDivElement | null;\n}\n\ntype ModalRenderable = ReactNode | ((props: ModalRenderProps) => ReactNode);\n\nconst ModalTitle = ({ children, ...props }: ModalTitleProps) => {\n return (\n <Heading size='sm' color='primary' as={AriaHeading} slot='title' {...props}>\n {children}\n </Heading>\n );\n};\n\nconst ModalHeader = styled(HStack)<{ $hasTabs: boolean }>`\n border-bottom: ${({ $hasTabs, theme }) =>\n $hasTabs ? 'none' : `1px solid ${semanticColor(theme, 'BorderSubtle', Color.BorderDivider)}`};\n padding: ${({ $hasTabs }) =>\n $hasTabs\n ? `${Spacing[3]} ${Spacing[2]} ${Spacing[1]} ${Spacing[4]}`\n : `${Spacing[3]} ${Spacing[2]} ${Spacing[3]} ${Spacing[4]}`};\n`;\n\nconst ModalTabBar = styled(TabBar)`\n padding-left: ${Spacing[4]};\n`;\n\nconst StyledDialog = styled(Dialog)`\n outline: none;\n`;\n\nconst StyledCard = styled(Card)<{ $size?: 'auto' | 'md' | 'lg' | 'xl' | 'full' }>`\n position: relative;\n width: ${({ $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100vw - 160px)';\n default:\n return '90vw';\n }\n }};\n max-width: ${({ theme, $size }) => {\n switch ($size) {\n case 'auto':\n return 'auto';\n case 'full':\n return 'calc(100vw - 160px)';\n default:\n return theme.modal.width[$size];\n }\n }};\n /* TODO: Use breakpoints to make this responsive */\n max-height: ${({ $size }) => ($size === 'full' ? 'calc(100vh - 160px)' : '85vh')};\n display: flex;\n flex-direction: column;\n overflow: hidden;\n ${({ $size }) =>\n $size === 'full' &&\n `\n height: calc(100vh - 160px);\n `}\n margin-bottom: 0;\n`;\n\ninterface ModalCardProps extends ComponentPropsWithoutRef<typeof Dialog> {\n /**\n * Display X button to close popover\n */\n showCloseButton?: boolean;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer content\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n * Tab contents can be render functions that receive the modal portal container.\n */\n tabs?: TabView[];\n\n /**\n * Title of the modal\n */\n title?: ReactNode;\n\n /**\n * Children content\n */\n children?: ReactNode;\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n */\n noBodyPadding?: boolean;\n\n /**\n * Additional props for the Dialog element\n */\n className?: string;\n}\n\ninterface ModalCardInternalProps extends ModalCardProps {\n portalContainer: HTMLDivElement | null;\n}\n\nconst StyledModalCardBody = styled(Card.Body)<{\n $noPadding?: boolean;\n $hidden?: boolean;\n}>`\n overflow-y: auto;\n flex: 1;\n min-height: 0;\n ${({ $noPadding }) =>\n $noPadding\n ? 'padding: 0;'\n : `\n padding-left: ${Spacing[4]};\n padding-right: ${Spacing[4]};\n `}\n ${({ $hidden }) => $hidden && 'display: none;'}\n`;\n\n/**\n * Card to be used in Modal contexts. Inherits props from react-aria-components Dialog.\n */\nconst ModalCard = forwardRef<HTMLDivElement, ModalCardInternalProps>(function ModalCard(\n {\n title,\n children,\n showCloseButton = true,\n size,\n footer,\n tabs,\n noBodyPadding = false,\n portalContainer,\n ...props\n },\n ref,\n) {\n const [selectedTabIdx, setSelectedTabIdx] = useState(0);\n const tabCount = tabs?.length ?? 0;\n\n useEffect(() => {\n setSelectedTabIdx(0);\n }, [tabCount]);\n\n const titleAndClose = (\n <ModalHeader justify='flex-start' align='center' spacing={Spacing[2]} $hasTabs={Boolean(tabs)}>\n <ModalHeaderTitle>{title ? <ModalTitle>{title}</ModalTitle> : null}</ModalHeaderTitle>\n {showCloseButton && <ModalClose aria-label='Close' />}\n </ModalHeader>\n );\n\n const modalHeader = tabs ? (\n <Stack>\n {titleAndClose}\n <ModalTabBar>\n {tabs.map((tab, idx) => (\n <Tab\n key={tab.name}\n selected={selectedTabIdx === idx}\n id={`pds-modal_tab-${idx}`}\n onClick={() => setSelectedTabIdx(idx)}\n aria-controls={`pds-modal_tab-panel-${idx}`}\n >\n {tab.name}\n </Tab>\n ))}\n </ModalTabBar>\n </Stack>\n ) : (\n titleAndClose\n );\n\n return (\n <StyledDialog {...props} ref={ref}>\n <StyledCard elevated $size={size}>\n {(showCloseButton || title) && modalHeader}\n {tabs ? (\n tabs.map((tab, idx) => (\n <StyledModalCardBody\n key={tab.name}\n $noPadding={noBodyPadding}\n $hidden={selectedTabIdx !== idx}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${tab.name}`}\n aria-labelledby={`pds-modal_tab-${tab.name}`}\n >\n {typeof tab.contents === 'function'\n ? tab.contents({ portalContainer })\n : tab.contents}\n </StyledModalCardBody>\n ))\n ) : (\n <StyledModalCardBody\n $noPadding={noBodyPadding}\n role={tabs ? 'tabpanel' : undefined}\n id={`pds-modal_tab-panel-${selectedTabIdx}`}\n aria-labelledby={`pds-modal_tab-${selectedTabIdx}`}\n >\n {children}\n </StyledModalCardBody>\n )}\n\n {footer && <ModalFooter>{footer}</ModalFooter>}\n </StyledCard>\n </StyledDialog>\n );\n});\n\ninterface TabView {\n name: string;\n contents: ModalRenderable;\n badge?: React.ReactElement;\n disabled?: boolean;\n 'data-tour-target'?: string;\n}\n\nexport interface ModalProps {\n /**\n * Title of the Card\n */\n title?: string;\n\n /**\n * Component to use as trigger. React Aria trigger props will be merged with this element.\n */\n trigger?: ComponentProps<typeof Pressable>['children'];\n\n /**\n * Props to apply to Modal.Card within\n */\n contentProps?: ModalCardProps;\n\n /**\n * Max width of the modal\n */\n size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * Footer section intended for actions.\n * You can pass in Buttons directly and they will render in a HStack.\n */\n footer?: ReactNode;\n\n /**\n * Renders tabs within the modal.\n * Adds a tab bar and will render the contents of the selected tab in a tabpanel.\n * Overrides `children`.\n */\n tabs?: TabView[];\n\n /**\n * Children content\n */\n children?: ModalRenderable;\n\n /**\n * When true, removes horizontal and vertical padding from the body. Defaults to false.\n * Can also be set via contentProps.noBodyPadding.\n */\n noBodyPadding?: boolean;\n\n /**\n * Controls whether the modal is open (controlled)\n */\n open?: boolean;\n\n /**\n * Default open state (uncontrolled)\n */\n defaultOpen?: boolean;\n\n /**\n * Handler called when open state changes\n */\n onOpenChange?: (isOpen: boolean) => void;\n\n /**\n * Whether the modal can be dismissed by clicking outside or pressing escape\n */\n isDismissable?: boolean;\n\n /**\n * Whether pressing the escape key closes the modal\n */\n isKeyboardDismissDisabled?: boolean;\n}\n\nconst Modal = ({\n children,\n trigger,\n contentProps,\n noBodyPadding = false,\n size = 'md',\n title,\n footer,\n tabs,\n defaultOpen,\n onOpenChange,\n isDismissable = false,\n isKeyboardDismissDisabled = false,\n open,\n}: ModalProps) => {\n const [portalContainer, setPortalContainer] = useState<HTMLDivElement | null>(null);\n const surfaceId = useEmbeddedSurfaceId();\n const { insetRight: modalInsetRight, panelState } = useModalInsetRight();\n const transitionMs =\n panelState === 'opening'\n ? SIDEBAR_OPEN_TRANSITION_MS\n : panelState === 'closing'\n ? SIDEBAR_CLOSE_TRANSITION_MS\n : 0;\n\n const content = (\n <ModalCard\n size={size}\n title={title}\n footer={footer}\n tabs={tabs}\n noBodyPadding={noBodyPadding}\n {...contentProps}\n portalContainer={portalContainer}\n >\n {typeof children === 'function' ? children({ portalContainer }) : children}\n </ModalCard>\n );\n\n // Wrap trigger element to ensure it works with react-aria-components\n const wrappedTrigger = trigger ? <Pressable>{trigger}</Pressable> : null;\n\n return (\n <DialogTrigger isOpen={open} defaultOpen={defaultOpen} onOpenChange={onOpenChange}>\n {wrappedTrigger}\n <EmbeddedSurfaceOverlay\n surfaceId={surfaceId}\n $insetRight={modalInsetRight}\n $transitionMs={transitionMs}\n isDismissable={isDismissable}\n isKeyboardDismissDisabled={isKeyboardDismissDisabled}\n shouldCloseOnInteractOutside={(element) => !element.closest('[data-react-aria-top-layer]')}\n >\n <EmbeddedSurfaceModal ref={setPortalContainer} surfaceId={surfaceId}>\n {content}\n </EmbeddedSurfaceModal>\n </EmbeddedSurfaceOverlay>\n </DialogTrigger>\n );\n};\n\nexport default Object.assign(Modal, {\n Title: ModalTitle,\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { r as ButtonProps } from "./Button-Dhiund3f.mjs";
|
|
2
|
+
import { ComponentProps, ComponentPropsWithoutRef, ReactNode } from "react";
|
|
3
|
+
import * as _$styled_components0 from "styled-components";
|
|
4
|
+
import { Dialog, DialogTrigger, Pressable } from "react-aria-components";
|
|
5
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region components/Modal/Modal.d.ts
|
|
8
|
+
declare const ModalTrigger: typeof DialogTrigger;
|
|
9
|
+
declare const ModalContent: _$styled_components0.StyledComponent<any, any, any, any>;
|
|
10
|
+
declare const ModalClose: (props: ButtonProps) => _$react_jsx_runtime0.JSX.Element;
|
|
11
|
+
interface ModalTitleProps {
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/** Props passed to modal content render functions. */
|
|
16
|
+
interface ModalRenderProps {
|
|
17
|
+
/** Element that floating content should use as its portal container. */
|
|
18
|
+
portalContainer: HTMLDivElement | null;
|
|
19
|
+
}
|
|
20
|
+
type ModalRenderable = ReactNode | ((props: ModalRenderProps) => ReactNode);
|
|
21
|
+
interface ModalCardProps extends ComponentPropsWithoutRef<typeof Dialog> {
|
|
22
|
+
/**
|
|
23
|
+
* Display X button to close popover
|
|
24
|
+
*/
|
|
25
|
+
showCloseButton?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Max width of the modal
|
|
28
|
+
*/
|
|
29
|
+
size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';
|
|
30
|
+
/**
|
|
31
|
+
* Footer content
|
|
32
|
+
*/
|
|
33
|
+
footer?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Renders tabs within the modal.
|
|
36
|
+
* Adds a tab bar and will render the contents of the selected tab in a tabpanel.
|
|
37
|
+
* Overrides `children`.
|
|
38
|
+
* Tab contents can be render functions that receive the modal portal container.
|
|
39
|
+
*/
|
|
40
|
+
tabs?: TabView[];
|
|
41
|
+
/**
|
|
42
|
+
* Title of the modal
|
|
43
|
+
*/
|
|
44
|
+
title?: ReactNode;
|
|
45
|
+
/**
|
|
46
|
+
* Children content
|
|
47
|
+
*/
|
|
48
|
+
children?: ReactNode;
|
|
49
|
+
/**
|
|
50
|
+
* When true, removes horizontal and vertical padding from the body. Defaults to false.
|
|
51
|
+
*/
|
|
52
|
+
noBodyPadding?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Additional props for the Dialog element
|
|
55
|
+
*/
|
|
56
|
+
className?: string;
|
|
57
|
+
}
|
|
58
|
+
interface TabView {
|
|
59
|
+
name: string;
|
|
60
|
+
contents: ModalRenderable;
|
|
61
|
+
badge?: React.ReactElement;
|
|
62
|
+
disabled?: boolean;
|
|
63
|
+
'data-tour-target'?: string;
|
|
64
|
+
}
|
|
65
|
+
interface ModalProps {
|
|
66
|
+
/**
|
|
67
|
+
* Title of the Card
|
|
68
|
+
*/
|
|
69
|
+
title?: string;
|
|
70
|
+
/**
|
|
71
|
+
* Component to use as trigger. React Aria trigger props will be merged with this element.
|
|
72
|
+
*/
|
|
73
|
+
trigger?: ComponentProps<typeof Pressable>['children'];
|
|
74
|
+
/**
|
|
75
|
+
* Props to apply to Modal.Card within
|
|
76
|
+
*/
|
|
77
|
+
contentProps?: ModalCardProps;
|
|
78
|
+
/**
|
|
79
|
+
* Max width of the modal
|
|
80
|
+
*/
|
|
81
|
+
size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';
|
|
82
|
+
/**
|
|
83
|
+
* Footer section intended for actions.
|
|
84
|
+
* You can pass in Buttons directly and they will render in a HStack.
|
|
85
|
+
*/
|
|
86
|
+
footer?: ReactNode;
|
|
87
|
+
/**
|
|
88
|
+
* Renders tabs within the modal.
|
|
89
|
+
* Adds a tab bar and will render the contents of the selected tab in a tabpanel.
|
|
90
|
+
* Overrides `children`.
|
|
91
|
+
*/
|
|
92
|
+
tabs?: TabView[];
|
|
93
|
+
/**
|
|
94
|
+
* Children content
|
|
95
|
+
*/
|
|
96
|
+
children?: ModalRenderable;
|
|
97
|
+
/**
|
|
98
|
+
* When true, removes horizontal and vertical padding from the body. Defaults to false.
|
|
99
|
+
* Can also be set via contentProps.noBodyPadding.
|
|
100
|
+
*/
|
|
101
|
+
noBodyPadding?: boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Controls whether the modal is open (controlled)
|
|
104
|
+
*/
|
|
105
|
+
open?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Default open state (uncontrolled)
|
|
108
|
+
*/
|
|
109
|
+
defaultOpen?: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Handler called when open state changes
|
|
112
|
+
*/
|
|
113
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
114
|
+
/**
|
|
115
|
+
* Whether the modal can be dismissed by clicking outside or pressing escape
|
|
116
|
+
*/
|
|
117
|
+
isDismissable?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Whether pressing the escape key closes the modal
|
|
120
|
+
*/
|
|
121
|
+
isKeyboardDismissDisabled?: boolean;
|
|
122
|
+
}
|
|
123
|
+
declare const _default: (({
|
|
124
|
+
children,
|
|
125
|
+
trigger,
|
|
126
|
+
contentProps,
|
|
127
|
+
noBodyPadding,
|
|
128
|
+
size,
|
|
129
|
+
title,
|
|
130
|
+
footer,
|
|
131
|
+
tabs,
|
|
132
|
+
defaultOpen,
|
|
133
|
+
onOpenChange,
|
|
134
|
+
isDismissable,
|
|
135
|
+
isKeyboardDismissDisabled,
|
|
136
|
+
open
|
|
137
|
+
}: ModalProps) => _$react_jsx_runtime0.JSX.Element) & {
|
|
138
|
+
Title: ({
|
|
139
|
+
children,
|
|
140
|
+
...props
|
|
141
|
+
}: ModalTitleProps) => _$react_jsx_runtime0.JSX.Element;
|
|
142
|
+
};
|
|
143
|
+
//#endregion
|
|
144
|
+
export { ModalTitleProps as a, ModalRenderProps as i, ModalContent as n, ModalTrigger as o, ModalProps as r, _default as s, ModalClose as t };
|
|
145
|
+
//# sourceMappingURL=Modal-Dwq-QBw_.d.mts.map
|
package/dist/Modal.d.mts
CHANGED
|
@@ -1,145 +1,2 @@
|
|
|
1
|
-
import { r as
|
|
2
|
-
|
|
3
|
-
import * as _$styled_components0 from "styled-components";
|
|
4
|
-
import { Dialog, DialogTrigger, Pressable } from "react-aria-components";
|
|
5
|
-
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
6
|
-
|
|
7
|
-
//#region components/Modal/Modal.d.ts
|
|
8
|
-
declare const ModalTrigger: typeof DialogTrigger;
|
|
9
|
-
declare const ModalContent: _$styled_components0.StyledComponent<any, any, any, any>;
|
|
10
|
-
declare const ModalClose: (props: ButtonProps) => _$react_jsx_runtime0.JSX.Element;
|
|
11
|
-
interface ModalTitleProps {
|
|
12
|
-
children: ReactNode;
|
|
13
|
-
className?: string;
|
|
14
|
-
}
|
|
15
|
-
/** Props passed to modal content render functions. */
|
|
16
|
-
interface ModalRenderProps {
|
|
17
|
-
/** Element that floating content should use as its portal container. */
|
|
18
|
-
portalContainer: HTMLDivElement | null;
|
|
19
|
-
}
|
|
20
|
-
type ModalRenderable = ReactNode | ((props: ModalRenderProps) => ReactNode);
|
|
21
|
-
interface ModalCardProps extends ComponentPropsWithoutRef<typeof Dialog> {
|
|
22
|
-
/**
|
|
23
|
-
* Display X button to close popover
|
|
24
|
-
*/
|
|
25
|
-
showCloseButton?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Max width of the modal
|
|
28
|
-
*/
|
|
29
|
-
size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';
|
|
30
|
-
/**
|
|
31
|
-
* Footer content
|
|
32
|
-
*/
|
|
33
|
-
footer?: ReactNode;
|
|
34
|
-
/**
|
|
35
|
-
* Renders tabs within the modal.
|
|
36
|
-
* Adds a tab bar and will render the contents of the selected tab in a tabpanel.
|
|
37
|
-
* Overrides `children`.
|
|
38
|
-
* Tab contents can be render functions that receive the modal portal container.
|
|
39
|
-
*/
|
|
40
|
-
tabs?: TabView[];
|
|
41
|
-
/**
|
|
42
|
-
* Title of the modal
|
|
43
|
-
*/
|
|
44
|
-
title?: ReactNode;
|
|
45
|
-
/**
|
|
46
|
-
* Children content
|
|
47
|
-
*/
|
|
48
|
-
children?: ReactNode;
|
|
49
|
-
/**
|
|
50
|
-
* When true, removes horizontal and vertical padding from the body. Defaults to false.
|
|
51
|
-
*/
|
|
52
|
-
noBodyPadding?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Additional props for the Dialog element
|
|
55
|
-
*/
|
|
56
|
-
className?: string;
|
|
57
|
-
}
|
|
58
|
-
interface TabView {
|
|
59
|
-
name: string;
|
|
60
|
-
contents: ModalRenderable;
|
|
61
|
-
badge?: React.ReactElement;
|
|
62
|
-
disabled?: boolean;
|
|
63
|
-
'data-tour-target'?: string;
|
|
64
|
-
}
|
|
65
|
-
interface ModalProps {
|
|
66
|
-
/**
|
|
67
|
-
* Title of the Card
|
|
68
|
-
*/
|
|
69
|
-
title?: string;
|
|
70
|
-
/**
|
|
71
|
-
* Component to use as trigger. React Aria trigger props will be merged with this element.
|
|
72
|
-
*/
|
|
73
|
-
trigger?: ComponentProps<typeof Pressable>['children'];
|
|
74
|
-
/**
|
|
75
|
-
* Props to apply to Modal.Card within
|
|
76
|
-
*/
|
|
77
|
-
contentProps?: ModalCardProps;
|
|
78
|
-
/**
|
|
79
|
-
* Max width of the modal
|
|
80
|
-
*/
|
|
81
|
-
size?: 'auto' | 'md' | 'lg' | 'xl' | 'full';
|
|
82
|
-
/**
|
|
83
|
-
* Footer section intended for actions.
|
|
84
|
-
* You can pass in Buttons directly and they will render in a HStack.
|
|
85
|
-
*/
|
|
86
|
-
footer?: ReactNode;
|
|
87
|
-
/**
|
|
88
|
-
* Renders tabs within the modal.
|
|
89
|
-
* Adds a tab bar and will render the contents of the selected tab in a tabpanel.
|
|
90
|
-
* Overrides `children`.
|
|
91
|
-
*/
|
|
92
|
-
tabs?: TabView[];
|
|
93
|
-
/**
|
|
94
|
-
* Children content
|
|
95
|
-
*/
|
|
96
|
-
children?: ModalRenderable;
|
|
97
|
-
/**
|
|
98
|
-
* When true, removes horizontal and vertical padding from the body. Defaults to false.
|
|
99
|
-
* Can also be set via contentProps.noBodyPadding.
|
|
100
|
-
*/
|
|
101
|
-
noBodyPadding?: boolean;
|
|
102
|
-
/**
|
|
103
|
-
* Controls whether the modal is open (controlled)
|
|
104
|
-
*/
|
|
105
|
-
open?: boolean;
|
|
106
|
-
/**
|
|
107
|
-
* Default open state (uncontrolled)
|
|
108
|
-
*/
|
|
109
|
-
defaultOpen?: boolean;
|
|
110
|
-
/**
|
|
111
|
-
* Handler called when open state changes
|
|
112
|
-
*/
|
|
113
|
-
onOpenChange?: (isOpen: boolean) => void;
|
|
114
|
-
/**
|
|
115
|
-
* Whether the modal can be dismissed by clicking outside or pressing escape
|
|
116
|
-
*/
|
|
117
|
-
isDismissable?: boolean;
|
|
118
|
-
/**
|
|
119
|
-
* Whether pressing the escape key closes the modal
|
|
120
|
-
*/
|
|
121
|
-
isKeyboardDismissDisabled?: boolean;
|
|
122
|
-
}
|
|
123
|
-
declare const _default: (({
|
|
124
|
-
children,
|
|
125
|
-
trigger,
|
|
126
|
-
contentProps,
|
|
127
|
-
noBodyPadding,
|
|
128
|
-
size,
|
|
129
|
-
title,
|
|
130
|
-
footer,
|
|
131
|
-
tabs,
|
|
132
|
-
defaultOpen,
|
|
133
|
-
onOpenChange,
|
|
134
|
-
isDismissable,
|
|
135
|
-
isKeyboardDismissDisabled,
|
|
136
|
-
open
|
|
137
|
-
}: ModalProps) => _$react_jsx_runtime0.JSX.Element) & {
|
|
138
|
-
Title: ({
|
|
139
|
-
children,
|
|
140
|
-
...props
|
|
141
|
-
}: ModalTitleProps) => _$react_jsx_runtime0.JSX.Element;
|
|
142
|
-
};
|
|
143
|
-
//#endregion
|
|
144
|
-
export { ModalClose, ModalContent, ModalProps, ModalRenderProps, ModalTitleProps, ModalTrigger, _default as default };
|
|
145
|
-
//# sourceMappingURL=Modal.d.mts.map
|
|
1
|
+
import { a as ModalTitleProps, i as ModalRenderProps, n as ModalContent, o as ModalTrigger, r as ModalProps, s as _default, t as ModalClose } from "./Modal-Dwq-QBw_.mjs";
|
|
2
|
+
export { ModalClose, ModalContent, ModalProps, ModalRenderProps, ModalTitleProps, ModalTrigger, _default as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeader-
|
|
1
|
+
{"version":3,"file":"PageHeader-BTtm3hRQ.mjs","names":[],"sources":["../components/PageHeader/PageHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { Spacing } from '@persona/design-tokens';\nimport Breadcrumbs, { type BreadcrumbsProps } from 'design-system/components/Breadcrumbs';\nimport { Heading, Paragraph } from 'design-system/components/Text';\nimport { semanticColor, semanticOnly } from 'design-system/lib/semanticColor';\n\nexport const PageHeaderContainer = styled.header`\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n padding: ${Spacing[3]} ${Spacing[5]};\n background-color: ${({ theme }) => semanticColor(theme, 'SurfacePrimary', theme.color.background.primary)};\n border-bottom: 1px solid ${({ theme }) => semanticColor(theme, 'BorderDivider', theme.color.border.primary)};\n box-sizing: border-box;\n min-height: 56px; /* Standardize height for most PageHeaders */\n`;\n\nconst TitleContainer = styled.div`\n display: flex;\n flex: 1;\n align-items: center;\n h1 {\n margin: 0;\n ${semanticOnly((tokens) => `color: ${tokens.FgPrimary};`)}\n }\n p {\n margin: 0 0 0 ${Spacing[2]};\n ${semanticOnly((tokens) => `color: ${tokens.FgSecondary};`)}\n }\n`;\n\nconst LeftContainer = styled.div`\n display: flex;\n align-items: center;\n gap: ${Spacing[2]};\n`;\n\nconst RightContainer = styled.div`\n display: flex;\n gap: ${Spacing[2]};\n margin-left: ${Spacing[3]};\n`;\n\ninterface PageHeaderCommonProps {\n level?: 'product' | 'detail';\n prepend?: ReactNode;\n append?: ReactNode;\n children?: ReactNode;\n}\n\n/** Exactly one heading source is required: either `title` or `breadcrumbs`. */\nexport type PageHeaderProps = PageHeaderCommonProps &\n (\n | { title: ReactNode; subtitle?: ReactNode; breadcrumbs?: never }\n | {\n title?: never;\n /**\n * The subtitle is sunset in the breadcrumbs variant (PX-1299); fold the value it\n * carried (e.g. an object ID) into the current crumb, with a copy action if useful.\n */\n subtitle?: never;\n /** Renders in place of `title`; the current crumb becomes the page `h1`, at `lg` size. */\n breadcrumbs: BreadcrumbsProps;\n }\n );\n\nconst PageHeader = ({\n title,\n breadcrumbs,\n subtitle,\n level = 'product',\n prepend,\n append,\n children,\n ...props\n}: PageHeaderProps) => (\n <PageHeaderContainer {...props}>\n <LeftContainer>\n {prepend}\n <TitleContainer>\n {breadcrumbs ? (\n <Breadcrumbs size='lg' {...breadcrumbs} />\n ) : (\n <>\n {level === 'product' && (\n <Heading as='h1' size='sm'>\n {title}\n </Heading>\n )}\n {level === 'detail' && (\n <Paragraph as='h1' size='lg' color='primary'>\n {title}\n </Paragraph>\n )}\n </>\n )}\n {subtitle && <Paragraph size='md'>{subtitle}</Paragraph>}\n </TitleContainer>\n {append}\n </LeftContainer>\n {children && <RightContainer>{children}</RightContainer>}\n </PageHeaderContainer>\n);\n\nexport default PageHeader;\n"],"mappings":";;;;;;;AAQA,MAAa,sBAAsB,OAAO,MAAM;;;;;aAKnC,QAAQ,GAAG,GAAG,QAAQ,GAAG;uBACf,EAAE,YAAY,cAAc,OAAO,kBAAkB,MAAM,MAAM,WAAW,QAAQ,CAAC;8BAC9E,EAAE,YAAY,cAAc,OAAO,iBAAiB,MAAM,MAAM,OAAO,QAAQ,CAAC;;;;AAK9G,MAAM,iBAAiB,OAAO,GAAG;;;;;;MAM3B,cAAc,WAAW,UAAU,OAAO,UAAU,GAAG,CAAC;;;oBAG1C,QAAQ,GAAG;MACzB,cAAc,WAAW,UAAU,OAAO,YAAY,GAAG,CAAC;;;AAIhE,MAAM,gBAAgB,OAAO,GAAG;;;SAGvB,QAAQ,GAAG;;AAGpB,MAAM,iBAAiB,OAAO,GAAG;;SAExB,QAAQ,GAAG;iBACH,QAAQ,GAAG;;AA0B5B,MAAM,cAAc,EAClB,OACA,aACA,UACA,QAAQ,WACR,SACA,QACA,UACA,GAAG,YAEH,qBAAC,qBAAD;CAAqB,GAAI;WAAzB,CACE,qBAAC,eAAD,EAAA,UAAA;EACG;EACD,qBAAC,gBAAD,EAAA,UAAA,CACG,cACC,oBAAC,aAAD;GAAa,MAAK;GAAK,GAAI;GAAe,CAAA,GAE1C,qBAAA,UAAA,EAAA,UAAA,CACG,UAAU,aACT,oBAAC,SAAD;GAAS,IAAG;GAAK,MAAK;aACnB;GACO,CAAA,EAEX,UAAU,YACT,oBAAC,WAAD;GAAW,IAAG;GAAK,MAAK;GAAK,OAAM;aAChC;GACS,CAAA,CAEb,EAAA,CAAA,EAEJ,YAAY,oBAAC,WAAD;GAAW,MAAK;aAAM;GAAqB,CAAA,CACzC,EAAA,CAAA;EAChB;EACa,EAAA,CAAA,EACf,YAAY,oBAAC,gBAAD,EAAiB,UAA0B,CAAA,CACpC"}
|
package/dist/PageHeader.d.mts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as BreadcrumbsProps } from "./Breadcrumbs-
|
|
1
|
+
import { r as BreadcrumbsProps } from "./Breadcrumbs-CP7eUYUy.mjs";
|
|
2
2
|
import { ReactNode } from "react";
|
|
3
3
|
import * as _$styled_components0 from "styled-components";
|
|
4
4
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region patterns/PageLayout/PageLayoutFrame.d.ts
|
|
5
|
+
type PageLayoutWidth = 'standard' | 'wide';
|
|
6
|
+
interface PageLayoutChromeProps {
|
|
7
|
+
/**
|
|
8
|
+
* `standard` uses the fixed grid (centered, max 1408px). `wide` uses the fluid grid.
|
|
9
|
+
*
|
|
10
|
+
* @defaultValue 'standard'
|
|
11
|
+
*/
|
|
12
|
+
width?: PageLayoutWidth;
|
|
13
|
+
/** Tab group. Sits above the page notice and scrolls with the page. Omit to skip the region and its gap. */
|
|
14
|
+
tabs?: ReactNode;
|
|
15
|
+
/** Page notice under the tabs. Omit to skip the region and its gap. */
|
|
16
|
+
pageNotice?: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
declare const PageLayoutFrame: ({
|
|
19
|
+
width,
|
|
20
|
+
tabs,
|
|
21
|
+
pageNotice,
|
|
22
|
+
children
|
|
23
|
+
}: PageLayoutChromeProps & {
|
|
24
|
+
children: ReactNode;
|
|
25
|
+
}) => _$react_jsx_runtime0.JSX.Element;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { PageLayoutChromeProps, PageLayoutFrame, PageLayoutWidth };
|
|
28
|
+
//# sourceMappingURL=PageLayoutFrame.d.mts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as HStackProps } from "./Stack-
|
|
2
|
-
import { t as PaginationParams } from "./types-
|
|
1
|
+
import { n as HStackProps } from "./Stack-RVptVTVi.mjs";
|
|
2
|
+
import { t as PaginationParams } from "./types-ChkiGhjQ.mjs";
|
|
3
3
|
import * as _$styled_components0 from "styled-components";
|
|
4
4
|
import * as _$react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
|
|
@@ -27,4 +27,4 @@ declare function PageSelector({
|
|
|
27
27
|
}: PageSelectorProps): _$react_jsx_runtime0.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { PageInput as n, PageSelector as r, PAGE_LIMIT_BEFORE_SCROLL_MODE as t };
|
|
30
|
-
//# sourceMappingURL=PageSelector-
|
|
30
|
+
//# sourceMappingURL=PageSelector-CeGC84N1.d.mts.map
|