@povio/ui 4.0.3 → 5.0.0-rc.10
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/.rulesync/rules/ui-buttons-and-content.md +56 -0
- package/.rulesync/rules/ui-inputs-and-forms.md +62 -0
- package/.rulesync/rules/ui-overlays-navigation-and-styling.md +49 -0
- package/.rulesync/rules/ui-overview.md +33 -0
- package/README.md +128 -10
- package/dist/{Accordion-CB1F5YAY.js → Accordion-BzwO4_ml.js} +22 -140
- package/dist/{Alert-BALBsBrP.js → Alert-CnvEb1D_.js} +34 -30
- package/dist/{Alert-CbEhRaU5.d.ts → Alert-DfiJbKH0.d.ts} +4 -3
- package/dist/{AlertDialog-PjYM6lDo.d.ts → AlertDialog-OWTbR4km.d.ts} +3 -3
- package/dist/AppCanvasPage-BEER5hHp.js +2421 -0
- package/dist/AppCanvasPage-BIFYeEeS.d.ts +80 -0
- package/dist/{Autocomplete-DE2lQi5o.d.ts → Autocomplete-C6RRxImn.d.ts} +1 -1
- package/dist/{Badge-CjPpYa50.d.ts → Badge-CBNpj823.d.ts} +8 -6
- package/dist/BadgeButton-Ccgt3oGO.d.ts +15 -0
- package/dist/{BottomSheet-CVTF1wQe.js → BottomSheet-BXLE3161.js} +15 -14
- package/dist/{BottomSheet-CT0zuola.d.ts → BottomSheet-DbQuzfAB.d.ts} +1 -1
- package/dist/{BottomSheet.lazy-7AwnB4vS.d.ts → BottomSheet.lazy-D9LCEo7s.d.ts} +1 -1
- package/dist/{Breadcrumbs-D-3YEuem.d.ts → Breadcrumbs-CUV6CU8Q.d.ts} +1 -1
- package/dist/{Breadcrumbs-C-mZtdCc.js → Breadcrumbs-FF8hMfXd.js} +26 -42
- package/dist/Button-C5rv4Cr2.js +506 -0
- package/dist/{Button-DTNjsGx5.d.ts → Button-D-4qb0IR.d.ts} +3 -3
- package/dist/{ButtonContent-CohuJJzG.js → ButtonContent-c7lJayVQ.js} +12 -10
- package/dist/{Calendar-BYcN64W5.js → Calendar-DRHruqr_.js} +28 -20
- package/dist/{CheckContent-DzWpxKGq.js → CheckContent-D7sZPmzx.js} +4 -5
- package/dist/{Checkbox-DBV_Nxtq.js → Checkbox-D3f2Plbc.js} +6 -6
- package/dist/{Checkbox-CBybJbLm.d.ts → Checkbox-x2MuL477.d.ts} +1 -1
- package/dist/{CheckboxCheckmark-DJue5Aej.js → CheckboxCheckmark-FwKjPVbV.js} +34 -55
- package/dist/{CheckboxGroup-4xoWgmxr.d.ts → CheckboxGroup-Dio2rvF5.d.ts} +3 -3
- package/dist/ComponentGallery-CMFrbwEN.js +3513 -0
- package/dist/{DatePicker-CjmXaZ9T.d.ts → DatePicker-1LJ2LqST.d.ts} +3 -3
- package/dist/{DatePicker-DGlMtlvy.js → DatePicker-xDEqzNJv.js} +12 -11
- package/dist/{DatePickerInput-Nj_rVUyU.js → DatePickerInput-B0fEeCOf.js} +27 -40
- package/dist/{DatePickerInput-CdCtVE9z.d.ts → DatePickerInput-ai4apf8B.d.ts} +3 -3
- package/dist/{DateRangePicker-D1kjkFfS.d.ts → DateRangePicker-Dfptit_Z.d.ts} +3 -3
- package/dist/{DateRangePicker-CE9XvAy9.js → DateRangePicker-DxuVhRaf.js} +25 -22
- package/dist/{DateTimePicker-CtUPjVp1.js → DateTimePicker-4N1Pka07.js} +11 -10
- package/dist/{DateTimePicker-CT_Pm3KB.d.ts → DateTimePicker-DpsfukpQ.d.ts} +3 -3
- package/dist/{Dialog-BE9BSDDl.js → Dialog-9manOgMA.js} +4 -4
- package/dist/{Dialog-CXoVeIkU.js → Dialog-CKLkS00H.js} +10 -2
- package/dist/{Dialog-DEbI_9S-.d.ts → Dialog-CW93T9X1.d.ts} +3 -2
- package/dist/{DropdownMenu-tuf1W-IL.js → DropdownMenu-5jmtgLXd.js} +8 -6
- package/dist/{DropdownMenu-CZQRzOBb.d.ts → DropdownMenu-JNpYT4-3.d.ts} +4 -3
- package/dist/{DropdownMenuDesktop-C9ttysuk.js → DropdownMenuDesktop-Cl9gZVq0.js} +9 -38
- package/dist/{FileInput-BUs7wL0_.js → FileInput-DUyc_sVu.js} +20 -22
- package/dist/{FileInput-CI8D_wf_.d.ts → FileInput-Dt3UDg2s.d.ts} +7 -6
- package/dist/{FileTrigger-CDXcQthK.js → FileTrigger-Cthk5_Wp.js} +1 -30
- package/dist/{FileUpload-BrnJdN3M.d.ts → FileUpload-BXlKtQ4L.d.ts} +1 -1
- package/dist/{FileUpload-C3HzeFeb.js → FileUpload-Cx98L1jz.js} +76 -173
- package/dist/{FileUploadContainer-CkBENy6n.d.ts → FileUploadContainer-BURZAS2M.d.ts} +1 -1
- package/dist/{Form-mzpVGNjX.d.ts → Form-DmcByQts.d.ts} +1 -1
- package/dist/{FormField-DTO2cbXC.js → FormField-9h3JAhaY.js} +40 -38
- package/dist/{FormField-DTDj3F0A.d.ts → FormField-C8_T6by9.d.ts} +1 -1
- package/dist/{FormFieldError-CFg0Wn3i.js → FormFieldError-DeOHHLo2.js} +3 -3
- package/dist/FormFieldHeaderTooltip-BV2Ju4oB.js +17 -0
- package/dist/{IconButton-CYazzM7I.d.ts → IconButton-D4thBurp.d.ts} +2 -2
- package/dist/IconSlot-DSK7qNxc.js +79 -0
- package/dist/{InlineIconButton-Rp5bXWcQ.d.ts → InlineIconButton-BeJCjl-q.d.ts} +2 -2
- package/dist/{InlineTooltipWrapper-Ct6zi24f.js → InlineTooltipWrapper-BpApaGXV.js} +3 -3
- package/dist/{Input-DSHFNEVl.d.ts → Input-CHD67H4o.d.ts} +3 -3
- package/dist/{InputContent-CvWm6GAv.d.ts → InputContent-B6CIQNnE.d.ts} +3 -3
- package/dist/{InputItem-DAunP0iy.js → InputItem-Cv19Hwnx.js} +11 -11
- package/dist/{Inputs-CHEDcuP0.d.ts → Inputs-C0sUmuPv.d.ts} +1 -1
- package/dist/{Inputs-_IqA6JRE.js → Inputs-D1aE_J9f.js} +1 -1
- package/dist/{Link-DS9-0Ijl.d.ts → Link-Ow9H7kNv.d.ts} +3 -2
- package/dist/{ListBox-B7DW1S7n.js → ListBox-CL8Ar4Q_.js} +5 -4
- package/dist/{MenuItem-CROWrE2A.d.ts → MenuItem-DHyqOqln.d.ts} +1 -1
- package/dist/{Modal-CoFt5PGP.js → Modal-w60dVQcb.js} +1 -1
- package/dist/{NumberField-BICDQ2gN.d.ts → NumberField-4SX3R6IR.d.ts} +3 -3
- package/dist/{NumberRangeInput-Bu-3Y0zf.js → NumberRangeInput-Bzfe-RlV.js} +8 -8
- package/dist/{NumberRangeInput-BlGXChNR.d.ts → NumberRangeInput-CKmLfgVD.d.ts} +2 -2
- package/dist/{Pagination-CumQED8X.d.ts → Pagination-CwQu5Py8.d.ts} +1 -1
- package/dist/{PaginationList-D79ApWLm.d.ts → PaginationList-DMRUGtf8.d.ts} +2 -2
- package/dist/{PaginationList-CmOJo2r2.js → PaginationList-DtvuP63b.js} +13 -21
- package/dist/{PasswordInput-BdrYD1D3.d.ts → PasswordInput-tLGcHS6H.d.ts} +1 -1
- package/dist/{Popover-C0_-TLl_.d.ts → Popover-BTHPteIh.d.ts} +2 -2
- package/dist/{Progress-_jkt2pQw.js → Progress-B3mY9rIP.js} +6 -7
- package/dist/{Progress-CYfDXJKs.d.ts → Progress-CjWOR38H.d.ts} +3 -2
- package/dist/{QuerySelect-Bpz-qI9h.d.ts → QuerySelect-CgfnA3d-.d.ts} +2 -2
- package/dist/{RadioGroup-WHWosz7K.d.ts → RadioGroup-CvmI9i_U.d.ts} +3 -3
- package/dist/{RadioGroup-DiF7ILto.js → RadioGroup-efBKgTYA.js} +21 -24
- package/dist/{RichTextEditor-eM9d2umr.js → RichTextEditor-Bd7F5D8f.js} +68 -141
- package/dist/{RichTextEditor-CbgjRfiU.d.ts → RichTextEditor-CsDZcgyf.d.ts} +1 -1
- package/dist/{Select-CyBtGHk9.js → Select-CgIhoWgk.js} +10 -15
- package/dist/{Select-wzB2aQ_X.d.ts → Select-DKBPfNUe.d.ts} +1 -1
- package/dist/{SelectBase-DefgAEzh.d.ts → SelectBase-BkIhS9Dg.d.ts} +3 -3
- package/dist/{Slider-CZMNmk6P.d.ts → Slider-BtUXzztJ.d.ts} +1 -1
- package/dist/{Slider-KkWtEm09.js → Slider-CMg0BXJO.js} +12 -12
- package/dist/{Spinner-owSXOEzg.js → Spinner-BeVTUzzx.js} +2 -2
- package/dist/{Spinner-BOgO9bS6.d.ts → Spinner-DbXeDOa2.d.ts} +3 -2
- package/dist/{SplitButton-BPZbQeYC.d.ts → SplitButton-D9ngY1rJ.d.ts} +3 -3
- package/dist/{Stepper-BbO9TlOM.js → Stepper-Cp5vbL5g.js} +9 -125
- package/dist/{Stepper-PcHlxDD5.d.ts → Stepper-TATlHZhQ.d.ts} +13 -12
- package/dist/{Switch-Cylpjatb.js → Switch-CqnGEdeD.js} +17 -25
- package/dist/{Switch-C0S5Juhf.d.ts → Switch-s_EPn0Jz.d.ts} +1 -1
- package/dist/Table-BN2_J_Ne.js +636 -0
- package/dist/Tag-AHfV_XSf.d.ts +44 -0
- package/dist/Tag-DPg5sL1Z.js +146 -0
- package/dist/{TextArea-CBWJ7w-p.d.ts → TextArea-D6kcAwGn.d.ts} +2 -2
- package/dist/{TextArea-DvqDGp4M.js → TextArea-uPffb457.js} +9 -9
- package/dist/{TextButton-D7e_YBLe.d.ts → TextButton-XUhV_1s0.d.ts} +4 -4
- package/dist/{TimePicker-WirUMDrH.js → TimePicker-DN-i98z5.js} +12 -12
- package/dist/{TimePicker-BZ4WrI5Z.d.ts → TimePicker-Dex9aU7D.d.ts} +2 -2
- package/dist/Toast-DtG3pA61.js +53 -0
- package/dist/{Toast-DIlYlUQk.d.ts → Toast-ruXqONDA.d.ts} +1 -1
- package/dist/{ToastContainer-8X5jGBe7.js → ToastContainer-qgpzMFD4.js} +4 -3
- package/dist/{ToggleButton-D4y2fLmN.d.ts → ToggleButton-7aP8Jb11.d.ts} +2 -2
- package/dist/{ToggleGroup-D9CFdM5-.d.ts → ToggleGroup-CRFDIPGZ.d.ts} +1 -1
- package/dist/{ToggleGroup-BK6Ka7WA.js → ToggleGroup-DmVPNWok.js} +27 -55
- package/dist/{Tooltip--PSxkQA3.js → Tooltip-CpG1nz7Y.js} +7 -49
- package/dist/{Tooltip-B-2AxyjP.d.ts → Tooltip-DHv6vAqW.d.ts} +10 -9
- package/dist/{TooltipWrapper-BVc_Aln-.js → TooltipWrapper-CDHFaUKZ.js} +5 -5
- package/dist/{Typography-AcUd9df8.js → Typography-LU4z2pR1.js} +2 -2
- package/dist/{Typography-BWmZd20e.d.ts → Typography-XljT9s02.d.ts} +1 -1
- package/dist/UIConfigurator-CTlq-hrG.js +6704 -0
- package/dist/accordion.cva-CL1bVscW.js +129 -0
- package/dist/{autocomplete-CaQSVRrw.d.ts → autocomplete-B-JuxTYN.d.ts} +2 -2
- package/dist/badgeButton.cva-B2bgCQP6.d.ts +41 -0
- package/dist/badgeButton.cva-CvN4CTx5.js +300 -0
- package/dist/breadcrumbs.cva-7zzdDhVR.js +27 -0
- package/dist/{button.cva-ChabF4Am.d.ts → button.cva-C7kEhgoA.d.ts} +15 -32
- package/dist/{buttonContent.cva-CP857foM.d.ts → buttonContent.cva-DPIlROA9.d.ts} +2 -2
- package/dist/{checkbox-D8CPWRlM.d.ts → checkbox-CRP4QRfP.d.ts} +1 -1
- package/dist/{checkbox-group-BuPUA_Qj.d.ts → checkbox-group-BI_RwIJ4.d.ts} +1 -1
- package/dist/{checkbox.cva-DwnPS5df.d.ts → checkbox.cva-DBqfmYHY.d.ts} +6 -7
- package/dist/components/accordion.js +1 -1
- package/dist/components/alert-dialog.d.ts +1 -1
- package/dist/components/alert-dialog.js +7 -7
- package/dist/components/alert.d.ts +1 -1
- package/dist/components/alert.js +1 -1
- package/dist/components/autocomplete.d.ts +1 -1
- package/dist/components/autocomplete.js +6 -5
- package/dist/components/badge-button.d.ts +2 -0
- package/dist/components/{pill-button.js → badge-button.js} +13 -12
- package/dist/components/badge.d.ts +1 -1
- package/dist/components/badge.js +56 -40
- package/dist/components/bottom-sheet.d.ts +2 -2
- package/dist/components/bottom-sheet.js +2 -2
- package/dist/components/breadcrumbs.d.ts +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/button.d.ts +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/checkbox-group.d.ts +1 -1
- package/dist/components/checkbox-group.js +6 -6
- package/dist/components/checkbox.d.ts +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/date-picker.d.ts +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/date-range-picker.d.ts +1 -1
- package/dist/components/date-range-picker.js +1 -1
- package/dist/components/date-time-picker.d.ts +1 -1
- package/dist/components/date-time-picker.js +1 -1
- package/dist/components/dialog.d.ts +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/drawer.js +4 -4
- package/dist/components/dropdown-menu.d.ts +2 -2
- package/dist/components/dropdown-menu.js +2 -2
- package/dist/components/file-input.d.ts +1 -1
- package/dist/components/file-input.js +1 -1
- package/dist/components/file-upload-container.d.ts +2 -2
- package/dist/components/file-upload-container.js +1 -1
- package/dist/components/file-upload.d.ts +2 -2
- package/dist/components/file-upload.js +1 -1
- package/dist/components/form-field.d.ts +1 -1
- package/dist/components/form-field.js +1 -1
- package/dist/components/icon-button.d.ts +1 -1
- package/dist/components/icon-button.js +2 -2
- package/dist/components/icon-slot.d.ts +2 -0
- package/dist/components/icon-slot.js +2 -0
- package/dist/components/inline-icon-button.d.ts +1 -1
- package/dist/components/inline-icon-button.js +2 -2
- package/dist/components/input.d.ts +1 -1
- package/dist/components/input.js +7 -7
- package/dist/components/link.d.ts +1 -1
- package/dist/components/link.js +32 -1
- package/dist/components/number-field.d.ts +1 -1
- package/dist/components/number-field.js +7 -7
- package/dist/components/number-range-input.d.ts +1 -1
- package/dist/components/number-range-input.js +1 -1
- package/dist/components/pagination-list.d.ts +1 -1
- package/dist/components/pagination-list.js +1 -1
- package/dist/components/pagination.d.ts +1 -1
- package/dist/components/pagination.js +36 -33
- package/dist/components/password-input.d.ts +1 -1
- package/dist/components/popover.d.ts +1 -1
- package/dist/components/popover.js +6 -5
- package/dist/components/progress.d.ts +1 -1
- package/dist/components/progress.js +1 -1
- package/dist/components/query-autocomplete.d.ts +2 -2
- package/dist/components/query-autocomplete.js +10 -5
- package/dist/components/query-select.d.ts +1 -1
- package/dist/components/query-select.js +3 -3
- package/dist/components/radio-group.d.ts +1 -1
- package/dist/components/radio-group.js +1 -1
- package/dist/components/select.d.ts +2 -2
- package/dist/components/select.js +1 -1
- package/dist/components/slider.d.ts +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/spinner.d.ts +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/split-button.d.ts +1 -1
- package/dist/components/split-button.js +3 -3
- package/dist/components/stepper.d.ts +1 -1
- package/dist/components/stepper.js +1 -1
- package/dist/components/switch.d.ts +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/tag.d.ts +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/text-area.d.ts +1 -1
- package/dist/components/text-area.js +1 -1
- package/dist/components/text-button.d.ts +1 -1
- package/dist/components/text-button.js +1 -2
- package/dist/components/time-picker.d.ts +1 -1
- package/dist/components/time-picker.js +1 -1
- package/dist/components/toast.d.ts +2 -2
- package/dist/components/toast.js +2 -2
- package/dist/components/toggle-button.d.ts +1 -1
- package/dist/components/toggle-button.js +1 -1
- package/dist/components/toggle-group.d.ts +2 -2
- package/dist/components/toggle-group.js +1 -1
- package/dist/components/tooltip-ellipsis.js +1 -1
- package/dist/components/tooltip.d.ts +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/typography.d.ts +2 -2
- package/dist/components/typography.js +1 -1
- package/dist/components/use-toast.d.ts +1 -1
- package/dist/components/use-toast.js +2 -2
- package/dist/config/app-canvas-tanstack.d.ts +23 -0
- package/dist/config/app-canvas-tanstack.js +62 -0
- package/dist/config/app-canvas.d.ts +12 -0
- package/dist/config/app-canvas.js +2 -0
- package/dist/config/confirmation.d.ts +1 -1
- package/dist/config/link-context.d.ts +2 -2
- package/dist/config/ui-config.d.ts +2 -2
- package/dist/config/ui-config.js +1 -1
- package/dist/config/ui-configurator-theme.d.ts +2 -0
- package/dist/config/ui-configurator-theme.js +2 -0
- package/dist/config/ui-configurator-vite.d.ts +10 -0
- package/dist/config/ui-configurator-vite.js +174 -0
- package/dist/config/ui-configurator.d.ts +15 -0
- package/dist/config/ui-configurator.js +3 -0
- package/dist/config/ui-overrides.d.ts +1 -1
- package/dist/config/ui-overrides.js +1 -1
- package/dist/configuration.context-DP4p1cIe.d.ts +926 -0
- package/dist/{confirmation.context-fKfUTsLF.d.ts → confirmation.context-BOeEVczb.d.ts} +1 -1
- package/dist/{date-picker-MXt02b7Z.d.ts → date-picker-BhIA01qs.d.ts} +1 -1
- package/dist/{date-range-picker-BjT0t21q.d.ts → date-range-picker-BsuZ2h_3.d.ts} +1 -1
- package/dist/{date-time-picker-CMmIuZtT.d.ts → date-time-picker-Bi-qW6vO.d.ts} +1 -1
- package/dist/datePickerInput.cva-Cd7UUN61.js +14 -0
- package/dist/{datePickerValue.utils-1z4mwZZs.js → datePickerValue.utils-QWR2q5Vv.js} +9 -11
- package/dist/{dialog.cva-5qNq9YfM.js → dialog.cva-COhDZaVl.js} +4 -4
- package/dist/{dist-C6GfeeEC.js → dist-CAdwxJbe.js} +1 -256
- package/dist/{dom.utils-D3mELNBA.js → dom.utils-D1AopHx9.js} +1 -1
- package/dist/dropdownMenu.cva-DvEmX0bs.js +34 -0
- package/dist/{dynamicInputs-CQMTixlW.d.ts → dynamicInputs-DdcsSoYu.d.ts} +112 -111
- package/dist/{fieldAdapter-BYVPxvYi.js → fieldAdapter-DjYls12j.js} +1 -1
- package/dist/{file-input-D-46wS5j.d.ts → file-input-BTYsGgr7.d.ts} +1 -1
- package/dist/{file-upload-BG20Bhrn.d.ts → file-upload-CqGdt1Ue.d.ts} +2 -2
- package/dist/fileUpload.cva-ujmStxB1.js +42 -0
- package/dist/{fileUpload.types-xFzuCT_m.d.ts → fileUpload.types-rIGu4MgY.d.ts} +2 -2
- package/dist/iconSlot.cva-CnpFzAOR.d.ts +21 -0
- package/dist/icons.d.ts +2 -1
- package/dist/icons.js +2 -1
- package/dist/index.d.ts +87 -86
- package/dist/index.js +55 -44
- package/dist/info-iUmX3uDk.js +32 -0
- package/dist/{input-CKGPYwfB.d.ts → input-CqNMORk8.d.ts} +1 -1
- package/dist/{input.cva-ByFuAEIS.d.ts → input.cva-CQPV5gW7.d.ts} +6 -9
- package/dist/input.cva-CbMTwuQU.js +227 -0
- package/dist/{link.context-C5ZgwVM5.d.ts → link.context-D5qyz9Rf.d.ts} +1 -1
- package/dist/link.cva-DMTHZiJG.js +12 -0
- package/dist/{number-field-CyP6XgJh.d.ts → number-field-BcMnahI8.d.ts} +1 -1
- package/dist/{number-range-input-DMmlk7Bl.d.ts → number-range-input-CLfuacKv.d.ts} +1 -1
- package/dist/{password-input-BWpfQe0G.d.ts → password-input-BV1Amdc8.d.ts} +1 -1
- package/dist/popover.cva-Bhud1wnp.js +5 -0
- package/dist/popoverAnimation-DEZSvKP8.js +4 -0
- package/dist/{query-autocomplete-DV8fEkK2.d.ts → query-autocomplete-CJSJeSXW.d.ts} +2 -2
- package/dist/{query-select-BZ3-5WTu.d.ts → query-select-B-VLz1PW.d.ts} +2 -2
- package/dist/{queryAutocomplete.types-Dm8Ttx4v.d.ts → queryAutocomplete.types-D2w1_hau.d.ts} +2 -2
- package/dist/{radio-group-CmUtsjqP.d.ts → radio-group-DZZdQMub.d.ts} +1 -1
- package/dist/{radio.cva-DAq2M13H.d.ts → radio.cva-DN9VQ3Kb.d.ts} +4 -3
- package/dist/rhf/autocomplete.d.ts +2 -2
- package/dist/rhf/autocomplete.js +1 -1
- package/dist/rhf/checkbox-group.d.ts +2 -2
- package/dist/rhf/checkbox-group.js +1 -1
- package/dist/rhf/checkbox.d.ts +2 -2
- package/dist/rhf/checkbox.js +2 -2
- package/dist/rhf/date-picker.d.ts +2 -2
- package/dist/rhf/date-picker.js +2 -2
- package/dist/rhf/date-range-picker.d.ts +2 -2
- package/dist/rhf/date-range-picker.js +2 -2
- package/dist/rhf/date-time-picker.d.ts +2 -2
- package/dist/rhf/date-time-picker.js +2 -2
- package/dist/rhf/file-input.d.ts +2 -2
- package/dist/rhf/file-input.js +2 -2
- package/dist/rhf/file-upload.d.ts +2 -2
- package/dist/rhf/file-upload.js +2 -2
- package/dist/rhf/input.d.ts +2 -2
- package/dist/rhf/input.js +1 -1
- package/dist/rhf/inputs.d.ts +2 -2
- package/dist/rhf/number-field.d.ts +2 -2
- package/dist/rhf/number-field.js +1 -1
- package/dist/rhf/number-range-input.d.ts +2 -2
- package/dist/rhf/number-range-input.js +2 -2
- package/dist/rhf/password-input.d.ts +2 -2
- package/dist/rhf/password-input.js +1 -1
- package/dist/rhf/query-autocomplete.d.ts +1 -1
- package/dist/rhf/query-autocomplete.js +1 -1
- package/dist/rhf/query-select.d.ts +1 -1
- package/dist/rhf/query-select.js +1 -1
- package/dist/rhf/radio-group.d.ts +2 -2
- package/dist/rhf/radio-group.js +2 -2
- package/dist/rhf/rich-text-editor.d.ts +2 -2
- package/dist/rhf/rich-text-editor.js +2 -2
- package/dist/rhf/select.d.ts +2 -2
- package/dist/rhf/select.js +2 -2
- package/dist/rhf/slider.d.ts +2 -2
- package/dist/rhf/slider.js +2 -2
- package/dist/rhf/switch.d.ts +2 -2
- package/dist/rhf/switch.js +2 -2
- package/dist/rhf/text-area.d.ts +2 -2
- package/dist/rhf/text-area.js +2 -2
- package/dist/rhf/time-picker.d.ts +2 -2
- package/dist/rhf/time-picker.js +2 -2
- package/dist/rhf/toggle-group.d.ts +2 -2
- package/dist/rhf/toggle-group.js +2 -2
- package/dist/{rhf-1_ZO8GhU.js → rhf-t348TCCL.js} +1 -1
- package/dist/rhf.d.ts +87 -86
- package/dist/rhf.js +55 -44
- package/dist/{rich-text-editor-Db3XWWFo.d.ts → rich-text-editor-Cp5dYHQI.d.ts} +1 -1
- package/dist/rich-text-editor.d.ts +1 -1
- package/dist/rich-text-editor.js +1 -1
- package/dist/{select-DXGbGkZM.d.ts → select-FjDx5oe4.d.ts} +2 -2
- package/dist/selectDesktop.cva-CHAMxhfO.js +69 -0
- package/dist/{slider-JQh0ypfU.d.ts → slider-BVJiBswZ.d.ts} +1 -1
- package/dist/{staticDateTimeSegments-vP2f1woD.js → staticDateTimeSegments-BWea3HAt.js} +34 -33
- package/dist/{staticSelect.utils-DOt6f-ck.js → staticSelect.utils-BfTCi26B.js} +41 -92
- package/dist/stepper.cva-CZ0Kj-s7.js +116 -0
- package/dist/style-merge.util-zLimKwt6.d.ts +40 -0
- package/dist/styles/app-canvas.css +740 -0
- package/dist/styles/color-utilities.css +20 -0
- package/dist/styles/configurator.css +3280 -0
- package/dist/styles/editor.css +9 -9
- package/dist/styles/input.d.ts +1 -1
- package/dist/{switch-Lm3xl1rQ.d.ts → switch-C--iWnY8.d.ts} +1 -1
- package/dist/switch.cva-CWNzmdRc.d.ts +16 -0
- package/dist/table.cva-D5oQ-QvA.js +101 -0
- package/dist/tanstack/autocomplete.d.ts +1 -1
- package/dist/tanstack/checkbox-group.d.ts +1 -1
- package/dist/tanstack/checkbox.d.ts +1 -1
- package/dist/tanstack/checkbox.js +1 -1
- package/dist/tanstack/date-picker.d.ts +1 -1
- package/dist/tanstack/date-picker.js +1 -1
- package/dist/tanstack/date-range-picker.d.ts +1 -1
- package/dist/tanstack/date-range-picker.js +1 -1
- package/dist/tanstack/date-time-picker.d.ts +1 -1
- package/dist/tanstack/date-time-picker.js +1 -1
- package/dist/tanstack/file-input.d.ts +1 -1
- package/dist/tanstack/file-input.js +1 -1
- package/dist/tanstack/file-upload.d.ts +2 -2
- package/dist/tanstack/file-upload.js +1 -1
- package/dist/tanstack/form.d.ts +1 -1
- package/dist/tanstack/form.js +1 -1
- package/dist/tanstack/input.d.ts +1 -1
- package/dist/tanstack/inputs.d.ts +3 -3
- package/dist/tanstack/inputs.js +1 -1
- package/dist/tanstack/number-field.d.ts +1 -1
- package/dist/tanstack/number-range-input.d.ts +1 -1
- package/dist/tanstack/number-range-input.js +1 -1
- package/dist/tanstack/password-input.d.ts +1 -1
- package/dist/tanstack/query-select.d.ts +1 -1
- package/dist/tanstack/radio-group.d.ts +1 -1
- package/dist/tanstack/radio-group.js +1 -1
- package/dist/tanstack/rich-text-editor.d.ts +1 -1
- package/dist/tanstack/rich-text-editor.js +1 -1
- package/dist/tanstack/select.d.ts +1 -1
- package/dist/tanstack/select.js +1 -1
- package/dist/tanstack/slider.d.ts +1 -1
- package/dist/tanstack/slider.js +1 -1
- package/dist/tanstack/switch.d.ts +1 -1
- package/dist/tanstack/switch.js +1 -1
- package/dist/tanstack/table.d.ts +1 -1
- package/dist/tanstack/table.js +2 -1
- package/dist/tanstack/text-area.d.ts +1 -1
- package/dist/tanstack/text-area.js +1 -1
- package/dist/tanstack/time-picker.d.ts +1 -1
- package/dist/tanstack/time-picker.js +1 -1
- package/dist/tanstack/toggle-group.d.ts +2 -2
- package/dist/tanstack/toggle-group.js +1 -1
- package/dist/tanstack.d.ts +71 -70
- package/dist/tanstack.js +66 -53
- package/dist/{text-area-I5MNcGp_.d.ts → text-area-DhSVRB6X.d.ts} +1 -1
- package/dist/theme-model-DtYPxNvH.js +406 -0
- package/dist/theme-model-T1zIdBg8.d.ts +12 -0
- package/dist/{time-picker-DdhW8GmD.d.ts → time-picker-DhnDKh97.d.ts} +1 -1
- package/dist/{toast.cva-LU7TGprV.d.ts → toast.cva-By5lvAfr.d.ts} +10 -9
- package/dist/toast.cva-C_L_RffH.js +163 -0
- package/dist/{toast.runtime-QMYrNvoQ.js → toast.runtime-cxex9e4E.js} +2 -1
- package/dist/{toggle-group-CPkKHm1t.d.ts → toggle-group-C1nMDOwz.d.ts} +1 -1
- package/dist/toggleGroup.cva-MbpaEBg1.js +35 -0
- package/dist/{toggleGroup.types-DD6uRI5G.d.ts → toggleGroup.types-Bp43zbSQ.d.ts} +2 -1
- package/dist/tooltip.cva-BIzlOXHH.js +48 -0
- package/dist/{tooltipWrapper.cva-CUu8pI-a.js → tooltipWrapper.cva-BBQ4ic3D.js} +1 -1
- package/dist/typography.cva-D1JOEYl-.d.ts +36 -0
- package/dist/typography.cva-iD15k56p.js +51 -0
- package/dist/{uiConfig.context-RFvaQYzD.js → uiConfig.context-BS3r_kTS.js} +12 -21
- package/dist/{uiConfig.context-CIoMqe1_.d.ts → uiConfig.context-BqKWd_MO.d.ts} +11 -12
- package/dist/{uiOverrides.context-Bfm2n-n8.js → uiOverrides.context-BTCH9y5a.js} +2 -2
- package/dist/{uiOverrides.context-C3xb4Ttq.d.ts → uiOverrides.context-DEp139He.d.ts} +11 -44
- package/dist/underline-66hmELxa.js +81 -0
- package/dist/upload-CXU83BJ4.js +30 -0
- package/dist/{useBreakpoint-3kpqzjoC.js → useBreakpoint-DQoMN-BG.js} +1 -1
- package/dist/{useFieldAccessibility-BTs_WC_5.js → useFieldAccessibility-B-bjtrNw.js} +18 -12
- package/dist/{useFormAutosave-BRlM0nmq.js → useFormAutosave-pmh35PXp.js} +2 -2
- package/dist/{useStaticInputHandoff-_stbpoX4.js → useStaticInputHandoff-B7DEm75m.js} +18 -16
- package/dist/useTableColumnConfig-6zn3zKl3.js +892 -0
- package/dist/{useTableNav-Tu8UZxHA.d.ts → useTableNav-Ckj5PBRk.d.ts} +9 -8
- package/dist/{useToast-NBGlVeFP.d.ts → useToast-yreVCUer.d.ts} +1 -1
- package/package.json +54 -6
- package/rulesync.jsonc +11 -0
- package/scripts/generate-rules.mjs +34 -0
- package/src/configurator/README.md +77 -0
- package/dist/Button-CcZBqoQp.js +0 -761
- package/dist/FormFieldHeaderTooltip-h6e5hq9V.js +0 -45
- package/dist/Link-C5YsZ4pr.js +0 -42
- package/dist/PillButton-CihEPQye.d.ts +0 -15
- package/dist/Tag-CgPeLVXM.d.ts +0 -44
- package/dist/Tag-DNuHvt6J.js +0 -148
- package/dist/components/pill-button.d.ts +0 -2
- package/dist/input.cva-KYGD4Bdz.js +0 -324
- package/dist/pillButton.cva-6tjADUQ6.js +0 -265
- package/dist/pillButton.cva-BVsxGnqF.d.ts +0 -36
- package/dist/popover.cva-CXha_UMQ.js +0 -5
- package/dist/switch.cva-BIioyegR.d.ts +0 -15
- package/dist/typography.cva-BI0FyIqm.js +0 -129
- package/dist/typography.cva-YaO6JLqU.d.ts +0 -51
- package/dist/useTableColumnConfig-CiAr7Dbi.js +0 -1627
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as StyleMergeUtils } from "./style-merge.util-zLimKwt6.js";
|
|
2
|
+
import { t as UIOverrides } from "./uiOverrides.context-DEp139He.js";
|
|
2
3
|
import { t as FieldPath } from "./form.binding-DVJ5F0JE.js";
|
|
3
|
-
import { n as TypographyProps } from "./Typography-
|
|
4
|
+
import { n as TypographyProps } from "./Typography-XljT9s02.js";
|
|
4
5
|
import { CSSProperties, ComponentType, Dispatch, FC, KeyboardEvent, ReactNode, SetStateAction } from "react";
|
|
5
6
|
import { z } from "zod";
|
|
6
7
|
import { CellContext, ColumnDef, ColumnMeta, ColumnOrderState, ColumnVisibilityState, OnChangeFn, PaginationState, Row, RowData, RowSelectionState, SortingState, StockFeatures, Table } from "@tanstack/react-table";
|
|
7
8
|
import { DragEndEvent, UniqueIdentifier } from "@dnd-kit/core";
|
|
8
9
|
import { TFunction } from "i18next";
|
|
9
10
|
//#region src/components/table/CellText.d.ts
|
|
10
|
-
interface CellTextProps extends Partial<Pick<TypographyProps, "
|
|
11
|
+
interface CellTextProps extends Partial<Pick<TypographyProps, "size">> {
|
|
11
12
|
children: ReactNode;
|
|
12
13
|
className?: string;
|
|
13
14
|
style?: CSSProperties;
|
|
@@ -28,7 +29,7 @@ interface ColumnConfigModalProps<TData extends RowData, TValue> {
|
|
|
28
29
|
declare function ColumnConfigModal<TData extends RowData, TValue>({ isOpen, onClose, configColumns, visibleColumns, onVisibilityChange, onOrderChange }: ColumnConfigModalProps<TData, TValue>): import("react").JSX.Element | null;
|
|
29
30
|
//#endregion
|
|
30
31
|
//#region src/components/table/HeaderText.d.ts
|
|
31
|
-
interface HeaderTextProps extends Partial<Pick<TypographyProps, "
|
|
32
|
+
interface HeaderTextProps extends Partial<Pick<TypographyProps, "size">> {
|
|
32
33
|
children: ReactNode;
|
|
33
34
|
className?: string;
|
|
34
35
|
style?: CSSProperties;
|
|
@@ -40,8 +41,8 @@ declare const tableRowDefinition: {
|
|
|
40
41
|
base: string[];
|
|
41
42
|
config: StyleMergeUtils.Config<{
|
|
42
43
|
readonly alternatingBackground: {
|
|
43
|
-
readonly even: "even:bg-
|
|
44
|
-
readonly odd: "odd:bg-
|
|
44
|
+
readonly even: "even:bg-surface-inverted-alt/5";
|
|
45
|
+
readonly odd: "odd:bg-surface-inverted-alt/5";
|
|
45
46
|
};
|
|
46
47
|
}>;
|
|
47
48
|
};
|
|
@@ -55,7 +56,7 @@ declare const tableHeadDataDefinition: {
|
|
|
55
56
|
base: string[];
|
|
56
57
|
config: StyleMergeUtils.Config<{
|
|
57
58
|
readonly hasRightBorder: {
|
|
58
|
-
readonly true: "border-l border-l-
|
|
59
|
+
readonly true: "border-l border-l-border-default-subtle border-solid";
|
|
59
60
|
readonly false: "";
|
|
60
61
|
};
|
|
61
62
|
}>;
|
|
@@ -64,7 +65,7 @@ declare const tableDataDefinition: {
|
|
|
64
65
|
base: string[];
|
|
65
66
|
config: StyleMergeUtils.Config<{
|
|
66
67
|
readonly hasRightBorder: {
|
|
67
|
-
readonly true: "border-l border-l-
|
|
68
|
+
readonly true: "border-l border-l-border-default-subtle";
|
|
68
69
|
readonly false: "";
|
|
69
70
|
};
|
|
70
71
|
}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as ToastProps } from "./Toast-
|
|
1
|
+
import { r as ToastProps } from "./Toast-ruXqONDA.js";
|
|
2
2
|
import { Id, ToastOptions, ToastPosition } from "react-toastify";
|
|
3
3
|
//#region src/components/status/Toast/useToast.d.ts
|
|
4
4
|
interface ToastParams extends Omit<ToastProps, "color"> {
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@povio/ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0-rc.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"module": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"povio-ui-rules": "./scripts/generate-rules.mjs"
|
|
9
|
+
},
|
|
7
10
|
"sideEffects": [
|
|
8
11
|
"**/*.css"
|
|
9
12
|
],
|
|
@@ -23,6 +26,11 @@
|
|
|
23
26
|
"import": "./dist/components/button.js",
|
|
24
27
|
"default": "./dist/components/button.js"
|
|
25
28
|
},
|
|
29
|
+
"./icon-slot": {
|
|
30
|
+
"types": "./dist/components/icon-slot.d.ts",
|
|
31
|
+
"import": "./dist/components/icon-slot.js",
|
|
32
|
+
"default": "./dist/components/icon-slot.js"
|
|
33
|
+
},
|
|
26
34
|
"./icon-button": {
|
|
27
35
|
"types": "./dist/components/icon-button.d.ts",
|
|
28
36
|
"import": "./dist/components/icon-button.js",
|
|
@@ -33,10 +41,10 @@
|
|
|
33
41
|
"import": "./dist/components/inline-icon-button.js",
|
|
34
42
|
"default": "./dist/components/inline-icon-button.js"
|
|
35
43
|
},
|
|
36
|
-
"./
|
|
37
|
-
"types": "./dist/components/
|
|
38
|
-
"import": "./dist/components/
|
|
39
|
-
"default": "./dist/components/
|
|
44
|
+
"./badge-button": {
|
|
45
|
+
"types": "./dist/components/badge-button.d.ts",
|
|
46
|
+
"import": "./dist/components/badge-button.js",
|
|
47
|
+
"default": "./dist/components/badge-button.js"
|
|
40
48
|
},
|
|
41
49
|
"./split-button": {
|
|
42
50
|
"types": "./dist/components/split-button.d.ts",
|
|
@@ -283,6 +291,31 @@
|
|
|
283
291
|
"import": "./dist/config/link-context.js",
|
|
284
292
|
"default": "./dist/config/link-context.js"
|
|
285
293
|
},
|
|
294
|
+
"./ui-configurator": {
|
|
295
|
+
"types": "./dist/config/ui-configurator.d.ts",
|
|
296
|
+
"import": "./dist/config/ui-configurator.js",
|
|
297
|
+
"default": "./dist/config/ui-configurator.js"
|
|
298
|
+
},
|
|
299
|
+
"./app-canvas": {
|
|
300
|
+
"types": "./dist/config/app-canvas.d.ts",
|
|
301
|
+
"import": "./dist/config/app-canvas.js",
|
|
302
|
+
"default": "./dist/config/app-canvas.js"
|
|
303
|
+
},
|
|
304
|
+
"./app-canvas/tanstack": {
|
|
305
|
+
"types": "./dist/config/app-canvas-tanstack.d.ts",
|
|
306
|
+
"import": "./dist/config/app-canvas-tanstack.js",
|
|
307
|
+
"default": "./dist/config/app-canvas-tanstack.js"
|
|
308
|
+
},
|
|
309
|
+
"./ui-configurator/vite": {
|
|
310
|
+
"types": "./dist/config/ui-configurator-vite.d.ts",
|
|
311
|
+
"import": "./dist/config/ui-configurator-vite.js",
|
|
312
|
+
"default": "./dist/config/ui-configurator-vite.js"
|
|
313
|
+
},
|
|
314
|
+
"./ui-configurator/theme": {
|
|
315
|
+
"types": "./dist/config/ui-configurator-theme.d.ts",
|
|
316
|
+
"import": "./dist/config/ui-configurator-theme.js",
|
|
317
|
+
"default": "./dist/config/ui-configurator-theme.js"
|
|
318
|
+
},
|
|
286
319
|
"./ui-config": {
|
|
287
320
|
"types": "./dist/config/ui-config.d.ts",
|
|
288
321
|
"import": "./dist/config/ui-config.js",
|
|
@@ -1304,6 +1337,9 @@
|
|
|
1304
1337
|
"default": "./dist/rich-text-editor.js"
|
|
1305
1338
|
},
|
|
1306
1339
|
"./rich-text-editor/styles": "./dist/styles/editor.css",
|
|
1340
|
+
"./ui-configurator/styles": "./dist/styles/configurator.css",
|
|
1341
|
+
"./app-canvas/styles": "./dist/styles/app-canvas.css",
|
|
1342
|
+
"./color-utilities": "./dist/styles/color-utilities.css",
|
|
1307
1343
|
"./tw-ui-plugin": {
|
|
1308
1344
|
"types": "./dist/tw-ui-plugin.d.ts",
|
|
1309
1345
|
"import": "./dist/tw-ui-plugin.js",
|
|
@@ -1312,7 +1348,11 @@
|
|
|
1312
1348
|
"./package.json": "./package.json"
|
|
1313
1349
|
},
|
|
1314
1350
|
"files": [
|
|
1315
|
-
"dist"
|
|
1351
|
+
"dist",
|
|
1352
|
+
"src/configurator/README.md",
|
|
1353
|
+
"scripts/generate-rules.mjs",
|
|
1354
|
+
".rulesync",
|
|
1355
|
+
"rulesync.jsonc"
|
|
1316
1356
|
],
|
|
1317
1357
|
"homepage": "https://povio.com",
|
|
1318
1358
|
"license": "UNLICENSED",
|
|
@@ -1372,6 +1412,7 @@
|
|
|
1372
1412
|
"@react-stately/datepicker": "^3.16.0",
|
|
1373
1413
|
"@tanstack/react-form": "^1.33.2",
|
|
1374
1414
|
"@tanstack/react-query": "^5.89.0",
|
|
1415
|
+
"@tanstack/react-router": "^1.136.8",
|
|
1375
1416
|
"@tanstack/react-table": "^9.0.0",
|
|
1376
1417
|
"@tanstack/store": "^0.11.0",
|
|
1377
1418
|
"@tiptap/core": "^3.19.0",
|
|
@@ -1391,9 +1432,13 @@
|
|
|
1391
1432
|
"react": "^19.1.0",
|
|
1392
1433
|
"react-dom": "^19.1.0",
|
|
1393
1434
|
"react-i18next": ">=16",
|
|
1435
|
+
"vite": "^7.0.0 || ^8.0.0",
|
|
1394
1436
|
"zod": "^4.5.0"
|
|
1395
1437
|
},
|
|
1396
1438
|
"peerDependenciesMeta": {
|
|
1439
|
+
"vite": {
|
|
1440
|
+
"optional": true
|
|
1441
|
+
},
|
|
1397
1442
|
"@types/react": {
|
|
1398
1443
|
"optional": true
|
|
1399
1444
|
},
|
|
@@ -1468,6 +1513,9 @@
|
|
|
1468
1513
|
},
|
|
1469
1514
|
"@tiptap/starter-kit": {
|
|
1470
1515
|
"optional": true
|
|
1516
|
+
},
|
|
1517
|
+
"@tanstack/react-router": {
|
|
1518
|
+
"optional": true
|
|
1471
1519
|
}
|
|
1472
1520
|
}
|
|
1473
1521
|
}
|
package/rulesync.jsonc
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://github.com/dyoshikawa/rulesync/releases/latest/download/config-schema.json",
|
|
3
|
+
"targets": ["cursor", "claudecode", "codexcli"],
|
|
4
|
+
"features": ["rules"],
|
|
5
|
+
"outputRoots": ["."],
|
|
6
|
+
"delete": true,
|
|
7
|
+
"verbose": false,
|
|
8
|
+
"silent": false,
|
|
9
|
+
"global": false,
|
|
10
|
+
"gitignoreTargetsOnly": true,
|
|
11
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { spawnSync } from "node:child_process";
|
|
4
|
+
import { dirname, join } from "node:path";
|
|
5
|
+
import { fileURLToPath } from "node:url";
|
|
6
|
+
import { createRequire } from "node:module";
|
|
7
|
+
|
|
8
|
+
const require = createRequire(import.meta.url);
|
|
9
|
+
const rulesyncEntry = require.resolve("rulesync");
|
|
10
|
+
const rulesyncCli = join(dirname(rulesyncEntry), "cli", "index.js");
|
|
11
|
+
const packageRoot = dirname(dirname(fileURLToPath(import.meta.url)));
|
|
12
|
+
const configPath = join(packageRoot, "rulesync.jsonc");
|
|
13
|
+
|
|
14
|
+
const result = spawnSync(
|
|
15
|
+
process.execPath,
|
|
16
|
+
[
|
|
17
|
+
rulesyncCli,
|
|
18
|
+
"generate",
|
|
19
|
+
"--input-root",
|
|
20
|
+
packageRoot,
|
|
21
|
+
"--config",
|
|
22
|
+
configPath,
|
|
23
|
+
"--output-roots",
|
|
24
|
+
process.cwd(),
|
|
25
|
+
...process.argv.slice(2),
|
|
26
|
+
],
|
|
27
|
+
{ stdio: "inherit" },
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
if (result.error) {
|
|
31
|
+
throw result.error;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
process.exitCode = result.status ?? 1;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Live UI configuration
|
|
2
|
+
|
|
3
|
+
The configurator is an optional Povio UI entrypoint for running applications. It is independent of Storybook. Mount one provider at the application root, below your existing `UIConfig.Provider` and `UIOverrides.Provider`, so changes reach every component and portaled overlay.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import {
|
|
7
|
+
UIConfigurationProvider,
|
|
8
|
+
UIConfigurationModal,
|
|
9
|
+
useUIConfiguration,
|
|
10
|
+
parseThemeCss,
|
|
11
|
+
} from "@povio/ui/ui-configurator";
|
|
12
|
+
import "@povio/ui/ui-configurator/styles";
|
|
13
|
+
import themeSource from "./theme.css?raw"; // Vite; alternatively provide token maps directly.
|
|
14
|
+
|
|
15
|
+
const defaults = parseThemeCss(themeSource);
|
|
16
|
+
|
|
17
|
+
function ConfigureButton() {
|
|
18
|
+
const { open } = useUIConfiguration();
|
|
19
|
+
return <button onClick={open}>Configure UI</button>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
function App() {
|
|
23
|
+
return (
|
|
24
|
+
<UIConfigurationProvider defaults={defaults}>
|
|
25
|
+
<YourApplication />
|
|
26
|
+
<ConfigureButton />
|
|
27
|
+
<UIConfigurationModal />
|
|
28
|
+
</UIConfigurationProvider>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Tokens are grouped into colors, typography, spacing, radius, sizing, and effects. The Colors section reads every `:root` and `.dark` block in `theme.css`. Base palette values (such as `--primary-800-base`) are shared by both modes; semantic aliases (such as `--interactive-primary-background-base`) can differ by mode. Alias fields offer a selector populated from the theme's base palette, plus a Custom value option for literal RGB values or other references. Changing a palette value updates every component color that references it through an alias. Radius, spacing, sizing and font size share a Layout tab with a sub-tab each (Font size lists the Typography font sizes again). Every sub-tab opens with a global stepper that rescales its tokens from the theme defaults: rounding goes from square to pill (pill rounds only controls such as buttons, inputs and badges; surfaces keep their radii, and focus rings keep their offset), spacing scales padding and gaps, sizing scales button and input heights, avatars, icons, minimum widths and container widths, and font size scales every text style while its ratio line heights follow. Spacing, sizing and font size values snap to whole pixels, and spacing and sizing update the mirrored `--spacing-*` and `--container-*` tokens together. The Spacing sub-tab lists the `--spacing-*` copy of padding and gap tokens and Sizing lists the `--container-*` copy of size tokens; editing either updates its mirror too. Buttons and inputs of the same size always share one height: the app themes alias `input-height-*` to `button-height-*`, and editing an input height in the configurator updates the button height with it. Button and input defaults use the existing `UIConfig` API. Explicit component props still take precedence.
|
|
34
|
+
|
|
35
|
+
Typed values update the preview on blur or Enter; presets and color pickers update immediately. The preview sets CSS variables on `:root` / `.dark` and updates the provider. The top bar rem/px switch (px by default) changes display units without changing stored tokens; bare numbers use the selected unit, and explicit units are converted for display. Apply retains the configuration for the mounted session; Cancel, Close, and Escape restore the last applied configuration. Reset previews the application's original defaults and can itself be canceled. Unmounting removes the runtime overrides. The modal's controls use independent styling so editing app colors does not make the editor unusable.
|
|
36
|
+
|
|
37
|
+
For persistence, load a saved `UIConfiguration` and pass it as `initialValue` before mounting. Use `onApply(configuration)` to hand the result to your app's settings storage. This library does not write to a backend or local storage automatically; each application owns access to the launcher and saved settings. `initialValue` is read once on mount.
|
|
38
|
+
|
|
39
|
+
The exporter provides Tailwind CSS overrides and a separate `UIConfig.Provider` configuration. Import exported CSS **after** the app's existing theme. Light and dark colors retain separate selectors. The CSS export uses `@theme` for build-time Tailwind integration; the live provider emits ordinary CSS selectors.
|
|
40
|
+
|
|
41
|
+
## Save directly to your app's theme in Vite
|
|
42
|
+
|
|
43
|
+
The configurator and its stylesheet ship with `@povio/ui` as separate, optional subpath exports. The Node plugin ships in another entry, `@povio/ui/ui-configurator/vite`; neither the configurator nor Node code is exported from the regular component barrels.
|
|
44
|
+
|
|
45
|
+
When you only need `parseThemeCss`, `exportCss`, or their token types, import from `@povio/ui/ui-configurator/theme`. This lightweight entry avoids loading the React editor and preview components. The helpers remain available from `@povio/ui/ui-configurator` for existing integrations.
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
// vite.config.ts
|
|
49
|
+
import { defineConfig } from "vite";
|
|
50
|
+
import { uiConfigurator } from "@povio/ui/ui-configurator/vite";
|
|
51
|
+
|
|
52
|
+
export default defineConfig({
|
|
53
|
+
plugins: [uiConfigurator({ themeFile: "src/styles/theme.css" })],
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`themeFile` defaults to `src/styles/theme.css` and resolves against this app's Vite `root`, not the UI package or monorepo root. The file must already exist inside the app root; paths and symlinks into another app are rejected. Add the plugin to each app that needs saving. For Storybook's Vite builder, add it to `viteFinal`'s plugins.
|
|
58
|
+
|
|
59
|
+
With the dev server running, open **Advanced → Export → Tailwind CSS → Save theme**. The plugin receives the existing CSS export and updates the matching declarations in that app's theme file. Imports, layers, unrelated tokens, and `@theme inline` blocks are preserved. Light and dark tokens stay separate. Vite watches the file and rebuilds its CSS, so changes persist across reloads and subsequent builds. Saving writes immediately; Cancel does not undo a file save. Apply still applies session settings only. UIConfig and UIOverrides exports continue to use Copy/Download.
|
|
60
|
+
|
|
61
|
+
The plugin uses Vite's development middleware and HTML hooks and is enabled only for the dev server, regardless of mode. Production builds and `vite preview` have no writer endpoint, connection metadata, or Save theme action. No virtual-module import or provider callback is required. The browser can only write the server's configured theme file using its per-server token. Vite is an optional peer; ordinary component consumers do not need it.
|
|
62
|
+
|
|
63
|
+
`parseThemeCss` reads the flat declaration blocks used by Atlas themes (`:root`, `.dark`, and `@theme` / `@theme static`). It excludes `@theme inline` declarations because their compiled literal values cannot be changed at runtime. It is not a general CSS parser. Supply `{ light, dark, theme }` maps directly for other theme structures. Use CSS variables in utilities you want to tune at runtime. Breakpoints, generated class names, and literal values compiled from `@theme inline` require rebuilding CSS; adjust their underlying variables instead. Edits are application-wide within the current document; mount only one configuration provider per document.
|
|
64
|
+
|
|
65
|
+
Live Preview includes a docked inspector with independent scrolling. In **Inspect** mode, hover any element to see its computed styles and box model, click to pin it, and click the selected element again to unpin. **Interact** mode lets preview controls respond normally and lets gallery cards open their focused demos. The neutral box model shows per-side spacing and borders, corner radii, content dimensions, and row/column measurements inside the gutters of one gap sketch. Default and empty properties are omitted; recognized utility tokens link to the editor only when they match the computed value. Pinning retains selection while local component state and theme changes refresh the displayed values. Hover or focus a number in the box model to highlight its padding, margin, border, radius, content dimension or gap directly on the preview. Dialog, popover, tooltip and dropdown gallery demos use the components' class definitions to avoid taking focus away from the configurator.
|
|
66
|
+
|
|
67
|
+
The **Advanced → Variants & overrides** sub-tab exposes the library's CVA slots by component. It resolves declarative app overrides before showing base classes, variant classes, default values, and compound-rule classes. Edits store a serializable snapshot of the effective slot using `overrideCva`; untouched slots and function mappers retain the inherited app configuration. Function-based CVA overrides are read-only. Reset slot restores the inherited definition. Apply, Cancel, Reset all, and host persistence cover CVA edits as well as tokens.
|
|
68
|
+
|
|
69
|
+
CVA edits change class names, not the Tailwind compiler. Existing compiled classes preview immediately; newly introduced classes require inclusion in your app's Tailwind sources and a rebuild. The UIOverrides export provides a `withUIOverrides(existing)` helper that preserves other components and sibling slots. Mount the configurator below app override providers; providers nested further inside an app intentionally take precedence.
|
|
70
|
+
|
|
71
|
+
The gallery is the default preview for token sections. Switch to **Token preview** to follow the active section and search results; typography metadata uses its parent text specimen. In Variants & overrides, selecting a component or slot changes the focused preview, and focusing a variant or compound-rule field selects that combination. Preview-only controls do not change saved configuration. Common controls use live library components; structural slots use contained specimens built from the same CVA definitions.
|
|
72
|
+
|
|
73
|
+
The configurator window can be moved using the six-dot grip beside the preview switcher. Drag any border or corner to resize it; the layout follows the window width. Both handles support arrow keys (Shift for larger steps). The window remembers its size and position while the provider remains mounted, including across closing, reopening and docking. Restored bounds are clamped to the current viewport.
|
|
74
|
+
|
|
75
|
+
The pop-out control opens a separate browser window with `window.open`. It shares the provider state with the host application, so edits remain live in both windows. Docking or closing the pop-out returns the editor to the page and preserves the draft; Apply and Cancel close the pop-out. A blocked popup leaves the in-page editor open with retry guidance. The popup remembers its own size and screen position for the next pop-out; placement remains subject to browser window rules. The popup uses its browser window for resizing and switches to the compact Live preview tab below 800px.
|
|
76
|
+
|
|
77
|
+
Minimize turns the configurator into a movable **Povio UI** floating launcher without discarding its draft. Click the launcher to restore the previous window mode, size and position; drag it or use the arrow keys to move it. A minimized pop-out reopens as a separate browser window. After Apply or Cancel, the launcher remains available to start a new editing session. Geometry is remembered for the mounted session, not across page reloads.
|