@xjur-ui/react 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/dist/{chunk-IRHU7PDO.js → chunk-2JQVYVAT.js} +2 -2
- package/dist/chunk-2JQVYVAT.js.map +1 -0
- package/dist/chunk-2JU3PFV2.js +2 -0
- package/dist/chunk-2JU3PFV2.js.map +1 -0
- package/dist/chunk-3H75F4Y2.js +2 -0
- package/dist/chunk-3H75F4Y2.js.map +1 -0
- package/dist/{chunk-Z47R2CIM.js → chunk-3L772WC6.js} +2 -2
- package/dist/chunk-3L772WC6.js.map +1 -0
- package/dist/chunk-43DUEHUA.js +2 -0
- package/dist/chunk-43DUEHUA.js.map +1 -0
- package/dist/chunk-4BGAERSD.js +2 -0
- package/dist/chunk-4BGAERSD.js.map +1 -0
- package/dist/{chunk-5WLIDYZH.js → chunk-4PTFZTVU.js} +2 -2
- package/dist/{chunk-5WLIDYZH.js.map → chunk-4PTFZTVU.js.map} +1 -1
- package/dist/chunk-6PHXO2YA.js +2 -0
- package/dist/{chunk-RWMV7APX.js.map → chunk-6PHXO2YA.js.map} +1 -1
- package/dist/{chunk-2CTBH6VI.js → chunk-7HG6Y3VV.js} +2 -2
- package/dist/{chunk-2CTBH6VI.js.map → chunk-7HG6Y3VV.js.map} +1 -1
- package/dist/chunk-7HMMMRDA.js +2 -0
- package/dist/chunk-7HMMMRDA.js.map +1 -0
- package/dist/chunk-7QGN6XFA.js +2 -0
- package/dist/chunk-7QGN6XFA.js.map +1 -0
- package/dist/chunk-AKR2BJRB.js +2 -0
- package/dist/chunk-AKR2BJRB.js.map +1 -0
- package/dist/{chunk-BK6FP63A.js → chunk-ASZAHSU5.js} +2 -2
- package/dist/{chunk-BK6FP63A.js.map → chunk-ASZAHSU5.js.map} +1 -1
- package/dist/chunk-DOC3XTYC.js +2 -0
- package/dist/chunk-DOC3XTYC.js.map +1 -0
- package/dist/{chunk-IKL6PSXU.js → chunk-DT44JTXB.js} +2 -2
- package/dist/{chunk-IKL6PSXU.js.map → chunk-DT44JTXB.js.map} +1 -1
- package/dist/chunk-DVDHTP4C.js +2 -0
- package/dist/chunk-DVDHTP4C.js.map +1 -0
- package/dist/chunk-EITO7GZX.js +2 -0
- package/dist/chunk-EITO7GZX.js.map +1 -0
- package/dist/chunk-F7ANJ4HD.js +2 -0
- package/dist/chunk-F7ANJ4HD.js.map +1 -0
- package/dist/chunk-FQTUN47L.js +2 -0
- package/dist/chunk-FQTUN47L.js.map +1 -0
- package/dist/chunk-FUHASFGU.js +2 -0
- package/dist/chunk-FUHASFGU.js.map +1 -0
- package/dist/{chunk-CI3ZXWEX.js → chunk-G6NSC3FL.js} +2 -2
- package/dist/{chunk-CI3ZXWEX.js.map → chunk-G6NSC3FL.js.map} +1 -1
- package/dist/{chunk-6AD6O6II.js → chunk-GKILN5HI.js} +2 -2
- package/dist/chunk-GKILN5HI.js.map +1 -0
- package/dist/chunk-GVKH2BG2.js +2 -0
- package/dist/chunk-GVKH2BG2.js.map +1 -0
- package/dist/chunk-JF7JKJES.js +2 -0
- package/dist/chunk-JF7JKJES.js.map +1 -0
- package/dist/{chunk-TSVURBUY.js → chunk-JGPHBUVM.js} +2 -2
- package/dist/chunk-JGPHBUVM.js.map +1 -0
- package/dist/{chunk-PKCW37CJ.js → chunk-M6ZI7M3R.js} +2 -2
- package/dist/chunk-M6ZI7M3R.js.map +1 -0
- package/dist/{chunk-UXIVZWLB.js → chunk-MQ7YTZBI.js} +2 -2
- package/dist/{chunk-UXIVZWLB.js.map → chunk-MQ7YTZBI.js.map} +1 -1
- package/dist/chunk-O3JK6QF6.js +2 -0
- package/dist/chunk-O3JK6QF6.js.map +1 -0
- package/dist/{chunk-L4ET6GIZ.js → chunk-OKSGVAQQ.js} +2 -2
- package/dist/chunk-OKSGVAQQ.js.map +1 -0
- package/dist/chunk-OLWYBKQR.js +2 -0
- package/dist/chunk-OLWYBKQR.js.map +1 -0
- package/dist/chunk-PBR7SFWY.js +2 -0
- package/dist/chunk-PBR7SFWY.js.map +1 -0
- package/dist/chunk-Q2BZSHS2.js +2 -0
- package/dist/chunk-Q2BZSHS2.js.map +1 -0
- package/dist/{chunk-OS53BV63.js → chunk-RGKXZJJS.js} +3 -3
- package/dist/{chunk-OS53BV63.js.map → chunk-RGKXZJJS.js.map} +1 -1
- package/dist/chunk-SSTXFHNX.js +2 -0
- package/dist/chunk-SSTXFHNX.js.map +1 -0
- package/dist/chunk-TORICLEW.js +2 -0
- package/dist/chunk-TORICLEW.js.map +1 -0
- package/dist/chunk-TYWCS7GS.js +2 -0
- package/dist/chunk-TYWCS7GS.js.map +1 -0
- package/dist/chunk-URDL5OKH.js +2 -0
- package/dist/chunk-URDL5OKH.js.map +1 -0
- package/dist/chunk-V2FCP4FA.js +2 -0
- package/dist/chunk-V2FCP4FA.js.map +1 -0
- package/dist/chunk-VCNKCHFF.js +2 -0
- package/dist/chunk-VCNKCHFF.js.map +1 -0
- package/dist/chunk-WEGFAS5P.js +2 -0
- package/dist/chunk-WEGFAS5P.js.map +1 -0
- package/dist/chunk-X6SOSTUN.js +2 -0
- package/dist/chunk-X6SOSTUN.js.map +1 -0
- package/dist/chunk-XGPKBYDY.js +2 -0
- package/dist/chunk-XGPKBYDY.js.map +1 -0
- package/dist/chunk-YOLTIAFT.js +2 -0
- package/dist/{chunk-KIFR5VIE.js.map → chunk-YOLTIAFT.js.map} +1 -1
- package/dist/chunk-ZPQPJJQJ.js +2 -0
- package/dist/chunk-ZPQPJJQJ.js.map +1 -0
- package/dist/components/breadcrumb.js +1 -1
- package/dist/components/chip.d.ts +1 -1
- package/dist/components/chip.js +1 -1
- package/dist/components/controls/button.js +2 -0
- package/dist/components/{form → controls}/calendar.js +1 -1
- package/dist/components/controls/calendar.js.map +1 -0
- package/dist/components/{form → controls}/checkbox.js +1 -1
- package/dist/components/controls/checkbox.js.map +1 -0
- package/dist/components/{form → controls}/context/field.context.d.ts +1 -2
- package/dist/components/controls/context/field.context.js +2 -0
- package/dist/components/{form → controls}/date-picker.d.ts +2 -1
- package/dist/components/{form → controls}/date-picker.js +1 -1
- package/dist/components/controls/date-picker.js.map +1 -0
- package/dist/components/controls/floating-label.js +2 -0
- package/dist/components/{form → controls}/input.d.ts +3 -2
- package/dist/components/controls/input.js +2 -0
- package/dist/components/controls/otp-input.js.map +1 -0
- package/dist/components/controls/radio.js.map +1 -0
- package/dist/components/{form → controls}/rich-editor.js +1 -1
- package/dist/components/controls/rich-editor.js.map +1 -0
- package/dist/components/{form → controls}/search-input.d.ts +9 -1
- package/dist/components/controls/search-input.js +2 -0
- package/dist/components/controls/search-input.js.map +1 -0
- package/dist/components/controls/search-selector.d.ts +19 -0
- package/dist/components/controls/search-selector.js +2 -0
- package/dist/components/controls/search-selector.js.map +1 -0
- package/dist/components/{form → controls}/select.d.ts +2 -1
- package/dist/components/{form → controls}/select.js +1 -1
- package/dist/components/controls/switch.js +2 -0
- package/dist/components/custom/pessoa/index.d.ts +16 -0
- package/dist/components/custom/pessoa/index.js +2 -0
- package/dist/components/custom/pessoa/index.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa-add-button.d.ts +9 -0
- package/dist/components/custom/pessoa/pessoa-add-button.js +2 -0
- package/dist/components/custom/pessoa/pessoa-add-button.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa-body.d.ts +8 -0
- package/dist/components/custom/pessoa/pessoa-body.js +2 -0
- package/dist/components/custom/pessoa/pessoa-body.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa-close-button.d.ts +8 -0
- package/dist/components/custom/pessoa/pessoa-close-button.js +2 -0
- package/dist/components/custom/pessoa/pessoa-close-button.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa-content.d.ts +8 -0
- package/dist/components/custom/pessoa/pessoa-content.js +2 -0
- package/dist/components/custom/pessoa/pessoa-content.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa-footer.d.ts +8 -0
- package/dist/components/custom/pessoa/pessoa-footer.js +2 -0
- package/dist/components/custom/pessoa/pessoa-footer.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa-header.d.ts +10 -0
- package/dist/components/custom/pessoa/pessoa-header.js +2 -0
- package/dist/components/custom/pessoa/pessoa-header.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa-trigger.d.ts +8 -0
- package/dist/components/custom/pessoa/pessoa-trigger.js +2 -0
- package/dist/components/custom/pessoa/pessoa-trigger.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa.context.d.ts +25 -0
- package/dist/components/custom/pessoa/pessoa.context.js +2 -0
- package/dist/components/custom/pessoa/pessoa.context.js.map +1 -0
- package/dist/components/custom/pessoa/pessoa.d.ts +11 -0
- package/dist/components/custom/pessoa/pessoa.js +2 -0
- package/dist/components/custom/pessoa/pessoa.js.map +1 -0
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/drag-and-drop/index.js +1 -1
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/full-calendar/calendar-add-event.js +1 -1
- package/dist/components/full-calendar/calendar-add-event.js.map +1 -1
- package/dist/components/full-calendar/calendar-cell.js +1 -1
- package/dist/components/full-calendar/calendar-day-view.js +1 -1
- package/dist/components/full-calendar/calendar-month-view.js +1 -1
- package/dist/components/full-calendar/calendar-more-events-dropdown.js +1 -1
- package/dist/components/full-calendar/calendar-navigator.js +1 -1
- package/dist/components/full-calendar/calendar-today-button.d.ts +1 -1
- package/dist/components/full-calendar/calendar-today-button.js +1 -1
- package/dist/components/full-calendar/calendar-toggle-view.js +1 -1
- package/dist/components/full-calendar/calendar-view-renderer.js +1 -1
- package/dist/components/full-calendar/calendar-week-view.js +1 -1
- package/dist/components/full-calendar/index.d.ts +1 -1
- package/dist/components/full-calendar/index.js +1 -1
- package/dist/components/horizontal-scroll.js +1 -1
- package/dist/components/horizontal-scroll.js.map +1 -1
- package/dist/components/icon.d.ts +2 -2
- package/dist/components/icon.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/selection-bar.d.ts +1 -1
- package/dist/components/selection-bar.js +1 -1
- package/dist/components/selection-bar.js.map +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/steps/index.d.ts +11 -0
- package/dist/components/steps/index.js +2 -0
- package/dist/components/steps/index.js.map +1 -0
- package/dist/components/steps/step.d.ts +8 -0
- package/dist/components/steps/step.js +2 -0
- package/dist/components/steps/step.js.map +1 -0
- package/dist/components/steps/steps-action.d.ts +12 -0
- package/dist/components/steps/steps-action.js +2 -0
- package/dist/components/steps/steps-action.js.map +1 -0
- package/dist/components/steps/steps-content.d.ts +6 -0
- package/dist/components/steps/steps-content.js +2 -0
- package/dist/components/steps/steps-content.js.map +1 -0
- package/dist/components/steps/steps-context.d.ts +22 -0
- package/dist/components/steps/steps-context.js +2 -0
- package/dist/components/steps/steps-context.js.map +1 -0
- package/dist/components/steps/steps-navigation.d.ts +6 -0
- package/dist/components/steps/steps-navigation.js +2 -0
- package/dist/components/steps/steps-navigation.js.map +1 -0
- package/dist/components/steps/steps-root.d.ts +7 -0
- package/dist/components/steps/steps-root.js +2 -0
- package/dist/components/steps/steps-root.js.map +1 -0
- package/dist/components/table/index.d.ts +9 -0
- package/dist/components/table/index.js +2 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/table-body.d.ts +5 -0
- package/dist/components/table/table-body.js +2 -0
- package/dist/components/table/table-body.js.map +1 -0
- package/dist/components/table/table-cell.d.ts +5 -0
- package/dist/components/table/table-cell.js +2 -0
- package/dist/components/table/table-cell.js.map +1 -0
- package/dist/components/table/table-footer.d.ts +5 -0
- package/dist/components/table/table-footer.js +2 -0
- package/dist/components/table/table-footer.js.map +1 -0
- package/dist/components/table/table-head.d.ts +6 -0
- package/dist/components/table/table-head.js +2 -0
- package/dist/components/table/table-head.js.map +1 -0
- package/dist/components/table/table-header.d.ts +5 -0
- package/dist/components/table/table-header.js +2 -0
- package/dist/components/table/table-header.js.map +1 -0
- package/dist/components/table/table-row.d.ts +7 -0
- package/dist/components/table/table-row.js +2 -0
- package/dist/components/table/table-row.js.map +1 -0
- package/dist/components/table/table-sort.d.ts +7 -0
- package/dist/components/table/table-sort.js +2 -0
- package/dist/components/table/table-sort.js.map +1 -0
- package/dist/components/table/table.d.ts +5 -0
- package/dist/components/table/table.js +2 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/tag.d.ts +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/upload.js +1 -1
- package/dist/components/upload.js.map +1 -1
- package/dist/icons-C-hGI45d.d.ts +4 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/input-mask-DhbtCxF7.d.ts +3 -0
- package/package.json +22 -16
- package/.turbo/turbo-build.log +0 -288
- package/dist/chunk-2CM3SFOY.js +0 -2
- package/dist/chunk-2CM3SFOY.js.map +0 -1
- package/dist/chunk-6AD6O6II.js.map +0 -1
- package/dist/chunk-AA6V5YEC.js +0 -2
- package/dist/chunk-AA6V5YEC.js.map +0 -1
- package/dist/chunk-IRHU7PDO.js.map +0 -1
- package/dist/chunk-KIFR5VIE.js +0 -2
- package/dist/chunk-L4ET6GIZ.js.map +0 -1
- package/dist/chunk-PKCW37CJ.js.map +0 -1
- package/dist/chunk-RWMV7APX.js +0 -2
- package/dist/chunk-TSVURBUY.js.map +0 -1
- package/dist/chunk-WV7QV2PU.js +0 -2
- package/dist/chunk-WV7QV2PU.js.map +0 -1
- package/dist/chunk-Z47R2CIM.js.map +0 -1
- package/dist/components/form/button.js +0 -2
- package/dist/components/form/calendar.js.map +0 -1
- package/dist/components/form/checkbox.js.map +0 -1
- package/dist/components/form/context/field.context.js +0 -2
- package/dist/components/form/date-picker.js.map +0 -1
- package/dist/components/form/floating-label.js +0 -2
- package/dist/components/form/input.js +0 -2
- package/dist/components/form/otp-input.js.map +0 -1
- package/dist/components/form/radio.js.map +0 -1
- package/dist/components/form/rich-editor.js.map +0 -1
- package/dist/components/form/search-input.js +0 -2
- package/dist/components/form/search-input.js.map +0 -1
- package/dist/components/form/switch.js +0 -2
- package/dist/components/table.d.ts +0 -17
- package/dist/components/table.js +0 -2
- package/dist/components/table.js.map +0 -1
- package/dist/icons-CmDuL0gZ.d.ts +0 -4
- package/eslint.config.js +0 -10
- package/postcss.config.js +0 -5
- package/prettier.config.js +0 -7
- package/src/components/avatar-group.tsx +0 -76
- package/src/components/avatar.tsx +0 -54
- package/src/components/badge.tsx +0 -40
- package/src/components/breadcrumb.tsx +0 -119
- package/src/components/chip.tsx +0 -117
- package/src/components/collapsible.tsx +0 -35
- package/src/components/dialog.tsx +0 -242
- package/src/components/divider.tsx +0 -24
- package/src/components/drag-and-drop/drag-handle.tsx +0 -46
- package/src/components/drag-and-drop/drag-list-item.tsx +0 -91
- package/src/components/drag-and-drop/drag-list.tsx +0 -47
- package/src/components/drag-and-drop/drag-root.tsx +0 -30
- package/src/components/drag-and-drop/index.ts +0 -39
- package/src/components/drag-and-drop/types/drag-item.ts +0 -7
- package/src/components/dropdown-menu.tsx +0 -101
- package/src/components/form/button.tsx +0 -107
- package/src/components/form/calendar.tsx +0 -124
- package/src/components/form/checkbox.tsx +0 -57
- package/src/components/form/context/field.context.ts +0 -27
- package/src/components/form/date-picker.tsx +0 -199
- package/src/components/form/floating-label.tsx +0 -60
- package/src/components/form/input.tsx +0 -235
- package/src/components/form/otp-input.tsx +0 -45
- package/src/components/form/radio.tsx +0 -74
- package/src/components/form/rich-editor.tsx +0 -372
- package/src/components/form/search-input.tsx +0 -111
- package/src/components/form/select.tsx +0 -274
- package/src/components/form/switch.tsx +0 -31
- package/src/components/full-calendar/calendar-add-event.tsx +0 -15
- package/src/components/full-calendar/calendar-body.tsx +0 -12
- package/src/components/full-calendar/calendar-cell.tsx +0 -120
- package/src/components/full-calendar/calendar-day-view.tsx +0 -76
- package/src/components/full-calendar/calendar-event.tsx +0 -178
- package/src/components/full-calendar/calendar-header.tsx +0 -14
- package/src/components/full-calendar/calendar-month-view.tsx +0 -69
- package/src/components/full-calendar/calendar-more-events-dropdown.tsx +0 -39
- package/src/components/full-calendar/calendar-navigator.tsx +0 -86
- package/src/components/full-calendar/calendar-root.tsx +0 -165
- package/src/components/full-calendar/calendar-today-button.tsx +0 -21
- package/src/components/full-calendar/calendar-toggle-view.tsx +0 -61
- package/src/components/full-calendar/calendar-view-renderer.tsx +0 -19
- package/src/components/full-calendar/calendar-week-day.tsx +0 -49
- package/src/components/full-calendar/calendar-week-view.tsx +0 -88
- package/src/components/full-calendar/helpers/calendar.ts +0 -158
- package/src/components/full-calendar/index.ts +0 -16
- package/src/components/full-calendar/types/calendar-cell.ts +0 -4
- package/src/components/full-calendar/types/calendar-event.ts +0 -7
- package/src/components/full-calendar/types/calendar-view.ts +0 -1
- package/src/components/full-calendar/types/calendar-week-hour.ts +0 -4
- package/src/components/horizontal-scroll.tsx +0 -159
- package/src/components/icon.tsx +0 -29
- package/src/components/list.tsx +0 -111
- package/src/components/logo.tsx +0 -44
- package/src/components/selection-bar.tsx +0 -273
- package/src/components/sheet.tsx +0 -141
- package/src/components/skeleton.tsx +0 -12
- package/src/components/status.tsx +0 -43
- package/src/components/table.tsx +0 -160
- package/src/components/tabs.tsx +0 -72
- package/src/components/tag.tsx +0 -99
- package/src/components/tooltip.tsx +0 -63
- package/src/components/typography.tsx +0 -85
- package/src/components/upload.tsx +0 -647
- package/src/hooks/index.ts +0 -1
- package/src/hooks/use-os.ts +0 -32
- package/src/index.css +0 -5
- package/src/resources/icons.ts +0 -153
- package/src/resources/input-mask.ts +0 -91
- package/src/resources/logo/horizontal.tsx +0 -70
- package/src/resources/logo/icon.tsx +0 -54
- package/src/resources/logo/index.tsx +0 -33
- package/src/resources/logo/vertical.tsx +0 -70
- package/src/types.d.ts +0 -4
- package/tsconfig.json +0 -4
- package/tsup.config.ts +0 -30
- /package/dist/components/{form → controls}/button.d.ts +0 -0
- /package/dist/components/{form → controls}/button.js.map +0 -0
- /package/dist/components/{form → controls}/calendar.d.ts +0 -0
- /package/dist/components/{form → controls}/checkbox.d.ts +0 -0
- /package/dist/components/{form → controls}/context/field.context.js.map +0 -0
- /package/dist/components/{form → controls}/floating-label.d.ts +0 -0
- /package/dist/components/{form → controls}/floating-label.js.map +0 -0
- /package/dist/components/{form → controls}/input.js.map +0 -0
- /package/dist/components/{form → controls}/otp-input.d.ts +0 -0
- /package/dist/components/{form → controls}/otp-input.js +0 -0
- /package/dist/components/{form → controls}/radio.d.ts +0 -0
- /package/dist/components/{form → controls}/radio.js +0 -0
- /package/dist/components/{form → controls}/rich-editor.d.ts +0 -0
- /package/dist/components/{form → controls}/select.js.map +0 -0
- /package/dist/components/{form → controls}/switch.d.ts +0 -0
- /package/dist/components/{form → controls}/switch.js.map +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/checkbox.tsx"],"names":["Checkbox","label","name","className","disabled","props","fieldId","jsxs","jsx","cx","Icon","Typography"],"mappings":"mMAKO,SAASA,CAAAA,CAAS,CACvB,KAAA,CAAAC,CAAAA,CACA,KAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,GAAAA,CAAW,KAAA,CACX,GAAGC,CACL,CAAA,CAEG,CACD,IAAMC,CAAAA,CAAU,kBAAkBJ,CAAI,CAAA,CAAA,CAEtC,OACEK,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,oCACb,QAAA,CAAA,CAAAC,GAAAA,CAAkB,OAAjB,CACC,QAAA,CAAUJ,IACT,GAAGC,CAAAA,CACJ,SAAA,CAAWI,EAAAA,CAET,yJAAA,CAEA,+DAAA,CAEA,iFAEA,mFAAA,CAEA,gDAAA,CAEA,0FACAN,CACF,CAAA,CACA,GAAIG,CAAAA,CACJ,IAAA,CAAMJ,CAAAA,CAEN,QAAA,CAAAM,GAAAA,CAAkB,CAAA,CAAA,SAAA,CAAjB,CAA2B,SAAA,CAAU,kCAAA,CACpC,SAAAA,GAAAA,CAACE,CAAAA,CAAA,CAAK,SAAA,CAAU,oBAAA,CAAqB,IAAA,CAAK,OAAA,CAAQ,CAAA,CACpD,CAAA,CACF,EAEC,CAAC,CAACT,GACDO,GAAAA,CAACG,CAAAA,CAAA,CACC,OAAA,CAAS,IAAA,CACT,SAAA,CAAU,mDAAA,CACV,eAAA,CAAeP,GAAAA,CACf,OAAO,QAAA,CAEP,QAAA,CAAAI,IAAC,OAAA,CAAA,CAAM,OAAA,CAASF,EAAU,QAAA,CAAAL,CAAAA,CAAM,CAAA,CAClC,CAAA,CAAA,CAEJ,CAEJ","file":"checkbox.js","sourcesContent":["import * as CheckoxPrimitive from '@radix-ui/react-checkbox'\nimport { cx } from '@xjur-ui/util'\nimport { Icon } from '../icon'\nimport { Typography } from '../typography'\n\nexport function Checkbox({\n label,\n name,\n className,\n disabled = false,\n ...props\n}: CheckoxPrimitive.CheckboxProps & {\n label?: string\n}) {\n const fieldId = `field-checkbox-${name}`\n\n return (\n <div className=\"group gap-small flex items-center\">\n <CheckoxPrimitive.Root\n disabled={disabled}\n {...props}\n className={cx(\n // layout\n 'size-large-alt rounded-small-1x inline-flex items-center justify-center transition-[border-color,box-shadow,background-color] duration-200 outline-none',\n // base\n 'border-border-layer-2 bg-layer-2-idle cursor-pointer border-2',\n // hover/focus (desmarcado)\n 'hover:border-primary-idle focus:border-primary-idle focus:shadow-focus-primary',\n // estado checked\n 'data-[state=checked]:bg-primary-active data-[state=checked]:border-primary-active',\n // hover quando estiver checked (opcional)\n 'data-[state=checked]:hover:border-primary-idle',\n // disabled\n 'disabled:hover:border-border-layer-2 disabled:cursor-not-allowed disabled:opacity-[38%]',\n className\n )}\n id={fieldId}\n name={name}\n >\n <CheckoxPrimitive.Indicator className=\"flex items-center justify-center\">\n <Icon className=\"text-neutral-label\" name=\"check\" />\n </CheckoxPrimitive.Indicator>\n </CheckoxPrimitive.Root>\n\n {!!label && (\n <Typography\n asChild={true}\n className=\"text-size-body-sm data-[disabled=true]:opacity-38\"\n data-disabled={disabled}\n weight=\"medium\"\n >\n <label htmlFor={fieldId}>{label}</label>\n </Typography>\n )}\n </div>\n )\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/date-picker.tsx"],"names":["datePicker","tv","wrapper","trigger","icon","caption","slotText","content","DatePickerRoot","className","state","defaultOpen","variant","modal","open","handleOpenChange","props","jsx","FieldContext","DatePickerTrigger","useFieldContext","filterTrigger","mergedClassName","twMerge","DatePickerLabel","FloatingLabel","DatePickerIcon","name","Icon","DatePickerSlot","DatePickerValue","displayValue","value","valueOrPlaceholder","useMemo","jsxs","Fragment","Typography","twJoin","DatePickerContent","sideOffset","side","align","DatePickerCaption"],"mappings":"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","file":"date-picker.js","sourcesContent":["import { tv, twJoin, twMerge } from '@xjur-ui/util'\nimport { useMemo, type ComponentProps } from 'react'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport { Icon, type IconType } from '../icon'\nimport { Typography } from '../typography'\nimport {\n FieldContext,\n useFieldContext,\n type FieldContextValue\n} from './context/field.context'\nimport { FloatingLabel } from './floating-label'\n\nexport const datePicker = tv({\n slots: {\n wrapper: 'group flex w-full flex-col gap-small-2x',\n trigger: [\n 'h-large-4x w-full cursor-pointer relative',\n 'flex items-center gap-small rounded-small-1x',\n 'py-small_1x-alt px-small',\n 'bg-layer-2-hover border border-transparent',\n 'group-has-[div[data-slot=input-action-slot]]:rounded-r-none',\n 'transition-all duration-200'\n ],\n content: [\n 'group z-10 max-h-[var(--radix-popover-content-available-height)] max-w-[var(--radix-popover-content-available-width)] min-w-[var(--radix-popover-trigger-width)]'\n ],\n icon: 'size-large text-icon-neutral-3 flex items-center justify-center',\n slotText:\n 'size-large flex items-center justify-center !text-size-label-md text-neutral-placeholder',\n caption: '!text-size-body-sm font-normal'\n },\n variants: {\n state: {\n normal: {\n trigger:\n 'hover:border-border-layer-1 data-[state=open]:border-primary-idle data-[state=open]:hover:border-primary-idle'\n },\n error: {\n trigger:\n 'border-danger-idle hover:border-danger-idle data-[state=open]:border-danger-idle data-[state=open]:hover:border-danger-idle',\n caption: 'text-danger-label-idle'\n },\n disabled: {\n trigger: 'pointer-events-none border-transparent bg-layer-2-idle'\n }\n }\n }\n})\n\nconst { wrapper, trigger, icon, caption, slotText, content } = datePicker()\n\nexport function DatePickerRoot({\n className,\n state = 'normal',\n defaultOpen,\n variant = 'normal',\n modal,\n open,\n onOpenChange: handleOpenChange,\n ...props\n}: ComponentProps<'div'> &\n FieldContextValue &\n ComponentProps<typeof RadixPopover.Root>) {\n return (\n <RadixPopover.Root\n defaultOpen={defaultOpen}\n modal={modal}\n open={open}\n onOpenChange={handleOpenChange}\n >\n <FieldContext.Provider value={{ state, variant }}>\n <div className={wrapper({ className, state })} {...props} />\n </FieldContext.Provider>\n </RadixPopover.Root>\n )\n}\n\nexport function DatePickerTrigger({\n className,\n ...props\n}: ComponentProps<typeof RadixPopover.Trigger>) {\n const { state, variant } = useFieldContext()\n\n const filterTrigger = tv({\n base: ['group bg-layer-2-idle relative'],\n variants: {\n state: {\n normal: [\n 'border-border-layer-2 hover:border-border-layer-3 has-[input:not(:placeholder-shown)]:border-primary-idle'\n ],\n error: ['border-danger-idle hover:border-danger-idle'],\n disabled: ['border border-border-layer-2 opacity-60']\n }\n }\n })\n\n const mergedClassName = twMerge(\n trigger({ state, className }),\n variant === 'filter' && filterTrigger({ state, className })\n )\n\n return (\n <RadixPopover.Trigger\n className={mergedClassName}\n disabled={state === 'disabled'}\n {...props}\n />\n )\n}\n\nexport function DatePickerLabel(props: ComponentProps<typeof FloatingLabel>) {\n return <FloatingLabel {...props} />\n}\n\nexport function DatePickerIcon({\n className,\n name,\n ...props\n}: ComponentProps<'div'> & {\n name: IconType\n}) {\n const { state } = useFieldContext()\n\n return (\n <div className={icon({ className, state })} {...props}>\n <Icon name={name} />\n </div>\n )\n}\n\nexport function DatePickerSlot({\n className,\n ...props\n}: ComponentProps<'span'>) {\n const { state } = useFieldContext()\n return <span className={slotText({ className, state })} {...props} />\n}\n\nexport function DatePickerValue({\n className,\n displayValue = '',\n value,\n ...props\n}: ComponentProps<'input'> & { displayValue?: string }) {\n const { variant } = useFieldContext()\n\n const valueOrPlaceholder = useMemo(() => {\n if (variant === 'filter') return displayValue\n return displayValue || props.placeholder\n }, [displayValue, props.placeholder, variant])\n\n return (\n <>\n <Typography className=\"text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x\">\n {valueOrPlaceholder}\n </Typography>\n\n <input\n {...props}\n aria-readonly={true}\n className={twJoin('pointer-events-none', className)}\n hidden={true}\n placeholder={' '}\n readOnly={true}\n value={value ?? ''}\n />\n </>\n )\n}\n\nexport function DatePickerContent({\n className,\n sideOffset = 5,\n side = 'bottom',\n align = 'start',\n ...props\n}: ComponentProps<typeof RadixPopover.Content>) {\n const { state } = useFieldContext()\n\n return (\n <RadixPopover.Portal>\n <RadixPopover.Content\n align={align}\n className={content({ className, state })}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n </RadixPopover.Portal>\n )\n}\n\nexport function DatePickerCaption({\n className,\n ...props\n}: ComponentProps<'p'>) {\n const { state } = useFieldContext()\n return <p className={caption({ className, state })} {...props} />\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export{l as InputAction,k as InputCaption,c as InputContent,i as InputIcon,d as InputLabel,f as InputMask,h as InputNumber,m as InputNumericStepper,b as InputRoot,j as InputSlot,g as InputText,e as InputTrigger,a as input}from'../../chunk-2CM3SFOY.js';import'../../chunk-TSVURBUY.js';import'../../chunk-IRHU7PDO.js';import'../../chunk-CBFC4QME.js';import'../../chunk-WV7QV2PU.js';//# sourceMappingURL=input.js.map
|
|
2
|
-
//# sourceMappingURL=input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/otp-input.tsx"],"names":["Root","children","className","props","jsx","cx","Input","HiddenInput","OTPInput"],"mappings":"6HAGA,SAASA,EAAK,CACZ,QAAA,CAAAC,EACA,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAA+C,CAC7C,OACEC,IAAkB,CAAA,CAAA,IAAA,CAAjB,CACC,SAAA,CAAWC,EAAAA,CAAGH,EAAW,mCAAmC,CAAA,CAC3D,GAAGC,CAAAA,CAEH,SAAAF,CAAAA,CACH,CAEJ,CAEA,SAASK,CAAAA,CAAM,CACb,SAAA,CAAAJ,CAAAA,CACA,GAAGC,CACL,EAAoD,CAClD,OACEC,GAAAA,CAAkB,CAAA,CAAA,KAAA,CAAjB,CACC,SAAA,CAAWC,EAAAA,CACTH,CAAAA,CACA,6FAAA,CACA,sDACF,CAAA,CACC,GAAGC,EACN,CAEJ,CAEA,SAASI,CAAAA,CAAY,CACnB,GAAGJ,CACL,EAA0D,CACxD,OAAOC,IAAkB,CAAA,CAAA,WAAA,CAAjB,CAA8B,GAAGD,CAAAA,CAAO,CAClD,CAEO,IAAMK,EAAW,CACtB,IAAA,CAAAR,EACA,KAAA,CAAAM,CAAAA,CACA,YAAAC,CACF","file":"otp-input.js","sourcesContent":["import * as OTPPasswordField from '@radix-ui/react-one-time-password-field'\nimport { cx } from '@xjur-ui/util'\n\nfunction Root({\n children,\n className,\n ...props\n}: OTPPasswordField.OneTimePasswordFieldProps) {\n return (\n <OTPPasswordField.Root\n className={cx(className, 'group gap-small flex items-center')}\n {...props}\n >\n {children}\n </OTPPasswordField.Root>\n )\n}\n\nfunction Input({\n className,\n ...props\n}: OTPPasswordField.OneTimePasswordFieldInputProps) {\n return (\n <OTPPasswordField.Input\n className={cx(\n className,\n 'text-neutral-dark h-large-6x bg-layer-2-hover rounded-small-1x w-full text-center outline-0',\n 'focus-within:border-primary-idle focus-within:border'\n )}\n {...props}\n />\n )\n}\n\nfunction HiddenInput({\n ...props\n}: OTPPasswordField.OneTimePasswordFieldHiddenInputProps) {\n return <OTPPasswordField.HiddenInput {...props} />\n}\n\nexport const OTPInput = {\n Root,\n Input,\n HiddenInput\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/radio.tsx"],"names":["RadioGroup","className","orientation","props","jsx","cx","RadioItem","id","label","disabled","jsxs","Typography"],"mappings":"4KAKO,SAASA,CAAAA,CAAW,CACzB,SAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CAAc,UAAA,CACd,GAAGC,CACL,CAAA,CAA0D,CACxD,OACEC,GAAAA,CAAqB,CAAA,CAAA,IAAA,CAApB,CACC,SAAA,CAAWC,EAAAA,CACT,4FAAA,CACAJ,CACF,CAAA,CACA,kBAAA,CAAkBC,CAAAA,CAClB,WAAA,CAAU,aAAA,CACT,GAAGC,CAAAA,CACN,CAEJ,CAEO,SAASG,CAAAA,CAAU,CACxB,SAAA,CAAAL,CAAAA,CACA,EAAA,CAAAM,CAAAA,CACA,KAAA,CAAAC,GAAAA,CACA,QAAA,CAAAC,CAAAA,CAAW,KAAA,CACX,GAAGN,CACL,CAAA,CAEG,CACD,OACEO,KAAC,KAAA,CAAA,CAAI,SAAA,CAAU,6BAAA,CACb,QAAA,CAAA,CAAAN,GAAAA,CAAqB,CAAA,CAAA,IAAA,CAApB,CACC,SAAA,CAAWC,EAAAA,CAET,uJAAA,CAEA,+DAAA,CAEA,gFAAA,CAEA,mFAAA,CAEA,gDAAA,CAEA,0FACAJ,CACF,CAAA,CACA,WAAA,CAAU,kBAAA,CACV,QAAA,CAAUQ,CAAAA,CACV,EAAA,CAAIF,CAAAA,CACH,GAAGJ,CAAAA,CAEJ,QAAA,CAAAC,GAAAA,CAAqB,CAAA,CAAA,SAAA,CAApB,CACC,UAAU,2CAAA,CACV,WAAA,CAAU,uBAAA,CACZ,CAAA,CACF,CAAA,CAEC,CAAC,CAACI,GAAAA,EACDJ,GAAAA,CAACO,CAAAA,CAAA,CACC,OAAA,CAAS,IAAA,CACT,SAAA,CAAU,mDAAA,CACV,eAAA,CAAeF,CAAAA,CACf,MAAA,CAAO,QAAA,CAEP,QAAA,CAAAL,GAAAA,CAAC,OAAA,CAAA,CAAM,OAAA,CAASG,CAAAA,CAAK,QAAA,CAAAC,GAAAA,CAAM,CAAA,CAC7B,CAAA,CAAA,CAEJ,CAEJ","file":"radio.js","sourcesContent":["import * as React from 'react'\nimport * as RadioGroupPrimitive from '@radix-ui/react-radio-group'\nimport { cx } from '@xjur-ui/util'\nimport { Typography } from '../typography'\n\nexport function RadioGroup({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n className={cx(\n 'gap-small flex data-[orientation=horizontal]:flex-row data-[orientation=vertical]:flex-col',\n className\n )}\n data-orientation={orientation}\n data-slot=\"radio-group\"\n {...props}\n />\n )\n}\n\nexport function RadioItem({\n className,\n id,\n label,\n disabled = false,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item> & {\n label?: string\n}) {\n return (\n <div className=\"gap-small flex items-center\">\n <RadioGroupPrimitive.Item\n className={cx(\n // layout\n 'size-large-alt rounded-circle inline-flex items-center justify-center transition-[border-color,box-shadow,background-color] duration-200 outline-none',\n // base\n 'border-border-layer-2 bg-layer-2-idle cursor-pointer border-2',\n // hover/focus (desmarcado)\n 'hover:border-primary-idle focus:border-primary-idle focus:shadow-focus-primary',\n // estado checked\n 'data-[state=checked]:bg-primary-active data-[state=checked]:border-primary-active',\n // hover quando estiver checked (opcional)\n 'data-[state=checked]:hover:border-primary-idle',\n // disabled\n 'disabled:hover:border-border-layer-2 disabled:cursor-not-allowed disabled:opacity-[38%]',\n className\n )}\n data-slot=\"radio-group-item\"\n disabled={disabled}\n id={id}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n className=\"relative flex items-center justify-center\"\n data-slot=\"radio-group-indicator\"\n />\n </RadioGroupPrimitive.Item>\n\n {!!label && (\n <Typography\n asChild={true}\n className=\"text-size-body-sm data-[disabled=true]:opacity-38\"\n data-disabled={disabled}\n weight=\"medium\"\n >\n <label htmlFor={id}>{label}</label>\n </Typography>\n )}\n </div>\n )\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/rich-editor.tsx"],"names":["headingClasses","RichEditorRoot","className","editorOptions","props","editor","useEditor","StarterKit","Placeholder","node","Heading","HTMLAttributes","level","value","useMemo","jsx","EditorContext","cx","RichEditorContent","RichEditorCaption","RichEditorAreaText","useRichTextEditor","EditorContent","RichEditorToolbar","ToolbarButton","appearance","variant","onMouseDown","onPointerDown","Button","e","ToggleButton","name","shortcut","useOS","isActive","useRichTextEditorState","ctx","icon","description","handleToggle","useCallback","jsxs","Tooltip","TooltipTrigger","Icon","TooltipContent","Typography","HeadingButton","isOpen","setIsOpen","useState","isLevelActive","toggleHeading","levels","DropdownMenuRoot","open","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuList","DropdownMenuItem","DropdownMenuItemText"],"mappings":"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","file":"rich-editor.js","sourcesContent":["import { cx } from '@xjur-ui/util'\nimport { useCallback, useMemo, useState, type ComponentProps } from 'react'\nimport {\n EditorContent,\n EditorContext,\n useCurrentEditor as useRichTextEditor,\n useEditorState as useRichTextEditorState,\n useEditor,\n type EditorOptions\n} from '@tiptap/react'\nimport type { Extension } from '@tiptap/core'\nimport { StarterKit } from '@tiptap/starter-kit'\nimport { Heading, type Level } from '@tiptap/extension-heading'\n// Import specific extension instead of full extensions bundle\nimport { Placeholder } from '@tiptap/extension-placeholder'\nimport { useOS } from '../../hooks'\nimport { Icon, type IconType } from '../icon'\nimport { Button, type ButtonProps } from '../form/button'\nimport {\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuItemText,\n DropdownMenuList,\n DropdownMenuRoot,\n DropdownMenuTrigger\n} from '../dropdown-menu'\nimport { Tooltip, TooltipTrigger, TooltipContent } from '../tooltip'\nimport { Typography } from '../typography'\n\nconst headingClasses: Partial<Record<Level, string>> = {\n 1: 'text-size-body-md',\n 2: 'text-size-title-lg',\n 3: 'text-size-headline-lg'\n}\n\nexport function RichEditorRoot({\n className,\n editorOptions,\n ...props\n}: ComponentProps<'div'> & {\n editorOptions?: Partial<\n Omit<EditorOptions, 'extensions'> & {\n extensions?: Extension[]\n }\n >\n}) {\n const editor = useEditor({\n ...editorOptions,\n extensions: [\n StarterKit.configure({\n bulletList: {\n HTMLAttributes: {\n class: 'list-disc list-outside pl-large-1x'\n }\n },\n orderedList: {\n HTMLAttributes: {\n class: 'list-decimal list-outside pl-large-1x'\n }\n },\n heading: false\n }),\n Placeholder.configure({\n placeholder: ({ node, editor }) =>\n node.type.name === 'paragraph' && editor.isEmpty\n ? 'Digite aqui…'\n : '',\n showOnlyWhenEditable: true,\n includeChildren: false,\n emptyNodeClass:\n 'before:content-[attr(data-placeholder)] before:absolute before:top-0 before:left-0 before:text-neutral-placeholder first:before:float-left first:before:content-[attr(data-placeholder)] first:before:pointer-events-none'\n }),\n Heading.configure({\n levels: [1, 2, 3]\n }).extend({\n renderHTML({ node, HTMLAttributes }) {\n const level: Level = node.attrs.level ?? 1\n\n return [\n 'h',\n {\n ...HTMLAttributes,\n class: headingClasses[level]\n },\n 0\n ]\n }\n }),\n ...(editorOptions?.extensions ?? [])\n ]\n })\n\n const value = useMemo(() => ({ editor }), [editor])\n\n return (\n <EditorContext.Provider value={value}>\n <div\n className={cx('gap-small flex w-full flex-col', className)}\n data-slot=\"text-area-root\"\n {...props}\n />\n </EditorContext.Provider>\n )\n}\n\nexport function RichEditorContent({\n className,\n ...props\n}: ComponentProps<'div'>) {\n return (\n <div\n className={cx(\n 'bg-layer-2-hover py-small_1x-alt px-small rounded-small-1x min-h-[116px] w-full border border-transparent',\n 'hover:border-border-layer-2 transition-colors duration-200',\n '[&_ul_ul]:list-[circle]',\n '[&_ul_ul_ul]:list-[square]',\n '[&_ol_ol]:list-[lower-alpha]',\n '[&_ol_ol_ol]:list-[lower-roman]',\n 'gap-small flex flex-col overflow-x-hidden overflow-y-auto',\n className\n )}\n data-slot=\"text-area-content\"\n {...props}\n />\n )\n}\n\nexport function RichEditorCaption({\n className,\n ...props\n}: ComponentProps<'p'>) {\n return (\n <p\n {...props}\n className={cx(\n 'text-size-body-sm text-neutral-dark font-normal',\n className\n )}\n data-slot=\"text-area-caption\"\n />\n )\n}\n\nexport function RichEditorAreaText({\n className,\n ...props\n}: Omit<ComponentProps<typeof EditorContent>, 'editor'>) {\n const { editor } = useRichTextEditor()\n\n return (\n <EditorContent\n className={cx(\n 'text-size-body-md text-neutral-dark max-h-[116px] *:h-full *:w-full *:outline-0',\n className\n )}\n editor={editor}\n {...props}\n />\n )\n}\n\nexport function RichEditorToolbar({\n className,\n ...props\n}: ComponentProps<'div'>) {\n return (\n <div\n className={cx(\n 'h-large-4x gap-small-1x h-large-6px scrollbar-hide flex flex-nowrap items-center overflow-x-auto overflow-y-hidden',\n className\n )}\n data-slot=\"text-area-toolbar\"\n {...props}\n />\n )\n}\n\nexport function ToolbarButton({\n appearance = 'ghost',\n variant = 'secondary',\n onMouseDown,\n onPointerDown,\n ...props\n}: ButtonProps) {\n return (\n <Button\n appearance={appearance}\n size=\"icon_md\"\n tabIndex={-1}\n type=\"button\"\n variant={variant}\n onMouseDown={e => {\n e.preventDefault()\n onMouseDown?.(e)\n }}\n onPointerDown={e => {\n e.preventDefault()\n onPointerDown?.(e)\n }}\n {...props}\n />\n )\n}\n\ntype ToggleButtonName =\n | 'bold'\n | 'italic'\n | 'underline'\n | 'strike'\n | 'bulletList'\n | 'orderedList'\n | 'undo'\n | 'redo'\n\nexport function ToggleButton({\n name,\n ...props\n}: ButtonProps & { name: ToggleButtonName }) {\n const { editor } = useRichTextEditor()\n const { shortcut } = useOS()\n\n const isActive = useRichTextEditorState({\n editor,\n selector: ctx => ctx.editor?.isActive(name) ?? false\n })\n\n const icon = useMemo(() => {\n const iconsMap = new Map<ToggleButtonName, IconType>([\n ['bold', 'format_bold'],\n ['italic', 'format_italic'],\n ['underline', 'format_underlined'],\n ['strike', 'format_strikethrough'],\n ['bulletList', 'format_list_bulleted'],\n ['orderedList', 'format_list_numbered'],\n ['undo', 'undo'],\n ['redo', 'redo']\n ])\n\n return iconsMap.get(name)\n }, [name])\n\n const description = useMemo(() => {\n const descriptionsMap = new Map<ToggleButtonName, string>([\n ['bold', `Negrito (${shortcut} + B)`],\n ['italic', `Itálico (${shortcut} + I)`],\n ['underline', `Sublinhado (${shortcut} + U)`],\n ['strike', `Tachado (${shortcut} + S)`],\n ['bulletList', `Lista (${shortcut} + Shift + 7)`],\n ['orderedList', `Lista numerada (${shortcut} + Shift + 8)`],\n ['undo', `Desfazer (${shortcut} + Z)`],\n ['redo', `Refazer (${shortcut} + Y)`]\n ])\n\n return descriptionsMap.get(name)\n }, [name, shortcut])\n\n const handleToggle = useCallback(() => {\n if (!editor) throw new Error('Editor not found')\n\n const commandsMap = new Map<ToggleButtonName, () => void>([\n ['bold', () => editor.chain().focus().toggleBold().run()],\n ['italic', () => editor.chain().focus().toggleItalic().run()],\n ['underline', () => editor.chain().focus().toggleUnderline().run()],\n ['strike', () => editor.chain().focus().toggleStrike().run()],\n ['bulletList', () => editor.chain().focus().toggleBulletList().run()],\n ['orderedList', () => editor.chain().focus().toggleOrderedList().run()],\n ['undo', () => editor.chain().focus().undo().run()],\n ['redo', () => editor.chain().focus().redo().run()]\n ])\n\n commandsMap.get(name)?.()\n }, [editor, name])\n\n return (\n <Tooltip>\n <TooltipTrigger asChild={true}>\n <ToolbarButton\n onClick={handleToggle}\n {...(isActive && { appearance: 'solid' })}\n {...props}\n >\n {icon && <Icon className=\"text-icon-neutral-3\" name={icon} />}\n </ToolbarButton>\n </TooltipTrigger>\n\n <TooltipContent>\n {description && <Typography size=\"sm\">{description}</Typography>}\n </TooltipContent>\n </Tooltip>\n )\n}\n\nexport function HeadingButton({\n appearance = 'ghost',\n variant = 'secondary',\n ...props\n}: ButtonProps) {\n const [isOpen, setIsOpen] = useState(false)\n const { editor } = useRichTextEditor()\n\n const isActive = useRichTextEditorState({\n editor,\n selector: ctx => ctx.editor?.isActive('heading') ?? false\n })\n\n const isLevelActive = useCallback(\n (level: Level) => {\n if (!editor) throw new Error('Editor not found')\n return editor.isActive('heading', { level })\n },\n [editor]\n )\n\n const toggleHeading = useCallback(\n (level: Level) => {\n if (!editor) throw new Error('Editor not found')\n setIsOpen(false)\n setTimeout(() => {\n editor.chain().focus().toggleHeading({ level }).run()\n }, 0)\n },\n [editor]\n )\n\n const levels: { level: Level; label: string; className?: string }[] = [\n { level: 1, label: 'Normal', className: headingClasses[1] },\n { level: 2, label: 'Grande', className: headingClasses[2] },\n { level: 3, label: 'Enorme', className: headingClasses[3] }\n ]\n\n return (\n <DropdownMenuRoot open={isOpen} onOpenChange={open => setIsOpen(open)}>\n <DropdownMenuTrigger asChild={true}>\n <Button\n appearance={isActive ? 'solid' : appearance}\n size=\"icon_md\"\n tabIndex={-1}\n type=\"button\"\n variant={variant}\n {...props}\n >\n <Tooltip>\n <TooltipTrigger asChild={true}>\n <Icon className=\"text-icon-neutral-3\" name=\"format_size\" />\n </TooltipTrigger>\n\n <TooltipContent>\n <Typography size=\"sm\">Tamanho</Typography>\n </TooltipContent>\n </Tooltip>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent>\n <DropdownMenuList>\n {levels.map(level => (\n <DropdownMenuItem\n isActive={isLevelActive(level.level)}\n key={level.level}\n onPointerDown={() => toggleHeading(level.level)}\n >\n <DropdownMenuItemText className={level.className}>\n {level.label}\n </DropdownMenuItemText>\n </DropdownMenuItem>\n ))}\n </DropdownMenuList>\n </DropdownMenuContent>\n </DropdownMenuRoot>\n )\n}\n\nexport { useRichTextEditorState, useRichTextEditor }\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b as b$1}from'../../chunk-PKCW37CJ.js';import {a}from'../../chunk-EIG6CBTQ.js';import {cx,cva}from'@xjur-ui/util';import {createContext}from'react';import {jsx}from'react/jsx-runtime';var i=createContext({variant:"outlined"});function h({className:e,variant:r="outlined",...o}){return jsx(i.Provider,{value:{variant:r},children:jsx("div",{className:cx(e,"relative flex w-full"),...o})})}function b({className:e,...r}){let o=cva(["gap-small py-small_1x-alt px-small flex items-center w-full","h-large-4x rounded-circle","border-border-layer-2 placeholder:placeholder-neutral-placeholder text-size-body-md text-neutral-dark border font-normal","group-hover:border-border-layer-3 transition-colors duration-200","disabled:opacity-60","focus-within:border-primary-idle"],{variants:{variant:{outlined:"rounded-circle focus-within:border-primary-idle ",line:"rounded-none border-t-0 border-b-1 border-x-0",action:"rounded-tr-none rounded-br-none border-r-0"}}});return jsx(i.Consumer,{children:({variant:a})=>jsx("div",{className:cx(e,o({variant:a})),"data-variant":a,...r})})}function f({htmlFor:e,...r}){return jsx(a,{asChild:true,className:cx("absolute -top-[22px] left-0"),size:"sm",variant:"label",weight:"medium",children:jsx("label",{htmlFor:e,...r})})}function v({className:e,...r}){return jsx("input",{className:cx(e,"flex-1 outline-none"),...r})}function y(e){return jsx("div",{...e,"data-slot":"search-input-slot"})}function C({className:e,appearance:r="ghost",variant:o="outlined",...a}){return jsx(b$1,{...a,appearance:r,className:cx(e,"cursor-pointer","h-large-4x rounded-tr-circle rounded-br-circle px-small py-small_1x-alt flex items-center justify-center rounded-none","text-size-body-md text-neutral-dark gap-small-1x"),"data-slot":"search-input-action",variant:o})}export{C as SearchInputAction,b as SearchInputContent,f as SearchInputLabel,h as SearchInputRoot,y as SearchInputSlot,v as SearchInputText};//# sourceMappingURL=search-input.js.map
|
|
2
|
-
//# sourceMappingURL=search-input.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/form/search-input.tsx"],"names":["SearchInputRootContext","createContext","SearchInputRoot","className","variant","props","jsx","cx","SearchInputContent","contentVarians","cva","SearchInputLabel","htmlFor","Typography","SearchInputText","SearchInputSlot","SearchInputAction","appearance","Button"],"mappings":"gMASA,IAAMA,CAAAA,CAAyBC,aAAAA,CAAgC,CAC7D,OAAA,CAAS,UACX,CAAC,EAEM,SAASC,CAAAA,CAAgB,CAC9B,SAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,EAAU,UAAA,CACV,GAAGC,CACL,CAAA,CAA6C,CAC3C,OACEC,IAACN,CAAAA,CAAuB,QAAA,CAAvB,CAAgC,KAAA,CAAO,CAAE,OAAA,CAAAI,CAAQ,CAAA,CAChD,QAAA,CAAAE,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWC,EAAAA,CAAGJ,EAAW,sBAAsB,CAAA,CAAI,GAAGE,CAAAA,CAAO,CAAA,CACpE,CAEJ,CAEO,SAASG,CAAAA,CAAmB,CACjC,SAAA,CAAAL,CAAAA,CACA,GAAGE,CACL,CAAA,CAA0B,CACxB,IAAMI,CAAAA,CAAiBC,GAAAA,CACrB,CACE,8DACA,2BAAA,CACA,0HAAA,CACA,kEAAA,CACA,qBAAA,CACA,kCACF,CAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,QAAA,CAAU,kDAAA,CACV,KAAM,+CAAA,CACN,MAAA,CAAQ,4CACV,CACF,CACF,CACF,EAEA,OACEJ,GAAAA,CAACN,CAAAA,CAAuB,QAAA,CAAvB,CACE,QAAA,CAAA,CAAC,CAAE,OAAA,CAAAI,CAAQ,CAAA,GACVE,GAAAA,CAAC,KAAA,CAAA,CACC,SAAA,CAAWC,EAAAA,CAAGJ,CAAAA,CAAWM,CAAAA,CAAe,CAAE,OAAA,CAAAL,CAAQ,CAAC,CAAC,EACpD,cAAA,CAAcA,CAAAA,CACb,GAAGC,CAAAA,CACN,CAAA,CAEJ,CAEJ,CAEO,SAASM,CAAAA,CAAiB,CAC/B,OAAA,CAAAC,CAAAA,CACA,GAAGP,CACL,CAAA,CAA4B,CAC1B,OACEC,GAAAA,CAACO,CAAAA,CAAA,CACC,QAAS,IAAA,CACT,SAAA,CAAWN,EAAAA,CAAG,6BAA6B,CAAA,CAC3C,IAAA,CAAK,KACL,OAAA,CAAQ,OAAA,CACR,MAAA,CAAO,QAAA,CAEP,QAAA,CAAAD,GAAAA,CAAC,SAAM,OAAA,CAASM,CAAAA,CAAU,GAAGP,CAAAA,CAAO,CAAA,CACtC,CAEJ,CAEO,SAASS,CAAAA,CAAgB,CAC9B,SAAA,CAAAX,CAAAA,CACA,GAAGE,CACL,CAAA,CAA4B,CAC1B,OAAOC,GAAAA,CAAC,OAAA,CAAA,CAAM,SAAA,CAAWC,GAAGJ,CAAAA,CAAW,qBAAqB,CAAA,CAAI,GAAGE,CAAAA,CAAO,CAC5E,CAEO,SAASU,CAAAA,CAAgBV,CAAAA,CAA8B,CAC5D,OAAOC,GAAAA,CAAC,OAAK,GAAGD,CAAAA,CAAO,WAAA,CAAU,mBAAA,CAAoB,CACvD,CAEO,SAASW,CAAAA,CAAkB,CAChC,SAAA,CAAAb,CAAAA,CACA,UAAA,CAAAc,CAAAA,CAAa,QACb,OAAA,CAAAb,CAAAA,CAAU,UAAA,CACV,GAAGC,CACL,CAAA,CAAgB,CACd,OACEC,GAAAA,CAACY,GAAAA,CAAA,CACE,GAAGb,CAAAA,CACJ,WAAYY,CAAAA,CACZ,SAAA,CAAWV,EAAAA,CACTJ,CAAAA,CACA,gBAAA,CACA,uHAAA,CACA,kDACF,CAAA,CACA,WAAA,CAAU,qBAAA,CACV,OAAA,CAASC,CAAAA,CACX,CAEJ","file":"search-input.js","sourcesContent":["import { cva, cx } from '@xjur-ui/util'\nimport { createContext, type ComponentProps } from 'react'\nimport { Typography } from '../typography'\nimport { Button, type ButtonProps } from '../form/button'\n\nexport type SearchInputProps = {\n variant?: 'outlined' | 'line' | 'action'\n}\n\nconst SearchInputRootContext = createContext<SearchInputProps>({\n variant: 'outlined'\n})\n\nexport function SearchInputRoot({\n className,\n variant = 'outlined',\n ...props\n}: ComponentProps<'div'> & SearchInputProps) {\n return (\n <SearchInputRootContext.Provider value={{ variant }}>\n <div className={cx(className, 'relative flex w-full')} {...props} />\n </SearchInputRootContext.Provider>\n )\n}\n\nexport function SearchInputContent({\n className,\n ...props\n}: ComponentProps<'div'>) {\n const contentVarians = cva(\n [\n 'gap-small py-small_1x-alt px-small flex items-center w-full',\n 'h-large-4x rounded-circle',\n 'border-border-layer-2 placeholder:placeholder-neutral-placeholder text-size-body-md text-neutral-dark border font-normal',\n 'group-hover:border-border-layer-3 transition-colors duration-200',\n 'disabled:opacity-60',\n 'focus-within:border-primary-idle'\n ],\n {\n variants: {\n variant: {\n outlined: 'rounded-circle focus-within:border-primary-idle ',\n line: 'rounded-none border-t-0 border-b-1 border-x-0',\n action: 'rounded-tr-none rounded-br-none border-r-0'\n }\n }\n }\n )\n\n return (\n <SearchInputRootContext.Consumer>\n {({ variant }) => (\n <div\n className={cx(className, contentVarians({ variant }))}\n data-variant={variant}\n {...props}\n />\n )}\n </SearchInputRootContext.Consumer>\n )\n}\n\nexport function SearchInputLabel({\n htmlFor,\n ...props\n}: ComponentProps<'label'>) {\n return (\n <Typography\n asChild={true}\n className={cx('absolute -top-[22px] left-0')}\n size=\"sm\"\n variant=\"label\"\n weight=\"medium\"\n >\n <label htmlFor={htmlFor} {...props} />\n </Typography>\n )\n}\n\nexport function SearchInputText({\n className,\n ...props\n}: ComponentProps<'input'>) {\n return <input className={cx(className, 'flex-1 outline-none')} {...props} />\n}\n\nexport function SearchInputSlot(props: ComponentProps<'div'>) {\n return <div {...props} data-slot=\"search-input-slot\" />\n}\n\nexport function SearchInputAction({\n className,\n appearance = 'ghost',\n variant = 'outlined',\n ...props\n}: ButtonProps) {\n return (\n <Button\n {...props}\n appearance={appearance}\n className={cx(\n className,\n 'cursor-pointer',\n 'h-large-4x rounded-tr-circle rounded-br-circle px-small py-small_1x-alt flex items-center justify-center rounded-none',\n 'text-size-body-md text-neutral-dark gap-small-1x'\n )}\n data-slot=\"search-input-action\"\n variant={variant}\n />\n )\n}\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
declare function Table({ className, ...props }: React.ComponentProps<'table'>): react_jsx_runtime.JSX.Element;
|
|
4
|
-
declare function TableHeader({ className, ...props }: React.ComponentProps<'thead'>): react_jsx_runtime.JSX.Element;
|
|
5
|
-
declare function TableBody({ className, ...props }: React.ComponentProps<'tbody'>): react_jsx_runtime.JSX.Element;
|
|
6
|
-
declare function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>): react_jsx_runtime.JSX.Element;
|
|
7
|
-
declare function TableRow({ className, isSelected, ...props }: React.ComponentProps<'tr'> & {
|
|
8
|
-
isSelected?: boolean;
|
|
9
|
-
}): react_jsx_runtime.JSX.Element;
|
|
10
|
-
declare function TableHead({ className, ...props }: React.ComponentProps<'th'>): react_jsx_runtime.JSX.Element;
|
|
11
|
-
declare function TableHeadContent({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
12
|
-
declare function TableSort({ className, sortedDirection, ...props }: React.ComponentProps<'button'> & {
|
|
13
|
-
sortedDirection?: 'asc' | 'desc';
|
|
14
|
-
}): react_jsx_runtime.JSX.Element;
|
|
15
|
-
declare function TableCell({ className, ...props }: React.ComponentProps<'td'>): react_jsx_runtime.JSX.Element;
|
|
16
|
-
|
|
17
|
-
export { Table, TableBody, TableCell, TableFooter, TableHead, TableHeadContent, TableHeader, TableRow, TableSort };
|
package/dist/components/table.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {b as b$1}from'../chunk-WV7QV2PU.js';import {cx}from'@xjur-ui/util';import {jsx}from'react/jsx-runtime';function s({className:t,...e}){return jsx("div",{className:"text-size-body-md scrollbar-thin relative w-full overflow-hidden transition-all hover:overflow-x-auto","data-slot":"table-container",children:jsx("table",{className:cx("w-full caption-bottom",t),"data-slot":"table",...e})})}function i({className:t,...e}){return jsx("thead",{className:cx("group/table-header [&_tr]:border-border-layer-2 hover:bg-layer-2-hover [&_tr]:border-b",t),"data-slot":"table-header",...e})}function b({className:t,...e}){return jsx("tbody",{className:cx("[&_tr]:border-border-layer-2 [&_tr]:border-b [&_tr:last-child]:border-0",t),"data-slot":"table-body",...e})}function p({className:t,...e}){return jsx("tfoot",{className:cx("border-border-layer-2 border-t font-medium [&>tr]:last:border-b-0",t),"data-slot":"table-footer",...e})}function c({className:t,isSelected:e=false,...o}){return jsx("tr",{className:cx("bg-layer-2-idle hover:bg-layer-2-hover ease border-b transition-colors duration-100","active:bg-layer-2-pressed","data-[selected=true]:bg-primary-alt-active",t),"data-selected":e,"data-slot":"table-row",...o})}function u({className:t,...e}){return jsx("th",{className:cx("group/th text-neutral-placeholder text-size-label-sm h-large-4x py-small-1x px-small text-left align-middle font-medium whitespace-nowrap","pr-large-2x relative","animate-in fade-in duration-200 ease-in",t),"data-slot":"table-head",...e})}function m({className:t,...e}){return jsx("div",{className:cx("gap-small pr-large-3x relative flex w-fit items-center",t),...e})}function f({className:t,sortedDirection:e,...o}){return jsx("button",{className:cx("size-large-1x rounded-small-1x","flex cursor-pointer items-center justify-center","hidden group-hover/th:flex","data-[sorted=true]:flex","transition-all duration-200 ease-out","data-[sorted=true]:bg-primary-alt-active data-[sorted=true]:text-primary-label-active","absolute top-1/2 right-0 -translate-y-1/2",t),"data-sorted":e!==void 0,type:"button",...o,children:e!==void 0?jsx(b$1,{name:e==="asc"?"arrow_downward":"arrow_upward"}):jsx(b$1,{name:"swap_vert"})})}function x({className:t,...e}){return jsx("td",{className:cx("px-small py-none h-large-8x text-left align-middle whitespace-nowrap",t),"data-slot":"table-cell",...e})}export{s as Table,b as TableBody,x as TableCell,p as TableFooter,u as TableHead,m as TableHeadContent,i as TableHeader,c as TableRow,f as TableSort};//# sourceMappingURL=table.js.map
|
|
2
|
-
//# sourceMappingURL=table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/table.tsx"],"names":["Table","className","props","jsx","cx","TableHeader","TableBody","TableFooter","TableRow","isSelected","TableHead","TableHeadContent","TableSort","sortedDirection","Icon","TableCell"],"mappings":"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","file":"table.js","sourcesContent":["import { cx } from '@xjur-ui/util'\nimport { Icon } from './icon'\n\nexport function Table({ className, ...props }: React.ComponentProps<'table'>) {\n return (\n <div\n className=\"text-size-body-md scrollbar-thin relative w-full overflow-hidden transition-all hover:overflow-x-auto\"\n data-slot=\"table-container\"\n >\n <table\n className={cx('w-full caption-bottom', className)}\n data-slot=\"table\"\n {...props}\n />\n </div>\n )\n}\n\nexport function TableHeader({\n className,\n ...props\n}: React.ComponentProps<'thead'>) {\n return (\n <thead\n className={cx(\n 'group/table-header [&_tr]:border-border-layer-2 hover:bg-layer-2-hover [&_tr]:border-b',\n className\n )}\n data-slot=\"table-header\"\n {...props}\n />\n )\n}\n\nexport function TableBody({\n className,\n ...props\n}: React.ComponentProps<'tbody'>) {\n return (\n <tbody\n className={cx(\n '[&_tr]:border-border-layer-2 [&_tr]:border-b [&_tr:last-child]:border-0',\n className\n )}\n data-slot=\"table-body\"\n {...props}\n />\n )\n}\n\nexport function TableFooter({\n className,\n ...props\n}: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n className={cx(\n 'border-border-layer-2 border-t font-medium [&>tr]:last:border-b-0',\n className\n )}\n data-slot=\"table-footer\"\n {...props}\n />\n )\n}\n\nexport function TableRow({\n className,\n isSelected = false,\n ...props\n}: React.ComponentProps<'tr'> & { isSelected?: boolean }) {\n return (\n <tr\n className={cx(\n 'bg-layer-2-idle hover:bg-layer-2-hover ease border-b transition-colors duration-100',\n 'active:bg-layer-2-pressed',\n 'data-[selected=true]:bg-primary-alt-active',\n className\n )}\n data-selected={isSelected}\n data-slot=\"table-row\"\n {...props}\n />\n )\n}\n\nexport function TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n className={cx(\n 'group/th text-neutral-placeholder text-size-label-sm h-large-4x py-small-1x px-small text-left align-middle font-medium whitespace-nowrap',\n 'pr-large-2x relative',\n 'animate-in fade-in duration-200 ease-in',\n className\n )}\n data-slot=\"table-head\"\n {...props}\n />\n )\n}\n\nexport function TableHeadContent({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n className={cx(\n 'gap-small pr-large-3x relative flex w-fit items-center',\n className\n )}\n {...props}\n />\n )\n}\n\nexport function TableSort({\n className,\n sortedDirection,\n ...props\n}: React.ComponentProps<'button'> & { sortedDirection?: 'asc' | 'desc' }) {\n return (\n <button\n className={cx(\n 'size-large-1x rounded-small-1x',\n 'flex cursor-pointer items-center justify-center',\n 'hidden group-hover/th:flex',\n 'data-[sorted=true]:flex',\n 'transition-all duration-200 ease-out',\n 'data-[sorted=true]:bg-primary-alt-active data-[sorted=true]:text-primary-label-active',\n 'absolute top-1/2 right-0 -translate-y-1/2',\n className\n )}\n data-sorted={sortedDirection !== undefined}\n type=\"button\"\n {...props}\n >\n {sortedDirection !== undefined ? (\n <Icon\n name={sortedDirection === 'asc' ? 'arrow_downward' : 'arrow_upward'}\n />\n ) : (\n <Icon name=\"swap_vert\" />\n )}\n </button>\n )\n}\n\nexport function TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n className={cx(\n 'px-small py-none h-large-8x text-left align-middle whitespace-nowrap',\n className\n )}\n data-slot=\"table-cell\"\n {...props}\n />\n )\n}\n"]}
|
package/dist/icons-CmDuL0gZ.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
declare const icons: readonly ["account_balance", "assignment", "task", "ad_units", "add_a_photo", "add", "adjust", "archive", "arrow_downward_alt", "arrow_downward", "arrow_drop_down", "arrow_drop_up", "arrow_split", "arrow_upward_alt", "arrow_upward", "attach_file", "attach_money", "autorenew", "brightness_1", "calendar_today", "call", "chat_bubble", "check_circle", "check", "chevron_left", "chevron_right", "close", "collapse_all", "contacts", "content_copy", "dangerous", "dashboard", "delete", "download", "draft", "drafts", "drag_handle", "drag_indicator", "edit_document", "edit_square", "edit", "error", "expand_all", "file_export", "filter_alt", "filter_list", "first_page", "flag_2", "folder_open", "folder", "format_bold", "format_italic", "format_italic", "format_size", "format_strikethrough", "gavel", "group", "headphones", "help", "hourglass_bottom", "imagesmode", "import_contacts", "inbox", "info", "inventory_2", "keep", "keep", "keyboard_arrow_down", "keyboard_arrow_up", "keyboard_return", "label_off", "label", "last_page", "left_panel_close", "left_panel_open", "link_off", "link", "linked_services", "list", "location_on", "lock", "logout", "mail", "menu", "mic", "more_vert", "notifications", "numbers", "person_add", "person_off", "person", "play_circle", "progress_activity", "question_mark", "radio_button_unchecked", "refresh", "remove", "reply", "right_panel_close", "right_panel_open", "schedule", "search", "sell", "send", "settings", "share", "smart_display", "star", "star", "swap_vert", "thumb_down", "thumb_up", "tune", "unarchive", "undo", "upload", "verified_user", "videocam", "view_list", "view_module", "view_object_track", "visibility_off", "visibility", "warning", "wifi_2_bar", "wifi_off", "wifi", "work", "workspaces", "article", "id_card", "badge", "home", "save", "code", "favorite", "analytics", "reports", "event", "account_circle", "history", "security", "bar_chart", "category", "format_underlined", "format_list_bulleted", "format_list_numbered", "redo", "more_horiz"];
|
|
2
|
-
type IconType = (typeof icons)[number];
|
|
3
|
-
|
|
4
|
-
export { type IconType as I, icons as i };
|
package/eslint.config.js
DELETED
package/postcss.config.js
DELETED
package/prettier.config.js
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { cx } from '@xjur-ui/util'
|
|
2
|
-
import { AvatarRoot, AvatarImage, AvatarFallback } from './avatar'
|
|
3
|
-
import { Typography } from './typography'
|
|
4
|
-
|
|
5
|
-
export interface AvatarGroupProps {
|
|
6
|
-
/**
|
|
7
|
-
* Lista de avatares para exibir
|
|
8
|
-
*/
|
|
9
|
-
avatars: Array<{
|
|
10
|
-
src?: string
|
|
11
|
-
alt?: string
|
|
12
|
-
fallback?: string
|
|
13
|
-
}>
|
|
14
|
-
/**
|
|
15
|
-
* Número máximo de avatares a exibir antes de mostrar o indicador de overflow
|
|
16
|
-
* @default 3
|
|
17
|
-
*/
|
|
18
|
-
max?: number
|
|
19
|
-
/**
|
|
20
|
-
* Tamanho dos avatares
|
|
21
|
-
* @default 'md'
|
|
22
|
-
*/
|
|
23
|
-
size?: 'xs' | 'sm' | 'md' | 'lg'
|
|
24
|
-
/**
|
|
25
|
-
* Classe CSS adicional
|
|
26
|
-
*/
|
|
27
|
-
className?: string
|
|
28
|
-
/**
|
|
29
|
-
* Espaçamento entre os avatares (em pixels)
|
|
30
|
-
* @default -8
|
|
31
|
-
*/
|
|
32
|
-
spacing?: number
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function AvatarGroup({
|
|
36
|
-
avatars,
|
|
37
|
-
max = 3,
|
|
38
|
-
size = 'md',
|
|
39
|
-
className
|
|
40
|
-
}: AvatarGroupProps) {
|
|
41
|
-
const visibleAvatars = avatars.slice(0, max)
|
|
42
|
-
const remainingCount = avatars.length - max
|
|
43
|
-
|
|
44
|
-
return (
|
|
45
|
-
<div
|
|
46
|
-
className={cx('-space-x-small-1x flex items-center', className)}
|
|
47
|
-
data-slot="avatar-group"
|
|
48
|
-
>
|
|
49
|
-
{visibleAvatars.map((avatar, index) => (
|
|
50
|
-
<AvatarRoot
|
|
51
|
-
className="border-icon-neutral-5 border-2"
|
|
52
|
-
key={index}
|
|
53
|
-
size={size}
|
|
54
|
-
>
|
|
55
|
-
{avatar.src && (
|
|
56
|
-
<AvatarImage
|
|
57
|
-
alt={avatar.alt || `Avatar ${index + 1}`}
|
|
58
|
-
src={avatar.src}
|
|
59
|
-
/>
|
|
60
|
-
)}
|
|
61
|
-
<AvatarFallback>{avatar.fallback || `A${index + 1}`}</AvatarFallback>
|
|
62
|
-
</AvatarRoot>
|
|
63
|
-
))}
|
|
64
|
-
|
|
65
|
-
{remainingCount > 0 && (
|
|
66
|
-
<AvatarRoot className="bg-layer-1-hover" size={size}>
|
|
67
|
-
<AvatarFallback className="bg-layer-1-hover font-medium">
|
|
68
|
-
<Typography className="text-neutral-dark" weight="medium">
|
|
69
|
-
+{remainingCount}
|
|
70
|
-
</Typography>
|
|
71
|
-
</AvatarFallback>
|
|
72
|
-
</AvatarRoot>
|
|
73
|
-
)}
|
|
74
|
-
</div>
|
|
75
|
-
)
|
|
76
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import * as React from 'react'
|
|
2
|
-
import * as AvatarPrimitive from '@radix-ui/react-avatar'
|
|
3
|
-
import { cx } from '@xjur-ui/util'
|
|
4
|
-
|
|
5
|
-
export function AvatarRoot({
|
|
6
|
-
className,
|
|
7
|
-
size = 'md',
|
|
8
|
-
...props
|
|
9
|
-
}: React.ComponentProps<typeof AvatarPrimitive.Root> & {
|
|
10
|
-
size?: 'xs' | 'sm' | 'md' | 'lg'
|
|
11
|
-
}) {
|
|
12
|
-
return (
|
|
13
|
-
<AvatarPrimitive.Root
|
|
14
|
-
className={cx(
|
|
15
|
-
'rounded-circle relative flex shrink-0 overflow-hidden',
|
|
16
|
-
'data-[size=lg]:size-large-8x data-[size=md]:size-large-4x data-[size=sm]:size-large-2x data-[size=xs]:size-large-1x',
|
|
17
|
-
'data-[size=lg]:text-size-headline-md data-[size=md]:text-size-label-lg data-[size=sm]:text-size-label-sm data-[size=xs]:text-size-label-sm',
|
|
18
|
-
className
|
|
19
|
-
)}
|
|
20
|
-
data-size={size}
|
|
21
|
-
data-slot="avatar"
|
|
22
|
-
{...props}
|
|
23
|
-
/>
|
|
24
|
-
)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function AvatarImage({
|
|
28
|
-
className,
|
|
29
|
-
...props
|
|
30
|
-
}: React.ComponentProps<typeof AvatarPrimitive.Image>) {
|
|
31
|
-
return (
|
|
32
|
-
<AvatarPrimitive.Image
|
|
33
|
-
className={cx('aspect-square size-full', className)}
|
|
34
|
-
data-slot="avatar-image"
|
|
35
|
-
{...props}
|
|
36
|
-
/>
|
|
37
|
-
)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function AvatarFallback({
|
|
41
|
-
className,
|
|
42
|
-
...props
|
|
43
|
-
}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {
|
|
44
|
-
return (
|
|
45
|
-
<AvatarPrimitive.Fallback
|
|
46
|
-
className={cx(
|
|
47
|
-
'bg-alt-1 rounded-circle flex size-full items-center justify-center font-medium text-white',
|
|
48
|
-
className
|
|
49
|
-
)}
|
|
50
|
-
data-slot="avatar-fallback"
|
|
51
|
-
{...props}
|
|
52
|
-
/>
|
|
53
|
-
)
|
|
54
|
-
}
|
package/src/components/badge.tsx
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { cva, type ClassVariantProps, cx } from '@xjur-ui/util'
|
|
2
|
-
import { Typography } from './typography'
|
|
3
|
-
|
|
4
|
-
const badgeVariants = cva(
|
|
5
|
-
[
|
|
6
|
-
'flex items-center justify-center size-large p-small-2x text-neutral-label rounded-circle'
|
|
7
|
-
],
|
|
8
|
-
{
|
|
9
|
-
variants: {
|
|
10
|
-
variant: {
|
|
11
|
-
primary: 'bg-primary-idle',
|
|
12
|
-
secondary: 'bg-secondary-idle',
|
|
13
|
-
neutral: 'bg-alt-2-idle',
|
|
14
|
-
success: 'bg-success-idle',
|
|
15
|
-
warning: 'bg-warning-idle',
|
|
16
|
-
danger: 'bg-danger-idle'
|
|
17
|
-
}
|
|
18
|
-
},
|
|
19
|
-
defaultVariants: {
|
|
20
|
-
variant: 'neutral'
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
)
|
|
24
|
-
|
|
25
|
-
export function Badge({
|
|
26
|
-
variant = 'neutral',
|
|
27
|
-
children,
|
|
28
|
-
className
|
|
29
|
-
}: ClassVariantProps<typeof badgeVariants> & {
|
|
30
|
-
children: string
|
|
31
|
-
className?: string
|
|
32
|
-
}) {
|
|
33
|
-
return (
|
|
34
|
-
<span className={cx(badgeVariants({ variant }), className)}>
|
|
35
|
-
<Typography className="text-inherit" size="sm-2x" variant="label">
|
|
36
|
-
{children}
|
|
37
|
-
</Typography>
|
|
38
|
-
</span>
|
|
39
|
-
)
|
|
40
|
-
}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import * as React from 'react'
|
|
2
|
-
import { Slot } from '@radix-ui/react-slot'
|
|
3
|
-
import { cx } from '@xjur-ui/util'
|
|
4
|
-
import { Icon } from './icon'
|
|
5
|
-
import { Typography, type TypographyProps } from './typography'
|
|
6
|
-
|
|
7
|
-
export function Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {
|
|
8
|
-
return <nav aria-label="breadcrumb" data-slot="breadcrumb" {...props} />
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export function BreadcrumbList({
|
|
12
|
-
className,
|
|
13
|
-
...props
|
|
14
|
-
}: React.ComponentProps<'ol'>) {
|
|
15
|
-
return (
|
|
16
|
-
<ol
|
|
17
|
-
className={cx(
|
|
18
|
-
'text-neutral-placeholder flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5',
|
|
19
|
-
className
|
|
20
|
-
)}
|
|
21
|
-
data-slot="breadcrumb-list"
|
|
22
|
-
{...props}
|
|
23
|
-
/>
|
|
24
|
-
)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function BreadcrumbItem({
|
|
28
|
-
className,
|
|
29
|
-
...props
|
|
30
|
-
}: React.ComponentProps<'li'>) {
|
|
31
|
-
return (
|
|
32
|
-
<li
|
|
33
|
-
className={cx('inline-flex items-center gap-1.5', className)}
|
|
34
|
-
data-slot="breadcrumb-item"
|
|
35
|
-
{...props}
|
|
36
|
-
/>
|
|
37
|
-
)
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function BreadcrumbLink({
|
|
41
|
-
asChild,
|
|
42
|
-
className,
|
|
43
|
-
variant = 'headline',
|
|
44
|
-
size = 'sm',
|
|
45
|
-
...props
|
|
46
|
-
}: React.ComponentProps<'a'> & {
|
|
47
|
-
asChild?: boolean
|
|
48
|
-
href?: string
|
|
49
|
-
variant?: TypographyProps['variant']
|
|
50
|
-
size?: TypographyProps['size']
|
|
51
|
-
}) {
|
|
52
|
-
const Comp = asChild ? Slot : 'a'
|
|
53
|
-
|
|
54
|
-
return (
|
|
55
|
-
<Typography asChild={true} size={size} variant={variant}>
|
|
56
|
-
<Comp
|
|
57
|
-
className={cx('hover:text-neutral-dark transition-colors', className)}
|
|
58
|
-
data-slot="breadcrumb-link"
|
|
59
|
-
{...props}
|
|
60
|
-
/>
|
|
61
|
-
</Typography>
|
|
62
|
-
)
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export function BreadcrumbPage({
|
|
66
|
-
variant = 'headline',
|
|
67
|
-
size = 'sm',
|
|
68
|
-
className,
|
|
69
|
-
...props
|
|
70
|
-
}: React.ComponentProps<typeof Typography>) {
|
|
71
|
-
return (
|
|
72
|
-
<Typography
|
|
73
|
-
aria-current="page"
|
|
74
|
-
aria-disabled="true"
|
|
75
|
-
className={cx('text-neutral-dark font-normal', className)}
|
|
76
|
-
data-slot="breadcrumb-page"
|
|
77
|
-
role="link"
|
|
78
|
-
size={size}
|
|
79
|
-
variant={variant}
|
|
80
|
-
{...props}
|
|
81
|
-
/>
|
|
82
|
-
)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
export function BreadcrumbSeparator({
|
|
86
|
-
children,
|
|
87
|
-
className,
|
|
88
|
-
...props
|
|
89
|
-
}: React.ComponentProps<'li'>) {
|
|
90
|
-
return (
|
|
91
|
-
<li
|
|
92
|
-
aria-hidden="true"
|
|
93
|
-
className={cx('[&>span]:text-size-title-lg', className)}
|
|
94
|
-
data-slot="breadcrumb-separator"
|
|
95
|
-
role="presentation"
|
|
96
|
-
{...props}
|
|
97
|
-
>
|
|
98
|
-
{children ?? <Icon name="chevron_right" />}
|
|
99
|
-
</li>
|
|
100
|
-
)
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
export function BreadcrumbEllipsis({
|
|
104
|
-
className,
|
|
105
|
-
...props
|
|
106
|
-
}: React.ComponentProps<'span'>) {
|
|
107
|
-
return (
|
|
108
|
-
<span
|
|
109
|
-
aria-hidden="true"
|
|
110
|
-
className={cx('flex size-9 items-center justify-center', className)}
|
|
111
|
-
data-slot="breadcrumb-ellipsis"
|
|
112
|
-
role="presentation"
|
|
113
|
-
{...props}
|
|
114
|
-
>
|
|
115
|
-
<Icon className="size-4" name="more_horiz" />
|
|
116
|
-
<span className="sr-only">More</span>
|
|
117
|
-
</span>
|
|
118
|
-
)
|
|
119
|
-
}
|
package/src/components/chip.tsx
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { cva, cx, type ClassVariantProps } from '@xjur-ui/util'
|
|
2
|
-
import { type ComponentProps } from 'react'
|
|
3
|
-
import { Typography } from './typography'
|
|
4
|
-
import { Icon, type IconType } from './icon'
|
|
5
|
-
import { AvatarFallback, AvatarImage, AvatarRoot } from './avatar'
|
|
6
|
-
|
|
7
|
-
const chipVariants = cva(
|
|
8
|
-
[
|
|
9
|
-
'group/chip relative h-large-2x w-fit rounded-circle px-small py-none flex items-center gap-small_1x-alt',
|
|
10
|
-
'transition-all duration-200'
|
|
11
|
-
],
|
|
12
|
-
{
|
|
13
|
-
variants: {
|
|
14
|
-
variant: {
|
|
15
|
-
primary:
|
|
16
|
-
'bg-primary-alt-idle text-primary-label-idle hover:bg-primary-alt-hover',
|
|
17
|
-
danger:
|
|
18
|
-
'bg-danger-alt-idle text-danger-label-idle hover:bg-danger-alt-hover',
|
|
19
|
-
neutral: 'bg-layer-1-idle text-neutral-dark hover:bg-layer-1-hover'
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
defaultVariants: {
|
|
23
|
-
variant: 'primary'
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
export function ChipRoot({
|
|
29
|
-
className,
|
|
30
|
-
variant = 'primary',
|
|
31
|
-
disabled = false,
|
|
32
|
-
...props
|
|
33
|
-
}: ComponentProps<'div'> &
|
|
34
|
-
ClassVariantProps<typeof chipVariants> & { disabled?: boolean }) {
|
|
35
|
-
return (
|
|
36
|
-
<div
|
|
37
|
-
className={cx(chipVariants({ variant }), className)}
|
|
38
|
-
data-disabled={disabled}
|
|
39
|
-
{...props}
|
|
40
|
-
/>
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export function ChipText({
|
|
45
|
-
variant = 'label',
|
|
46
|
-
size = 'sm-1x',
|
|
47
|
-
weight = 'medium',
|
|
48
|
-
className,
|
|
49
|
-
...props
|
|
50
|
-
}: ComponentProps<typeof Typography>) {
|
|
51
|
-
return (
|
|
52
|
-
<Typography
|
|
53
|
-
className={cx(className, 'truncate')}
|
|
54
|
-
size={size}
|
|
55
|
-
variant={variant}
|
|
56
|
-
weight={weight}
|
|
57
|
-
{...props}
|
|
58
|
-
/>
|
|
59
|
-
)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export function ChipIcon({ className, ...props }: ComponentProps<typeof Icon>) {
|
|
63
|
-
return (
|
|
64
|
-
<Icon
|
|
65
|
-
className={
|
|
66
|
-
(cx(
|
|
67
|
-
'text-size-body-md',
|
|
68
|
-
'group-data-[variant=primary]:text-primary-label-idle',
|
|
69
|
-
'group-data-[variant=danger]:text-danger-label-idle',
|
|
70
|
-
'group-data-[variant=neutral]:text-icon-neutral-3'
|
|
71
|
-
),
|
|
72
|
-
className)
|
|
73
|
-
}
|
|
74
|
-
{...props}
|
|
75
|
-
/>
|
|
76
|
-
)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export function ChipClose({
|
|
80
|
-
className,
|
|
81
|
-
children = <ChipIcon name="close" />,
|
|
82
|
-
...props
|
|
83
|
-
}: ComponentProps<'button'> & { name?: IconType }) {
|
|
84
|
-
return (
|
|
85
|
-
<button
|
|
86
|
-
className={cx(
|
|
87
|
-
className,
|
|
88
|
-
'cursor-pointer bg-inherit',
|
|
89
|
-
'invisible items-center justify-center group-hover/chip:data-[disabled=false]:visible',
|
|
90
|
-
'absolute top-0 right-0',
|
|
91
|
-
'h-large-2x w-large-2x rounded-circle',
|
|
92
|
-
'transition-[visibility] duration-200'
|
|
93
|
-
)}
|
|
94
|
-
type="button"
|
|
95
|
-
{...props}
|
|
96
|
-
>
|
|
97
|
-
{children}
|
|
98
|
-
</button>
|
|
99
|
-
)
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export function ChipAvatar({
|
|
103
|
-
size = 'xs',
|
|
104
|
-
avatarFallback = 'CN',
|
|
105
|
-
avatarUrl,
|
|
106
|
-
...props
|
|
107
|
-
}: ComponentProps<typeof AvatarRoot> & {
|
|
108
|
-
avatarUrl?: string
|
|
109
|
-
avatarFallback: string
|
|
110
|
-
}) {
|
|
111
|
-
return (
|
|
112
|
-
<AvatarRoot size={size} style={{ marginLeft: '-4px' }} {...props}>
|
|
113
|
-
{avatarUrl && <AvatarImage src={avatarUrl} />}
|
|
114
|
-
<AvatarFallback>{avatarFallback}</AvatarFallback>
|
|
115
|
-
</AvatarRoot>
|
|
116
|
-
)
|
|
117
|
-
}
|