@darkfrost-1107/scaff-z-react 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +5 -0
- package/README.md +75 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/action-processor.d.ts +2 -0
- package/dist/app/config/sqlite.registry.cjs +1 -0
- package/dist/app/config/sqlite.registry.esm +37 -0
- package/dist/app.config.d.ts +1 -0
- package/dist/async-combobox.input.d.ts +4 -0
- package/dist/async-multi-select.input.d.ts +4 -0
- package/dist/async-select.input.d.ts +4 -0
- package/dist/audit-view.d.ts +2 -0
- package/dist/back-button.action.d.ts +6 -0
- package/dist/badge.d.ts +2 -0
- package/dist/base.connector.d.ts +4 -0
- package/dist/base.entity.d.ts +2 -0
- package/dist/base.node.d.ts +2 -0
- package/dist/base.service.d.ts +4 -0
- package/dist/breadcrumb.d.ts +2 -0
- package/dist/build.router.d.ts +4 -0
- package/dist/builder-device.guard.d.ts +2 -0
- package/dist/builder.d.ts +2 -0
- package/dist/button.d.ts +2 -0
- package/dist/calendar.d.ts +2 -0
- package/dist/canvas-view.layout.d.ts +2 -0
- package/dist/card.d.ts +2 -0
- package/dist/checkbox-inline.input.d.ts +4 -0
- package/dist/checkbox.d.ts +2 -0
- package/dist/checkbox.input.d.ts +4 -0
- package/dist/code.input.d.ts +4 -0
- package/dist/color.input.d.ts +4 -0
- package/dist/combobox.d.ts +2 -0
- package/dist/combobox.input.d.ts +4 -0
- package/dist/command.d.ts +2 -0
- package/dist/component.factory.d.ts +4 -0
- package/dist/component.guard.d.ts +2 -0
- package/dist/components.registry.d.ts +2 -0
- package/dist/context.guard.d.ts +2 -0
- package/dist/context.verifier.d.ts +2 -0
- package/dist/crypto.service.d.ts +2 -0
- package/dist/dark.style.d.ts +2 -0
- package/dist/data-table.component.d.ts +2 -0
- package/dist/data-table.provider.d.ts +1 -0
- package/dist/date.input.d.ts +2 -0
- package/dist/deckgl-overlay.d.ts +2 -0
- package/dist/detail-tabs.layout.d.ts +6 -0
- package/dist/detail-view.layout.d.ts +6 -0
- package/dist/device-artifact.guard.d.ts +2 -0
- package/dist/device.guard.d.ts +2 -0
- package/dist/device.verifier.registry.d.ts +2 -0
- package/dist/dialog.d.ts +2 -0
- package/dist/dnd.provider.d.ts +2 -0
- package/dist/draggeable.d.ts +2 -0
- package/dist/droppable.d.ts +2 -0
- package/dist/droppeable.d.ts +2 -0
- package/dist/dynamic-device.guard.d.ts +2 -0
- package/dist/dynamic-icon.d.ts +6 -0
- package/dist/email.input.d.ts +4 -0
- package/dist/enum.verifier.d.ts +2 -0
- package/dist/env.manager.d.ts +2 -0
- package/dist/feedback.layout.d.ts +2 -0
- package/dist/field.d.ts +2 -0
- package/dist/file.input.d.ts +4 -0
- package/dist/flow-canvas.d.ts +2 -0
- package/dist/flow.renderer.d.ts +2 -0
- package/dist/flow.types.d.ts +1 -0
- package/dist/form-dialog-layout.d.ts +4 -0
- package/dist/form-tab-layout.d.ts +4 -0
- package/dist/form.component.d.ts +2 -0
- package/dist/grid.layout.d.ts +2 -0
- package/dist/guard.d.ts +2 -0
- package/dist/hover.d.ts +2 -0
- package/dist/icon-box.d.ts +2 -0
- package/dist/icon-button.d.ts +2 -0
- package/dist/image.input.d.ts +4 -0
- package/dist/index.d.ts +2 -0
- package/dist/indexeddb.service.d.ts +6 -0
- package/dist/input-group.d.ts +2 -0
- package/dist/input.d.ts +2 -0
- package/dist/interceptor.builder.d.ts +2 -0
- package/dist/label.d.ts +2 -0
- package/dist/language-toggle.d.ts +2 -0
- package/dist/list-select.input.d.ts +4 -0
- package/dist/logger.d.ts +2 -0
- package/dist/main.connector.d.ts +2 -0
- package/dist/main.service.d.ts +6 -0
- package/dist/maps.renderer.d.ts +4 -0
- package/dist/marker.factory.d.ts +2 -0
- package/dist/marker.guard.d.ts +2 -0
- package/dist/markers.meta.d.ts +1 -0
- package/dist/modules/actions/entities/action.entity.cjs +1 -0
- package/dist/modules/actions/entities/action.entity.esm +139 -0
- package/dist/modules/artifacts/entities/artifact.entity.cjs +1 -0
- package/dist/modules/artifacts/entities/artifact.entity.esm +82 -0
- package/dist/modules/integrations/entities/integration.entity.cjs +1 -0
- package/dist/modules/integrations/entities/integration.entity.esm +75 -0
- package/dist/modules/inventory/entities/category.entity.cjs +1 -0
- package/dist/modules/inventory/entities/category.entity.esm +50 -0
- package/dist/modules/inventory/entities/inventory-item.entity.cjs +1 -0
- package/dist/modules/inventory/entities/inventory-item.entity.esm +68 -0
- package/dist/modules/inventory/entities/product-item.entity.cjs +1 -0
- package/dist/modules/inventory/entities/product-item.entity.esm +69 -0
- package/dist/modules/inventory/entities/zone.entity.cjs +1 -0
- package/dist/modules/inventory/entities/zone.entity.esm +50 -0
- package/dist/modules/memberships/entities/membership.entity.cjs +1 -0
- package/dist/modules/memberships/entities/membership.entity.esm +53 -0
- package/dist/modules/organizations/entities/organization.entity.cjs +1 -0
- package/dist/modules/organizations/entities/organization.entity.esm +75 -0
- package/dist/modules/projects/entities/project.entity.cjs +1 -0
- package/dist/modules/projects/entities/project.entity.esm +100 -0
- package/dist/modules/test/entities/experiment.entity.cjs +1 -0
- package/dist/modules/test/entities/experiment.entity.esm +71 -0
- package/dist/modules/tickets/entities/ticket.entity.cjs +1 -0
- package/dist/modules/tickets/entities/ticket.entity.esm +92 -0
- package/dist/modules/tools/entities/tool.entity.cjs +1 -0
- package/dist/modules/tools/entities/tool.entity.esm +129 -0
- package/dist/modules/users/entities/user-role.enum.cjs +1 -0
- package/dist/modules/users/entities/user-role.enum.esm +6 -0
- package/dist/modules/users/entities/user.entity.cjs +1 -0
- package/dist/modules/users/entities/user.entity.esm +88 -0
- package/dist/nfc.service.d.ts +6 -0
- package/dist/nosql.repo.d.ts +2 -0
- package/dist/nosql.repo.service.d.ts +4 -0
- package/dist/packages/capacitor/app.config.cjs +1 -0
- package/dist/packages/capacitor/app.config.d.ts +1 -0
- package/dist/packages/capacitor/app.config.esm +7 -0
- package/dist/packages/crypto/crypto.service.cjs +1 -0
- package/dist/packages/crypto/crypto.service.d.ts +6 -0
- package/dist/packages/crypto/crypto.service.esm +17 -0
- package/dist/packages/crypto/index.cjs +1 -0
- package/dist/packages/crypto/index.d.ts +1 -0
- package/dist/packages/crypto/index.esm +2 -0
- package/dist/packages/dnd/dnd.provider.cjs +1 -0
- package/dist/packages/dnd/dnd.provider.d.ts +3 -0
- package/dist/packages/dnd/dnd.provider.esm +8 -0
- package/dist/packages/dnd/draggeable.cjs +1 -0
- package/dist/packages/dnd/draggeable.d.ts +4 -0
- package/dist/packages/dnd/draggeable.esm +12 -0
- package/dist/packages/dnd/droppable.cjs +1 -0
- package/dist/packages/dnd/droppable.d.ts +8 -0
- package/dist/packages/dnd/droppable.esm +14 -0
- package/dist/packages/dnd/droppeable.cjs +1 -0
- package/dist/packages/dnd/droppeable.d.ts +5 -0
- package/dist/packages/dnd/droppeable.esm +13 -0
- package/dist/packages/dnd/sortable.cjs +1 -0
- package/dist/packages/dnd/sortable.d.ts +11 -0
- package/dist/packages/dnd/sortable.esm +18 -0
- package/dist/packages/env/env.manager.cjs +1 -0
- package/dist/packages/env/env.manager.d.ts +11 -0
- package/dist/packages/env/env.manager.esm +69 -0
- package/dist/packages/env/index.cjs +1 -0
- package/dist/packages/env/index.d.ts +1 -0
- package/dist/packages/env/index.esm +2 -0
- package/dist/packages/flow/flow.renderer.cjs +1 -0
- package/dist/packages/flow/flow.renderer.d.ts +13 -0
- package/dist/packages/flow/flow.renderer.esm +50 -0
- package/dist/packages/flow/flow.types.cjs +0 -0
- package/dist/packages/flow/flow.types.d.ts +30 -0
- package/dist/packages/flow/flow.types.esm +0 -0
- package/dist/packages/formatters/qr-code/qr.encoder.service.cjs +1 -0
- package/dist/packages/formatters/qr-code/qr.encoder.service.d.ts +5 -0
- package/dist/packages/formatters/qr-code/qr.encoder.service.esm +17 -0
- package/dist/packages/formatters/qr-code/qr.renderer.cjs +1 -0
- package/dist/packages/formatters/qr-code/qr.renderer.d.ts +3 -0
- package/dist/packages/formatters/qr-code/qr.renderer.esm +16 -0
- package/dist/packages/formatters/text-code/text-coder.service.cjs +1 -0
- package/dist/packages/formatters/text-code/text-coder.service.d.ts +9 -0
- package/dist/packages/formatters/text-code/text-coder.service.esm +36 -0
- package/dist/packages/i18n/index.cjs +1 -0
- package/dist/packages/i18n/index.d.ts +10 -0
- package/dist/packages/i18n/index.esm +18 -0
- package/dist/packages/i18n/language-toggle.cjs +1 -0
- package/dist/packages/i18n/language-toggle.d.ts +9 -0
- package/dist/packages/i18n/language-toggle.esm +73 -0
- package/dist/packages/indexeddb/builder.cjs +1 -0
- package/dist/packages/indexeddb/builder.d.ts +13 -0
- package/dist/packages/indexeddb/builder.esm +35 -0
- package/dist/packages/indexeddb/index.cjs +1 -0
- package/dist/packages/indexeddb/index.d.ts +5 -0
- package/dist/packages/indexeddb/index.esm +5 -0
- package/dist/packages/indexeddb/indexeddb.service.cjs +1 -0
- package/dist/packages/indexeddb/indexeddb.service.d.ts +21 -0
- package/dist/packages/indexeddb/indexeddb.service.esm +59 -0
- package/dist/packages/indexeddb/nosql.repo.cjs +1 -0
- package/dist/packages/indexeddb/nosql.repo.d.ts +33 -0
- package/dist/packages/indexeddb/nosql.repo.esm +69 -0
- package/dist/packages/indexeddb/nosql.repo.service.cjs +1 -0
- package/dist/packages/indexeddb/nosql.repo.service.d.ts +46 -0
- package/dist/packages/indexeddb/nosql.repo.service.esm +87 -0
- package/dist/packages/indexeddb/registry.cjs +1 -0
- package/dist/packages/indexeddb/registry.d.ts +21 -0
- package/dist/packages/indexeddb/registry.esm +22 -0
- package/dist/packages/indexeddb/types.cjs +0 -0
- package/dist/packages/indexeddb/types.d.ts +33 -0
- package/dist/packages/indexeddb/types.esm +0 -0
- package/dist/packages/logger/index.cjs +1 -0
- package/dist/packages/logger/index.d.ts +2 -0
- package/dist/packages/logger/index.esm +3 -0
- package/dist/packages/logger/logger.cjs +1 -0
- package/dist/packages/logger/logger.d.ts +137 -0
- package/dist/packages/logger/logger.esm +186 -0
- package/dist/packages/logger/registry.cjs +1 -0
- package/dist/packages/logger/registry.d.ts +9 -0
- package/dist/packages/logger/registry.esm +17 -0
- package/dist/packages/maps/deckgl-overlay.cjs +1 -0
- package/dist/packages/maps/deckgl-overlay.d.ts +9 -0
- package/dist/packages/maps/deckgl-overlay.esm +12 -0
- package/dist/packages/maps/maps.renderer.cjs +1 -0
- package/dist/packages/maps/maps.renderer.d.ts +19 -0
- package/dist/packages/maps/maps.renderer.esm +25 -0
- package/dist/packages/maps/markers/marker.factory.cjs +1 -0
- package/dist/packages/maps/markers/marker.factory.d.ts +8 -0
- package/dist/packages/maps/markers/marker.factory.esm +58 -0
- package/dist/packages/maps/markers/marker.guard.cjs +1 -0
- package/dist/packages/maps/markers/marker.guard.d.ts +22 -0
- package/dist/packages/maps/markers/marker.guard.esm +37 -0
- package/dist/packages/maps/markers/markers.meta.cjs +0 -0
- package/dist/packages/maps/markers/markers.meta.d.ts +12 -0
- package/dist/packages/maps/markers/markers.meta.esm +0 -0
- package/dist/packages/maps/styles/dark.style.cjs +1 -0
- package/dist/packages/maps/styles/dark.style.d.ts +1 -0
- package/dist/packages/maps/styles/dark.style.esm +93 -0
- package/dist/packages/nfc/nfc.service.cjs +1 -0
- package/dist/packages/nfc/nfc.service.d.ts +41 -0
- package/dist/packages/nfc/nfc.service.esm +104 -0
- package/dist/packages/requests/axios/base.connector.cjs +1 -0
- package/dist/packages/requests/axios/base.connector.d.ts +37 -0
- package/dist/packages/requests/axios/base.connector.esm +25 -0
- package/dist/packages/requests/axios/base.service.cjs +1 -0
- package/dist/packages/requests/axios/base.service.d.ts +41 -0
- package/dist/packages/requests/axios/base.service.esm +11 -0
- package/dist/packages/requests/axios/interceptor.builder.cjs +1 -0
- package/dist/packages/requests/axios/interceptor.builder.d.ts +26 -0
- package/dist/packages/requests/axios/interceptor.builder.esm +20 -0
- package/dist/packages/router/build.router.cjs +1 -0
- package/dist/packages/router/build.router.d.ts +6 -0
- package/dist/packages/router/build.router.esm +9 -0
- package/dist/packages/router/route.builder.cjs +1 -0
- package/dist/packages/router/route.builder.d.ts +46 -0
- package/dist/packages/router/route.builder.esm +50 -0
- package/dist/packages/scanner/scanner.formats.cjs +1 -0
- package/dist/packages/scanner/scanner.formats.d.ts +51 -0
- package/dist/packages/scanner/scanner.formats.esm +96 -0
- package/dist/packages/scanner/scanner.service.cjs +1 -0
- package/dist/packages/scanner/scanner.service.d.ts +32 -0
- package/dist/packages/scanner/scanner.service.esm +32 -0
- package/dist/packages/sheets/index.cjs +1 -0
- package/dist/packages/sheets/index.d.ts +2 -0
- package/dist/packages/sheets/index.esm +3 -0
- package/dist/packages/sheets/sheets.connector.cjs +1 -0
- package/dist/packages/sheets/sheets.connector.d.ts +6 -0
- package/dist/packages/sheets/sheets.connector.esm +21 -0
- package/dist/packages/sheets/sheets.service.cjs +1 -0
- package/dist/packages/sheets/sheets.service.d.ts +21 -0
- package/dist/packages/sheets/sheets.service.esm +38 -0
- package/dist/packages/sqlite/base/base.entity.cjs +1 -0
- package/dist/packages/sqlite/base/base.entity.d.ts +5 -0
- package/dist/packages/sqlite/base/base.entity.esm +41 -0
- package/dist/packages/sqlite/repo.service.cjs +1 -0
- package/dist/packages/sqlite/repo.service.d.ts +22 -0
- package/dist/packages/sqlite/repo.service.esm +52 -0
- package/dist/packages/sqlite/sqlite.service.cjs +1 -0
- package/dist/packages/sqlite/sqlite.service.d.ts +40 -0
- package/dist/packages/sqlite/sqlite.service.esm +77 -0
- package/dist/packages/sqlite/templates/test.entity.cjs +1 -0
- package/dist/packages/sqlite/templates/test.entity.d.ts +6 -0
- package/dist/packages/sqlite/templates/test.entity.esm +62 -0
- package/dist/packages/sqlite/templates/test.repo.service.cjs +1 -0
- package/dist/packages/sqlite/templates/test.repo.service.d.ts +8 -0
- package/dist/packages/sqlite/templates/test.repo.service.esm +26 -0
- package/dist/packages/stores/storage.service.cjs +1 -0
- package/dist/packages/stores/storage.service.d.ts +5 -0
- package/dist/packages/stores/storage.service.esm +22 -0
- package/dist/packages/stores/store.hook.cjs +1 -0
- package/dist/packages/stores/store.hook.d.ts +23 -0
- package/dist/packages/stores/store.hook.esm +22 -0
- package/dist/packages/stores/store.service.cjs +1 -0
- package/dist/packages/stores/store.service.d.ts +12 -0
- package/dist/packages/stores/store.service.esm +48 -0
- package/dist/packages/theme/theme-builder.cjs +1 -0
- package/dist/packages/theme/theme-builder.d.ts +19 -0
- package/dist/packages/theme/theme-builder.esm +25 -0
- package/dist/packages/theme/theme-provider.cjs +1 -0
- package/dist/packages/theme/theme-provider.d.ts +7 -0
- package/dist/packages/theme/theme-provider.esm +17 -0
- package/dist/packages/theme/theme-toggle.cjs +1 -0
- package/dist/packages/theme/theme-toggle.d.ts +6 -0
- package/dist/packages/theme/theme-toggle.esm +33 -0
- package/dist/packages/w3/tron/index.cjs +1 -0
- package/dist/packages/w3/tron/index.d.ts +4 -0
- package/dist/packages/w3/tron/index.esm +4 -0
- package/dist/packages/w3/tron/tron-assets.service.cjs +1 -0
- package/dist/packages/w3/tron/tron-assets.service.d.ts +38 -0
- package/dist/packages/w3/tron/tron-assets.service.esm +116 -0
- package/dist/packages/w3/tron/tron-wallet.entity.cjs +1 -0
- package/dist/packages/w3/tron/tron-wallet.entity.d.ts +15 -0
- package/dist/packages/w3/tron/tron-wallet.entity.esm +88 -0
- package/dist/packages/w3/tron/tron-wallet.repo.cjs +1 -0
- package/dist/packages/w3/tron/tron-wallet.repo.d.ts +30 -0
- package/dist/packages/w3/tron/tron-wallet.repo.esm +52 -0
- package/dist/packages/w3/tron/tron.service.cjs +1 -0
- package/dist/packages/w3/tron/tron.service.d.ts +124 -0
- package/dist/packages/w3/tron/tron.service.esm +406 -0
- package/dist/packages/w3/tron/tron.types.cjs +0 -0
- package/dist/packages/w3/tron/tron.types.d.ts +129 -0
- package/dist/packages/w3/tron/tron.types.esm +0 -0
- package/dist/page-container.d.ts +2 -0
- package/dist/popover.d.ts +2 -0
- package/dist/qr.encoder.service.d.ts +4 -0
- package/dist/qr.renderer.d.ts +4 -0
- package/dist/registry.d.ts +2 -0
- package/dist/repo.service.d.ts +4 -0
- package/dist/repository.contract.d.ts +1 -0
- package/dist/route.builder.d.ts +4 -0
- package/dist/scanner.formats.d.ts +2 -0
- package/dist/scanner.service.d.ts +2 -0
- package/dist/scroll-area.d.ts +2 -0
- package/dist/secret.input.d.ts +4 -0
- package/dist/select.d.ts +2 -0
- package/dist/select.input.d.ts +4 -0
- package/dist/separator.d.ts +2 -0
- package/dist/shared/assets/social-icons.cjs +1 -0
- package/dist/shared/assets/social-icons.d.ts +2 -0
- package/dist/shared/assets/social-icons.esm +30 -0
- package/dist/shared/constants/connectors/main.connector.cjs +1 -0
- package/dist/shared/constants/connectors/main.connector.d.ts +8 -0
- package/dist/shared/constants/connectors/main.connector.esm +38 -0
- package/dist/shared/constants/services/main.service.cjs +1 -0
- package/dist/shared/constants/services/main.service.d.ts +7 -0
- package/dist/shared/constants/services/main.service.esm +26 -0
- package/dist/shared/contracts/repository.contract.cjs +0 -0
- package/dist/shared/contracts/repository.contract.d.ts +26 -0
- package/dist/shared/contracts/repository.contract.esm +0 -0
- package/dist/shared/custom/actions/back-button.action.cjs +1 -0
- package/dist/shared/custom/actions/back-button.action.d.ts +13 -0
- package/dist/shared/custom/actions/back-button.action.esm +20 -0
- package/dist/shared/custom/audit/audit-view.cjs +1 -0
- package/dist/shared/custom/audit/audit-view.d.ts +46 -0
- package/dist/shared/custom/audit/audit-view.esm +73 -0
- package/dist/shared/custom/confirm/use-confirm.cjs +1 -0
- package/dist/shared/custom/confirm/use-confirm.d.ts +15 -0
- package/dist/shared/custom/confirm/use-confirm.esm +57 -0
- package/dist/shared/custom/data-table/data-table.component.cjs +1 -0
- package/dist/shared/custom/data-table/data-table.component.d.ts +9 -0
- package/dist/shared/custom/data-table/data-table.component.esm +26 -0
- package/dist/shared/custom/data-table/data-table.provider.cjs +0 -0
- package/dist/shared/custom/data-table/data-table.provider.d.ts +1 -0
- package/dist/shared/custom/data-table/data-table.provider.esm +0 -0
- package/dist/shared/custom/flow/flow-canvas.cjs +1 -0
- package/dist/shared/custom/flow/flow-canvas.d.ts +10 -0
- package/dist/shared/custom/flow/flow-canvas.esm +23 -0
- package/dist/shared/custom/flow/nodes/base.node.cjs +1 -0
- package/dist/shared/custom/flow/nodes/base.node.d.ts +9 -0
- package/dist/shared/custom/flow/nodes/base.node.esm +51 -0
- package/dist/shared/custom/form/form.component.cjs +1 -0
- package/dist/shared/custom/form/form.component.d.ts +13 -0
- package/dist/shared/custom/form/form.component.esm +26 -0
- package/dist/shared/custom/form/index.cjs +1 -0
- package/dist/shared/custom/form/index.d.ts +17 -0
- package/dist/shared/custom/form/index.esm +2 -0
- package/dist/shared/custom/form/inputs/async-combobox.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/async-combobox.input.d.ts +18 -0
- package/dist/shared/custom/form/inputs/async-combobox.input.esm +91 -0
- package/dist/shared/custom/form/inputs/async-multi-select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/async-multi-select.input.d.ts +20 -0
- package/dist/shared/custom/form/inputs/async-multi-select.input.esm +127 -0
- package/dist/shared/custom/form/inputs/async-select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/async-select.input.d.ts +15 -0
- package/dist/shared/custom/form/inputs/async-select.input.esm +71 -0
- package/dist/shared/custom/form/inputs/checkbox-inline.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/checkbox-inline.input.d.ts +15 -0
- package/dist/shared/custom/form/inputs/checkbox-inline.input.esm +41 -0
- package/dist/shared/custom/form/inputs/checkbox.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/checkbox.input.d.ts +21 -0
- package/dist/shared/custom/form/inputs/checkbox.input.esm +50 -0
- package/dist/shared/custom/form/inputs/code.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/code.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/code.input.esm +58 -0
- package/dist/shared/custom/form/inputs/color.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/color.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/color.input.esm +47 -0
- package/dist/shared/custom/form/inputs/combobox.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/combobox.input.d.ts +18 -0
- package/dist/shared/custom/form/inputs/combobox.input.esm +73 -0
- package/dist/shared/custom/form/inputs/date.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/date.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/date.input.esm +52 -0
- package/dist/shared/custom/form/inputs/email.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/email.input.d.ts +12 -0
- package/dist/shared/custom/form/inputs/email.input.esm +47 -0
- package/dist/shared/custom/form/inputs/file.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/file.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/file.input.esm +95 -0
- package/dist/shared/custom/form/inputs/image.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/image.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/image.input.esm +90 -0
- package/dist/shared/custom/form/inputs/list-select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/list-select.input.d.ts +17 -0
- package/dist/shared/custom/form/inputs/list-select.input.esm +53 -0
- package/dist/shared/custom/form/inputs/secret.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/secret.input.d.ts +11 -0
- package/dist/shared/custom/form/inputs/secret.input.esm +53 -0
- package/dist/shared/custom/form/inputs/select.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/select.input.d.ts +17 -0
- package/dist/shared/custom/form/inputs/select.input.esm +44 -0
- package/dist/shared/custom/form/inputs/tags.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/tags.input.d.ts +16 -0
- package/dist/shared/custom/form/inputs/tags.input.esm +80 -0
- package/dist/shared/custom/form/inputs/text.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/text.input.d.ts +13 -0
- package/dist/shared/custom/form/inputs/text.input.esm +47 -0
- package/dist/shared/custom/form/inputs/textarea.input.cjs +1 -0
- package/dist/shared/custom/form/inputs/textarea.input.d.ts +12 -0
- package/dist/shared/custom/form/inputs/textarea.input.esm +36 -0
- package/dist/shared/custom/form/layout/form-dialog-layout.cjs +1 -0
- package/dist/shared/custom/form/layout/form-dialog-layout.d.ts +25 -0
- package/dist/shared/custom/form/layout/form-dialog-layout.esm +37 -0
- package/dist/shared/custom/form/layout/form-tab-layout.cjs +1 -0
- package/dist/shared/custom/form/layout/form-tab-layout.d.ts +30 -0
- package/dist/shared/custom/form/layout/form-tab-layout.esm +69 -0
- package/dist/shared/custom/hover/hover.cjs +1 -0
- package/dist/shared/custom/hover/hover.d.ts +6 -0
- package/dist/shared/custom/hover/hover.esm +20 -0
- package/dist/shared/custom/layouts/canvas-view.layout.cjs +1 -0
- package/dist/shared/custom/layouts/canvas-view.layout.d.ts +18 -0
- package/dist/shared/custom/layouts/canvas-view.layout.esm +15 -0
- package/dist/shared/custom/layouts/detail-tabs.layout.cjs +1 -0
- package/dist/shared/custom/layouts/detail-tabs.layout.d.ts +27 -0
- package/dist/shared/custom/layouts/detail-tabs.layout.esm +32 -0
- package/dist/shared/custom/layouts/detail-view.layout.cjs +1 -0
- package/dist/shared/custom/layouts/detail-view.layout.d.ts +33 -0
- package/dist/shared/custom/layouts/detail-view.layout.esm +64 -0
- package/dist/shared/custom/layouts/feedback.layout.cjs +1 -0
- package/dist/shared/custom/layouts/feedback.layout.d.ts +14 -0
- package/dist/shared/custom/layouts/feedback.layout.esm +20 -0
- package/dist/shared/custom/layouts/grid.layout.cjs +1 -0
- package/dist/shared/custom/layouts/grid.layout.d.ts +38 -0
- package/dist/shared/custom/layouts/grid.layout.esm +39 -0
- package/dist/shared/custom/layouts/page-container.cjs +1 -0
- package/dist/shared/custom/layouts/page-container.d.ts +6 -0
- package/dist/shared/custom/layouts/page-container.esm +12 -0
- package/dist/shared/custom/ui/icon-box.cjs +1 -0
- package/dist/shared/custom/ui/icon-box.d.ts +12 -0
- package/dist/shared/custom/ui/icon-box.esm +21 -0
- package/dist/shared/custom/ui/typography.cjs +1 -0
- package/dist/shared/custom/ui/typography.d.ts +11 -0
- package/dist/shared/custom/ui/typography.esm +30 -0
- package/dist/shared/hooks/use-device.cjs +1 -0
- package/dist/shared/hooks/use-device.d.ts +10 -0
- package/dist/shared/hooks/use-device.esm +37 -0
- package/dist/shared/hooks/use-i18n.cjs +1 -0
- package/dist/shared/hooks/use-i18n.d.ts +10 -0
- package/dist/shared/hooks/use-i18n.esm +15 -0
- package/dist/shared/hooks/use-mobile.cjs +1 -0
- package/dist/shared/hooks/use-mobile.d.ts +1 -0
- package/dist/shared/hooks/use-mobile.esm +14 -0
- package/dist/shared/lib/utils.cjs +1 -0
- package/dist/shared/lib/utils.d.ts +2 -0
- package/dist/shared/lib/utils.esm +8 -0
- package/dist/shared/logic/action/action-processor.cjs +1 -0
- package/dist/shared/logic/action/action-processor.d.ts +86 -0
- package/dist/shared/logic/action/action-processor.esm +30 -0
- package/dist/shared/logic/components/components.registry.cjs +1 -0
- package/dist/shared/logic/components/components.registry.d.ts +16 -0
- package/dist/shared/logic/components/components.registry.esm +26 -0
- package/dist/shared/logic/events/startable.cjs +1 -0
- package/dist/shared/logic/events/startable.d.ts +7 -0
- package/dist/shared/logic/events/startable.esm +32 -0
- package/dist/shared/logic/events/use-on-start.hook.cjs +1 -0
- package/dist/shared/logic/events/use-on-start.hook.d.ts +12 -0
- package/dist/shared/logic/events/use-on-start.hook.esm +15 -0
- package/dist/shared/logic/factory/component.factory.cjs +1 -0
- package/dist/shared/logic/factory/component.factory.d.ts +9 -0
- package/dist/shared/logic/factory/component.factory.esm +28 -0
- package/dist/shared/logic/guards/builder-device.guard.cjs +1 -0
- package/dist/shared/logic/guards/builder-device.guard.d.ts +5 -0
- package/dist/shared/logic/guards/builder-device.guard.esm +10 -0
- package/dist/shared/logic/guards/component.guard.cjs +1 -0
- package/dist/shared/logic/guards/component.guard.d.ts +5 -0
- package/dist/shared/logic/guards/component.guard.esm +13 -0
- package/dist/shared/logic/guards/context.guard.cjs +1 -0
- package/dist/shared/logic/guards/context.guard.d.ts +13 -0
- package/dist/shared/logic/guards/context.guard.esm +9 -0
- package/dist/shared/logic/guards/device-artifact.guard.cjs +1 -0
- package/dist/shared/logic/guards/device-artifact.guard.d.ts +16 -0
- package/dist/shared/logic/guards/device-artifact.guard.esm +44 -0
- package/dist/shared/logic/guards/device.guard.cjs +1 -0
- package/dist/shared/logic/guards/device.guard.d.ts +17 -0
- package/dist/shared/logic/guards/device.guard.esm +40 -0
- package/dist/shared/logic/guards/dynamic-device.guard.cjs +1 -0
- package/dist/shared/logic/guards/dynamic-device.guard.d.ts +5 -0
- package/dist/shared/logic/guards/dynamic-device.guard.esm +10 -0
- package/dist/shared/logic/guards/guard.cjs +1 -0
- package/dist/shared/logic/guards/guard.d.ts +24 -0
- package/dist/shared/logic/guards/guard.esm +18 -0
- package/dist/shared/logic/service/base.service.cjs +1 -0
- package/dist/shared/logic/service/base.service.d.ts +3 -0
- package/dist/shared/logic/service/base.service.esm +5 -0
- package/dist/shared/logic/verifiers/context.verifier.cjs +1 -0
- package/dist/shared/logic/verifiers/context.verifier.d.ts +7 -0
- package/dist/shared/logic/verifiers/context.verifier.esm +31 -0
- package/dist/shared/logic/verifiers/device.verifier.registry.cjs +1 -0
- package/dist/shared/logic/verifiers/device.verifier.registry.d.ts +13 -0
- package/dist/shared/logic/verifiers/device.verifier.registry.esm +36 -0
- package/dist/shared/logic/verifiers/enum.verifier.cjs +1 -0
- package/dist/shared/logic/verifiers/enum.verifier.d.ts +4 -0
- package/dist/shared/logic/verifiers/enum.verifier.esm +9 -0
- package/dist/shared/logic/verifiers/value.verifier.cjs +1 -0
- package/dist/shared/logic/verifiers/value.verifier.d.ts +5 -0
- package/dist/shared/logic/verifiers/value.verifier.esm +9 -0
- package/dist/shared/ui/badge.cjs +1 -0
- package/dist/shared/ui/badge.d.ts +9 -0
- package/dist/shared/ui/badge.esm +27 -0
- package/dist/shared/ui/breadcrumb.cjs +1 -0
- package/dist/shared/ui/breadcrumb.d.ts +11 -0
- package/dist/shared/ui/breadcrumb.esm +70 -0
- package/dist/shared/ui/button.cjs +1 -0
- package/dist/shared/ui/button.d.ts +11 -0
- package/dist/shared/ui/button.esm +47 -0
- package/dist/shared/ui/calendar.cjs +1 -0
- package/dist/shared/ui/calendar.d.ts +10 -0
- package/dist/shared/ui/calendar.esm +92 -0
- package/dist/shared/ui/card.cjs +1 -0
- package/dist/shared/ui/card.d.ts +11 -0
- package/dist/shared/ui/card.esm +56 -0
- package/dist/shared/ui/checkbox.cjs +1 -0
- package/dist/shared/ui/checkbox.d.ts +4 -0
- package/dist/shared/ui/checkbox.esm +20 -0
- package/dist/shared/ui/combobox.cjs +1 -0
- package/dist/shared/ui/combobox.d.ts +24 -0
- package/dist/shared/ui/combobox.esm +163 -0
- package/dist/shared/ui/command.cjs +1 -0
- package/dist/shared/ui/command.d.ts +18 -0
- package/dist/shared/ui/command.esm +87 -0
- package/dist/shared/ui/custom/dynamic-icon.cjs +1 -0
- package/dist/shared/ui/custom/dynamic-icon.d.ts +13 -0
- package/dist/shared/ui/custom/dynamic-icon.esm +15 -0
- package/dist/shared/ui/dialog.cjs +1 -0
- package/dist/shared/ui/dialog.d.ts +17 -0
- package/dist/shared/ui/dialog.esm +95 -0
- package/dist/shared/ui/field.cjs +1 -0
- package/dist/shared/ui/field.d.ts +24 -0
- package/dist/shared/ui/field.esm +107 -0
- package/dist/shared/ui/icon-button.cjs +1 -0
- package/dist/shared/ui/icon-button.d.ts +6 -0
- package/dist/shared/ui/icon-button.esm +14 -0
- package/dist/shared/ui/index.cjs +1 -0
- package/dist/shared/ui/index.d.ts +23 -0
- package/dist/shared/ui/index.esm +24 -0
- package/dist/shared/ui/input-group.cjs +1 -0
- package/dist/shared/ui/input-group.d.ts +16 -0
- package/dist/shared/ui/input-group.esm +77 -0
- package/dist/shared/ui/input.cjs +1 -0
- package/dist/shared/ui/input.d.ts +3 -0
- package/dist/shared/ui/input.esm +14 -0
- package/dist/shared/ui/label.cjs +1 -0
- package/dist/shared/ui/label.d.ts +4 -0
- package/dist/shared/ui/label.esm +14 -0
- package/dist/shared/ui/popover.cjs +1 -0
- package/dist/shared/ui/popover.d.ts +7 -0
- package/dist/shared/ui/popover.esm +35 -0
- package/dist/shared/ui/scroll-area.cjs +1 -0
- package/dist/shared/ui/scroll-area.d.ts +5 -0
- package/dist/shared/ui/scroll-area.esm +36 -0
- package/dist/shared/ui/select.cjs +1 -0
- package/dist/shared/ui/select.d.ts +15 -0
- package/dist/shared/ui/select.esm +99 -0
- package/dist/shared/ui/separator.cjs +1 -0
- package/dist/shared/ui/separator.d.ts +4 -0
- package/dist/shared/ui/separator.esm +16 -0
- package/dist/shared/ui/sheet.cjs +1 -0
- package/dist/shared/ui/sheet.d.ts +14 -0
- package/dist/shared/ui/sheet.esm +89 -0
- package/dist/shared/ui/sidebar.cjs +1 -0
- package/dist/shared/ui/sidebar.d.ts +69 -0
- package/dist/shared/ui/sidebar.esm +348 -0
- package/dist/shared/ui/skeleton.cjs +1 -0
- package/dist/shared/ui/skeleton.d.ts +2 -0
- package/dist/shared/ui/skeleton.esm +12 -0
- package/dist/shared/ui/sonner.cjs +1 -0
- package/dist/shared/ui/sonner.d.ts +3 -0
- package/dist/shared/ui/sonner.esm +29 -0
- package/dist/shared/ui/table.cjs +1 -0
- package/dist/shared/ui/table.d.ts +10 -0
- package/dist/shared/ui/table.esm +66 -0
- package/dist/shared/ui/tabs.cjs +1 -0
- package/dist/shared/ui/tabs.d.ts +11 -0
- package/dist/shared/ui/tabs.esm +45 -0
- package/dist/shared/ui/textarea.cjs +1 -0
- package/dist/shared/ui/textarea.d.ts +3 -0
- package/dist/shared/ui/textarea.esm +13 -0
- package/dist/shared/ui/tooltip.cjs +1 -0
- package/dist/shared/ui/tooltip.d.ts +7 -0
- package/dist/shared/ui/tooltip.esm +36 -0
- package/dist/sheet.d.ts +2 -0
- package/dist/sheets.connector.d.ts +2 -0
- package/dist/sheets.service.d.ts +2 -0
- package/dist/sidebar.d.ts +2 -0
- package/dist/skeleton.d.ts +2 -0
- package/dist/social-icons.d.ts +2 -0
- package/dist/sonner.d.ts +2 -0
- package/dist/sortable.d.ts +2 -0
- package/dist/sqlite.service.d.ts +6 -0
- package/dist/startable.d.ts +4 -0
- package/dist/storage.service.d.ts +4 -0
- package/dist/store.hook.d.ts +4 -0
- package/dist/store.service.d.ts +4 -0
- package/dist/table.d.ts +2 -0
- package/dist/tabs.d.ts +2 -0
- package/dist/tags.input.d.ts +4 -0
- package/dist/test.entity.d.ts +2 -0
- package/dist/test.repo.service.d.ts +6 -0
- package/dist/text-coder.service.d.ts +2 -0
- package/dist/text.input.d.ts +4 -0
- package/dist/textarea.d.ts +2 -0
- package/dist/textarea.input.d.ts +4 -0
- package/dist/theme-builder.d.ts +2 -0
- package/dist/theme-provider.d.ts +2 -0
- package/dist/theme-toggle.d.ts +2 -0
- package/dist/tooltip.d.ts +2 -0
- package/dist/tron-assets.service.d.ts +2 -0
- package/dist/tron-wallet.entity.d.ts +2 -0
- package/dist/tron-wallet.repo.d.ts +2 -0
- package/dist/tron.service.d.ts +2 -0
- package/dist/tron.types.d.ts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/typography.d.ts +2 -0
- package/dist/use-confirm.d.ts +2 -0
- package/dist/use-device.d.ts +2 -0
- package/dist/use-i18n.d.ts +2 -0
- package/dist/use-mobile.d.ts +2 -0
- package/dist/use-on-start.hook.d.ts +2 -0
- package/dist/utils.d.ts +2 -0
- package/dist/value.verifier.d.ts +4 -0
- package/package.json +155 -0
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Select as e, SelectContent as t, SelectGroup as n, SelectItem as r, SelectTrigger as i, SelectValue as a } from "../../../ui/select.esm";
|
|
2
|
+
import { Field as o, FieldError as s, FieldLabel as c } from "../../../ui/field.esm";
|
|
3
|
+
import { Hover as l } from "../../hover/hover.esm";
|
|
4
|
+
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
5
|
+
import { Controller as f } from "react-hook-form";
|
|
6
|
+
//#region src/shared/custom/form/inputs/select.input.tsx
|
|
7
|
+
function p({ form: p, name: m, label: h, helper: g, placeholder: _, options: v }) {
|
|
8
|
+
return /* @__PURE__ */ u(f, {
|
|
9
|
+
control: p.control,
|
|
10
|
+
name: m,
|
|
11
|
+
render: ({ field: { value: f, onChange: p }, fieldState: m }) => /* @__PURE__ */ d(o, {
|
|
12
|
+
"data-invalid": m.invalid,
|
|
13
|
+
children: [
|
|
14
|
+
/* @__PURE__ */ d("div", {
|
|
15
|
+
className: "flex items-center gap-2 mb-2",
|
|
16
|
+
children: [h && /* @__PURE__ */ u(c, {
|
|
17
|
+
className: "text-sm font-medium",
|
|
18
|
+
children: h
|
|
19
|
+
}), g && /* @__PURE__ */ u(l, { children: g })]
|
|
20
|
+
}),
|
|
21
|
+
/* @__PURE__ */ d(e, {
|
|
22
|
+
value: f,
|
|
23
|
+
onValueChange: p,
|
|
24
|
+
children: [/* @__PURE__ */ u(i, {
|
|
25
|
+
className: "w-full bg-background border-border",
|
|
26
|
+
children: /* @__PURE__ */ u(a, { placeholder: _ || "Seleccionar..." })
|
|
27
|
+
}), /* @__PURE__ */ u(t, {
|
|
28
|
+
className: "bg-card border-border shadow-matte",
|
|
29
|
+
children: /* @__PURE__ */ u(n, { children: v.map((e) => /* @__PURE__ */ u(r, {
|
|
30
|
+
value: e.value,
|
|
31
|
+
children: e.label
|
|
32
|
+
}, e.value)) })
|
|
33
|
+
})]
|
|
34
|
+
}),
|
|
35
|
+
m.invalid && m.error && /* @__PURE__ */ u(s, {
|
|
36
|
+
errors: [m.error],
|
|
37
|
+
className: "mt-2"
|
|
38
|
+
})
|
|
39
|
+
]
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { p as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../ui/field.cjs`),r=require(`../../hover/hover.cjs`),i=require(`../../../ui/badge.cjs`);let a=require(`react/jsx-runtime`),o=require(`react`);o=e.__toESM(o);let s=require(`lucide-react`),c=require(`react-hook-form`);function l({form:e,name:l,label:u,helper:d,placeholder:f=`Escribe y presiona Enter...`}){let[p,m]=o.useState(``);return(0,a.jsx)(c.Controller,{control:e.control,name:l,render:({field:{value:e,onChange:o},fieldState:c})=>{let l=Array.isArray(e)?e:[],h=()=>{let e=p.trim();e&&!l.includes(e)&&(o([...l,e]),m(``))},g=e=>{o(l.filter((t,n)=>n!==e))},_=e=>{e.key===`Enter`||e.key===`,`?(e.preventDefault(),h()):e.key===`Backspace`&&!p&&l.length>0&&g(l.length-1)};return(0,a.jsxs)(n.Field,{"data-invalid":c.invalid,children:[(0,a.jsxs)(`div`,{className:`flex items-center gap-2 mb-2`,children:[u&&(0,a.jsx)(n.FieldLabel,{className:`text-sm font-medium`,children:u}),d&&(0,a.jsx)(r.Hover,{children:d})]}),(0,a.jsx)(`div`,{className:t.cn(`group min-h-[44px] p-1.5 rounded-2xl border transition-all duration-300`,`t-card-base focus-within:t-accent-border focus-within:ring-2 focus-within:ring-(--t-accent)/10`,c.invalid?`border-destructive/50`:`hover:border-(--t-border)`),children:(0,a.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[l.map((e,t)=>(0,a.jsxs)(i.Badge,{variant:`secondary`,className:`t-badge pl-2 pr-1 py-1 h-7 border-none transition-colors animate-in zoom-in-95 duration-200`,children:[(0,a.jsx)(`span`,{className:`text-xs font-medium`,children:e}),(0,a.jsx)(`button`,{type:`button`,onClick:()=>g(t),className:`ml-1.5 p-0.5 rounded-full hover:bg-(--t-accent)/30 t-accent-text hover:text-foreground transition-all`,children:(0,a.jsx)(s.X,{className:`size-3`})})]},`${e}-${t}`)),(0,a.jsx)(`input`,{value:p,onChange:e=>m(e.target.value),onKeyDown:_,onBlur:h,placeholder:l.length===0?f:``,className:`flex-1 min-w-[120px] bg-transparent border-none outline-none text-sm text-foreground placeholder:text-muted-foreground px-2 h-7`})]})}),(0,a.jsxs)(`div`,{className:`mt-2 flex items-center justify-between`,children:[(0,a.jsxs)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:[`Presiona `,(0,a.jsx)(`span`,{className:`text-foreground font-bold`,children:`Enter`}),` para agregar`]}),c.invalid&&c.error&&(0,a.jsx)(n.FieldError,{errors:[c.error]})]})]})}})}module.exports=l;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { FieldValues, Path } from 'react-hook-form';
|
|
2
|
+
import { FormInputProps } from '../form.component';
|
|
3
|
+
interface TagsInputProps<TFieldValues extends FieldValues> extends FormInputProps<TFieldValues> {
|
|
4
|
+
name: Path<TFieldValues>;
|
|
5
|
+
label?: string;
|
|
6
|
+
helper?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* TagsInput
|
|
11
|
+
*
|
|
12
|
+
* Un componente para ingresar una lista de textos (tags) de forma dinámica.
|
|
13
|
+
* Presiona Enter o Coma para agregar un nuevo tag.
|
|
14
|
+
*/
|
|
15
|
+
export default function TagsInput<TFieldValues extends FieldValues>({ form, name, label, helper, placeholder, }: TagsInputProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { cn as e } from "../../../lib/utils.esm";
|
|
2
|
+
import { Field as t, FieldError as n, FieldLabel as r } from "../../../ui/field.esm";
|
|
3
|
+
import { Hover as i } from "../../hover/hover.esm";
|
|
4
|
+
import { Badge as a } from "../../../ui/badge.esm";
|
|
5
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
6
|
+
import * as c from "react";
|
|
7
|
+
import { X as l } from "lucide-react";
|
|
8
|
+
import { Controller as u } from "react-hook-form";
|
|
9
|
+
//#region src/shared/custom/form/inputs/tags.input.tsx
|
|
10
|
+
function d({ form: d, name: f, label: p, helper: m, placeholder: h = "Escribe y presiona Enter..." }) {
|
|
11
|
+
let [g, _] = c.useState("");
|
|
12
|
+
return /* @__PURE__ */ o(u, {
|
|
13
|
+
control: d.control,
|
|
14
|
+
name: f,
|
|
15
|
+
render: ({ field: { value: c, onChange: u }, fieldState: d }) => {
|
|
16
|
+
let f = Array.isArray(c) ? c : [], v = () => {
|
|
17
|
+
let e = g.trim();
|
|
18
|
+
e && !f.includes(e) && (u([...f, e]), _(""));
|
|
19
|
+
}, y = (e) => {
|
|
20
|
+
u(f.filter((t, n) => n !== e));
|
|
21
|
+
}, b = (e) => {
|
|
22
|
+
e.key === "Enter" || e.key === "," ? (e.preventDefault(), v()) : e.key === "Backspace" && !g && f.length > 0 && y(f.length - 1);
|
|
23
|
+
};
|
|
24
|
+
return /* @__PURE__ */ s(t, {
|
|
25
|
+
"data-invalid": d.invalid,
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ s("div", {
|
|
28
|
+
className: "flex items-center gap-2 mb-2",
|
|
29
|
+
children: [p && /* @__PURE__ */ o(r, {
|
|
30
|
+
className: "text-sm font-medium",
|
|
31
|
+
children: p
|
|
32
|
+
}), m && /* @__PURE__ */ o(i, { children: m })]
|
|
33
|
+
}),
|
|
34
|
+
/* @__PURE__ */ o("div", {
|
|
35
|
+
className: e("group min-h-[44px] p-1.5 rounded-2xl border transition-all duration-300", "t-card-base focus-within:t-accent-border focus-within:ring-2 focus-within:ring-(--t-accent)/10", d.invalid ? "border-destructive/50" : "hover:border-(--t-border)"),
|
|
36
|
+
children: /* @__PURE__ */ s("div", {
|
|
37
|
+
className: "flex flex-wrap gap-1.5",
|
|
38
|
+
children: [f.map((e, t) => /* @__PURE__ */ s(a, {
|
|
39
|
+
variant: "secondary",
|
|
40
|
+
className: "t-badge pl-2 pr-1 py-1 h-7 border-none transition-colors animate-in zoom-in-95 duration-200",
|
|
41
|
+
children: [/* @__PURE__ */ o("span", {
|
|
42
|
+
className: "text-xs font-medium",
|
|
43
|
+
children: e
|
|
44
|
+
}), /* @__PURE__ */ o("button", {
|
|
45
|
+
type: "button",
|
|
46
|
+
onClick: () => y(t),
|
|
47
|
+
className: "ml-1.5 p-0.5 rounded-full hover:bg-(--t-accent)/30 t-accent-text hover:text-foreground transition-all",
|
|
48
|
+
children: /* @__PURE__ */ o(l, { className: "size-3" })
|
|
49
|
+
})]
|
|
50
|
+
}, `${e}-${t}`)), /* @__PURE__ */ o("input", {
|
|
51
|
+
value: g,
|
|
52
|
+
onChange: (e) => _(e.target.value),
|
|
53
|
+
onKeyDown: b,
|
|
54
|
+
onBlur: v,
|
|
55
|
+
placeholder: f.length === 0 ? h : "",
|
|
56
|
+
className: "flex-1 min-w-[120px] bg-transparent border-none outline-none text-sm text-foreground placeholder:text-muted-foreground px-2 h-7"
|
|
57
|
+
})]
|
|
58
|
+
})
|
|
59
|
+
}),
|
|
60
|
+
/* @__PURE__ */ s("div", {
|
|
61
|
+
className: "mt-2 flex items-center justify-between",
|
|
62
|
+
children: [/* @__PURE__ */ s("p", {
|
|
63
|
+
className: "text-[10px] text-muted-foreground italic",
|
|
64
|
+
children: [
|
|
65
|
+
"Presiona ",
|
|
66
|
+
/* @__PURE__ */ o("span", {
|
|
67
|
+
className: "text-foreground font-bold",
|
|
68
|
+
children: "Enter"
|
|
69
|
+
}),
|
|
70
|
+
" para agregar"
|
|
71
|
+
]
|
|
72
|
+
}), d.invalid && d.error && /* @__PURE__ */ o(n, { errors: [d.error] })]
|
|
73
|
+
})
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
export { d as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../ui/field.cjs`),t=require(`../../../ui/input.cjs`),n=require(`../../hover/hover.cjs`),r=require(`../../../ui/input-group.cjs`);let i=require(`react/jsx-runtime`),a=require(`react-hook-form`);function o({form:o,name:s,label:c,placeholder:l,helper:u,id:d,type:f=`text`,icon:p}){let m=d||`input-${String(s)}`;return(0,i.jsx)(a.Controller,{control:o.control,name:s,render:({field:a,fieldState:o})=>(0,i.jsxs)(e.Field,{"data-invalid":o.invalid,children:[(0,i.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c&&(0,i.jsx)(e.FieldLabel,{htmlFor:m,children:c}),u&&(0,i.jsx)(n.Hover,{children:u})]}),p?(0,i.jsxs)(r.InputGroup,{children:[(0,i.jsx)(r.InputGroupAddon,{align:`inline-start`,children:p}),(0,i.jsx)(r.InputGroupInput,{...a,id:m,type:f,"aria-invalid":o.invalid,placeholder:l,autoComplete:`off`})]}):(0,i.jsx)(t.Input,{...a,id:m,type:f,"aria-invalid":o.invalid,placeholder:l,autoComplete:`off`}),o.invalid&&o.error&&(0,i.jsx)(e.FieldError,{errors:[o.error]})]})})}module.exports=o;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FieldValues, Path } from 'react-hook-form';
|
|
2
|
+
import { FormInputProps } from '../form.component';
|
|
3
|
+
interface InputProps<T extends FieldValues> extends FormInputProps<T> {
|
|
4
|
+
name: Path<T>;
|
|
5
|
+
label?: string;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
helper?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
type?: React.HTMLInputTypeAttribute;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
export default function TextInput<T extends FieldValues>({ form, name, label, placeholder, helper, id, type, icon }: InputProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Field as e, FieldError as t, FieldLabel as n } from "../../../ui/field.esm";
|
|
2
|
+
import { Input as r } from "../../../ui/input.esm";
|
|
3
|
+
import { Hover as i } from "../../hover/hover.esm";
|
|
4
|
+
import { InputGroup as a, InputGroupAddon as o, InputGroupInput as s } from "../../../ui/input-group.esm";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
import { Controller as u } from "react-hook-form";
|
|
7
|
+
//#region src/shared/custom/form/inputs/text.input.tsx
|
|
8
|
+
function d({ form: d, name: f, label: p, placeholder: m, helper: h, id: g, type: _ = "text", icon: v }) {
|
|
9
|
+
let y = g || `input-${String(f)}`;
|
|
10
|
+
return /* @__PURE__ */ c(u, {
|
|
11
|
+
control: d.control,
|
|
12
|
+
name: f,
|
|
13
|
+
render: ({ field: u, fieldState: d }) => /* @__PURE__ */ l(e, {
|
|
14
|
+
"data-invalid": d.invalid,
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ l("div", {
|
|
17
|
+
className: "flex items-center gap-2",
|
|
18
|
+
children: [p && /* @__PURE__ */ c(n, {
|
|
19
|
+
htmlFor: y,
|
|
20
|
+
children: p
|
|
21
|
+
}), h && /* @__PURE__ */ c(i, { children: h })]
|
|
22
|
+
}),
|
|
23
|
+
v ? /* @__PURE__ */ l(a, { children: [/* @__PURE__ */ c(o, {
|
|
24
|
+
align: "inline-start",
|
|
25
|
+
children: v
|
|
26
|
+
}), /* @__PURE__ */ c(s, {
|
|
27
|
+
...u,
|
|
28
|
+
id: y,
|
|
29
|
+
type: _,
|
|
30
|
+
"aria-invalid": d.invalid,
|
|
31
|
+
placeholder: m,
|
|
32
|
+
autoComplete: "off"
|
|
33
|
+
})] }) : /* @__PURE__ */ c(r, {
|
|
34
|
+
...u,
|
|
35
|
+
id: y,
|
|
36
|
+
type: _,
|
|
37
|
+
"aria-invalid": d.invalid,
|
|
38
|
+
placeholder: m,
|
|
39
|
+
autoComplete: "off"
|
|
40
|
+
}),
|
|
41
|
+
d.invalid && d.error && /* @__PURE__ */ c(t, { errors: [d.error] })
|
|
42
|
+
]
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { d as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../ui/field.cjs`),t=require(`../../hover/hover.cjs`),n=require(`../../../ui/textarea.cjs`);let r=require(`react/jsx-runtime`),i=require(`react-hook-form`);function a({form:a,name:o,label:s,placeholder:c,helper:l,id:u,rows:d=4}){let f=u||`textarea-${String(o)}`;return(0,r.jsx)(i.Controller,{control:a.control,name:o,render:({field:i,fieldState:a})=>(0,r.jsxs)(e.Field,{"data-invalid":a.invalid,children:[(0,r.jsxs)(`div`,{className:`flex items-center gap-2`,children:[s&&(0,r.jsx)(e.FieldLabel,{htmlFor:f,children:s}),l&&(0,r.jsx)(t.Hover,{children:l})]}),(0,r.jsx)(n.Textarea,{...i,id:f,rows:d,"aria-invalid":a.invalid,placeholder:c,autoComplete:`off`}),a.invalid&&a.error&&(0,r.jsx)(e.FieldError,{errors:[a.error]})]})})}module.exports=a;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { FieldValues, Path } from 'react-hook-form';
|
|
2
|
+
import { FormInputProps } from '../form.component';
|
|
3
|
+
interface TextAreaInputProps<T extends FieldValues> extends FormInputProps<T> {
|
|
4
|
+
name: Path<T>;
|
|
5
|
+
label?: string;
|
|
6
|
+
placeholder?: string;
|
|
7
|
+
helper?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
rows?: number;
|
|
10
|
+
}
|
|
11
|
+
export default function TextAreaInput<T extends FieldValues>({ form, name, label, placeholder, helper, id, rows }: TextAreaInputProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Field as e, FieldError as t, FieldLabel as n } from "../../../ui/field.esm";
|
|
2
|
+
import { Hover as r } from "../../hover/hover.esm";
|
|
3
|
+
import { Textarea as i } from "../../../ui/textarea.esm";
|
|
4
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
5
|
+
import { Controller as s } from "react-hook-form";
|
|
6
|
+
//#region src/shared/custom/form/inputs/textarea.input.tsx
|
|
7
|
+
function c({ form: c, name: l, label: u, placeholder: d, helper: f, id: p, rows: m = 4 }) {
|
|
8
|
+
let h = p || `textarea-${String(l)}`;
|
|
9
|
+
return /* @__PURE__ */ a(s, {
|
|
10
|
+
control: c.control,
|
|
11
|
+
name: l,
|
|
12
|
+
render: ({ field: s, fieldState: c }) => /* @__PURE__ */ o(e, {
|
|
13
|
+
"data-invalid": c.invalid,
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ o("div", {
|
|
16
|
+
className: "flex items-center gap-2",
|
|
17
|
+
children: [u && /* @__PURE__ */ a(n, {
|
|
18
|
+
htmlFor: h,
|
|
19
|
+
children: u
|
|
20
|
+
}), f && /* @__PURE__ */ a(r, { children: f })]
|
|
21
|
+
}),
|
|
22
|
+
/* @__PURE__ */ a(i, {
|
|
23
|
+
...s,
|
|
24
|
+
id: h,
|
|
25
|
+
rows: m,
|
|
26
|
+
"aria-invalid": c.invalid,
|
|
27
|
+
placeholder: d,
|
|
28
|
+
autoComplete: "off"
|
|
29
|
+
}),
|
|
30
|
+
c.invalid && c.error && /* @__PURE__ */ a(t, { errors: [c.error] })
|
|
31
|
+
]
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { c as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../ui/dialog.cjs`),r=require(`../../hover/hover.cjs`);let i=require(`react/jsx-runtime`),a=require(`react`);a=e.__toESM(a);function o({trigger:e,title:a,description:o,helper:s,children:c,className:l,open:u,onOpenChange:d}){let f=e?(0,i.jsx)(n.DialogTrigger,{asChild:!0,children:e}):null;return(0,i.jsxs)(n.Dialog,{open:u,onOpenChange:d,children:[f&&(s?(0,i.jsx)(r.Hover,{Trigger:f,children:s}):f),(0,i.jsxs)(n.DialogContent,{className:t.cn(`sm:max-w-2xl bg-card border-border shadow-2xl rounded-(--t-radius-lg) p-0 overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-300`,l),children:[(0,i.jsxs)(n.DialogHeader,{className:`gap-1 p-8 pb-4`,children:[(0,i.jsx)(n.DialogTitle,{className:`text-2xl font-semibold tracking-tight text-foreground`,children:a}),o&&(0,i.jsx)(n.DialogDescription,{className:`text-sm text-muted-foreground/70 font-medium`,children:o})]}),(0,i.jsx)(`div`,{className:`relative overflow-y-auto max-h-[calc(90vh-140px)] custom-scrollbar`,children:c})]})]})}module.exports=o;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
interface FormDialogLayoutProps {
|
|
3
|
+
/** Botón o elemento que abre el modal (opcional si se usa control externo) */
|
|
4
|
+
trigger?: React.ReactNode;
|
|
5
|
+
/** Título del formulario */
|
|
6
|
+
title: string;
|
|
7
|
+
/** Descripción estática debajo del título (DialogDescription) */
|
|
8
|
+
description?: string;
|
|
9
|
+
/** Texto de ayuda interactivo que aparece al pasar el cursor (Hover/Tooltip) */
|
|
10
|
+
helper?: string;
|
|
11
|
+
/** Formulario u otro contenido interno */
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
/** Clase adicional para el contenedor de contenido */
|
|
14
|
+
className?: string;
|
|
15
|
+
/** Control externo del estado abierto (opcional) */
|
|
16
|
+
open?: boolean;
|
|
17
|
+
/** Evento de cambio de estado (opcional) */
|
|
18
|
+
onOpenChange?: (open: boolean) => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Layout de formulario en Diálogo (Modal).
|
|
22
|
+
* Proporciona una forma estandarizada de mostrar formularios sin saturar la vista principal.
|
|
23
|
+
*/
|
|
24
|
+
export default function FormDialogLayout({ trigger, title, description, helper, children, className, open, onOpenChange }: FormDialogLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { cn as e } from "../../../lib/utils.esm";
|
|
2
|
+
import { Dialog as t, DialogContent as n, DialogDescription as r, DialogHeader as i, DialogTitle as a, DialogTrigger as o } from "../../../ui/dialog.esm";
|
|
3
|
+
import { Hover as s } from "../../hover/hover.esm";
|
|
4
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
5
|
+
import "react";
|
|
6
|
+
//#region src/shared/custom/form/layout/form-dialog-layout.tsx
|
|
7
|
+
function u({ trigger: u, title: d, description: f, helper: p, children: m, className: h, open: g, onOpenChange: _ }) {
|
|
8
|
+
let v = u ? /* @__PURE__ */ c(o, {
|
|
9
|
+
asChild: !0,
|
|
10
|
+
children: u
|
|
11
|
+
}) : null;
|
|
12
|
+
return /* @__PURE__ */ l(t, {
|
|
13
|
+
open: g,
|
|
14
|
+
onOpenChange: _,
|
|
15
|
+
children: [v && (p ? /* @__PURE__ */ c(s, {
|
|
16
|
+
Trigger: v,
|
|
17
|
+
children: p
|
|
18
|
+
}) : v), /* @__PURE__ */ l(n, {
|
|
19
|
+
className: e("sm:max-w-2xl bg-card border-border shadow-2xl rounded-(--t-radius-lg) p-0 overflow-hidden flex flex-col animate-in fade-in zoom-in-95 duration-300", h),
|
|
20
|
+
children: [/* @__PURE__ */ l(i, {
|
|
21
|
+
className: "gap-1 p-8 pb-4",
|
|
22
|
+
children: [/* @__PURE__ */ c(a, {
|
|
23
|
+
className: "text-2xl font-semibold tracking-tight text-foreground",
|
|
24
|
+
children: d
|
|
25
|
+
}), f && /* @__PURE__ */ c(r, {
|
|
26
|
+
className: "text-sm text-muted-foreground/70 font-medium",
|
|
27
|
+
children: f
|
|
28
|
+
})]
|
|
29
|
+
}), /* @__PURE__ */ c("div", {
|
|
30
|
+
className: "relative overflow-y-auto max-h-[calc(90vh-140px)] custom-scrollbar",
|
|
31
|
+
children: m
|
|
32
|
+
})]
|
|
33
|
+
})]
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { u as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../../lib/utils.cjs`),n=require(`../../../ui/tabs.cjs`),r=require(`../../layouts/grid.layout.cjs`);let i=require(`react/jsx-runtime`),a=require(`react`);a=e.__toESM(a);let o=require(`lucide-react`);function s({tabs:e,children:s,defaultValue:c,className:l}){let u=c||e[0]?.value,[d,f]=a.useState(u),[p,m]=a.useState(new Set([u])),h=p.size===e.length;return!e||e.length===0?null:(0,i.jsxs)(`div`,{className:t.cn(`flex flex-col`,l),children:[(0,i.jsxs)(n.Tabs,{value:d,onValueChange:e=>{f(e),m(t=>{if(t.has(e))return t;let n=new Set(t);return n.add(e),n})},className:`w-full`,children:[(0,i.jsx)(`div`,{className:`px-4 pt-4`,children:(0,i.jsx)(n.TabsList,{className:`w-full h-auto bg-white/[0.03] p-1.5 rounded-2xl border border-white/5 overflow-hidden`,asChild:!0,children:(0,i.jsx)(r.GridLayout,{cols:e.length,gap:0,className:`w-full`,children:e.map(e=>{let r=p.has(e.value),a=d===e.value;return(0,i.jsx)(n.TabsTrigger,{value:e.value,className:t.cn(`relative rounded-xl transition-all duration-300 py-2.5`,`data-[state=active]:bg-white/10 data-[state=active]:text-white data-[state=active]:shadow-lg`,`text-muted-foreground hover:text-white/80`),children:(0,i.jsxs)(`div`,{className:`flex items-center justify-center gap-2`,children:[e.icon,(0,i.jsx)(`span`,{className:`text-xs font-bold tracking-tight`,children:e.label}),r&&(0,i.jsx)(`div`,{className:t.cn(`size-3.5 rounded-full flex items-center justify-center transition-colors`,a?`bg-indigo-500 text-white`:`bg-emerald-500/20 text-emerald-400`),children:(0,i.jsx)(o.Check,{className:`size-2.5 stroke-[3]`})})]})},e.value)})})})}),e.map(e=>(0,i.jsx)(n.TabsContent,{value:e.value,className:`flex flex-col gap-4 p-6 focus-visible:outline-none focus-visible:ring-0 animate-in fade-in slide-in-from-bottom-2 duration-300`,children:e.content},e.value))]}),s&&(0,i.jsx)(`div`,{className:`mx-6 pb-6 pt-2 border-t border-white/5`,children:s({allVisited:h,activeTab:d})})]})}module.exports=s;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface FormTabConfig {
|
|
3
|
+
/** Identificador único de la pestaña */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Título que se mostrará en el trigger de la pestaña */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Icono opcional para la cabecera */
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
/** Contenido interno de la pestaña (los inputs del formulario) */
|
|
10
|
+
content: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
interface FormTabLayoutProps {
|
|
13
|
+
/** Configuración de las pestañas a renderizar */
|
|
14
|
+
tabs: FormTabConfig[];
|
|
15
|
+
/** Render prop que recibe el estado de la navegación para inyectar controles adicionales (como el botón submit) */
|
|
16
|
+
children?: (state: {
|
|
17
|
+
allVisited: boolean;
|
|
18
|
+
activeTab: string;
|
|
19
|
+
}) => React.ReactNode;
|
|
20
|
+
/** Pestaña inicialmente activa. Por defecto es la primera del array. */
|
|
21
|
+
defaultValue?: string;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Layout de formulario con Pestañas.
|
|
26
|
+
* Gestiona el estado de visita de cada pestaña y expone un booleano para bloquear/desbloquear acciones.
|
|
27
|
+
* Utiliza GridLayout para la cabecera de pestañas.
|
|
28
|
+
*/
|
|
29
|
+
export default function FormTabLayout({ tabs, children, defaultValue, className }: FormTabLayoutProps): import("react/jsx-runtime").JSX.Element | null;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { cn as e } from "../../../lib/utils.esm";
|
|
2
|
+
import { Tabs as t, TabsContent as n, TabsList as r, TabsTrigger as i } from "../../../ui/tabs.esm";
|
|
3
|
+
import { GridLayout as a } from "../../layouts/grid.layout.esm";
|
|
4
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
5
|
+
import * as c from "react";
|
|
6
|
+
import { Check as l } from "lucide-react";
|
|
7
|
+
//#region src/shared/custom/form/layout/form-tab-layout.tsx
|
|
8
|
+
function u({ tabs: u, children: d, defaultValue: f, className: p }) {
|
|
9
|
+
let m = f || u[0]?.value, [h, g] = c.useState(m), [_, v] = c.useState(new Set([m])), y = _.size === u.length;
|
|
10
|
+
return !u || u.length === 0 ? null : /* @__PURE__ */ s("div", {
|
|
11
|
+
className: e("flex flex-col", p),
|
|
12
|
+
children: [/* @__PURE__ */ s(t, {
|
|
13
|
+
value: h,
|
|
14
|
+
onValueChange: (e) => {
|
|
15
|
+
g(e), v((t) => {
|
|
16
|
+
if (t.has(e)) return t;
|
|
17
|
+
let n = new Set(t);
|
|
18
|
+
return n.add(e), n;
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
className: "w-full",
|
|
22
|
+
children: [/* @__PURE__ */ o("div", {
|
|
23
|
+
className: "px-4 pt-4",
|
|
24
|
+
children: /* @__PURE__ */ o(r, {
|
|
25
|
+
className: "w-full h-auto bg-white/[0.03] p-1.5 rounded-2xl border border-white/5 overflow-hidden",
|
|
26
|
+
asChild: !0,
|
|
27
|
+
children: /* @__PURE__ */ o(a, {
|
|
28
|
+
cols: u.length,
|
|
29
|
+
gap: 0,
|
|
30
|
+
className: "w-full",
|
|
31
|
+
children: u.map((t) => {
|
|
32
|
+
let n = _.has(t.value), r = h === t.value;
|
|
33
|
+
return /* @__PURE__ */ o(i, {
|
|
34
|
+
value: t.value,
|
|
35
|
+
className: e("relative rounded-xl transition-all duration-300 py-2.5", "data-[state=active]:bg-white/10 data-[state=active]:text-white data-[state=active]:shadow-lg", "text-muted-foreground hover:text-white/80"),
|
|
36
|
+
children: /* @__PURE__ */ s("div", {
|
|
37
|
+
className: "flex items-center justify-center gap-2",
|
|
38
|
+
children: [
|
|
39
|
+
t.icon,
|
|
40
|
+
/* @__PURE__ */ o("span", {
|
|
41
|
+
className: "text-xs font-bold tracking-tight",
|
|
42
|
+
children: t.label
|
|
43
|
+
}),
|
|
44
|
+
n && /* @__PURE__ */ o("div", {
|
|
45
|
+
className: e("size-3.5 rounded-full flex items-center justify-center transition-colors", r ? "bg-indigo-500 text-white" : "bg-emerald-500/20 text-emerald-400"),
|
|
46
|
+
children: /* @__PURE__ */ o(l, { className: "size-2.5 stroke-[3]" })
|
|
47
|
+
})
|
|
48
|
+
]
|
|
49
|
+
})
|
|
50
|
+
}, t.value);
|
|
51
|
+
})
|
|
52
|
+
})
|
|
53
|
+
})
|
|
54
|
+
}), u.map((e) => /* @__PURE__ */ o(n, {
|
|
55
|
+
value: e.value,
|
|
56
|
+
className: "flex flex-col gap-4 p-6 focus-visible:outline-none focus-visible:ring-0 animate-in fade-in slide-in-from-bottom-2 duration-300",
|
|
57
|
+
children: e.content
|
|
58
|
+
}, e.value))]
|
|
59
|
+
}), d && /* @__PURE__ */ o("div", {
|
|
60
|
+
className: "mx-6 pb-6 pt-2 border-t border-white/5",
|
|
61
|
+
children: d({
|
|
62
|
+
allVisited: y,
|
|
63
|
+
activeTab: h
|
|
64
|
+
})
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
//#endregion
|
|
69
|
+
export { u as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../ui/tooltip.cjs`);let t=require(`react/jsx-runtime`),n=require(`lucide-react`);function r({children:r,Trigger:i}){return(0,t.jsx)(e.TooltipProvider,{children:(0,t.jsxs)(e.Tooltip,{children:[(0,t.jsx)(e.TooltipTrigger,{asChild:!0,children:i||(0,t.jsx)(`button`,{type:`button`,className:`text-muted-foreground hover:text-foreground transition-colors outline-none`,tabIndex:-1,children:(0,t.jsx)(n.CircleHelp,{className:`w-3.5 h-3.5`})})}),(0,t.jsx)(e.TooltipContent,{children:(0,t.jsx)(`div`,{className:`max-w-[200px] leading-snug`,children:r})})]})})}exports.Hover=r;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Tooltip as e, TooltipContent as t, TooltipProvider as n, TooltipTrigger as r } from "../../ui/tooltip.esm";
|
|
2
|
+
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
3
|
+
import { CircleHelp as o } from "lucide-react";
|
|
4
|
+
//#region src/shared/custom/hover/hover.tsx
|
|
5
|
+
function s({ children: s, Trigger: c }) {
|
|
6
|
+
return /* @__PURE__ */ i(n, { children: /* @__PURE__ */ a(e, { children: [/* @__PURE__ */ i(r, {
|
|
7
|
+
asChild: !0,
|
|
8
|
+
children: c || /* @__PURE__ */ i("button", {
|
|
9
|
+
type: "button",
|
|
10
|
+
className: "text-muted-foreground hover:text-foreground transition-colors outline-none",
|
|
11
|
+
tabIndex: -1,
|
|
12
|
+
children: /* @__PURE__ */ i(o, { className: "w-3.5 h-3.5" })
|
|
13
|
+
})
|
|
14
|
+
}), /* @__PURE__ */ i(t, { children: /* @__PURE__ */ i("div", {
|
|
15
|
+
className: "max-w-[200px] leading-snug",
|
|
16
|
+
children: s
|
|
17
|
+
}) })] }) });
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { s as Hover };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../lib/utils.cjs`);let n=require(`react/jsx-runtime`),r=require(`react`);r=e.__toESM(r);function i({icon:e,title:r,description:i,label:a=`Módulo`,actions:o,children:s,className:c}){return(0,n.jsx)(`div`,{className:t.cn(`relative w-full h-[calc(80vh)] bg-background overflow-hidden flex flex-col`,c),children:(0,n.jsx)(`main`,{className:`flex-1 w-full h-full relative z-0`,children:s})})}exports.CanvasViewLayout=i;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { LucideIcon } from 'lucide-react';
|
|
3
|
+
export interface CanvasViewLayoutProps {
|
|
4
|
+
icon: LucideIcon;
|
|
5
|
+
title: string;
|
|
6
|
+
description: string;
|
|
7
|
+
label?: string;
|
|
8
|
+
actions?: React.ReactNode;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* CanvasViewLayout
|
|
14
|
+
* Layout optimizado para vistas que requieren el 100% del área (como lienzos y grafos).
|
|
15
|
+
* Maximiza el espacio visual y coloca la información de contexto (brief) y acciones
|
|
16
|
+
* en un panel flotante inferior con efecto glassmorphism.
|
|
17
|
+
*/
|
|
18
|
+
export declare function CanvasViewLayout({ icon, title, description, label, actions, children, className }: CanvasViewLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import "react";
|
|
4
|
+
//#region src/shared/custom/layouts/canvas-view.layout.tsx
|
|
5
|
+
function n({ icon: n, title: r, description: i, label: a = "Módulo", actions: o, children: s, className: c }) {
|
|
6
|
+
return /* @__PURE__ */ t("div", {
|
|
7
|
+
className: e("relative w-full h-[calc(80vh)] bg-background overflow-hidden flex flex-col", c),
|
|
8
|
+
children: /* @__PURE__ */ t("main", {
|
|
9
|
+
className: "flex-1 w-full h-full relative z-0",
|
|
10
|
+
children: s
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { n as CanvasViewLayout };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../lib/utils.cjs`),n=require(`../../ui/tabs.cjs`);let r=require(`react/jsx-runtime`),i=require(`react`);i=e.__toESM(i);function a({tabs:e,defaultValue:i,className:a}){return!e||e.length===0?null:(0,r.jsxs)(n.Tabs,{defaultValue:i||e[0].value,className:t.cn(`w-full space-y-6 animate-in fade-in duration-500`,a),children:[(0,r.jsx)(n.TabsList,{className:`w-full max-w-md grid p-1 bg-muted/50 rounded-2xl border border-border/40`,style:{gridTemplateColumns:`repeat(${e.length}, minmax(0, 1fr))`},children:e.map(e=>(0,r.jsxs)(n.TabsTrigger,{value:e.value,className:`py-2.5 rounded-xl font-bold flex items-center justify-center gap-2 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground shadow-none data-[state=active]:shadow-md transition-all`,children:[e.icon&&(0,r.jsx)(`span`,{className:`shrink-0`,children:e.icon}),(0,r.jsx)(`span`,{className:`truncate`,children:e.label})]},e.value))}),e.map(e=>(0,r.jsx)(n.TabsContent,{value:e.value,className:`outline-none`,children:e.content},e.value))]})}exports.DetailTabsLayout=a,exports.default=a;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
export interface TabDefinition {
|
|
3
|
+
/** Identificador único del tab */
|
|
4
|
+
value: string;
|
|
5
|
+
/** Etiqueta a mostrar */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Icono opcional (lucide-react) */
|
|
8
|
+
icon?: React.ReactNode;
|
|
9
|
+
/** Contenido a renderizar cuando el tab está activo */
|
|
10
|
+
content: React.ReactNode;
|
|
11
|
+
}
|
|
12
|
+
interface DetailTabsLayoutProps {
|
|
13
|
+
/** Lista de tabs a renderizar */
|
|
14
|
+
tabs: TabDefinition[];
|
|
15
|
+
/** Tab seleccionado por defecto (usará el primero si no se provee) */
|
|
16
|
+
defaultValue?: string;
|
|
17
|
+
/** Clases adicionales para el contenedor principal */
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* DetailTabsLayout
|
|
22
|
+
*
|
|
23
|
+
* Un componente pre-estilizado para estandarizar las vistas con pestañas
|
|
24
|
+
* dentro de las páginas de detalle (DetailViewLayout).
|
|
25
|
+
*/
|
|
26
|
+
export declare function DetailTabsLayout({ tabs, defaultValue, className }: DetailTabsLayoutProps): import("react/jsx-runtime").JSX.Element | null;
|
|
27
|
+
export default DetailTabsLayout;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { cn as e } from "../../lib/utils.esm";
|
|
2
|
+
import { Tabs as t, TabsContent as n, TabsList as r, TabsTrigger as i } from "../../ui/tabs.esm";
|
|
3
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
|
+
import "react";
|
|
5
|
+
//#region src/shared/custom/layouts/detail-tabs.layout.tsx
|
|
6
|
+
function s({ tabs: s, defaultValue: c, className: l }) {
|
|
7
|
+
return !s || s.length === 0 ? null : /* @__PURE__ */ o(t, {
|
|
8
|
+
defaultValue: c || s[0].value,
|
|
9
|
+
className: e("w-full space-y-6 animate-in fade-in duration-500", l),
|
|
10
|
+
children: [/* @__PURE__ */ a(r, {
|
|
11
|
+
className: "w-full max-w-md grid p-1 bg-muted/50 rounded-2xl border border-border/40",
|
|
12
|
+
style: { gridTemplateColumns: `repeat(${s.length}, minmax(0, 1fr))` },
|
|
13
|
+
children: s.map((e) => /* @__PURE__ */ o(i, {
|
|
14
|
+
value: e.value,
|
|
15
|
+
className: "py-2.5 rounded-xl font-bold flex items-center justify-center gap-2 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground shadow-none data-[state=active]:shadow-md transition-all",
|
|
16
|
+
children: [e.icon && /* @__PURE__ */ a("span", {
|
|
17
|
+
className: "shrink-0",
|
|
18
|
+
children: e.icon
|
|
19
|
+
}), /* @__PURE__ */ a("span", {
|
|
20
|
+
className: "truncate",
|
|
21
|
+
children: e.label
|
|
22
|
+
})]
|
|
23
|
+
}, e.value))
|
|
24
|
+
}), s.map((e) => /* @__PURE__ */ a(n, {
|
|
25
|
+
value: e.value,
|
|
26
|
+
className: "outline-none",
|
|
27
|
+
children: e.content
|
|
28
|
+
}, e.value))]
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { s as DetailTabsLayout, s as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(`../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../lib/utils.cjs`),n=require(`../actions/back-button.action.cjs`),r=require(`../ui/typography.cjs`);let i=require(`react/jsx-runtime`),a=require(`react`);a=e.__toESM(a);function o({backLabel:e,backTo:a,referenceLabel:o,icon:s,title:c,badge:l,description:u,metaBlock:d,children:f,sidebar:p,className:m}){return(0,i.jsxs)(`div`,{className:t.cn(`max-w-[1200px] mx-auto p-6 space-y-8 animate-in fade-in slide-in-from-bottom-4 duration-700`,m),children:[(e||o)&&(0,i.jsxs)(`nav`,{className:`flex items-center justify-between border-b pb-4 border-border/40`,children:[e?(0,i.jsx)(n.BackButtonAction,{label:e,to:a,className:`hover:bg-accent/10`}):(0,i.jsx)(`div`,{}),o&&(0,i.jsx)(r.Typography,{variant:`extra-small`,className:`font-medium uppercase tracking-tighter`,children:o})]}),(0,i.jsxs)(`div`,{className:`flex flex-col md:flex-row items-center justify-between gap-8 bg-card/30 p-8 rounded-[2.5rem] border border-border/50 backdrop-blur-xl shadow-2xl shadow-primary/5`,children:[(0,i.jsxs)(`div`,{className:`flex flex-col md:flex-row items-center gap-6`,children:[s,(0,i.jsxs)(`div`,{className:`space-y-2 text-center md:text-left`,children:[(0,i.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center md:justify-start gap-3`,children:[(0,i.jsx)(r.Typography,{variant:`h1`,className:`font-black tracking-tight text-3xl md:text-4xl`,children:c}),l]}),typeof u==`string`?(0,i.jsx)(r.Typography,{variant:`small`,className:`text-muted-foreground font-medium block max-w-xl leading-relaxed`,children:u}):u]})]}),d&&(0,i.jsx)(`div`,{className:`flex flex-col items-center md:items-end gap-3 bg-muted/20 p-6 rounded-3xl border border-border/40 backdrop-blur-sm self-stretch md:self-auto justify-center min-w-[200px]`,children:d})]}),p?(0,i.jsxs)(`div`,{className:`grid grid-cols-1 lg:grid-cols-4 gap-8 items-start`,children:[(0,i.jsx)(`div`,{className:`lg:col-span-3 space-y-6 w-full`,children:f}),(0,i.jsx)(`div`,{className:`space-y-6 w-full`,children:p})]}):(0,i.jsx)(`div`,{className:`w-full`,children:f})]})}exports.DetailViewLayout=o,exports.default=o;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface DetailViewLayoutProps {
|
|
3
|
+
/** Etiqueta del botón de regreso (ej: "Volver a Proyectos") */
|
|
4
|
+
backLabel?: string;
|
|
5
|
+
/** Destino opcional de navegación para retroceder (por defecto -1) */
|
|
6
|
+
backTo?: string | number;
|
|
7
|
+
/** Etiqueta superior derecha (ej: "ID: 4d2b") */
|
|
8
|
+
referenceLabel?: string;
|
|
9
|
+
/** Icono principal de la cabecera */
|
|
10
|
+
icon: React.ReactNode;
|
|
11
|
+
/** Título principal (ej: Nombre del proyecto) */
|
|
12
|
+
title: string;
|
|
13
|
+
/** Elemento Badge junto al título (ej: Tipo de proyecto) */
|
|
14
|
+
badge?: React.ReactNode;
|
|
15
|
+
/** Descripción descriptiva debajo del título */
|
|
16
|
+
description?: React.ReactNode;
|
|
17
|
+
/** Bloque de metadatos o información adicional en el lado derecho de la cabecera */
|
|
18
|
+
metaBlock?: React.ReactNode;
|
|
19
|
+
/** Contenido principal (izquierda si hay sidebar) */
|
|
20
|
+
children: React.ReactNode;
|
|
21
|
+
/** Contenido lateral/acciones (opcional) */
|
|
22
|
+
sidebar?: React.ReactNode;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* DetailViewLayout
|
|
27
|
+
*
|
|
28
|
+
* Layout premium y unificado para pantallas de detalle de entidades (Proyectos, Herramientas, etc.).
|
|
29
|
+
* Centraliza la barra de navegación superior, la tarjeta de cabecera con efecto de cristal (glassmorphism)
|
|
30
|
+
* y una grilla responsive de 2 columnas para contenido y acciones.
|
|
31
|
+
*/
|
|
32
|
+
export declare function DetailViewLayout({ backLabel, backTo, referenceLabel, icon, title, badge, description, metaBlock, children, sidebar, className }: DetailViewLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
export default DetailViewLayout;
|