@xjur-ui/react 2.0.0 → 2.1.1
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/.turbo/turbo-build.log +409 -119
- package/CHANGELOG.md +76 -0
- package/dist/chunk-2JQVYVAT.js +2 -0
- 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/{components/switch.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-4BGTC333.js +2 -0
- package/dist/chunk-4BGTC333.js.map +1 -0
- package/dist/chunk-4PTFZTVU.js +2 -0
- package/dist/chunk-4PTFZTVU.js.map +1 -0
- package/dist/chunk-6PHXO2YA.js +2 -0
- package/dist/{chunk-RWMV7APX.js.map → chunk-6PHXO2YA.js.map} +1 -1
- package/dist/chunk-7HG6Y3VV.js +2 -0
- package/dist/chunk-7HG6Y3VV.js.map +1 -0
- 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-ASZAHSU5.js +2 -0
- package/dist/chunk-ASZAHSU5.js.map +1 -0
- package/dist/chunk-BZDGWC5O.js +2 -0
- package/dist/chunk-BZDGWC5O.js.map +1 -0
- package/dist/chunk-DFXHNK5D.js +2 -0
- package/dist/chunk-DFXHNK5D.js.map +1 -0
- package/dist/chunk-DOC3XTYC.js +2 -0
- package/dist/chunk-DOC3XTYC.js.map +1 -0
- package/dist/chunk-DT44JTXB.js +2 -0
- package/dist/chunk-DT44JTXB.js.map +1 -0
- 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-EXC2XOL6.js +2 -0
- package/dist/chunk-EXC2XOL6.js.map +1 -0
- package/dist/chunk-F4DYKYWJ.js +2 -0
- package/dist/chunk-F4DYKYWJ.js.map +1 -0
- package/dist/chunk-F5ZLEQGN.js +2 -0
- package/dist/chunk-F5ZLEQGN.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-G6NSC3FL.js +2 -0
- package/dist/chunk-G6NSC3FL.js.map +1 -0
- package/dist/chunk-GKILN5HI.js +2 -0
- 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-J4X5RQTR.js +2 -0
- package/dist/chunk-J4X5RQTR.js.map +1 -0
- package/dist/chunk-JF7JKJES.js +2 -0
- package/dist/chunk-JF7JKJES.js.map +1 -0
- package/dist/chunk-JGPHBUVM.js +2 -0
- package/dist/chunk-JGPHBUVM.js.map +1 -0
- package/dist/{chunk-FASEHVMD.js → chunk-M6ZI7M3R.js} +2 -2
- package/dist/chunk-M6ZI7M3R.js.map +1 -0
- package/dist/chunk-MQ7YTZBI.js +2 -0
- package/dist/chunk-MQ7YTZBI.js.map +1 -0
- package/dist/chunk-MZSV4LNY.js +2 -0
- package/dist/chunk-MZSV4LNY.js.map +1 -0
- package/dist/chunk-O3JK6QF6.js +2 -0
- package/dist/chunk-O3JK6QF6.js.map +1 -0
- package/dist/chunk-OKSGVAQQ.js +2 -0
- 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-RGKXZJJS.js +3 -0
- package/dist/chunk-RGKXZJJS.js.map +1 -0
- package/dist/chunk-SLAAEXWI.js +2 -0
- package/dist/chunk-SLAAEXWI.js.map +1 -0
- package/dist/chunk-SSTXFHNX.js +2 -0
- package/dist/chunk-SSTXFHNX.js.map +1 -0
- package/dist/chunk-SXGSWVMZ.js +2 -0
- package/dist/chunk-SXGSWVMZ.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-WEBAXQID.js +2 -0
- package/dist/chunk-WEBAXQID.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/chunk-ZVVPUP7V.js +2 -0
- package/dist/chunk-ZVVPUP7V.js.map +1 -0
- package/dist/components/breadcrumb.d.ts +20 -0
- package/dist/components/breadcrumb.js +2 -0
- package/dist/components/breadcrumb.js.map +1 -0
- package/dist/components/chip.d.ts +2 -1
- package/dist/components/chip.js +1 -1
- package/dist/components/controls/button.js +2 -0
- package/dist/components/controls/calendar.js +2 -0
- package/dist/components/controls/calendar.js.map +1 -0
- package/dist/components/controls/checkbox.js +2 -0
- package/dist/components/controls/checkbox.js.map +1 -0
- package/dist/components/controls/context/field.context.d.ts +14 -0
- package/dist/components/controls/context/field.context.js +2 -0
- package/dist/components/controls/context/field.context.js.map +1 -0
- package/dist/components/controls/date-picker.d.ts +85 -0
- package/dist/components/controls/date-picker.js +2 -0
- package/dist/components/controls/date-picker.js.map +1 -0
- package/dist/components/controls/floating-label.d.ts +6 -0
- package/dist/components/controls/floating-label.js +2 -0
- package/dist/components/controls/floating-label.js.map +1 -0
- package/dist/components/controls/input.d.ts +96 -0
- package/dist/components/controls/input.js +2 -0
- package/dist/components/controls/input.js.map +1 -0
- package/dist/components/controls/otp-input.js.map +1 -0
- package/dist/components/controls/radio.js +2 -0
- package/dist/components/controls/radio.js.map +1 -0
- package/dist/components/controls/rich-editor.js +2 -0
- package/dist/components/controls/rich-editor.js.map +1 -0
- package/dist/components/{search-input.d.ts → controls/search-input.d.ts} +9 -1
- package/dist/components/controls/search-input.js +2 -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/controls/select.d.ts +95 -0
- package/dist/components/controls/select.js +2 -0
- package/dist/components/controls/select.js.map +1 -0
- package/dist/components/controls/switch.js +2 -0
- package/dist/components/controls/switch.js.map +1 -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.d.ts +51 -0
- package/dist/components/dialog.js +2 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/drag-and-drop/drag-handle.d.ts +15 -0
- package/dist/components/drag-and-drop/drag-handle.js +2 -0
- package/dist/components/drag-and-drop/drag-handle.js.map +1 -0
- package/dist/components/drag-and-drop/drag-list-item.d.ts +14 -0
- package/dist/components/drag-and-drop/drag-list-item.js +2 -0
- package/dist/components/drag-and-drop/drag-list-item.js.map +1 -0
- package/dist/components/drag-and-drop/drag-list.d.ts +14 -0
- package/dist/components/drag-and-drop/drag-list.js +2 -0
- package/dist/components/drag-and-drop/drag-list.js.map +1 -0
- package/dist/components/drag-and-drop/drag-root.d.ts +6 -0
- package/dist/components/drag-and-drop/drag-root.js +2 -0
- package/dist/components/drag-and-drop/drag-root.js.map +1 -0
- package/dist/components/drag-and-drop/index.d.ts +10 -0
- package/dist/components/drag-and-drop/index.js +2 -0
- package/dist/components/drag-and-drop/index.js.map +1 -0
- package/dist/components/drag-and-drop/types/drag-item.d.ts +9 -0
- package/dist/components/drag-and-drop/types/drag-item.js +2 -0
- package/dist/components/drag-and-drop/types/drag-item.js.map +1 -0
- package/dist/components/dropdown-menu.js +1 -1
- package/dist/components/full-calendar/calendar-add-event.d.ts +9 -0
- package/dist/components/full-calendar/calendar-add-event.js +2 -0
- package/dist/components/full-calendar/calendar-add-event.js.map +1 -0
- package/dist/components/full-calendar/calendar-body.d.ts +6 -0
- package/dist/components/full-calendar/calendar-body.js +2 -0
- package/dist/components/full-calendar/calendar-body.js.map +1 -0
- package/dist/components/full-calendar/calendar-cell.d.ts +11 -0
- package/dist/components/full-calendar/calendar-cell.js +2 -0
- package/dist/components/full-calendar/calendar-cell.js.map +1 -0
- package/dist/components/full-calendar/calendar-day-view.d.ts +5 -0
- package/dist/components/full-calendar/calendar-day-view.js +2 -0
- package/dist/components/full-calendar/calendar-day-view.js.map +1 -0
- package/dist/components/full-calendar/calendar-event.d.ts +18 -0
- package/dist/components/full-calendar/calendar-event.js +2 -0
- package/dist/components/full-calendar/calendar-event.js.map +1 -0
- package/dist/components/full-calendar/calendar-header.d.ts +6 -0
- package/dist/components/full-calendar/calendar-header.js +2 -0
- package/dist/components/full-calendar/calendar-header.js.map +1 -0
- package/dist/components/full-calendar/calendar-month-view.d.ts +5 -0
- package/dist/components/full-calendar/calendar-month-view.js +2 -0
- package/dist/components/full-calendar/calendar-month-view.js.map +1 -0
- package/dist/components/full-calendar/calendar-more-events-dropdown.d.ts +9 -0
- package/dist/components/full-calendar/calendar-more-events-dropdown.js +2 -0
- package/dist/components/full-calendar/calendar-more-events-dropdown.js.map +1 -0
- package/dist/components/full-calendar/calendar-navigator.d.ts +5 -0
- package/dist/components/full-calendar/calendar-navigator.js +2 -0
- package/dist/components/full-calendar/calendar-navigator.js.map +1 -0
- package/dist/components/full-calendar/calendar-root.d.ts +30 -0
- package/dist/components/full-calendar/calendar-root.js +2 -0
- package/dist/components/full-calendar/calendar-root.js.map +1 -0
- package/dist/components/full-calendar/calendar-today-button.d.ts +9 -0
- package/dist/components/full-calendar/calendar-today-button.js +2 -0
- package/dist/components/full-calendar/calendar-today-button.js.map +1 -0
- package/dist/components/full-calendar/calendar-toggle-view.d.ts +5 -0
- package/dist/components/full-calendar/calendar-toggle-view.js +2 -0
- package/dist/components/full-calendar/calendar-toggle-view.js.map +1 -0
- package/dist/components/full-calendar/calendar-view-renderer.d.ts +5 -0
- package/dist/components/full-calendar/calendar-view-renderer.js +2 -0
- package/dist/components/full-calendar/calendar-view-renderer.js.map +1 -0
- package/dist/components/full-calendar/calendar-week-day.d.ts +10 -0
- package/dist/components/full-calendar/calendar-week-day.js +2 -0
- package/dist/components/full-calendar/calendar-week-day.js.map +1 -0
- package/dist/components/full-calendar/calendar-week-view.d.ts +5 -0
- package/dist/components/full-calendar/calendar-week-view.js +2 -0
- package/dist/components/full-calendar/calendar-week-view.js.map +1 -0
- package/dist/components/full-calendar/helpers/calendar.d.ts +25 -0
- package/dist/components/full-calendar/helpers/calendar.js +2 -0
- package/dist/components/full-calendar/helpers/calendar.js.map +1 -0
- package/dist/components/full-calendar/index.d.ts +18 -0
- package/dist/components/full-calendar/index.js +2 -0
- package/dist/components/full-calendar/index.js.map +1 -0
- package/dist/components/full-calendar/types/calendar-cell.d.ts +6 -0
- package/dist/components/full-calendar/types/calendar-cell.js +2 -0
- package/dist/components/full-calendar/types/calendar-cell.js.map +1 -0
- package/dist/components/full-calendar/types/calendar-event.d.ts +8 -0
- package/dist/components/full-calendar/types/calendar-event.js +2 -0
- package/dist/components/full-calendar/types/calendar-event.js.map +1 -0
- package/dist/components/full-calendar/types/calendar-view.d.ts +3 -0
- package/dist/components/full-calendar/types/calendar-view.js +2 -0
- package/dist/components/full-calendar/types/calendar-view.js.map +1 -0
- package/dist/components/full-calendar/types/calendar-week-hour.d.ts +6 -0
- package/dist/components/full-calendar/types/calendar-week-hour.js +2 -0
- package/dist/components/full-calendar/types/calendar-week-hour.js.map +1 -0
- package/dist/components/horizontal-scroll.d.ts +11 -0
- package/dist/components/horizontal-scroll.js +2 -0
- package/dist/components/horizontal-scroll.js.map +1 -0
- package/dist/components/icon.d.ts +3 -4
- package/dist/components/icon.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/selection-bar.d.ts +57 -0
- package/dist/components/selection-bar.js +2 -0
- package/dist/components/selection-bar.js.map +1 -0
- package/dist/components/sheet.d.ts +8 -8
- 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 +2 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/upload.d.ts +74 -0
- package/dist/components/upload.js +2 -0
- package/dist/components/upload.js.map +1 -0
- 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 +26 -14
- package/src/components/breadcrumb.tsx +119 -0
- package/src/components/{calendar.tsx → controls/calendar.tsx} +1 -1
- package/src/components/{checkbox.tsx → controls/checkbox.tsx} +2 -2
- package/src/components/controls/context/field.context.ts +27 -0
- package/src/components/controls/date-picker.tsx +199 -0
- package/src/components/controls/floating-label.tsx +60 -0
- package/src/components/controls/input.tsx +237 -0
- package/src/components/{radio.tsx → controls/radio.tsx} +1 -1
- package/src/components/{rich-editor.tsx → controls/rich-editor.tsx} +5 -5
- package/src/components/{search-input.tsx → controls/search-input.tsx} +46 -3
- package/src/components/controls/search-selector.tsx +98 -0
- package/src/components/controls/select.tsx +274 -0
- package/src/components/custom/pessoa/index.ts +9 -0
- package/src/components/custom/pessoa/pessoa-add-button.tsx +35 -0
- package/src/components/custom/pessoa/pessoa-body.tsx +22 -0
- package/src/components/custom/pessoa/pessoa-close-button.tsx +13 -0
- package/src/components/custom/pessoa/pessoa-content.tsx +25 -0
- package/src/components/custom/pessoa/pessoa-footer.tsx +15 -0
- package/src/components/custom/pessoa/pessoa-header.tsx +35 -0
- package/src/components/custom/pessoa/pessoa-trigger.tsx +25 -0
- package/src/components/custom/pessoa/pessoa.context.tsx +73 -0
- package/src/components/custom/pessoa/pessoa.tsx +35 -0
- package/src/components/dialog.tsx +242 -0
- package/src/components/drag-and-drop/drag-handle.tsx +46 -0
- package/src/components/drag-and-drop/drag-list-item.tsx +91 -0
- package/src/components/drag-and-drop/drag-list.tsx +47 -0
- package/src/components/drag-and-drop/drag-root.tsx +30 -0
- package/src/components/drag-and-drop/index.ts +39 -0
- package/src/components/drag-and-drop/types/drag-item.ts +7 -0
- package/src/components/dropdown-menu.tsx +1 -1
- package/src/components/full-calendar/calendar-add-event.tsx +15 -0
- package/src/components/full-calendar/calendar-body.tsx +12 -0
- package/src/components/full-calendar/calendar-cell.tsx +120 -0
- package/src/components/full-calendar/calendar-day-view.tsx +76 -0
- package/src/components/full-calendar/calendar-event.tsx +178 -0
- package/src/components/full-calendar/calendar-header.tsx +14 -0
- package/src/components/full-calendar/calendar-month-view.tsx +69 -0
- package/src/components/full-calendar/calendar-more-events-dropdown.tsx +39 -0
- package/src/components/full-calendar/calendar-navigator.tsx +86 -0
- package/src/components/full-calendar/calendar-root.tsx +165 -0
- package/src/components/full-calendar/calendar-today-button.tsx +21 -0
- package/src/components/full-calendar/calendar-toggle-view.tsx +61 -0
- package/src/components/full-calendar/calendar-view-renderer.tsx +19 -0
- package/src/components/full-calendar/calendar-week-day.tsx +49 -0
- package/src/components/full-calendar/calendar-week-view.tsx +88 -0
- package/src/components/full-calendar/helpers/calendar.ts +158 -0
- package/src/components/full-calendar/index.ts +16 -0
- package/src/components/full-calendar/types/calendar-cell.ts +4 -0
- package/src/components/full-calendar/types/calendar-event.ts +7 -0
- package/src/components/full-calendar/types/calendar-view.ts +1 -0
- package/src/components/full-calendar/types/calendar-week-hour.ts +4 -0
- package/src/components/horizontal-scroll.tsx +159 -0
- package/src/components/list.tsx +1 -1
- package/src/components/selection-bar.tsx +273 -0
- package/src/components/sheet.tsx +26 -17
- package/src/components/steps/index.ts +6 -0
- package/src/components/steps/step.tsx +23 -0
- package/src/components/steps/steps-action.tsx +65 -0
- package/src/components/steps/steps-content.tsx +12 -0
- package/src/components/steps/steps-context.tsx +121 -0
- package/src/components/steps/steps-navigation.tsx +80 -0
- package/src/components/steps/steps-root.tsx +9 -0
- package/src/components/table/index.ts +8 -0
- package/src/components/table/table-body.tsx +17 -0
- package/src/components/table/table-cell.tsx +14 -0
- package/src/components/table/table-footer.tsx +17 -0
- package/src/components/table/table-head.tsx +31 -0
- package/src/components/table/table-header.tsx +17 -0
- package/src/components/table/table-row.tsx +21 -0
- package/src/components/table/table-sort.tsx +34 -0
- package/src/components/table/table.tsx +16 -0
- package/src/components/upload.tsx +647 -0
- package/src/resources/icons.ts +5 -1
- package/dist/chunk-FASEHVMD.js.map +0 -1
- package/dist/chunk-KIFR5VIE.js +0 -2
- package/dist/chunk-NPTLORW5.js +0 -2
- package/dist/chunk-NPTLORW5.js.map +0 -1
- package/dist/chunk-RWMV7APX.js +0 -2
- package/dist/chunk-SHHXKVVR.js +0 -2
- package/dist/chunk-SHHXKVVR.js.map +0 -1
- package/dist/components/button.js +0 -2
- package/dist/components/calendar.js +0 -2
- package/dist/components/calendar.js.map +0 -1
- package/dist/components/checkbox.js +0 -2
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/date-picker.d.ts +0 -25
- package/dist/components/date-picker.js +0 -2
- package/dist/components/date-picker.js.map +0 -1
- package/dist/components/input.d.ts +0 -37
- package/dist/components/input.js +0 -2
- package/dist/components/input.js.map +0 -1
- package/dist/components/otp-input.js.map +0 -1
- package/dist/components/radio.js +0 -2
- package/dist/components/radio.js.map +0 -1
- package/dist/components/rich-editor.js +0 -2
- package/dist/components/rich-editor.js.map +0 -1
- package/dist/components/search-input.js +0 -2
- package/dist/components/select.d.ts +0 -36
- package/dist/components/select.js +0 -2
- package/dist/components/select.js.map +0 -1
- package/dist/components/switch.js.map +0 -1
- package/dist/components/table.d.ts +0 -17
- package/dist/components/table.js +0 -2
- package/dist/components/table.js.map +0 -1
- package/src/components/date-picker.tsx +0 -263
- package/src/components/input.tsx +0 -320
- package/src/components/select.tsx +0 -318
- package/src/components/table.tsx +0 -160
- /package/dist/components/{button.d.ts → controls/button.d.ts} +0 -0
- /package/dist/components/{button.js.map → controls/button.js.map} +0 -0
- /package/dist/components/{calendar.d.ts → controls/calendar.d.ts} +0 -0
- /package/dist/components/{checkbox.d.ts → controls/checkbox.d.ts} +0 -0
- /package/dist/components/{otp-input.d.ts → controls/otp-input.d.ts} +0 -0
- /package/dist/components/{otp-input.js → controls/otp-input.js} +0 -0
- /package/dist/components/{radio.d.ts → controls/radio.d.ts} +0 -0
- /package/dist/components/{rich-editor.d.ts → controls/rich-editor.d.ts} +0 -0
- /package/dist/components/{search-input.js.map → controls/search-input.js.map} +0 -0
- /package/dist/components/{switch.d.ts → controls/switch.d.ts} +0 -0
- /package/src/components/{button.tsx → controls/button.tsx} +0 -0
- /package/src/components/{otp-input.tsx → controls/otp-input.tsx} +0 -0
- /package/src/components/{switch.tsx → controls/switch.tsx} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/select.tsx"],"names":["SelectContext","createContext","useSelect","context","useContext","SelectRoot","disabled","hasError","props","jsx","SelectTrigger","className","twMerge","SelectContent","children","sideOffset","side","align","ListRoot","SelectValue","displayValue","jsxs","Fragment","Typography","SelectMultiValue","values","SelectLabel","htmlFor","SelectOptions","ListContent","SelectOption","ListItem","SelectOptionText","SelectHeader","ListHeader","SelectHeaderTitle","ListHeaderTitle","SelectLeftSlot","SelectRightSlot","SelectSearch","SearchInputRoot","SearchInputContent","SearchInputSlot","Icon","SearchInputText","SelectCaption","variant","size","weight","caption","tv"],"mappings":"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","file":"select.js","sourcesContent":["import { createContext, useContext, type ComponentProps } from 'react'\nimport * as RadixPopover from '@radix-ui/react-popover'\nimport { tv, twMerge } from '@xjur-ui/util'\nimport {\n ListContent,\n ListItem,\n ListRoot,\n ListHeader,\n ListHeaderTitle\n} from './list'\nimport {\n SearchInputContent,\n SearchInputText,\n SearchInputRoot,\n SearchInputSlot\n} from './search-input'\nimport { Icon } from './icon'\nimport { Typography, type TypographyProps } from './typography'\n\nconst SelectContext = createContext({\n disabled: false,\n hasError: false\n})\n\nfunction useSelect() {\n const context = useContext(SelectContext)\n\n if (!context) {\n throw new Error('useSelect must be used within a SelectRoot')\n }\n\n return context\n}\n\nexport function SelectRoot({\n disabled = false,\n hasError = false,\n ...props\n}: ComponentProps<typeof RadixPopover.Root> & {\n disabled?: boolean\n hasError?: boolean\n}) {\n return (\n <SelectContext.Provider value={{ disabled, hasError }}>\n <RadixPopover.Root {...props} />\n </SelectContext.Provider>\n )\n}\n\nexport function SelectTrigger({\n className,\n ...props\n}: ComponentProps<typeof RadixPopover.Trigger>) {\n const { disabled, hasError } = useSelect()\n\n return (\n <RadixPopover.Trigger\n className={twMerge(\n className,\n 'group h-large-4x rounded-small-1x gap-small py-small_1x-alt px-small relative flex w-full cursor-pointer items-center',\n 'bg-layer-2-idle border-border-layer-2 hover:border-border-layer-3 border',\n 'data-[state=open]:border-primary-idle data-[state=open]:data-[has-error=true]:border-danger-label-active',\n 'has-[input:not(:placeholder-shown)]:text-primary-idle has-[input:not(:placeholder-shown)]:data-[has-error=true]:text-danger-label-active',\n 'has-[input:not(:placeholder-shown)]:border-primary-idle has-[input:not(:placeholder-shown)]:data-[has-error=true]:border-danger-label-active',\n 'disabled:bg-layer-2-idle disabled:cursor-text disabled:border-none disabled:select-text',\n 'data-[has-error=true]:border-danger-idle data-[has-error=true]:hover:border-danger-idle'\n )}\n {...props}\n data-has-error={hasError}\n disabled={disabled}\n />\n )\n}\n\nexport function SelectContent({\n className,\n children,\n sideOffset = 4,\n side = 'bottom',\n align = 'start',\n ...props\n}: ComponentProps<typeof RadixPopover.Content>) {\n return (\n <RadixPopover.Portal>\n <RadixPopover.Content\n align={align}\n className={twMerge(\n className,\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 side={side}\n sideOffset={sideOffset}\n {...props}\n >\n <ListRoot>{children}</ListRoot>\n </RadixPopover.Content>\n </RadixPopover.Portal>\n )\n}\n\nexport function SelectValue({\n className,\n displayValue = '',\n ...props\n}: ComponentProps<'input'> & { displayValue?: string }) {\n return (\n <>\n {!!displayValue && (\n <Typography\n className={twMerge(\n className,\n 'text-neutral-dark',\n // if has left slot, add the left slot padding\n 'group-has-[div[data-slot=select-left-slot]]:pl-large-1x'\n )}\n >\n {displayValue}\n </Typography>\n )}\n\n <input\n {...props}\n aria-readonly={true}\n className={twMerge(className, 'pointer-events-none')}\n hidden={true}\n placeholder={props.placeholder ?? ' '}\n readOnly={true}\n />\n </>\n )\n}\n\nexport function SelectMultiValue({\n className,\n values,\n children,\n ...props\n}: ComponentProps<'div'> & { values: string[] }) {\n return (\n <div\n className={twMerge(\n className,\n 'gap-small-1x scrollbar-hide overflow-x-small flex',\n // if has left slot, add the left slot padding\n 'group-has-[div[data-slot=select-left-slot]]:pl-large-1x',\n // if the trigger is disabled, remove the left slot padding\n 'group-disabled:!pl-0'\n )}\n {...props}\n >\n {children}\n\n <input\n aria-readonly={true}\n className={twMerge(className, 'pointer-events-none')}\n hidden={true}\n placeholder={' '}\n readOnly={true}\n value={values.join(',')}\n />\n </div>\n )\n}\n\nexport function SelectLabel({\n className,\n htmlFor,\n children,\n ...props\n}: TypographyProps & { htmlFor?: string }) {\n const { hasError } = useSelect()\n\n return (\n <Typography\n asChild={true}\n className={twMerge(\n 'inline-block max-w-full truncate text-left font-normal',\n 'left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2',\n 'ease transition-all duration-250',\n // Content Open\n 'group-data-[state=open]:!text-primary-idle group-data-[state=open]:data-[has-error=true]:!text-danger-label-active',\n 'group-data-[state=open]:-top-[3px]',\n 'group-data-[state=open]:text-size-label-sm-1x',\n 'group-data-[state=open]:font-medium',\n // Filled\n 'group-has-[input:not(:placeholder-shown)]:!text-primary-idle group-has-[input:not(:placeholder-shown)]:data-[has-error=true]:!text-danger-label-active',\n 'group-has-[input:not(:placeholder-shown)]:-top-[3px]',\n 'group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x',\n 'group-has-[input:not(:placeholder-shown)]:font-medium',\n // If has left slot\n 'group-has-[div[data-slot=select-left-slot]]:left-large-4x',\n 'group-has-[div[data-slot=select-left-slot]]:group-data-[state=open]:left-small',\n 'group-has-[div[data-slot=select-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small',\n // If has right slot\n 'group-has-[div[data-slot=select-right-slot]]:right-large-4x',\n 'group-has-[div[data-slot=select-right-slot]]:group-data-[state=open]:right-small',\n 'group-has-[div[data-slot=select-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small',\n // Animate\n 'group-data-[state=open]:animate-in',\n 'group-data-[state=closed]:animate-out',\n 'group-has-[input:not(:placeholder-shown)]:animate-out',\n 'group-disabled:hidden',\n className\n )}\n data-has-error={hasError}\n {...props}\n >\n <label htmlFor={htmlFor}>\n <span className=\"bg-layer-2-idle rounded-small-1x max-w-full\">\n {children}\n </span>\n </label>\n </Typography>\n )\n}\n\nexport function SelectOptions(props: ComponentProps<typeof ListContent>) {\n return <ListContent {...props} />\n}\n\nexport function SelectOption({\n className,\n ...props\n}: ComponentProps<typeof ListItem>) {\n return (\n <ListItem className={twMerge(className, 'cursor-pointer')} {...props} />\n )\n}\n\nexport function SelectOptionText(props: ComponentProps<typeof Typography>) {\n return <Typography {...props} />\n}\n\nexport function SelectHeader(props: ComponentProps<typeof ListHeader>) {\n return <ListHeader {...props} />\n}\n\nexport function SelectHeaderTitle(\n props: ComponentProps<typeof ListHeaderTitle>\n) {\n return <ListHeaderTitle {...props} />\n}\n\nexport function SelectLeftSlot({ className, ...props }: ComponentProps<'div'>) {\n return (\n <div\n {...props}\n className={twMerge(\n className,\n 'left-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'\n )}\n data-slot=\"select-left-slot\"\n />\n )\n}\n\nexport function SelectRightSlot({\n className,\n ...props\n}: ComponentProps<'div'>) {\n return (\n <div\n {...props}\n className={twMerge(\n className,\n 'right-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center',\n 'group-disabled:hidden'\n )}\n data-slot=\"select-right-slot\"\n />\n )\n}\n\nexport function SelectSearch(props: ComponentProps<typeof SearchInputText>) {\n return (\n <SearchInputRoot variant=\"line\">\n <SearchInputContent>\n <SearchInputSlot>\n <Icon className=\"text-icon-neutral-3\" name=\"search\" />\n </SearchInputSlot>\n <SearchInputText {...props} />\n </SearchInputContent>\n </SearchInputRoot>\n )\n}\n\nexport function SelectCaption({\n className,\n variant = 'body',\n size = 'sm',\n weight = 'normal',\n ...props\n}: ComponentProps<typeof Typography>) {\n const { hasError } = useSelect()\n\n const caption = tv({\n base: 'text-size-body-sm mt-small-1x font-normal',\n variants: {\n state: {\n error: 'text-danger-label-active',\n idle: 'text-neutral-dark'\n }\n }\n })\n\n return (\n <Typography\n className={caption({\n state: hasError ? 'error' : 'idle',\n className\n })}\n size={size}\n variant={variant}\n weight={weight}\n {...props}\n />\n )\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/switch.tsx"],"names":["Switch","className","props","jsx","cx"],"mappings":"0HAIA,SAASA,CAAAA,CAAO,CACd,SAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAsD,CACpD,OACEC,GAAAA,CAAiB,CAAA,CAAA,IAAA,CAAhB,CACC,SAAA,CAAWC,EAAAA,CACT,gGACA,2EAAA,CACA,kIAAA,CACA,qCACAH,CACF,CAAA,CACA,WAAA,CAAU,QAAA,CACT,GAAGC,CAAAA,CAEJ,SAAAC,GAAAA,CAAiB,CAAA,CAAA,KAAA,CAAhB,CACC,SAAA,CAAWC,EAAAA,CACT,iLACF,CAAA,CACA,WAAA,CAAU,cAAA,CACZ,CAAA,CACF,CAEJ","file":"switch.js","sourcesContent":["import * as React from 'react'\nimport * as SwitchPrimitive from '@radix-ui/react-switch'\nimport { cx } from '@xjur-ui/util'\n\nfunction Switch({\n className,\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n className={cx(\n 'w-large-3x h-large rounded-circle inline-flex shrink-0 items-center border border-transparent',\n 'peer data-[state=checked]:bg-primary-idle data-[state=unchecked]:bg-alt-4',\n 'focus-visible:border-ring focus-visible:ring-ring/50 transition-all outline-none disabled:cursor-not-allowed disabled:opacity-50',\n 'hover:shadow-focus-primary p-[2px]',\n className\n )}\n data-slot=\"switch\"\n {...props}\n >\n <SwitchPrimitive.Thumb\n className={cx(\n 'bg-layer-2-idle size-medium pointer-events-none rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0'\n )}\n data-slot=\"switch-thumb\"\n />\n </SwitchPrimitive.Root>\n )\n}\n\nexport { Switch }\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-SHHXKVVR.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"]}
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from 'react'
|
|
2
|
-
import type { ComponentProps } from 'react'
|
|
3
|
-
import * as RadixPopover from '@radix-ui/react-popover'
|
|
4
|
-
import { tv, twJoin, twMerge } from '@xjur-ui/util'
|
|
5
|
-
import { Typography, type TypographyProps } from './typography'
|
|
6
|
-
|
|
7
|
-
const DatePickerContext = createContext({
|
|
8
|
-
disabled: false,
|
|
9
|
-
variant: 'filled' as 'filled' | 'outlined',
|
|
10
|
-
hasError: false
|
|
11
|
-
})
|
|
12
|
-
|
|
13
|
-
function useDatePicker() {
|
|
14
|
-
const context = useContext(DatePickerContext)
|
|
15
|
-
if (!context) {
|
|
16
|
-
throw new Error('useDatePicker must be used within a DatePickerRoot')
|
|
17
|
-
}
|
|
18
|
-
return context
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export function DatePickerRoot({
|
|
22
|
-
disabled = false,
|
|
23
|
-
variant = 'filled',
|
|
24
|
-
hasError = false,
|
|
25
|
-
...props
|
|
26
|
-
}: ComponentProps<typeof RadixPopover.Root> & {
|
|
27
|
-
disabled?: boolean
|
|
28
|
-
variant?: 'filled' | 'outlined'
|
|
29
|
-
hasError?: boolean
|
|
30
|
-
}) {
|
|
31
|
-
return (
|
|
32
|
-
<DatePickerContext.Provider value={{ disabled, variant, hasError }}>
|
|
33
|
-
<RadixPopover.Root {...props} />
|
|
34
|
-
</DatePickerContext.Provider>
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export function DatePickerTrigger({
|
|
39
|
-
className,
|
|
40
|
-
...props
|
|
41
|
-
}: ComponentProps<typeof RadixPopover.Trigger>) {
|
|
42
|
-
const { disabled, variant, hasError } = useDatePicker()
|
|
43
|
-
|
|
44
|
-
const trigger = tv({
|
|
45
|
-
base: twMerge(
|
|
46
|
-
'border border-transparent group h-large-4x rounded-small-1x gap-small py-small_1x-alt px-small relative flex w-full items-center cursor-pointer',
|
|
47
|
-
'data-[state=open]:border-primary-idle',
|
|
48
|
-
'has-[input:not(:placeholder-shown)]:text-primary-idle',
|
|
49
|
-
'has-[input:not(:placeholder-shown)]:border-primary-idle',
|
|
50
|
-
'focus-within:border-primary-idle focus-within:hover:border-primary-idle',
|
|
51
|
-
'hover:border-border-layer-1'
|
|
52
|
-
),
|
|
53
|
-
variants: {
|
|
54
|
-
variant: {
|
|
55
|
-
filled: 'bg-layer-2-hover',
|
|
56
|
-
outlined:
|
|
57
|
-
'bg-layer-2-idle border-border-layer-2 hover:border-border-layer-3',
|
|
58
|
-
disabled:
|
|
59
|
-
'hover:border-transparent border-none bg-layer-2-idle cursor-text select-text'
|
|
60
|
-
},
|
|
61
|
-
state: {
|
|
62
|
-
idle: '',
|
|
63
|
-
error: twMerge(
|
|
64
|
-
'focus-within:border-danger-idle hover:border-danger-idle border-danger-idle focus-within:hover:border-danger-idle',
|
|
65
|
-
'data-[state=open]:border-danger-idle has-[input:not(:placeholder-shown)]:border-danger-idle'
|
|
66
|
-
)
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
defaultVariants: {
|
|
70
|
-
variant: 'filled',
|
|
71
|
-
state: 'idle'
|
|
72
|
-
}
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
return (
|
|
76
|
-
<RadixPopover.Trigger
|
|
77
|
-
className={trigger({
|
|
78
|
-
variant: disabled ? 'disabled' : variant,
|
|
79
|
-
state: hasError ? 'error' : 'idle',
|
|
80
|
-
className
|
|
81
|
-
})}
|
|
82
|
-
{...props}
|
|
83
|
-
disabled={disabled}
|
|
84
|
-
/>
|
|
85
|
-
)
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
export function DatePickerContent({
|
|
89
|
-
className,
|
|
90
|
-
sideOffset = 5,
|
|
91
|
-
side = 'bottom',
|
|
92
|
-
align = 'start',
|
|
93
|
-
...props
|
|
94
|
-
}: ComponentProps<typeof RadixPopover.Content>) {
|
|
95
|
-
return (
|
|
96
|
-
<RadixPopover.Portal>
|
|
97
|
-
<RadixPopover.Content
|
|
98
|
-
align={align}
|
|
99
|
-
className={twJoin(
|
|
100
|
-
className,
|
|
101
|
-
'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)]'
|
|
102
|
-
)}
|
|
103
|
-
side={side}
|
|
104
|
-
sideOffset={sideOffset}
|
|
105
|
-
{...props}
|
|
106
|
-
/>
|
|
107
|
-
</RadixPopover.Portal>
|
|
108
|
-
)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export function DatePickerValue({
|
|
112
|
-
className,
|
|
113
|
-
displayValue = '',
|
|
114
|
-
value,
|
|
115
|
-
...props
|
|
116
|
-
}: ComponentProps<'input'> & { displayValue?: string }) {
|
|
117
|
-
return (
|
|
118
|
-
<>
|
|
119
|
-
{!!displayValue && (
|
|
120
|
-
<Typography className="text-neutral-dark group-has-[div[data-slot=date-picker-left-slot]]:pl-large-1x">
|
|
121
|
-
{displayValue}
|
|
122
|
-
</Typography>
|
|
123
|
-
)}
|
|
124
|
-
|
|
125
|
-
<input
|
|
126
|
-
{...props}
|
|
127
|
-
aria-readonly={true}
|
|
128
|
-
className={twJoin('pointer-events-none', className)}
|
|
129
|
-
hidden={true}
|
|
130
|
-
placeholder={props.placeholder ?? ' '}
|
|
131
|
-
readOnly={true}
|
|
132
|
-
value={value ?? ''}
|
|
133
|
-
/>
|
|
134
|
-
</>
|
|
135
|
-
)
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export function DatePickerLabel({
|
|
139
|
-
className,
|
|
140
|
-
htmlFor,
|
|
141
|
-
children,
|
|
142
|
-
...props
|
|
143
|
-
}: TypographyProps & { htmlFor?: string }) {
|
|
144
|
-
const { variant, disabled, hasError } = useDatePicker()
|
|
145
|
-
|
|
146
|
-
return (
|
|
147
|
-
<Typography
|
|
148
|
-
asChild={true}
|
|
149
|
-
className={twJoin(
|
|
150
|
-
'group inline-block max-w-full truncate text-left font-normal',
|
|
151
|
-
'left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2',
|
|
152
|
-
'ease transition-all duration-250',
|
|
153
|
-
// Content Open
|
|
154
|
-
'group-data-[state=open]:text-primary-idle group-data-[state=open]:data-[error=true]:text-danger-label-active',
|
|
155
|
-
'group-data-[state=open]:-top-[3px]',
|
|
156
|
-
'group-data-[state=open]:text-size-label-sm-1x',
|
|
157
|
-
'group-data-[state=open]:font-medium',
|
|
158
|
-
// Filled
|
|
159
|
-
'group-has-[input:not(:placeholder-shown)]:text-primary-idle group-has-[input:not(:placeholder-shown)]:data-[error=true]:text-danger-label-active',
|
|
160
|
-
'group-has-[input:not(:placeholder-shown)]:-top-[3px]',
|
|
161
|
-
'group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x',
|
|
162
|
-
'group-has-[input:not(:placeholder-shown)]:font-medium',
|
|
163
|
-
// If has left slot
|
|
164
|
-
'group-has-[div[data-slot=date-picker-left-slot]]:left-large-4x',
|
|
165
|
-
'group-has-[div[data-slot=date-picker-left-slot]]:group-data-[state=open]:left-small',
|
|
166
|
-
'group-has-[div[data-slot=date-picker-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small',
|
|
167
|
-
// If has right slot
|
|
168
|
-
'group-has-[div[data-slot=date-picker-right-slot]]:right-large-4x',
|
|
169
|
-
'group-has-[div[data-slot=date-picker-right-slot]]:group-data-[state=open]:right-small',
|
|
170
|
-
'group-has-[div[data-slot=date-picker-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small',
|
|
171
|
-
// Animate
|
|
172
|
-
'group-data-[state=open]:animate-in',
|
|
173
|
-
'group-data-[state=closed]:animate-out',
|
|
174
|
-
'group-has-[input:not(:placeholder-shown)]:animate-out',
|
|
175
|
-
'data-[disabled=true]:hidden',
|
|
176
|
-
|
|
177
|
-
className
|
|
178
|
-
)}
|
|
179
|
-
data-disabled={disabled}
|
|
180
|
-
data-error={hasError}
|
|
181
|
-
data-variant={variant}
|
|
182
|
-
weight="medium"
|
|
183
|
-
{...props}
|
|
184
|
-
>
|
|
185
|
-
<label htmlFor={htmlFor}>
|
|
186
|
-
<span
|
|
187
|
-
className={twJoin(
|
|
188
|
-
'rounded-small-1x max-w-full',
|
|
189
|
-
'group-data-[variant=outlined]:bg-layer-2-idle',
|
|
190
|
-
'group-data-[variant=filled]:bg-layer-2-hover'
|
|
191
|
-
)}
|
|
192
|
-
>
|
|
193
|
-
{children}
|
|
194
|
-
</span>
|
|
195
|
-
</label>
|
|
196
|
-
</Typography>
|
|
197
|
-
)
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
export function DatePickerLeftSlot({
|
|
201
|
-
className,
|
|
202
|
-
...props
|
|
203
|
-
}: ComponentProps<'div'>) {
|
|
204
|
-
return (
|
|
205
|
-
<div
|
|
206
|
-
{...props}
|
|
207
|
-
className={twJoin(
|
|
208
|
-
className,
|
|
209
|
-
'left-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
|
|
210
|
-
)}
|
|
211
|
-
data-slot="date-picker-left-slot"
|
|
212
|
-
/>
|
|
213
|
-
)
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export function DatePickerRightSlot({
|
|
217
|
-
className,
|
|
218
|
-
...props
|
|
219
|
-
}: ComponentProps<'div'>) {
|
|
220
|
-
return (
|
|
221
|
-
<div
|
|
222
|
-
{...props}
|
|
223
|
-
className={twJoin(
|
|
224
|
-
className,
|
|
225
|
-
'right-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
|
|
226
|
-
)}
|
|
227
|
-
data-slot="date-picker-right-slot"
|
|
228
|
-
/>
|
|
229
|
-
)
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
export function DatePickerCaption({
|
|
233
|
-
className,
|
|
234
|
-
variant = 'body',
|
|
235
|
-
size = 'sm',
|
|
236
|
-
weight = 'normal',
|
|
237
|
-
...props
|
|
238
|
-
}: ComponentProps<typeof Typography>) {
|
|
239
|
-
const { hasError } = useDatePicker()
|
|
240
|
-
|
|
241
|
-
const caption = tv({
|
|
242
|
-
base: 'text-size-body-sm mt-small-1x font-normal',
|
|
243
|
-
variants: {
|
|
244
|
-
state: {
|
|
245
|
-
error: 'text-danger-label-active',
|
|
246
|
-
idle: 'text-neutral-dark'
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
})
|
|
250
|
-
|
|
251
|
-
return (
|
|
252
|
-
<Typography
|
|
253
|
-
className={caption({
|
|
254
|
-
state: hasError ? 'error' : 'idle',
|
|
255
|
-
className
|
|
256
|
-
})}
|
|
257
|
-
size={size}
|
|
258
|
-
variant={variant}
|
|
259
|
-
weight={weight}
|
|
260
|
-
{...props}
|
|
261
|
-
/>
|
|
262
|
-
)
|
|
263
|
-
}
|
package/src/components/input.tsx
DELETED
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
import { tv, twMerge } from '@xjur-ui/util'
|
|
2
|
-
import type { ComponentProps } from 'react'
|
|
3
|
-
import { createContext, useContext, useMemo } from 'react'
|
|
4
|
-
import { InputMask, type MaskOptions } from '@react-input/mask'
|
|
5
|
-
import {
|
|
6
|
-
InputNumberFormat,
|
|
7
|
-
type InputNumberFormatProps
|
|
8
|
-
} from '@react-input/number-format'
|
|
9
|
-
import { inputMask, type InputMaskType } from '../resources/input-mask'
|
|
10
|
-
import { Typography } from './typography'
|
|
11
|
-
|
|
12
|
-
export { inputMask, type InputMaskType, type MaskOptions }
|
|
13
|
-
|
|
14
|
-
export type InputProps = {
|
|
15
|
-
variant?: 'outlined' | 'filled'
|
|
16
|
-
disabled?: boolean
|
|
17
|
-
hasError?: boolean
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const FieldContext = createContext<InputProps>({
|
|
21
|
-
variant: 'filled',
|
|
22
|
-
disabled: false,
|
|
23
|
-
hasError: false
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
function useInput() {
|
|
27
|
-
const context = useContext(FieldContext)
|
|
28
|
-
if (!context) {
|
|
29
|
-
throw new Error('useInput must be used within a InputRoot')
|
|
30
|
-
}
|
|
31
|
-
return context
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export function InputRoot({
|
|
35
|
-
className,
|
|
36
|
-
children,
|
|
37
|
-
variant = 'filled',
|
|
38
|
-
disabled = false,
|
|
39
|
-
hasError = false,
|
|
40
|
-
...props
|
|
41
|
-
}: ComponentProps<'div'> & InputProps) {
|
|
42
|
-
const providerValue = useMemo(
|
|
43
|
-
() => ({ variant, disabled, hasError }),
|
|
44
|
-
[variant, disabled, hasError]
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
return (
|
|
48
|
-
<FieldContext.Provider value={providerValue}>
|
|
49
|
-
<div
|
|
50
|
-
className={twMerge('group relative flex w-full flex-col', className)}
|
|
51
|
-
{...props}
|
|
52
|
-
>
|
|
53
|
-
{children}
|
|
54
|
-
</div>
|
|
55
|
-
</FieldContext.Provider>
|
|
56
|
-
)
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
export function InputContent({ className, ...props }: ComponentProps<'div'>) {
|
|
60
|
-
const content = tv({
|
|
61
|
-
base: twMerge(
|
|
62
|
-
'border border-transparent relative h-large-4x rounded-small-1x gap-small py-small_1x-alt px-small flex items-center w-full',
|
|
63
|
-
'group-has-[div[data-slot=input-right-action-slot]]:rounded-r-none',
|
|
64
|
-
'group-has-[div[data-slot=input-left-action-slot]]:rounded-l-none',
|
|
65
|
-
'focus-within:border-primary-idle focus-within:hover:border-primary-idle',
|
|
66
|
-
'hover:border-border-layer-1'
|
|
67
|
-
),
|
|
68
|
-
variants: {
|
|
69
|
-
variant: {
|
|
70
|
-
filled: 'bg-layer-2-hover',
|
|
71
|
-
outlined:
|
|
72
|
-
'bg-layer-2-idle border-border-layer-2 hover:border-border-layer-3',
|
|
73
|
-
disabled: 'hover:border-transparent border-none bg-layer-2-idle'
|
|
74
|
-
},
|
|
75
|
-
state: {
|
|
76
|
-
idle: '',
|
|
77
|
-
error:
|
|
78
|
-
'focus-within:border-danger-idle hover:border-danger-idle border-danger-idle focus-within:hover:border-danger-idle'
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
defaultVariants: {
|
|
82
|
-
variant: 'filled',
|
|
83
|
-
state: 'idle'
|
|
84
|
-
}
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
return (
|
|
88
|
-
<FieldContext.Consumer>
|
|
89
|
-
{({ variant, disabled, hasError }) => {
|
|
90
|
-
return (
|
|
91
|
-
<div
|
|
92
|
-
className={content({
|
|
93
|
-
variant: disabled ? 'disabled' : variant,
|
|
94
|
-
state: hasError ? 'error' : 'idle',
|
|
95
|
-
className
|
|
96
|
-
})}
|
|
97
|
-
{...props}
|
|
98
|
-
/>
|
|
99
|
-
)
|
|
100
|
-
}}
|
|
101
|
-
</FieldContext.Consumer>
|
|
102
|
-
)
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
export function InputLabel({
|
|
106
|
-
htmlFor,
|
|
107
|
-
className,
|
|
108
|
-
children,
|
|
109
|
-
...props
|
|
110
|
-
}: ComponentProps<typeof Typography> & { htmlFor: string }) {
|
|
111
|
-
return (
|
|
112
|
-
<FieldContext.Consumer>
|
|
113
|
-
{({ variant, disabled, hasError }) => {
|
|
114
|
-
return (
|
|
115
|
-
<Typography
|
|
116
|
-
asChild={true}
|
|
117
|
-
className={twMerge(
|
|
118
|
-
'group inline-block max-w-full truncate text-left',
|
|
119
|
-
'ease animate-in left-small right-small pointer-events-none absolute top-1/2 -translate-y-1/2 transition-all duration-250',
|
|
120
|
-
// Filled
|
|
121
|
-
'group-focus-within:!text-primary-idle group-focus-within:data-[has-error=true]:!text-danger-label-active group-focus-within:-top-[3px]',
|
|
122
|
-
'group-focus-within:text-size-label-sm-1x group-focus-within:font-medium',
|
|
123
|
-
'group-has-[input:not(:placeholder-shown)]:-top-[3px]',
|
|
124
|
-
'group-has-[input:not(:placeholder-shown)]:text-size-label-sm-1x',
|
|
125
|
-
'group-has-[input:not(:placeholder-shown)]:font-medium',
|
|
126
|
-
'group-has-[input:not(:placeholder-shown)]:!text-primary-idle',
|
|
127
|
-
'group-has-[input:not(:placeholder-shown)]:!text-danger-label-active',
|
|
128
|
-
// If has left slot
|
|
129
|
-
'group-has-[div[data-slot=input-left-slot]]:left-large-4x',
|
|
130
|
-
'group-has-[div[data-slot=input-left-slot]]:group-focus-within:left-small',
|
|
131
|
-
'group-has-[div[data-slot=input-left-slot]]:group-has-[input:not(:placeholder-shown)]:left-small',
|
|
132
|
-
// If has right slot
|
|
133
|
-
'group-has-[div[data-slot=input-right-slot]]:right-large-4x',
|
|
134
|
-
'group-has-[div[data-slot=input-right-slot]]:group-focus-within:right-small',
|
|
135
|
-
'group-has-[div[data-slot=input-right-slot]]:group-has-[input:not(:placeholder-shown)]:right-small',
|
|
136
|
-
// Animate
|
|
137
|
-
'group-focus-within:animate-in',
|
|
138
|
-
'group-has-[input:not(:placeholder-shown)]:animate-out',
|
|
139
|
-
'data-[disabled=true]:hidden',
|
|
140
|
-
className
|
|
141
|
-
)}
|
|
142
|
-
data-disabled={disabled}
|
|
143
|
-
data-has-error={hasError}
|
|
144
|
-
data-variant={variant}
|
|
145
|
-
{...props}
|
|
146
|
-
>
|
|
147
|
-
<label htmlFor={htmlFor}>
|
|
148
|
-
<span
|
|
149
|
-
className={twMerge(
|
|
150
|
-
'rounded-small-1x max-w-full',
|
|
151
|
-
'group-data-[variant=outlined]:group-focus-within:bg-layer-2-idle group-data-[variant=filled]:group-focus-within:bg-layer-2-hover',
|
|
152
|
-
'group-data-[variant=outlined]:bg-layer-2-idle group-data-[variant=filled]:bg-layer-2-hover'
|
|
153
|
-
)}
|
|
154
|
-
>
|
|
155
|
-
{children}
|
|
156
|
-
</span>
|
|
157
|
-
</label>
|
|
158
|
-
</Typography>
|
|
159
|
-
)
|
|
160
|
-
}}
|
|
161
|
-
</FieldContext.Consumer>
|
|
162
|
-
)
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
export function InputText({
|
|
166
|
-
className,
|
|
167
|
-
maskOptions,
|
|
168
|
-
maskType,
|
|
169
|
-
...props
|
|
170
|
-
}: ComponentProps<'input'> & {
|
|
171
|
-
maskOptions?: MaskOptions
|
|
172
|
-
maskType?: InputMaskType
|
|
173
|
-
}) {
|
|
174
|
-
const { disabled } = useInput()
|
|
175
|
-
const Component = maskOptions || maskType ? InputMask : 'input'
|
|
176
|
-
|
|
177
|
-
return (
|
|
178
|
-
<Component
|
|
179
|
-
{...props}
|
|
180
|
-
disabled={disabled}
|
|
181
|
-
{...(maskType
|
|
182
|
-
? { ...inputMask(maskType) }
|
|
183
|
-
: maskOptions && { ...maskOptions })}
|
|
184
|
-
className={twMerge(
|
|
185
|
-
className,
|
|
186
|
-
'peer !text-size-body-md text-neutral-dark flex-1 outline-none',
|
|
187
|
-
'group-has-[div[data-slot=input-left-slot]]:pl-large-1x ml-small-1x'
|
|
188
|
-
)}
|
|
189
|
-
placeholder={props.placeholder || ' '}
|
|
190
|
-
{...(maskOptions && { ...maskOptions })}
|
|
191
|
-
/>
|
|
192
|
-
)
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
export function InputNumber({
|
|
196
|
-
className,
|
|
197
|
-
locales = 'pt-BR',
|
|
198
|
-
...props
|
|
199
|
-
}: InputNumberFormatProps) {
|
|
200
|
-
const { disabled } = useInput()
|
|
201
|
-
return (
|
|
202
|
-
<InputNumberFormat
|
|
203
|
-
{...props}
|
|
204
|
-
className={twMerge(
|
|
205
|
-
className,
|
|
206
|
-
'peer !text-size-body-md text-neutral-dark flex-1 font-medium outline-none',
|
|
207
|
-
'group-has-[div[data-slot=input-left-slot]]:pl-large-1x ml-small-1x'
|
|
208
|
-
)}
|
|
209
|
-
disabled={disabled}
|
|
210
|
-
locales={locales}
|
|
211
|
-
placeholder={props.placeholder || ' '}
|
|
212
|
-
/>
|
|
213
|
-
)
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export function InputLeftSlot({ className, ...props }: ComponentProps<'div'>) {
|
|
217
|
-
return (
|
|
218
|
-
<div
|
|
219
|
-
{...props}
|
|
220
|
-
className={twMerge(
|
|
221
|
-
className,
|
|
222
|
-
'left-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
|
|
223
|
-
)}
|
|
224
|
-
data-slot="input-left-slot"
|
|
225
|
-
/>
|
|
226
|
-
)
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
export function InputRightSlot({ className, ...props }: ComponentProps<'div'>) {
|
|
230
|
-
return (
|
|
231
|
-
<div
|
|
232
|
-
{...props}
|
|
233
|
-
className={twMerge(
|
|
234
|
-
className,
|
|
235
|
-
'right-small absolute top-1/2 flex -translate-y-1/2 items-center justify-center'
|
|
236
|
-
)}
|
|
237
|
-
data-slot="input-right-slot"
|
|
238
|
-
/>
|
|
239
|
-
)
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
export function InputCaption({
|
|
243
|
-
className,
|
|
244
|
-
variant = 'body',
|
|
245
|
-
size = 'sm',
|
|
246
|
-
weight = 'normal',
|
|
247
|
-
...props
|
|
248
|
-
}: ComponentProps<typeof Typography>) {
|
|
249
|
-
const { hasError } = useInput()
|
|
250
|
-
|
|
251
|
-
const caption = tv({
|
|
252
|
-
base: 'text-size-body-sm mt-small-1x font-normal',
|
|
253
|
-
variants: {
|
|
254
|
-
state: {
|
|
255
|
-
error: 'text-danger-label-active',
|
|
256
|
-
idle: 'text-neutral-dark'
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
})
|
|
260
|
-
|
|
261
|
-
return (
|
|
262
|
-
<Typography
|
|
263
|
-
className={caption({
|
|
264
|
-
state: hasError ? 'error' : 'idle',
|
|
265
|
-
className
|
|
266
|
-
})}
|
|
267
|
-
size={size}
|
|
268
|
-
variant={variant}
|
|
269
|
-
weight={weight}
|
|
270
|
-
{...props}
|
|
271
|
-
/>
|
|
272
|
-
)
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
export function InputContainer({ className, ...props }: ComponentProps<'div'>) {
|
|
276
|
-
return (
|
|
277
|
-
<div
|
|
278
|
-
{...props}
|
|
279
|
-
className={twMerge(className, 'flex items-center')}
|
|
280
|
-
data-slot="input-content"
|
|
281
|
-
/>
|
|
282
|
-
)
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
export function InputAction({
|
|
286
|
-
className,
|
|
287
|
-
side,
|
|
288
|
-
...props
|
|
289
|
-
}: ComponentProps<'div'> & {
|
|
290
|
-
side: 'left' | 'right'
|
|
291
|
-
}) {
|
|
292
|
-
const { disabled } = useInput()
|
|
293
|
-
return (
|
|
294
|
-
<div
|
|
295
|
-
{...props}
|
|
296
|
-
className={twMerge(
|
|
297
|
-
className,
|
|
298
|
-
'group h-large-4x flex items-center justify-center data-[disabled=true]:hidden'
|
|
299
|
-
)}
|
|
300
|
-
data-disabled={disabled}
|
|
301
|
-
data-side={side}
|
|
302
|
-
data-slot={`input-${side}-action-slot`}
|
|
303
|
-
/>
|
|
304
|
-
)
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
export function InputActionButton({
|
|
308
|
-
className,
|
|
309
|
-
...props
|
|
310
|
-
}: ComponentProps<'div'>) {
|
|
311
|
-
return (
|
|
312
|
-
<div
|
|
313
|
-
{...props}
|
|
314
|
-
className={twMerge(
|
|
315
|
-
className,
|
|
316
|
-
'h-large-4x w-large-4x bg-layer-2-hover flex cursor-pointer items-center justify-center'
|
|
317
|
-
)}
|
|
318
|
-
/>
|
|
319
|
-
)
|
|
320
|
-
}
|