@baseplate-dev/react-generators 0.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/LICENSE +390 -0
- package/dist/constants/index.d.ts +2 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +2 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/react-packages.d.ts +42 -0
- package/dist/constants/react-packages.d.ts.map +1 -0
- package/dist/constants/react-packages.js +50 -0
- package/dist/constants/react-packages.js.map +1 -0
- package/dist/generators/admin/_providers/admin-crud-column-container.d.ts +12 -0
- package/dist/generators/admin/_providers/admin-crud-column-container.d.ts.map +1 -0
- package/dist/generators/admin/_providers/admin-crud-column-container.js +3 -0
- package/dist/generators/admin/_providers/admin-crud-column-container.js.map +1 -0
- package/dist/generators/admin/_providers/admin-crud-display-container.d.ts +7 -0
- package/dist/generators/admin/_providers/admin-crud-display-container.d.ts.map +1 -0
- package/dist/generators/admin/_providers/admin-crud-display-container.js +3 -0
- package/dist/generators/admin/_providers/admin-crud-display-container.js.map +1 -0
- package/dist/generators/admin/_providers/admin-crud-input-container.d.ts +22 -0
- package/dist/generators/admin/_providers/admin-crud-input-container.d.ts.map +1 -0
- package/dist/generators/admin/_providers/admin-crud-input-container.js +3 -0
- package/dist/generators/admin/_providers/admin-crud-input-container.js.map +1 -0
- package/dist/generators/admin/_providers/admin-loader.d.ts +14 -0
- package/dist/generators/admin/_providers/admin-loader.d.ts.map +1 -0
- package/dist/generators/admin/_providers/admin-loader.js +26 -0
- package/dist/generators/admin/_providers/admin-loader.js.map +1 -0
- package/dist/generators/admin/_providers/index.d.ts +5 -0
- package/dist/generators/admin/_providers/index.d.ts.map +1 -0
- package/dist/generators/admin/_providers/index.js +5 -0
- package/dist/generators/admin/_providers/index.js.map +1 -0
- package/dist/generators/admin/_utils/data-display.d.ts +10 -0
- package/dist/generators/admin/_utils/data-display.d.ts.map +1 -0
- package/dist/generators/admin/_utils/data-display.js +2 -0
- package/dist/generators/admin/_utils/data-display.js.map +1 -0
- package/dist/generators/admin/_utils/data-loaders.d.ts +23 -0
- package/dist/generators/admin/_utils/data-loaders.d.ts.map +1 -0
- package/dist/generators/admin/_utils/data-loaders.js +44 -0
- package/dist/generators/admin/_utils/data-loaders.js.map +1 -0
- package/dist/generators/admin/_utils/foreign-data-dependency.d.ts +15 -0
- package/dist/generators/admin/_utils/foreign-data-dependency.d.ts.map +1 -0
- package/dist/generators/admin/_utils/foreign-data-dependency.js +53 -0
- package/dist/generators/admin/_utils/foreign-data-dependency.js.map +1 -0
- package/dist/generators/admin/_utils/graphql.d.ts +3 -0
- package/dist/generators/admin/_utils/graphql.d.ts.map +1 -0
- package/dist/generators/admin/_utils/graphql.js +16 -0
- package/dist/generators/admin/_utils/graphql.js.map +1 -0
- package/dist/generators/admin/admin-bull-board/admin-bull-board.generator.d.ts +67 -0
- package/dist/generators/admin/admin-bull-board/admin-bull-board.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-bull-board/admin-bull-board.generator.js +70 -0
- package/dist/generators/admin/admin-bull-board/admin-bull-board.generator.js.map +1 -0
- package/dist/generators/admin/admin-bull-board/generated/text-templates.d.ts +4 -0
- package/dist/generators/admin/admin-bull-board/generated/text-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-bull-board/generated/text-templates.js +10 -0
- package/dist/generators/admin/admin-bull-board/generated/text-templates.js.map +1 -0
- package/dist/generators/admin/admin-bull-board/generated/ts-templates.d.ts +56 -0
- package/dist/generators/admin/admin-bull-board/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-bull-board/generated/ts-templates.js +19 -0
- package/dist/generators/admin/admin-bull-board/generated/ts-templates.js.map +1 -0
- package/dist/generators/admin/admin-bull-board/templates/bull-board.gql +5 -0
- package/dist/generators/admin/admin-bull-board/templates/bull-board.page.tsx +47 -0
- package/dist/generators/admin/admin-components/admin-components.generator.d.ts +71 -0
- package/dist/generators/admin/admin-components/admin-components.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-components/admin-components.generator.js +51 -0
- package/dist/generators/admin/admin-components/admin-components.generator.js.map +1 -0
- package/dist/generators/admin/admin-components/generated/ts-import-maps.d.ts +45 -0
- package/dist/generators/admin/admin-components/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/admin/admin-components/generated/ts-import-maps.js +26 -0
- package/dist/generators/admin/admin-components/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/admin/admin-components/generated/ts-templates.d.ts +99 -0
- package/dist/generators/admin/admin-components/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-components/generated/ts-templates.js +54 -0
- package/dist/generators/admin/admin-components/generated/ts-templates.js.map +1 -0
- package/dist/generators/admin/admin-components/templates/DescriptionList/index.tsx +45 -0
- package/dist/generators/admin/admin-components/templates/EmbeddedListInput/index.tsx +213 -0
- package/dist/generators/admin/admin-components/templates/EmbeddedObjectInput/index.tsx +163 -0
- package/dist/generators/admin/admin-crud-column/admin-crud-column.generator.d.ts +12 -0
- package/dist/generators/admin/admin-crud-column/admin-crud-column.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-column/admin-crud-column.generator.js +52 -0
- package/dist/generators/admin/admin-crud-column/admin-crud-column.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.d.ts +69 -0
- package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.js +205 -0
- package/dist/generators/admin/admin-crud-edit/admin-crud-edit.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-edit/generated/ts-templates.d.ts +166 -0
- package/dist/generators/admin/admin-crud-edit/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-edit/generated/ts-templates.js +75 -0
- package/dist/generators/admin/admin-crud-edit/generated/ts-templates.js.map +1 -0
- package/dist/generators/admin/admin-crud-edit/templates/EditForm.tsx +52 -0
- package/dist/generators/admin/admin-crud-edit/templates/create.page.tsx +45 -0
- package/dist/generators/admin/admin-crud-edit/templates/edit.page.tsx +38 -0
- package/dist/generators/admin/admin-crud-edit/templates/schema.ts +7 -0
- package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.d.ts +119 -0
- package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.js +281 -0
- package/dist/generators/admin/admin-crud-embedded-form/admin-crud-embedded-form.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-embedded-form/generated/ts-templates.d.ts +59 -0
- package/dist/generators/admin/admin-crud-embedded-form/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-embedded-form/generated/ts-templates.js +24 -0
- package/dist/generators/admin/admin-crud-embedded-form/generated/ts-templates.js.map +1 -0
- package/dist/generators/admin/admin-crud-embedded-form/templates/EmbeddedForm.tsx +38 -0
- package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.d.ts +38 -0
- package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.js +88 -0
- package/dist/generators/admin/admin-crud-embedded-input/admin-crud-embedded-input.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-enum-input/admin-crud-enum-input.generator.d.ts +55 -0
- package/dist/generators/admin/admin-crud-enum-input/admin-crud-enum-input.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-enum-input/admin-crud-enum-input.generator.js +58 -0
- package/dist/generators/admin/admin-crud-enum-input/admin-crud-enum-input.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-foreign-display/admin-crud-foreign-display.generator.d.ts +17 -0
- package/dist/generators/admin/admin-crud-foreign-display/admin-crud-foreign-display.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-foreign-display/admin-crud-foreign-display.generator.js +60 -0
- package/dist/generators/admin/admin-crud-foreign-display/admin-crud-foreign-display.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.d.ts +58 -0
- package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.js +79 -0
- package/dist/generators/admin/admin-crud-foreign-input/admin-crud-foreign-input.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.d.ts +59 -0
- package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.js +152 -0
- package/dist/generators/admin/admin-crud-list/admin-crud-list.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-list/generated/ts-templates.d.ts +112 -0
- package/dist/generators/admin/admin-crud-list/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-list/generated/ts-templates.js +44 -0
- package/dist/generators/admin/admin-crud-list/generated/ts-templates.js.map +1 -0
- package/dist/generators/admin/admin-crud-list/templates/Table.tsx +77 -0
- package/dist/generators/admin/admin-crud-list/templates/index.page.tsx +40 -0
- package/dist/generators/admin/admin-crud-password-input/admin-crud-password-input.generator.d.ts +50 -0
- package/dist/generators/admin/admin-crud-password-input/admin-crud-password-input.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-password-input/admin-crud-password-input.generator.js +49 -0
- package/dist/generators/admin/admin-crud-password-input/admin-crud-password-input.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.d.ts +34 -0
- package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.js +204 -0
- package/dist/generators/admin/admin-crud-queries/admin-crud-queries.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-section/admin-crud-section.generator.d.ts +5 -0
- package/dist/generators/admin/admin-crud-section/admin-crud-section.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-section/admin-crud-section.generator.js +24 -0
- package/dist/generators/admin/admin-crud-section/admin-crud-section.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-text-display/admin-crud-text-display.generator.d.ts +8 -0
- package/dist/generators/admin/admin-crud-text-display/admin-crud-text-display.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-text-display/admin-crud-text-display.generator.js +28 -0
- package/dist/generators/admin/admin-crud-text-display/admin-crud-text-display.generator.js.map +1 -0
- package/dist/generators/admin/admin-crud-text-input/admin-crud-text-input.generator.d.ts +52 -0
- package/dist/generators/admin/admin-crud-text-input/admin-crud-text-input.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-crud-text-input/admin-crud-text-input.generator.js +53 -0
- package/dist/generators/admin/admin-crud-text-input/admin-crud-text-input.generator.js.map +1 -0
- package/dist/generators/admin/admin-home/admin-home.generator.d.ts +56 -0
- package/dist/generators/admin/admin-home/admin-home.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-home/admin-home.generator.js +45 -0
- package/dist/generators/admin/admin-home/admin-home.generator.js.map +1 -0
- package/dist/generators/admin/admin-home/generated/ts-templates.d.ts +54 -0
- package/dist/generators/admin/admin-home/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-home/generated/ts-templates.js +15 -0
- package/dist/generators/admin/admin-home/generated/ts-templates.js.map +1 -0
- package/dist/generators/admin/admin-home/templates/Home.page.tsx +23 -0
- package/dist/generators/admin/admin-layout/admin-layout.generator.d.ts +91 -0
- package/dist/generators/admin/admin-layout/admin-layout.generator.d.ts.map +1 -0
- package/dist/generators/admin/admin-layout/admin-layout.generator.js +82 -0
- package/dist/generators/admin/admin-layout/admin-layout.generator.js.map +1 -0
- package/dist/generators/admin/admin-layout/generated/ts-templates.d.ts +56 -0
- package/dist/generators/admin/admin-layout/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/admin/admin-layout/generated/ts-templates.js +15 -0
- package/dist/generators/admin/admin-layout/generated/ts-templates.js.map +1 -0
- package/dist/generators/admin/admin-layout/templates/AdminLayout.tsx +43 -0
- package/dist/generators/admin/index.d.ts +19 -0
- package/dist/generators/admin/index.d.ts.map +1 -0
- package/dist/generators/admin/index.js +19 -0
- package/dist/generators/admin/index.js.map +1 -0
- package/dist/generators/apollo/apollo-error/apollo-error.generator.d.ts +11 -0
- package/dist/generators/apollo/apollo-error/apollo-error.generator.d.ts.map +1 -0
- package/dist/generators/apollo/apollo-error/apollo-error.generator.js +37 -0
- package/dist/generators/apollo/apollo-error/apollo-error.generator.js.map +1 -0
- package/dist/generators/apollo/apollo-error/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/apollo/apollo-error/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/apollo/apollo-error/generated/ts-import-maps.js +16 -0
- package/dist/generators/apollo/apollo-error/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/apollo/apollo-error/generated/ts-templates.d.ts +4 -0
- package/dist/generators/apollo/apollo-error/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/apollo/apollo-error/generated/ts-templates.js +9 -0
- package/dist/generators/apollo/apollo-error/generated/ts-templates.js.map +1 -0
- package/dist/generators/apollo/apollo-error/templates/apollo-error.ts +19 -0
- package/dist/generators/apollo/apollo-error-link/apollo-error-link.generator.d.ts +25 -0
- package/dist/generators/apollo/apollo-error-link/apollo-error-link.generator.d.ts.map +1 -0
- package/dist/generators/apollo/apollo-error-link/apollo-error-link.generator.js +93 -0
- package/dist/generators/apollo/apollo-error-link/apollo-error-link.generator.js.map +1 -0
- package/dist/generators/apollo/apollo-sentry/apollo-sentry.generator.d.ts +30 -0
- package/dist/generators/apollo/apollo-sentry/apollo-sentry.generator.d.ts.map +1 -0
- package/dist/generators/apollo/apollo-sentry/apollo-sentry.generator.js +100 -0
- package/dist/generators/apollo/apollo-sentry/apollo-sentry.generator.js.map +1 -0
- package/dist/generators/apollo/apollo-sentry/generated/ts-templates.d.ts +14 -0
- package/dist/generators/apollo/apollo-sentry/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/apollo/apollo-sentry/generated/ts-templates.js +15 -0
- package/dist/generators/apollo/apollo-sentry/generated/ts-templates.js.map +1 -0
- package/dist/generators/apollo/apollo-sentry/templates/apollo-sentry-link.ts +56 -0
- package/dist/generators/apollo/index.d.ts +5 -0
- package/dist/generators/apollo/index.d.ts.map +1 -0
- package/dist/generators/apollo/index.js +5 -0
- package/dist/generators/apollo/index.js.map +1 -0
- package/dist/generators/apollo/react-apollo/generated/text-templates.d.ts +8 -0
- package/dist/generators/apollo/react-apollo/generated/text-templates.d.ts.map +1 -0
- package/dist/generators/apollo/react-apollo/generated/text-templates.js +10 -0
- package/dist/generators/apollo/react-apollo/generated/text-templates.js.map +1 -0
- package/dist/generators/apollo/react-apollo/generated/ts-import-maps.d.ts +21 -0
- package/dist/generators/apollo/react-apollo/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/apollo/react-apollo/generated/ts-import-maps.js +28 -0
- package/dist/generators/apollo/react-apollo/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/apollo/react-apollo/generated/ts-templates.d.ts +14 -0
- package/dist/generators/apollo/react-apollo/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/apollo/react-apollo/generated/ts-templates.js +29 -0
- package/dist/generators/apollo/react-apollo/generated/ts-templates.js.map +1 -0
- package/dist/generators/apollo/react-apollo/react-apollo.generator.d.ts +172 -0
- package/dist/generators/apollo/react-apollo/react-apollo.generator.d.ts.map +1 -0
- package/dist/generators/apollo/react-apollo/react-apollo.generator.js +403 -0
- package/dist/generators/apollo/react-apollo/react-apollo.generator.js.map +1 -0
- package/dist/generators/apollo/react-apollo/templates/app/AppApolloProvider.tsx +25 -0
- package/dist/generators/apollo/react-apollo/templates/codegen.yml.tpl +16 -0
- package/dist/generators/apollo/react-apollo/templates/services/apollo/cache.ts +7 -0
- package/dist/generators/apollo/react-apollo/templates/services/apollo/index.ts +19 -0
- package/dist/generators/apollo/react-apollo/templates/websocket-links.ts +46 -0
- package/dist/generators/auth/_providers/auth-components.d.ts +13 -0
- package/dist/generators/auth/_providers/auth-components.d.ts.map +1 -0
- package/dist/generators/auth/_providers/auth-components.js +7 -0
- package/dist/generators/auth/_providers/auth-components.js.map +1 -0
- package/dist/generators/auth/_providers/auth-hooks.d.ts +21 -0
- package/dist/generators/auth/_providers/auth-hooks.d.ts.map +1 -0
- package/dist/generators/auth/_providers/auth-hooks.js +11 -0
- package/dist/generators/auth/_providers/auth-hooks.js.map +1 -0
- package/dist/generators/auth/_providers/index.d.ts +3 -0
- package/dist/generators/auth/_providers/index.d.ts.map +1 -0
- package/dist/generators/auth/_providers/index.js +3 -0
- package/dist/generators/auth/_providers/index.js.map +1 -0
- package/dist/generators/auth/auth-identify/auth-identify.generator.d.ts +32 -0
- package/dist/generators/auth/auth-identify/auth-identify.generator.d.ts.map +1 -0
- package/dist/generators/auth/auth-identify/auth-identify.generator.js +53 -0
- package/dist/generators/auth/auth-identify/auth-identify.generator.js.map +1 -0
- package/dist/generators/auth/index.d.ts +4 -0
- package/dist/generators/auth/index.d.ts.map +1 -0
- package/dist/generators/auth/index.js +4 -0
- package/dist/generators/auth/index.js.map +1 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-import-maps.d.ts +3 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-import-maps.js +16 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-templates.d.ts +21 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-templates.js +49 -0
- package/dist/generators/auth/placeholder-auth-hooks/generated/ts-templates.js.map +1 -0
- package/dist/generators/auth/placeholder-auth-hooks/placeholder-auth-hooks.generator.d.ts +22 -0
- package/dist/generators/auth/placeholder-auth-hooks/placeholder-auth-hooks.generator.d.ts.map +1 -0
- package/dist/generators/auth/placeholder-auth-hooks/placeholder-auth-hooks.generator.js +48 -0
- package/dist/generators/auth/placeholder-auth-hooks/placeholder-auth-hooks.generator.js.map +1 -0
- package/dist/generators/auth/placeholder-auth-hooks/templates/useCurrentUser.ts +9 -0
- package/dist/generators/auth/placeholder-auth-hooks/templates/useLogOut.ts +5 -0
- package/dist/generators/auth/placeholder-auth-hooks/templates/useRequiredUserId.ts +5 -0
- package/dist/generators/auth/placeholder-auth-hooks/templates/useSession.ts +8 -0
- package/dist/generators/core/_composers/index.d.ts +2 -0
- package/dist/generators/core/_composers/index.d.ts.map +1 -0
- package/dist/generators/core/_composers/index.js +2 -0
- package/dist/generators/core/_composers/index.js.map +1 -0
- package/dist/generators/core/_composers/react.composer.d.ts +6 -0
- package/dist/generators/core/_composers/react.composer.d.ts.map +1 -0
- package/dist/generators/core/_composers/react.composer.js +28 -0
- package/dist/generators/core/_composers/react.composer.js.map +1 -0
- package/dist/generators/core/_utils/index.d.ts +2 -0
- package/dist/generators/core/_utils/index.d.ts.map +1 -0
- package/dist/generators/core/_utils/index.js +2 -0
- package/dist/generators/core/_utils/index.js.map +1 -0
- package/dist/generators/core/_utils/render-routes.d.ts +4 -0
- package/dist/generators/core/_utils/render-routes.d.ts.map +1 -0
- package/dist/generators/core/_utils/render-routes.js +42 -0
- package/dist/generators/core/_utils/render-routes.js.map +1 -0
- package/dist/generators/core/index.d.ts +18 -0
- package/dist/generators/core/index.d.ts.map +1 -0
- package/dist/generators/core/index.js +18 -0
- package/dist/generators/core/index.js.map +1 -0
- package/dist/generators/core/react/generated/raw-templates.d.ts +4 -0
- package/dist/generators/core/react/generated/raw-templates.d.ts.map +1 -0
- package/dist/generators/core/react/generated/raw-templates.js +9 -0
- package/dist/generators/core/react/generated/raw-templates.js.map +1 -0
- package/dist/generators/core/react/generated/text-templates.d.ts +28 -0
- package/dist/generators/core/react/generated/text-templates.d.ts.map +1 -0
- package/dist/generators/core/react/generated/text-templates.js +42 -0
- package/dist/generators/core/react/generated/text-templates.js.map +1 -0
- package/dist/generators/core/react/generated/ts-templates.d.ts +10 -0
- package/dist/generators/core/react/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react/generated/ts-templates.js +15 -0
- package/dist/generators/core/react/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react/node.d.ts +2 -0
- package/dist/generators/core/react/node.d.ts.map +1 -0
- package/dist/generators/core/react/node.js +32 -0
- package/dist/generators/core/react/node.js.map +1 -0
- package/dist/generators/core/react/react.generator.d.ts +53 -0
- package/dist/generators/core/react/react.generator.d.ts.map +1 -0
- package/dist/generators/core/react/react.generator.js +120 -0
- package/dist/generators/core/react/react.generator.js.map +1 -0
- package/dist/generators/core/react/templates/README.md +19 -0
- package/dist/generators/core/react/templates/index.html +15 -0
- package/dist/generators/core/react/templates/public/favicon.ico +0 -0
- package/dist/generators/core/react/templates/src/index.tsx +18 -0
- package/dist/generators/core/react/templates/src/vite-env.d.ts +2 -0
- package/dist/generators/core/react/templates/vite.config.ts +10 -0
- package/dist/generators/core/react-app/generated/ts-templates.d.ts +6 -0
- package/dist/generators/core/react-app/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-app/generated/ts-templates.js +9 -0
- package/dist/generators/core/react-app/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-app/react-app.generator.d.ts +41 -0
- package/dist/generators/core/react-app/react-app.generator.d.ts.map +1 -0
- package/dist/generators/core/react-app/react-app.generator.js +70 -0
- package/dist/generators/core/react-app/react-app.generator.js.map +1 -0
- package/dist/generators/core/react-app/templates/App.tsx +9 -0
- package/dist/generators/core/react-components/generated/ts-import-maps.d.ts +85 -0
- package/dist/generators/core/react-components/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/react-components/generated/ts-import-maps.js +78 -0
- package/dist/generators/core/react-components/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/react-components/generated/ts-templates.d.ts +119 -0
- package/dist/generators/core/react-components/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-components/generated/ts-templates.js +308 -0
- package/dist/generators/core/react-components/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-components/react-components.generator.d.ts +75 -0
- package/dist/generators/core/react-components/react-components.generator.d.ts.map +1 -0
- package/dist/generators/core/react-components/react-components.generator.js +126 -0
- package/dist/generators/core/react-components/react-components.generator.js.map +1 -0
- package/dist/generators/core/react-components/templates/components/Alert/index.tsx +76 -0
- package/dist/generators/core/react-components/templates/components/AlertIcon/index.tsx +75 -0
- package/dist/generators/core/react-components/templates/components/BackButton/index.tsx +35 -0
- package/dist/generators/core/react-components/templates/components/Button/index.tsx +99 -0
- package/dist/generators/core/react-components/templates/components/ButtonGroup/index.tsx +52 -0
- package/dist/generators/core/react-components/templates/components/Card/index.tsx +27 -0
- package/dist/generators/core/react-components/templates/components/CheckedInput/index.tsx +130 -0
- package/dist/generators/core/react-components/templates/components/ConfirmDialog/index.tsx +88 -0
- package/dist/generators/core/react-components/templates/components/ErrorDisplay/index.tsx +52 -0
- package/dist/generators/core/react-components/templates/components/ErrorableLoader/index.tsx +31 -0
- package/dist/generators/core/react-components/templates/components/FormError/index.tsx +22 -0
- package/dist/generators/core/react-components/templates/components/FormLabel/index.tsx +25 -0
- package/dist/generators/core/react-components/templates/components/LinkButton/index.tsx +54 -0
- package/dist/generators/core/react-components/templates/components/ListGroup/index.tsx +48 -0
- package/dist/generators/core/react-components/templates/components/Modal/index.tsx +167 -0
- package/dist/generators/core/react-components/templates/components/NotFoundCard/index.tsx +32 -0
- package/dist/generators/core/react-components/templates/components/ReactDatePickerInput/index.tsx +162 -0
- package/dist/generators/core/react-components/templates/components/ReactSelectInput/index.tsx +137 -0
- package/dist/generators/core/react-components/templates/components/SelectInput/index.tsx +108 -0
- package/dist/generators/core/react-components/templates/components/Sidebar/index.tsx +216 -0
- package/dist/generators/core/react-components/templates/components/Spinner/index.tsx +70 -0
- package/dist/generators/core/react-components/templates/components/Table/index.tsx +132 -0
- package/dist/generators/core/react-components/templates/components/TextAreaInput/index.tsx +107 -0
- package/dist/generators/core/react-components/templates/components/TextInput/index.tsx +133 -0
- package/dist/generators/core/react-components/templates/components/Toast/index.tsx +68 -0
- package/dist/generators/core/react-components/templates/components/index.ts +3 -0
- package/dist/generators/core/react-components/templates/hooks/useConfirmDialog.ts +53 -0
- package/dist/generators/core/react-components/templates/hooks/useStatus.ts +44 -0
- package/dist/generators/core/react-components/templates/hooks/useToast.tsx +52 -0
- package/dist/generators/core/react-components/templates/index.ts +3 -0
- package/dist/generators/core/react-config/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/core/react-config/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/react-config/generated/ts-import-maps.js +14 -0
- package/dist/generators/core/react-config/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/react-config/generated/ts-templates.d.ts +6 -0
- package/dist/generators/core/react-config/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-config/generated/ts-templates.js +9 -0
- package/dist/generators/core/react-config/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-config/react-config.generator.d.ts +46 -0
- package/dist/generators/core/react-config/react-config.generator.d.ts.map +1 -0
- package/dist/generators/core/react-config/react-config.generator.js +84 -0
- package/dist/generators/core/react-config/react-config.generator.js.map +1 -0
- package/dist/generators/core/react-config/templates/config.ts +7 -0
- package/dist/generators/core/react-error/generated/ts-import-maps.d.ts +15 -0
- package/dist/generators/core/react-error/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/react-error/generated/ts-import-maps.js +20 -0
- package/dist/generators/core/react-error/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/react-error/generated/ts-templates.d.ts +14 -0
- package/dist/generators/core/react-error/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-error/generated/ts-templates.js +17 -0
- package/dist/generators/core/react-error/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-error/react-error.generator.d.ts +29 -0
- package/dist/generators/core/react-error/react-error.generator.d.ts.map +1 -0
- package/dist/generators/core/react-error/react-error.generator.js +63 -0
- package/dist/generators/core/react-error/react-error.generator.js.map +1 -0
- package/dist/generators/core/react-error/templates/error-formatter.ts +22 -0
- package/dist/generators/core/react-error/templates/error-logger.ts +32 -0
- package/dist/generators/core/react-error/templates/services/error-formatter.ts +23 -0
- package/dist/generators/core/react-error/templates/services/error-logger.ts +32 -0
- package/dist/generators/core/react-error-boundary/generated/ts-templates.d.ts +50 -0
- package/dist/generators/core/react-error-boundary/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-error-boundary/generated/ts-templates.js +15 -0
- package/dist/generators/core/react-error-boundary/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-error-boundary/react-error-boundary.generator.d.ts +60 -0
- package/dist/generators/core/react-error-boundary/react-error-boundary.generator.d.ts.map +1 -0
- package/dist/generators/core/react-error-boundary/react-error-boundary.generator.js +46 -0
- package/dist/generators/core/react-error-boundary/react-error-boundary.generator.js.map +1 -0
- package/dist/generators/core/react-error-boundary/templates/error-boundary.tsx +78 -0
- package/dist/generators/core/react-logger/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/core/react-logger/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/react-logger/generated/ts-import-maps.js +14 -0
- package/dist/generators/core/react-logger/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/react-logger/generated/ts-templates.d.ts +4 -0
- package/dist/generators/core/react-logger/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-logger/generated/ts-templates.js +9 -0
- package/dist/generators/core/react-logger/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-logger/react-logger.generator.d.ts +12 -0
- package/dist/generators/core/react-logger/react-logger.generator.d.ts.map +1 -0
- package/dist/generators/core/react-logger/react-logger.generator.js +40 -0
- package/dist/generators/core/react-logger/react-logger.generator.js.map +1 -0
- package/dist/generators/core/react-logger/templates/logger.ts +7 -0
- package/dist/generators/core/react-not-found-handler/generated/ts-templates.d.ts +45 -0
- package/dist/generators/core/react-not-found-handler/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-not-found-handler/generated/ts-templates.js +13 -0
- package/dist/generators/core/react-not-found-handler/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-not-found-handler/react-not-found-handler.generator.d.ts +56 -0
- package/dist/generators/core/react-not-found-handler/react-not-found-handler.generator.d.ts.map +1 -0
- package/dist/generators/core/react-not-found-handler/react-not-found-handler.generator.js +56 -0
- package/dist/generators/core/react-not-found-handler/react-not-found-handler.generator.js.map +1 -0
- package/dist/generators/core/react-not-found-handler/templates/NotFound.page.tsx +11 -0
- package/dist/generators/core/react-proxy/react-proxy.generator.d.ts +23 -0
- package/dist/generators/core/react-proxy/react-proxy.generator.d.ts.map +1 -0
- package/dist/generators/core/react-proxy/react-proxy.generator.js +51 -0
- package/dist/generators/core/react-proxy/react-proxy.generator.js.map +1 -0
- package/dist/generators/core/react-router/generated/ts-templates.d.ts +7 -0
- package/dist/generators/core/react-router/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-router/generated/ts-templates.js +9 -0
- package/dist/generators/core/react-router/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-router/react-router.generator.d.ts +40 -0
- package/dist/generators/core/react-router/react-router.generator.d.ts.map +1 -0
- package/dist/generators/core/react-router/react-router.generator.js +99 -0
- package/dist/generators/core/react-router/react-router.generator.js.map +1 -0
- package/dist/generators/core/react-router/templates/index.tsx +11 -0
- package/dist/generators/core/react-router/templates/pages/index.tsx +14 -0
- package/dist/generators/core/react-routes/generated/ts-templates.d.ts +8 -0
- package/dist/generators/core/react-routes/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-routes/generated/ts-templates.js +9 -0
- package/dist/generators/core/react-routes/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-routes/react-routes.generator.d.ts +16 -0
- package/dist/generators/core/react-routes/react-routes.generator.d.ts.map +1 -0
- package/dist/generators/core/react-routes/react-routes.generator.js +104 -0
- package/dist/generators/core/react-routes/react-routes.generator.js.map +1 -0
- package/dist/generators/core/react-routes/templates/index.tsx +15 -0
- package/dist/generators/core/react-routes/templates/routes.tsx +16 -0
- package/dist/generators/core/react-sentry/generated/ts-import-maps.d.ts +13 -0
- package/dist/generators/core/react-sentry/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/react-sentry/generated/ts-import-maps.js +18 -0
- package/dist/generators/core/react-sentry/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/react-sentry/generated/ts-templates.d.ts +10 -0
- package/dist/generators/core/react-sentry/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-sentry/generated/ts-templates.js +11 -0
- package/dist/generators/core/react-sentry/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-sentry/react-sentry.generator.d.ts +50 -0
- package/dist/generators/core/react-sentry/react-sentry.generator.d.ts.map +1 -0
- package/dist/generators/core/react-sentry/react-sentry.generator.js +100 -0
- package/dist/generators/core/react-sentry/react-sentry.generator.js.map +1 -0
- package/dist/generators/core/react-sentry/templates/sentry.ts +63 -0
- package/dist/generators/core/react-tailwind/generated/text-templates.d.ts +21 -0
- package/dist/generators/core/react-tailwind/generated/text-templates.d.ts.map +1 -0
- package/dist/generators/core/react-tailwind/generated/text-templates.js +41 -0
- package/dist/generators/core/react-tailwind/generated/text-templates.js.map +1 -0
- package/dist/generators/core/react-tailwind/react-tailwind.generator.d.ts +28 -0
- package/dist/generators/core/react-tailwind/react-tailwind.generator.d.ts.map +1 -0
- package/dist/generators/core/react-tailwind/react-tailwind.generator.js +75 -0
- package/dist/generators/core/react-tailwind/react-tailwind.generator.js.map +1 -0
- package/dist/generators/core/react-tailwind/templates/postcss.config.js +6 -0
- package/dist/generators/core/react-tailwind/templates/src/index.css +27 -0
- package/dist/generators/core/react-tailwind/templates/tpl.tailwind.config.js +10 -0
- package/dist/generators/core/react-typescript/react-typescript.generator.d.ts +12 -0
- package/dist/generators/core/react-typescript/react-typescript.generator.d.ts.map +1 -0
- package/dist/generators/core/react-typescript/react-typescript.generator.js +63 -0
- package/dist/generators/core/react-typescript/react-typescript.generator.js.map +1 -0
- package/dist/generators/core/react-utils/generated/ts-import-maps.d.ts +11 -0
- package/dist/generators/core/react-utils/generated/ts-import-maps.d.ts.map +1 -0
- package/dist/generators/core/react-utils/generated/ts-import-maps.js +16 -0
- package/dist/generators/core/react-utils/generated/ts-import-maps.js.map +1 -0
- package/dist/generators/core/react-utils/generated/ts-templates.d.ts +4 -0
- package/dist/generators/core/react-utils/generated/ts-templates.d.ts.map +1 -0
- package/dist/generators/core/react-utils/generated/ts-templates.js +11 -0
- package/dist/generators/core/react-utils/generated/ts-templates.js.map +1 -0
- package/dist/generators/core/react-utils/react-utils.generator.d.ts +11 -0
- package/dist/generators/core/react-utils/react-utils.generator.d.ts.map +1 -0
- package/dist/generators/core/react-utils/react-utils.generator.js +47 -0
- package/dist/generators/core/react-utils/react-utils.generator.js.map +1 -0
- package/dist/generators/core/react-utils/templates/safe-local-storage.ts +50 -0
- package/dist/generators/index.d.ts +5 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +5 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/routes.d.ts +26 -0
- package/dist/providers/routes.d.ts.map +1 -0
- package/dist/providers/routes.js +6 -0
- package/dist/providers/routes.js.map +1 -0
- package/dist/utils/case.d.ts +5 -0
- package/dist/utils/case.d.ts.map +1 -0
- package/dist/utils/case.js +20 -0
- package/dist/utils/case.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/routes.d.ts +3 -0
- package/dist/utils/routes.d.ts.map +1 -0
- package/dist/utils/routes.js +5 -0
- package/dist/utils/routes.js.map +1 -0
- package/dist/writers/graphql/index.d.ts +66 -0
- package/dist/writers/graphql/index.d.ts.map +1 -0
- package/dist/writers/graphql/index.js +217 -0
- package/dist/writers/graphql/index.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { ReactElement } from 'react';
|
|
4
|
+
import type {
|
|
5
|
+
Control,
|
|
6
|
+
FieldPath,
|
|
7
|
+
FieldPathValue,
|
|
8
|
+
FieldValues,
|
|
9
|
+
PathValue,
|
|
10
|
+
} from 'react-hook-form';
|
|
11
|
+
|
|
12
|
+
import clsx from 'clsx';
|
|
13
|
+
import { useController } from 'react-hook-form';
|
|
14
|
+
import Select from 'react-select';
|
|
15
|
+
|
|
16
|
+
import FormError from '../FormError/index.js';
|
|
17
|
+
import FormLabel from '../FormLabel/index.js';
|
|
18
|
+
|
|
19
|
+
interface Props<ValueType = string> {
|
|
20
|
+
className?: string;
|
|
21
|
+
options: { label: string; value: ValueType }[];
|
|
22
|
+
onChange: (newValue?: ValueType) => void;
|
|
23
|
+
onBlur?: () => void;
|
|
24
|
+
value: ValueType;
|
|
25
|
+
fixedPosition?: boolean;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function ReactSelectInput<ValueType>({
|
|
29
|
+
className,
|
|
30
|
+
onChange,
|
|
31
|
+
onBlur,
|
|
32
|
+
options,
|
|
33
|
+
value,
|
|
34
|
+
fixedPosition,
|
|
35
|
+
}: Props<ValueType>): ReactElement {
|
|
36
|
+
const selectedOption = options.find((option) => option.value === value);
|
|
37
|
+
|
|
38
|
+
const fixedPositionProps = fixedPosition
|
|
39
|
+
? {
|
|
40
|
+
styles: {
|
|
41
|
+
menuPortal: (base: Record<string, unknown>) => ({
|
|
42
|
+
...base,
|
|
43
|
+
zIndex: 9999,
|
|
44
|
+
}),
|
|
45
|
+
},
|
|
46
|
+
menuPosition: 'fixed' as const,
|
|
47
|
+
menuPortalTarget: document.body,
|
|
48
|
+
}
|
|
49
|
+
: {};
|
|
50
|
+
|
|
51
|
+
return (
|
|
52
|
+
<Select
|
|
53
|
+
className={clsx('shadow-sm', className)}
|
|
54
|
+
onChange={(newValue) => {
|
|
55
|
+
onChange(newValue?.value);
|
|
56
|
+
}}
|
|
57
|
+
isMulti={false}
|
|
58
|
+
onBlur={onBlur}
|
|
59
|
+
value={selectedOption}
|
|
60
|
+
options={options}
|
|
61
|
+
{...fixedPositionProps}
|
|
62
|
+
/>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
interface ReactSelectInputLabelledProps<ValueType = string>
|
|
67
|
+
extends Props<ValueType> {
|
|
68
|
+
label?: React.ReactNode;
|
|
69
|
+
error?: React.ReactNode;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
ReactSelectInput.Labelled = function ReactSelectInputLabelled({
|
|
73
|
+
label,
|
|
74
|
+
className,
|
|
75
|
+
error,
|
|
76
|
+
...rest
|
|
77
|
+
}: ReactSelectInputLabelledProps): ReactElement {
|
|
78
|
+
return (
|
|
79
|
+
<div className={className}>
|
|
80
|
+
{label && <FormLabel>{label}</FormLabel>}
|
|
81
|
+
<ReactSelectInput {...rest} />
|
|
82
|
+
{error && <FormError>{error}</FormError>}
|
|
83
|
+
</div>
|
|
84
|
+
);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
interface ReactSelectInputLabelledControllerProps<
|
|
88
|
+
TFieldValues extends FieldValues = FieldValues,
|
|
89
|
+
TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
|
|
90
|
+
> extends Omit<
|
|
91
|
+
ReactSelectInputLabelledProps<PathValue<TFieldValues, TFieldName>>,
|
|
92
|
+
'onChange' | 'onBlur' | 'value' | 'error'
|
|
93
|
+
> {
|
|
94
|
+
className?: string;
|
|
95
|
+
control: Control<TFieldValues>;
|
|
96
|
+
name: TFieldName;
|
|
97
|
+
emptyAsNull?: boolean;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
ReactSelectInput.LabelledController = function ReactSelectInputController<
|
|
101
|
+
TFieldValues extends FieldValues = FieldValues,
|
|
102
|
+
TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,
|
|
103
|
+
>({
|
|
104
|
+
name,
|
|
105
|
+
control,
|
|
106
|
+
emptyAsNull,
|
|
107
|
+
...rest
|
|
108
|
+
}: ReactSelectInputLabelledControllerProps<
|
|
109
|
+
TFieldValues,
|
|
110
|
+
TFieldName
|
|
111
|
+
>): ReactElement {
|
|
112
|
+
const {
|
|
113
|
+
field,
|
|
114
|
+
fieldState: { error },
|
|
115
|
+
} = useController({
|
|
116
|
+
name,
|
|
117
|
+
control,
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
return (
|
|
121
|
+
<ReactSelectInput.Labelled
|
|
122
|
+
{...rest}
|
|
123
|
+
error={error?.message}
|
|
124
|
+
onChange={(val) => {
|
|
125
|
+
if (!val && emptyAsNull) {
|
|
126
|
+
field.onChange(null as FieldPathValue<TFieldValues, TFieldName>);
|
|
127
|
+
} else {
|
|
128
|
+
field.onChange(val as FieldPathValue<TFieldValues, TFieldName>);
|
|
129
|
+
}
|
|
130
|
+
}}
|
|
131
|
+
onBlur={field.onBlur}
|
|
132
|
+
value={field.value as string}
|
|
133
|
+
/>
|
|
134
|
+
);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export default ReactSelectInput;
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { ReactElement } from 'react';
|
|
4
|
+
import type {
|
|
5
|
+
Control,
|
|
6
|
+
FieldError,
|
|
7
|
+
FieldPath,
|
|
8
|
+
FieldValues,
|
|
9
|
+
UseFormRegisterReturn,
|
|
10
|
+
} from 'react-hook-form';
|
|
11
|
+
|
|
12
|
+
import clsx from 'clsx';
|
|
13
|
+
import { get, useFormState } from 'react-hook-form';
|
|
14
|
+
|
|
15
|
+
import FormError from '../FormError/index.js';
|
|
16
|
+
import FormLabel from '../FormLabel/index.js';
|
|
17
|
+
|
|
18
|
+
interface Props {
|
|
19
|
+
options: { value: string; label: string }[];
|
|
20
|
+
className?: string;
|
|
21
|
+
name?: string;
|
|
22
|
+
disabled?: boolean;
|
|
23
|
+
onChange?: (value: string) => void;
|
|
24
|
+
value?: string;
|
|
25
|
+
register?: UseFormRegisterReturn;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function SelectInput({
|
|
29
|
+
className,
|
|
30
|
+
options,
|
|
31
|
+
name,
|
|
32
|
+
disabled,
|
|
33
|
+
onChange,
|
|
34
|
+
value,
|
|
35
|
+
register,
|
|
36
|
+
}: Props): ReactElement {
|
|
37
|
+
const onChangeHandler =
|
|
38
|
+
onChange &&
|
|
39
|
+
((event: React.ChangeEvent<HTMLSelectElement>): void => {
|
|
40
|
+
onChange(event.target.value);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const selectProps = {
|
|
44
|
+
name,
|
|
45
|
+
disabled,
|
|
46
|
+
onChange: onChangeHandler,
|
|
47
|
+
value,
|
|
48
|
+
...register,
|
|
49
|
+
};
|
|
50
|
+
return (
|
|
51
|
+
<select
|
|
52
|
+
className={clsx(
|
|
53
|
+
'block w-full rounded-lg border border-gray-300 bg-gray-50 p-2.5 text-sm text-gray-900 focus:border-blue-500 focus:ring-blue-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-blue-500 dark:focus:ring-blue-500',
|
|
54
|
+
className,
|
|
55
|
+
)}
|
|
56
|
+
{...selectProps}
|
|
57
|
+
>
|
|
58
|
+
{options.map(({ value: optionValue, label }) => (
|
|
59
|
+
<option key={optionValue} value={optionValue}>
|
|
60
|
+
{label}
|
|
61
|
+
</option>
|
|
62
|
+
))}
|
|
63
|
+
</select>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
interface SelectInputLabelledProps extends Props {
|
|
68
|
+
label?: string;
|
|
69
|
+
error?: React.ReactNode;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
SelectInput.Labelled = function SelectInputLabelled({
|
|
73
|
+
label,
|
|
74
|
+
className,
|
|
75
|
+
error,
|
|
76
|
+
...rest
|
|
77
|
+
}: SelectInputLabelledProps): ReactElement {
|
|
78
|
+
return (
|
|
79
|
+
<label className={clsx('block', className)}>
|
|
80
|
+
{label && <FormLabel>{label}</FormLabel>}
|
|
81
|
+
<SelectInput {...rest} />
|
|
82
|
+
{error && <FormError>{error}</FormError>}
|
|
83
|
+
</label>
|
|
84
|
+
);
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
interface SelectInputLabelledController<T extends FieldValues>
|
|
88
|
+
extends Omit<SelectInputLabelledProps, 'register'> {
|
|
89
|
+
control: Control<T>;
|
|
90
|
+
name: FieldPath<T>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
SelectInput.LabelledController = function SelectInputController<
|
|
94
|
+
T extends FieldValues,
|
|
95
|
+
>({ name, control, ...rest }: SelectInputLabelledController<T>): ReactElement {
|
|
96
|
+
const { errors } = useFormState({ name, control });
|
|
97
|
+
const error = get(errors, name) as FieldError | undefined;
|
|
98
|
+
|
|
99
|
+
return (
|
|
100
|
+
<SelectInput.Labelled
|
|
101
|
+
register={control.register(name)}
|
|
102
|
+
error={error?.message}
|
|
103
|
+
{...rest}
|
|
104
|
+
/>
|
|
105
|
+
);
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export default SelectInput;
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { ReactElement } from 'react';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
Disclosure,
|
|
7
|
+
DisclosureButton,
|
|
8
|
+
DisclosurePanel,
|
|
9
|
+
} from '@headlessui/react';
|
|
10
|
+
import clsx from 'clsx';
|
|
11
|
+
import { MdKeyboardArrowDown, MdKeyboardArrowUp } from 'react-icons/md';
|
|
12
|
+
import { Link, useMatch, useResolvedPath } from 'react-router-dom';
|
|
13
|
+
|
|
14
|
+
interface Props {
|
|
15
|
+
className?: string;
|
|
16
|
+
children: React.ReactNode;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// https://flowbite.com/docs/components/sidebar/
|
|
20
|
+
|
|
21
|
+
function Sidebar({ className, children }: Props): ReactElement {
|
|
22
|
+
return (
|
|
23
|
+
<aside
|
|
24
|
+
className={clsx('w-64 overflow-auto bg-gray-50', className)}
|
|
25
|
+
aria-label="Sidebar"
|
|
26
|
+
>
|
|
27
|
+
<div className="min-h-full overflow-y-auto px-3 py-4 dark:bg-gray-800">
|
|
28
|
+
{children}
|
|
29
|
+
</div>
|
|
30
|
+
</aside>
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface SidebarHeaderProps {
|
|
35
|
+
className?: string;
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
Sidebar.Header = function SidebarHeader({
|
|
40
|
+
className,
|
|
41
|
+
children,
|
|
42
|
+
}: SidebarHeaderProps): ReactElement {
|
|
43
|
+
return <div className={clsx('pl-2', className)}>{children}</div>;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
interface SidebarLinkGroupProps {
|
|
47
|
+
className?: string;
|
|
48
|
+
children: React.ReactNode;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
Sidebar.LinkGroup = function SidebarLinkGroup({
|
|
52
|
+
className,
|
|
53
|
+
children,
|
|
54
|
+
}: SidebarLinkGroupProps): ReactElement {
|
|
55
|
+
return <ul className={clsx('space-y-2', className)}>{children}</ul>;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
interface SidebarButtonProps {
|
|
59
|
+
className?: string;
|
|
60
|
+
Icon?: React.ComponentType<{ className?: string }>;
|
|
61
|
+
onClick?: React.MouseEventHandler;
|
|
62
|
+
children: React.ReactNode;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
interface SidebarItemProps {
|
|
66
|
+
className?: string;
|
|
67
|
+
children: React.ReactNode;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
Sidebar.Item = function SidebarItem({
|
|
71
|
+
className,
|
|
72
|
+
children,
|
|
73
|
+
}: SidebarItemProps): ReactElement {
|
|
74
|
+
return <li className={className}>{children}</li>;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
Sidebar.ButtonItem = function SidebarButton({
|
|
78
|
+
className,
|
|
79
|
+
Icon,
|
|
80
|
+
onClick,
|
|
81
|
+
children,
|
|
82
|
+
}: SidebarButtonProps): ReactElement {
|
|
83
|
+
return (
|
|
84
|
+
<li className={className}>
|
|
85
|
+
<button
|
|
86
|
+
onClick={onClick}
|
|
87
|
+
className="flex w-full items-center rounded-lg p-2 text-base font-normal text-gray-900 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700"
|
|
88
|
+
type="button"
|
|
89
|
+
>
|
|
90
|
+
{Icon ? (
|
|
91
|
+
<>
|
|
92
|
+
<Icon className="h-6 w-6 text-gray-500 transition duration-75 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-white" />
|
|
93
|
+
<span className="ml-3">{children}</span>
|
|
94
|
+
</>
|
|
95
|
+
) : (
|
|
96
|
+
<span>{children}</span>
|
|
97
|
+
)}
|
|
98
|
+
</button>
|
|
99
|
+
</li>
|
|
100
|
+
);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
interface SidebarLinkProps {
|
|
104
|
+
className?: string;
|
|
105
|
+
Icon?: React.ComponentType<{ className?: string }>;
|
|
106
|
+
to: string;
|
|
107
|
+
children: React.ReactNode;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
Sidebar.LinkItem = function SidebarLink({
|
|
111
|
+
className,
|
|
112
|
+
Icon,
|
|
113
|
+
to,
|
|
114
|
+
children,
|
|
115
|
+
}: SidebarLinkProps): ReactElement {
|
|
116
|
+
const resolved = useResolvedPath(to);
|
|
117
|
+
const match = useMatch({ path: `${resolved.pathname}/*` });
|
|
118
|
+
|
|
119
|
+
return (
|
|
120
|
+
<li className={className}>
|
|
121
|
+
<Link
|
|
122
|
+
to={to}
|
|
123
|
+
className={clsx(
|
|
124
|
+
'flex items-center rounded-lg p-2 text-base text-gray-900 no-underline hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700',
|
|
125
|
+
match ? 'font-semibold' : 'font-normal',
|
|
126
|
+
)}
|
|
127
|
+
>
|
|
128
|
+
{Icon ? (
|
|
129
|
+
<>
|
|
130
|
+
<Icon className="h-6 w-6 text-gray-500 transition duration-75 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-white" />
|
|
131
|
+
<span className="ml-3">{children}</span>
|
|
132
|
+
</>
|
|
133
|
+
) : (
|
|
134
|
+
<span>{children}</span>
|
|
135
|
+
)}
|
|
136
|
+
</Link>
|
|
137
|
+
</li>
|
|
138
|
+
);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
interface SidebarDropdownProps {
|
|
142
|
+
className?: string;
|
|
143
|
+
Icon?: React.ComponentType<{ className?: string }>;
|
|
144
|
+
label: string;
|
|
145
|
+
children: React.ReactNode;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
Sidebar.Dropdown = function SidebarDropdown({
|
|
149
|
+
className,
|
|
150
|
+
Icon,
|
|
151
|
+
label,
|
|
152
|
+
children,
|
|
153
|
+
}: SidebarDropdownProps): ReactElement {
|
|
154
|
+
return (
|
|
155
|
+
<Disclosure as="li" className={className}>
|
|
156
|
+
{({ open }) => (
|
|
157
|
+
<>
|
|
158
|
+
<DisclosureButton className="group flex w-full items-center rounded-lg p-2 text-base font-normal text-gray-900 transition duration-75 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700">
|
|
159
|
+
{Icon ? (
|
|
160
|
+
<>
|
|
161
|
+
<Icon className="h-6 w-6 flex-shrink-0 text-gray-500 transition duration-75 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-white" />
|
|
162
|
+
<span className="ml-3 flex-1 whitespace-nowrap text-left">
|
|
163
|
+
{label}
|
|
164
|
+
</span>
|
|
165
|
+
</>
|
|
166
|
+
) : (
|
|
167
|
+
<span>{label}</span>
|
|
168
|
+
)}
|
|
169
|
+
{open ? (
|
|
170
|
+
<MdKeyboardArrowUp className="h-6 w-6" />
|
|
171
|
+
) : (
|
|
172
|
+
<MdKeyboardArrowDown className="h-6 w-6" />
|
|
173
|
+
)}
|
|
174
|
+
</DisclosureButton>
|
|
175
|
+
<DisclosurePanel as="ul" className="space-y-2 py-2">
|
|
176
|
+
{children}
|
|
177
|
+
</DisclosurePanel>
|
|
178
|
+
</>
|
|
179
|
+
)}
|
|
180
|
+
</Disclosure>
|
|
181
|
+
);
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
interface SidebarDropdownLinkItemProps {
|
|
185
|
+
className?: string;
|
|
186
|
+
to: string;
|
|
187
|
+
children: React.ReactNode;
|
|
188
|
+
withParentIcon?: boolean;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
Sidebar.DropdownLinkItem = function SidebarDropdownLinkItem({
|
|
192
|
+
className,
|
|
193
|
+
to,
|
|
194
|
+
children,
|
|
195
|
+
withParentIcon,
|
|
196
|
+
}: SidebarDropdownLinkItemProps): ReactElement {
|
|
197
|
+
const resolved = useResolvedPath(to);
|
|
198
|
+
const match = useMatch({ path: resolved.pathname });
|
|
199
|
+
|
|
200
|
+
return (
|
|
201
|
+
<li className={className}>
|
|
202
|
+
<Link
|
|
203
|
+
to={to}
|
|
204
|
+
className={clsx(
|
|
205
|
+
'group flex w-full items-center rounded-lg p-2 text-base font-normal text-gray-900 transition duration-75 hover:bg-gray-100 dark:text-white dark:hover:bg-gray-700',
|
|
206
|
+
withParentIcon ? 'pl-11' : 'pl-5',
|
|
207
|
+
match ? 'font-semibold' : 'font-normal',
|
|
208
|
+
)}
|
|
209
|
+
>
|
|
210
|
+
<span>{children}</span>
|
|
211
|
+
</Link>
|
|
212
|
+
</li>
|
|
213
|
+
);
|
|
214
|
+
};
|
|
215
|
+
|
|
216
|
+
export default Sidebar;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { ReactElement } from 'react';
|
|
4
|
+
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { useEffect, useState } from 'react';
|
|
7
|
+
|
|
8
|
+
interface Props {
|
|
9
|
+
className?: string;
|
|
10
|
+
size?: 'small' | 'medium' | 'large';
|
|
11
|
+
center?: boolean;
|
|
12
|
+
noDelay?: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
function Spinner({
|
|
16
|
+
className,
|
|
17
|
+
size = 'medium',
|
|
18
|
+
center,
|
|
19
|
+
noDelay,
|
|
20
|
+
}: Props): ReactElement | null {
|
|
21
|
+
const [show, setShow] = useState(noDelay);
|
|
22
|
+
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (noDelay) setShow(true);
|
|
25
|
+
|
|
26
|
+
const showDelayTimeout = setTimeout(
|
|
27
|
+
() => {
|
|
28
|
+
setShow(true);
|
|
29
|
+
},
|
|
30
|
+
noDelay ? 0 : 500,
|
|
31
|
+
);
|
|
32
|
+
return () => {
|
|
33
|
+
clearTimeout(showDelayTimeout);
|
|
34
|
+
};
|
|
35
|
+
}, [noDelay]);
|
|
36
|
+
|
|
37
|
+
if (!show) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<svg
|
|
43
|
+
role="status"
|
|
44
|
+
className={clsx(
|
|
45
|
+
'h-8 w-8 animate-spin fill-blue-600 text-gray-200 dark:text-gray-600',
|
|
46
|
+
{
|
|
47
|
+
'h-4 w-4': size === 'small',
|
|
48
|
+
'h-8 w-8': size === 'medium',
|
|
49
|
+
'h-10 w-10': size === 'large',
|
|
50
|
+
'mx-auto': center,
|
|
51
|
+
},
|
|
52
|
+
className,
|
|
53
|
+
)}
|
|
54
|
+
viewBox="0 0 100 101"
|
|
55
|
+
fill="none"
|
|
56
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
57
|
+
>
|
|
58
|
+
<path
|
|
59
|
+
d="M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z"
|
|
60
|
+
fill="currentColor"
|
|
61
|
+
/>
|
|
62
|
+
<path
|
|
63
|
+
d="M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z"
|
|
64
|
+
fill="currentFill"
|
|
65
|
+
/>
|
|
66
|
+
</svg>
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export default Spinner;
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import type { ReactElement } from 'react';
|
|
4
|
+
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
|
|
7
|
+
interface Props {
|
|
8
|
+
className?: string;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// https://flowbite.com/docs/components/tables/
|
|
13
|
+
|
|
14
|
+
function Table({ className, children }: Props): ReactElement {
|
|
15
|
+
return (
|
|
16
|
+
<div className={clsx('flex flex-col', className)}>
|
|
17
|
+
<div className="overflow-x-auto sm:-mx-2 lg:-mx-4">
|
|
18
|
+
<div className="inline-block min-w-full py-2 sm:px-2 lg:px-4">
|
|
19
|
+
<div className="overflow-hidden shadow-md sm:rounded-lg">
|
|
20
|
+
<table className="min-w-full">{children}</table>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
</div>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface TableHeadProps {
|
|
29
|
+
className?: string;
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
Table.Head = function TableHead({
|
|
34
|
+
className,
|
|
35
|
+
children,
|
|
36
|
+
}: TableHeadProps): ReactElement {
|
|
37
|
+
return (
|
|
38
|
+
<thead className={clsx('bg-gray-50 dark:bg-gray-700', className)}>
|
|
39
|
+
{children}
|
|
40
|
+
</thead>
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
interface TableHeadRowProps {
|
|
45
|
+
className?: string;
|
|
46
|
+
children: React.ReactNode;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
Table.HeadRow = function TableHeadRow({
|
|
50
|
+
className,
|
|
51
|
+
children,
|
|
52
|
+
}: TableHeadRowProps): ReactElement {
|
|
53
|
+
return <tr className={className}>{children}</tr>;
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
interface TableHeadCellProps {
|
|
57
|
+
className?: string;
|
|
58
|
+
children: React.ReactNode;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Table.HeadCell = function TableHeadCell({
|
|
62
|
+
className,
|
|
63
|
+
children,
|
|
64
|
+
}: TableHeadCellProps): ReactElement {
|
|
65
|
+
return (
|
|
66
|
+
<th
|
|
67
|
+
scope="col"
|
|
68
|
+
className={clsx(
|
|
69
|
+
'px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-gray-700 dark:text-gray-400',
|
|
70
|
+
className,
|
|
71
|
+
)}
|
|
72
|
+
>
|
|
73
|
+
{children}
|
|
74
|
+
</th>
|
|
75
|
+
);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
interface TableBodyProps {
|
|
79
|
+
className?: string;
|
|
80
|
+
children: React.ReactNode;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
Table.Body = function TableBody({
|
|
84
|
+
className,
|
|
85
|
+
children,
|
|
86
|
+
}: TableBodyProps): ReactElement {
|
|
87
|
+
return <tbody className={clsx('', className)}>{children}</tbody>;
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
interface TableRowProps {
|
|
91
|
+
className?: string;
|
|
92
|
+
children: React.ReactNode;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
Table.Row = function TableRow({
|
|
96
|
+
className,
|
|
97
|
+
children,
|
|
98
|
+
}: TableRowProps): ReactElement {
|
|
99
|
+
return (
|
|
100
|
+
<tr
|
|
101
|
+
className={clsx(
|
|
102
|
+
'border-b bg-white dark:border-gray-700 dark:bg-gray-800',
|
|
103
|
+
className,
|
|
104
|
+
)}
|
|
105
|
+
>
|
|
106
|
+
{children}
|
|
107
|
+
</tr>
|
|
108
|
+
);
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
interface TableCellProps {
|
|
112
|
+
className?: string;
|
|
113
|
+
children: React.ReactNode;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
Table.Cell = function TableCell({
|
|
117
|
+
className,
|
|
118
|
+
children,
|
|
119
|
+
}: TableCellProps): ReactElement {
|
|
120
|
+
return (
|
|
121
|
+
<td
|
|
122
|
+
className={clsx(
|
|
123
|
+
'whitespace-nowrap px-6 py-4 text-sm text-gray-500 dark:text-gray-400',
|
|
124
|
+
className,
|
|
125
|
+
)}
|
|
126
|
+
>
|
|
127
|
+
{children}
|
|
128
|
+
</td>
|
|
129
|
+
);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
export default Table;
|