@betterinternship/components 2.3.0 → 2.4.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/dist/_virtual/_commonjsHelpers.js +6 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -0
- package/dist/_virtual/_interop_require_default.js +4 -0
- package/dist/_virtual/_interop_require_default.js.map +1 -0
- package/dist/_virtual/_interop_require_wildcard.js +4 -0
- package/dist/_virtual/_interop_require_wildcard.js.map +1 -0
- package/dist/_virtual/action-async-storage-instance.js +4 -0
- package/dist/_virtual/action-async-storage-instance.js.map +1 -0
- package/dist/_virtual/action-async-storage.external.js +4 -0
- package/dist/_virtual/action-async-storage.external.js.map +1 -0
- package/dist/_virtual/action-revalidation-kind.js +4 -0
- package/dist/_virtual/action-revalidation-kind.js.map +1 -0
- package/dist/_virtual/add-base-path.js +4 -0
- package/dist/_virtual/add-base-path.js.map +1 -0
- package/dist/_virtual/add-locale.js +4 -0
- package/dist/_virtual/add-locale.js.map +1 -0
- package/dist/_virtual/add-locale2.js +4 -0
- package/dist/_virtual/add-locale2.js.map +1 -0
- package/dist/_virtual/add-path-prefix.js +4 -0
- package/dist/_virtual/add-path-prefix.js.map +1 -0
- package/dist/_virtual/app-paths.js +4 -0
- package/dist/_virtual/app-paths.js.map +1 -0
- package/dist/_virtual/app-router-context.shared-runtime.js +4 -0
- package/dist/_virtual/app-router-context.shared-runtime.js.map +1 -0
- package/dist/_virtual/app.js +4 -0
- package/dist/_virtual/app.js.map +1 -0
- package/dist/_virtual/async-local-storage.js +4 -0
- package/dist/_virtual/async-local-storage.js.map +1 -0
- package/dist/_virtual/bailout-to-csr.js +4 -0
- package/dist/_virtual/bailout-to-csr.js.map +1 -0
- package/dist/_virtual/blocking-route-messages.js +4 -0
- package/dist/_virtual/blocking-route-messages.js.map +1 -0
- package/dist/_virtual/boundary-constants.js +4 -0
- package/dist/_virtual/boundary-constants.js.map +1 -0
- package/dist/_virtual/boundary-constants2.js +4 -0
- package/dist/_virtual/boundary-constants2.js.map +1 -0
- package/dist/_virtual/boundary-tracking.js +4 -0
- package/dist/_virtual/boundary-tracking.js.map +1 -0
- package/dist/_virtual/constants.js +4 -0
- package/dist/_virtual/constants.js.map +1 -0
- package/dist/_virtual/cookies.js +4 -0
- package/dist/_virtual/cookies.js.map +1 -0
- package/dist/_virtual/deployment-id.js +4 -0
- package/dist/_virtual/deployment-id.js.map +1 -0
- package/dist/_virtual/detect-domain-locale.js +4 -0
- package/dist/_virtual/detect-domain-locale.js.map +1 -0
- package/dist/_virtual/detect-domain-locale2.js +4 -0
- package/dist/_virtual/detect-domain-locale2.js.map +1 -0
- package/dist/_virtual/dynamic-rendering-utils.js +4 -0
- package/dist/_virtual/dynamic-rendering-utils.js.map +1 -0
- package/dist/_virtual/dynamic-rendering.js +4 -0
- package/dist/_virtual/dynamic-rendering.js.map +1 -0
- package/dist/_virtual/ensure-leading-slash.js +4 -0
- package/dist/_virtual/ensure-leading-slash.js.map +1 -0
- package/dist/_virtual/error-once.js +4 -0
- package/dist/_virtual/error-once.js.map +1 -0
- package/dist/_virtual/escape-regexp.js +4 -0
- package/dist/_virtual/escape-regexp.js.map +1 -0
- package/dist/_virtual/find-closest-quality.js +4 -0
- package/dist/_virtual/find-closest-quality.js.map +1 -0
- package/dist/_virtual/forbidden.js +4 -0
- package/dist/_virtual/forbidden.js.map +1 -0
- package/dist/_virtual/format-url.js +4 -0
- package/dist/_virtual/format-url.js.map +1 -0
- package/dist/_virtual/get-domain-locale.js +4 -0
- package/dist/_virtual/get-domain-locale.js.map +1 -0
- package/dist/_virtual/get-dynamic-param.js +4 -0
- package/dist/_virtual/get-dynamic-param.js.map +1 -0
- package/dist/_virtual/get-img-props.js +4 -0
- package/dist/_virtual/get-img-props.js.map +1 -0
- package/dist/_virtual/get-segment-param.js +4 -0
- package/dist/_virtual/get-segment-param.js.map +1 -0
- package/dist/_virtual/has-base-path.js +4 -0
- package/dist/_virtual/has-base-path.js.map +1 -0
- package/dist/_virtual/head-manager-context.shared-runtime.js +4 -0
- package/dist/_virtual/head-manager-context.shared-runtime.js.map +1 -0
- package/dist/_virtual/head.js +4 -0
- package/dist/_virtual/head.js.map +1 -0
- package/dist/_virtual/headers.js +4 -0
- package/dist/_virtual/headers.js.map +1 -0
- package/dist/_virtual/hooks-client-context.shared-runtime.js +4 -0
- package/dist/_virtual/hooks-client-context.shared-runtime.js.map +1 -0
- package/dist/_virtual/hooks-server-context.js +4 -0
- package/dist/_virtual/hooks-server-context.js.map +1 -0
- package/dist/_virtual/http-access-fallback.js +4 -0
- package/dist/_virtual/http-access-fallback.js.map +1 -0
- package/dist/_virtual/image-blur-svg.js +4 -0
- package/dist/_virtual/image-blur-svg.js.map +1 -0
- package/dist/_virtual/image-component.js +4 -0
- package/dist/_virtual/image-component.js.map +1 -0
- package/dist/_virtual/image-config-context.shared-runtime.js +4 -0
- package/dist/_virtual/image-config-context.shared-runtime.js.map +1 -0
- package/dist/_virtual/image-config.js +4 -0
- package/dist/_virtual/image-config.js.map +1 -0
- package/dist/_virtual/image-external.js +4 -0
- package/dist/_virtual/image-external.js.map +1 -0
- package/dist/_virtual/image-loader.js +4 -0
- package/dist/_virtual/image-loader.js.map +1 -0
- package/dist/_virtual/image.js +8 -0
- package/dist/_virtual/image.js.map +1 -0
- package/dist/_virtual/index.js +4 -0
- package/dist/_virtual/index.js.map +1 -0
- package/dist/_virtual/index2.js +4 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.js +4 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/_virtual/instant-messages.js +4 -0
- package/dist/_virtual/instant-messages.js.map +1 -0
- package/dist/_virtual/instant-samples.js +4 -0
- package/dist/_virtual/instant-samples.js.map +1 -0
- package/dist/_virtual/instant-samples2.js +4 -0
- package/dist/_virtual/instant-samples2.js.map +1 -0
- package/dist/_virtual/instant-validation-error.js +4 -0
- package/dist/_virtual/instant-validation-error.js.map +1 -0
- package/dist/_virtual/interception-prefix-from-param-type.js +4 -0
- package/dist/_virtual/interception-prefix-from-param-type.js.map +1 -0
- package/dist/_virtual/interception-routes.js +4 -0
- package/dist/_virtual/interception-routes.js.map +1 -0
- package/dist/_virtual/interpolate-as.js +4 -0
- package/dist/_virtual/interpolate-as.js.map +1 -0
- package/dist/_virtual/invariant-error.js +4 -0
- package/dist/_virtual/invariant-error.js.map +1 -0
- package/dist/_virtual/is-dynamic.js +4 -0
- package/dist/_virtual/is-dynamic.js.map +1 -0
- package/dist/_virtual/is-local-url.js +4 -0
- package/dist/_virtual/is-local-url.js.map +1 -0
- package/dist/_virtual/is-next-router-error.js +4 -0
- package/dist/_virtual/is-next-router-error.js.map +1 -0
- package/dist/_virtual/is-postpone.js +4 -0
- package/dist/_virtual/is-postpone.js.map +1 -0
- package/dist/_virtual/link.js +8 -0
- package/dist/_virtual/link.js.map +1 -0
- package/dist/_virtual/link2.js +4 -0
- package/dist/_virtual/link2.js.map +1 -0
- package/dist/_virtual/match-local-pattern.js +4 -0
- package/dist/_virtual/match-local-pattern.js.map +1 -0
- package/dist/_virtual/match-remote-pattern.js +4 -0
- package/dist/_virtual/match-remote-pattern.js.map +1 -0
- package/dist/_virtual/navigation-dynamic-rendering.js +4 -0
- package/dist/_virtual/navigation-dynamic-rendering.js.map +1 -0
- package/dist/_virtual/navigation.js +6 -0
- package/dist/_virtual/navigation.js.map +1 -0
- package/dist/_virtual/navigation.react-server.js +4 -0
- package/dist/_virtual/navigation.react-server.js.map +1 -0
- package/dist/_virtual/navigation2.js +4 -0
- package/dist/_virtual/navigation2.js.map +1 -0
- package/dist/_virtual/normalize-locale-path.js +4 -0
- package/dist/_virtual/normalize-locale-path.js.map +1 -0
- package/dist/_virtual/normalize-locale-path2.js +4 -0
- package/dist/_virtual/normalize-locale-path2.js.map +1 -0
- package/dist/_virtual/normalize-trailing-slash.js +4 -0
- package/dist/_virtual/normalize-trailing-slash.js.map +1 -0
- package/dist/_virtual/not-found.js +4 -0
- package/dist/_virtual/not-found.js.map +1 -0
- package/dist/_virtual/omit.js +4 -0
- package/dist/_virtual/omit.js.map +1 -0
- package/dist/_virtual/parse-loader-tree.js +4 -0
- package/dist/_virtual/parse-loader-tree.js.map +1 -0
- package/dist/_virtual/parse-path.js +4 -0
- package/dist/_virtual/parse-path.js.map +1 -0
- package/dist/_virtual/parse-relative-url.js +4 -0
- package/dist/_virtual/parse-relative-url.js.map +1 -0
- package/dist/_virtual/path-has-prefix.js +4 -0
- package/dist/_virtual/path-has-prefix.js.map +1 -0
- package/dist/_virtual/promise-with-resolvers.js +4 -0
- package/dist/_virtual/promise-with-resolvers.js.map +1 -0
- package/dist/_virtual/querystring.js +4 -0
- package/dist/_virtual/querystring.js.map +1 -0
- package/dist/_virtual/readonly-url-search-params.js +4 -0
- package/dist/_virtual/readonly-url-search-params.js.map +1 -0
- package/dist/_virtual/redirect-error.js +4 -0
- package/dist/_virtual/redirect-error.js.map +1 -0
- package/dist/_virtual/redirect-status-code.js +4 -0
- package/dist/_virtual/redirect-status-code.js.map +1 -0
- package/dist/_virtual/redirect.js +4 -0
- package/dist/_virtual/redirect.js.map +1 -0
- package/dist/_virtual/reflect-utils.js +4 -0
- package/dist/_virtual/reflect-utils.js.map +1 -0
- package/dist/_virtual/reflect.js +4 -0
- package/dist/_virtual/reflect.js.map +1 -0
- package/dist/_virtual/remove-trailing-slash.js +4 -0
- package/dist/_virtual/remove-trailing-slash.js.map +1 -0
- package/dist/_virtual/request-cookies.js +4 -0
- package/dist/_virtual/request-cookies.js.map +1 -0
- package/dist/_virtual/request-idle-callback.js +4 -0
- package/dist/_virtual/request-idle-callback.js.map +1 -0
- package/dist/_virtual/resolve-href.js +4 -0
- package/dist/_virtual/resolve-href.js.map +1 -0
- package/dist/_virtual/resolve-param-value.js +4 -0
- package/dist/_virtual/resolve-param-value.js.map +1 -0
- package/dist/_virtual/route-match-utils.js +4 -0
- package/dist/_virtual/route-match-utils.js.map +1 -0
- package/dist/_virtual/route-matcher.js +4 -0
- package/dist/_virtual/route-matcher.js.map +1 -0
- package/dist/_virtual/route-pattern-normalizer.js +4 -0
- package/dist/_virtual/route-pattern-normalizer.js.map +1 -0
- package/dist/_virtual/route-regex.js +4 -0
- package/dist/_virtual/route-regex.js.map +1 -0
- package/dist/_virtual/router-context.shared-runtime.js +4 -0
- package/dist/_virtual/router-context.shared-runtime.js.map +1 -0
- package/dist/_virtual/runtime-reacts.external.js +4 -0
- package/dist/_virtual/runtime-reacts.external.js.map +1 -0
- package/dist/_virtual/scheduler.js +4 -0
- package/dist/_virtual/scheduler.js.map +1 -0
- package/dist/_virtual/segment.js +4 -0
- package/dist/_virtual/segment.js.map +1 -0
- package/dist/_virtual/server-async-storage.js +4 -0
- package/dist/_virtual/server-async-storage.js.map +1 -0
- package/dist/_virtual/server-inserted-html.shared-runtime.js +4 -0
- package/dist/_virtual/server-inserted-html.shared-runtime.js.map +1 -0
- package/dist/_virtual/side-effect.js +4 -0
- package/dist/_virtual/side-effect.js.map +1 -0
- package/dist/_virtual/sorted-routes.js +4 -0
- package/dist/_virtual/sorted-routes.js.map +1 -0
- package/dist/_virtual/staged-rendering.js +4 -0
- package/dist/_virtual/staged-rendering.js.map +1 -0
- package/dist/_virtual/static-generation-bailout.js +4 -0
- package/dist/_virtual/static-generation-bailout.js.map +1 -0
- package/dist/_virtual/unauthorized.js +4 -0
- package/dist/_virtual/unauthorized.js.map +1 -0
- package/dist/_virtual/unrecognized-action-error.js +4 -0
- package/dist/_virtual/unrecognized-action-error.js.map +1 -0
- package/dist/_virtual/unstable-rethrow.js +4 -0
- package/dist/_virtual/unstable-rethrow.js.map +1 -0
- package/dist/_virtual/use-intersection.js +4 -0
- package/dist/_virtual/use-intersection.js.map +1 -0
- package/dist/_virtual/use-merged-ref.js +4 -0
- package/dist/_virtual/use-merged-ref.js.map +1 -0
- package/dist/_virtual/utils.js +4 -0
- package/dist/_virtual/utils.js.map +1 -0
- package/dist/_virtual/warn-once.js +4 -0
- package/dist/_virtual/warn-once.js.map +1 -0
- package/dist/_virtual/work-async-storage-instance.js +4 -0
- package/dist/_virtual/work-async-storage-instance.js.map +1 -0
- package/dist/_virtual/work-async-storage.external.js +4 -0
- package/dist/_virtual/work-async-storage.external.js.map +1 -0
- package/dist/_virtual/work-unit-async-storage-instance.js +4 -0
- package/dist/_virtual/work-unit-async-storage-instance.js.map +1 -0
- package/dist/_virtual/work-unit-async-storage.external.js +4 -0
- package/dist/_virtual/work-unit-async-storage.external.js.map +1 -0
- package/dist/components/ui/app-header.js +72 -0
- package/dist/components/ui/app-header.js.map +1 -0
- package/dist/components/ui/dropdown-menu.js +61 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/page-header.js +17 -0
- package/dist/components/ui/page-header.js.map +1 -0
- package/dist/components/ui/status-notice.d.ts +14 -0
- package/dist/components/ui/status-notice.js +27 -0
- package/dist/components/ui/status-notice.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/node_modules/@swc/helpers/cjs/_interop_require_default.js +17 -0
- package/dist/node_modules/@swc/helpers/cjs/_interop_require_default.js.map +1 -0
- package/dist/node_modules/@swc/helpers/cjs/_interop_require_wildcard.js +49 -0
- package/dist/node_modules/@swc/helpers/cjs/_interop_require_wildcard.js.map +1 -0
- package/dist/node_modules/next/dist/client/add-base-path.js +39 -0
- package/dist/node_modules/next/dist/client/add-base-path.js.map +1 -0
- package/dist/node_modules/next/dist/client/add-locale.js +40 -0
- package/dist/node_modules/next/dist/client/add-locale.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/forbidden.js +62 -0
- package/dist/node_modules/next/dist/client/components/forbidden.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/hooks-server-context.js +51 -0
- package/dist/node_modules/next/dist/client/components/hooks-server-context.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js +78 -0
- package/dist/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/instant-samples.js +107 -0
- package/dist/node_modules/next/dist/client/components/instant-samples.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/is-next-router-error.js +38 -0
- package/dist/node_modules/next/dist/client/components/is-next-router-error.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/navigation-dynamic-rendering.js +41 -0
- package/dist/node_modules/next/dist/client/components/navigation-dynamic-rendering.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/navigation.js +250 -0
- package/dist/node_modules/next/dist/client/components/navigation.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/navigation.react-server.js +83 -0
- package/dist/node_modules/next/dist/client/components/navigation.react-server.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/not-found.js +56 -0
- package/dist/node_modules/next/dist/client/components/not-found.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/readonly-url-search-params.js +61 -0
- package/dist/node_modules/next/dist/client/components/readonly-url-search-params.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/redirect-error.js +53 -0
- package/dist/node_modules/next/dist/client/components/redirect-error.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/redirect-status-code.js +37 -0
- package/dist/node_modules/next/dist/client/components/redirect-status-code.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/redirect.js +99 -0
- package/dist/node_modules/next/dist/client/components/redirect.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/server-async-storage.js +48 -0
- package/dist/node_modules/next/dist/client/components/server-async-storage.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/static-generation-bailout.js +51 -0
- package/dist/node_modules/next/dist/client/components/static-generation-bailout.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/unauthorized.js +63 -0
- package/dist/node_modules/next/dist/client/components/unauthorized.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/unrecognized-action-error.js +48 -0
- package/dist/node_modules/next/dist/client/components/unrecognized-action-error.js.map +1 -0
- package/dist/node_modules/next/dist/client/components/unstable-rethrow.js +51 -0
- package/dist/node_modules/next/dist/client/components/unstable-rethrow.js.map +1 -0
- package/dist/node_modules/next/dist/client/detect-domain-locale.js +37 -0
- package/dist/node_modules/next/dist/client/detect-domain-locale.js.map +1 -0
- package/dist/node_modules/next/dist/client/get-domain-locale.js +52 -0
- package/dist/node_modules/next/dist/client/get-domain-locale.js.map +1 -0
- package/dist/node_modules/next/dist/client/has-base-path.js +37 -0
- package/dist/node_modules/next/dist/client/has-base-path.js.map +1 -0
- package/dist/node_modules/next/dist/client/image-component.js +351 -0
- package/dist/node_modules/next/dist/client/image-component.js.map +1 -0
- package/dist/node_modules/next/dist/client/link.js +471 -0
- package/dist/node_modules/next/dist/client/link.js.map +1 -0
- package/dist/node_modules/next/dist/client/normalize-locale-path.js +41 -0
- package/dist/node_modules/next/dist/client/normalize-locale-path.js.map +1 -0
- package/dist/node_modules/next/dist/client/normalize-trailing-slash.js +52 -0
- package/dist/node_modules/next/dist/client/normalize-trailing-slash.js.map +1 -0
- package/dist/node_modules/next/dist/client/request-idle-callback.js +53 -0
- package/dist/node_modules/next/dist/client/request-idle-callback.js.map +1 -0
- package/dist/node_modules/next/dist/client/resolve-href.js +129 -0
- package/dist/node_modules/next/dist/client/resolve-href.js.map +1 -0
- package/dist/node_modules/next/dist/client/use-intersection.js +129 -0
- package/dist/node_modules/next/dist/client/use-intersection.js.map +1 -0
- package/dist/node_modules/next/dist/client/use-merged-ref.js +83 -0
- package/dist/node_modules/next/dist/client/use-merged-ref.js.map +1 -0
- package/dist/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js +341 -0
- package/dist/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js.map +1 -0
- package/dist/node_modules/next/dist/compiled/path-to-regexp/index.js +13 -0
- package/dist/node_modules/next/dist/compiled/path-to-regexp/index.js.map +1 -0
- package/dist/node_modules/next/dist/compiled/picomatch/index.js +13 -0
- package/dist/node_modules/next/dist/compiled/picomatch/index.js.map +1 -0
- package/dist/node_modules/next/dist/lib/constants.js +370 -0
- package/dist/node_modules/next/dist/lib/constants.js.map +1 -0
- package/dist/node_modules/next/dist/lib/framework/boundary-constants.js +43 -0
- package/dist/node_modules/next/dist/lib/framework/boundary-constants.js.map +1 -0
- package/dist/node_modules/next/dist/lib/route-pattern-normalizer.js +112 -0
- package/dist/node_modules/next/dist/lib/route-pattern-normalizer.js.map +1 -0
- package/dist/node_modules/next/dist/lib/scheduler.js +71 -0
- package/dist/node_modules/next/dist/lib/scheduler.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/action-async-storage-instance.js +28 -0
- package/dist/node_modules/next/dist/server/app-render/action-async-storage-instance.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/action-async-storage.external.js +27 -0
- package/dist/node_modules/next/dist/server/app-render/action-async-storage.external.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/async-local-storage.js +84 -0
- package/dist/node_modules/next/dist/server/app-render/async-local-storage.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/blocking-route-messages.js +177 -0
- package/dist/node_modules/next/dist/server/app-render/blocking-route-messages.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/dynamic-rendering.js +1168 -0
- package/dist/node_modules/next/dist/server/app-render/dynamic-rendering.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js +39 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js +47 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js +427 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js +42 -0
- package/dist/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/staged-rendering.js +331 -0
- package/dist/node_modules/next/dist/server/app-render/staged-rendering.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/work-async-storage-instance.js +28 -0
- package/dist/node_modules/next/dist/server/app-render/work-async-storage-instance.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/work-async-storage.external.js +27 -0
- package/dist/node_modules/next/dist/server/app-render/work-async-storage.external.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js +28 -0
- package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js.map +1 -0
- package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js +211 -0
- package/dist/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js.map +1 -0
- package/dist/node_modules/next/dist/server/dynamic-rendering-utils.js +269 -0
- package/dist/node_modules/next/dist/server/dynamic-rendering-utils.js.map +1 -0
- package/dist/node_modules/next/dist/server/lib/router-utils/is-postpone.js +29 -0
- package/dist/node_modules/next/dist/server/lib/router-utils/is-postpone.js.map +1 -0
- package/dist/node_modules/next/dist/server/runtime-reacts.external.js +53 -0
- package/dist/node_modules/next/dist/server/runtime-reacts.external.js.map +1 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/adapters/headers.js +303 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/adapters/headers.js.map +1 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js +43 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js.map +1 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js +233 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js.map +1 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/cookies.js +38 -0
- package/dist/node_modules/next/dist/server/web/spec-extension/cookies.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/action-revalidation-kind.js +39 -0
- package/dist/node_modules/next/dist/shared/lib/action-revalidation-kind.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js +58 -0
- package/dist/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/deployment-id.js +70 -0
- package/dist/node_modules/next/dist/shared/lib/deployment-id.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/escape-regexp.js +34 -0
- package/dist/node_modules/next/dist/shared/lib/escape-regexp.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/find-closest-quality.js +32 -0
- package/dist/node_modules/next/dist/shared/lib/find-closest-quality.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/get-img-props.js +614 -0
- package/dist/node_modules/next/dist/shared/lib/get-img-props.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js +33 -0
- package/dist/node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/head.js +178 -0
- package/dist/node_modules/next/dist/shared/lib/head.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js +67 -0
- package/dist/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js +38 -0
- package/dist/node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js +67 -0
- package/dist/node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/image-blur-svg.js +37 -0
- package/dist/node_modules/next/dist/shared/lib/image-blur-svg.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js +35 -0
- package/dist/node_modules/next/dist/shared/lib/image-config-context.shared-runtime.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/image-config.js +86 -0
- package/dist/node_modules/next/dist/shared/lib/image-config.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/image-external.js +60 -0
- package/dist/node_modules/next/dist/shared/lib/image-external.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/image-loader.js +135 -0
- package/dist/node_modules/next/dist/shared/lib/image-loader.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/instant-messages.js +52 -0
- package/dist/node_modules/next/dist/shared/lib/instant-messages.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/invariant-error.js +36 -0
- package/dist/node_modules/next/dist/shared/lib/invariant-error.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js +45 -0
- package/dist/node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/match-local-pattern.js +56 -0
- package/dist/node_modules/next/dist/shared/lib/match-local-pattern.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/match-remote-pattern.js +73 -0
- package/dist/node_modules/next/dist/shared/lib/match-remote-pattern.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js +33 -0
- package/dist/node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/promise-with-resolvers.js +39 -0
- package/dist/node_modules/next/dist/shared/lib/promise-with-resolvers.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/routes/app.js +167 -0
- package/dist/node_modules/next/dist/shared/lib/router/routes/app.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/add-locale.js +43 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/add-locale.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js +34 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/app-paths.js +72 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/app-paths.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/format-url.js +100 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/format-url.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js +184 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/get-dynamic-param.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js +91 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/index.js +40 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/index.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js +46 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/interception-prefix-from-param-type.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/interception-routes.js +116 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/interception-routes.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js +68 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/interpolate-as.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js +40 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/is-dynamic.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/is-local-url.js +41 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/is-local-url.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/omit.js +34 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/omit.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js +44 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/parse-loader-tree.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/parse-path.js +48 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/parse-path.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js +58 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js +34 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/querystring.js +87 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/querystring.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js +37 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js +129 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/resolve-param-value.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js +124 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/route-match-utils.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/route-matcher.js +60 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/route-matcher.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/route-regex.js +269 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/route-regex.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js +253 -0
- package/dist/node_modules/next/dist/shared/lib/router/utils/sorted-routes.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/router-context.shared-runtime.js +33 -0
- package/dist/node_modules/next/dist/shared/lib/router-context.shared-runtime.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/segment.js +104 -0
- package/dist/node_modules/next/dist/shared/lib/segment.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js +46 -0
- package/dist/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/side-effect.js +77 -0
- package/dist/node_modules/next/dist/shared/lib/side-effect.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/utils/error-once.js +35 -0
- package/dist/node_modules/next/dist/shared/lib/utils/error-once.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/utils/reflect-utils.js +72 -0
- package/dist/node_modules/next/dist/shared/lib/utils/reflect-utils.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/utils/warn-once.js +35 -0
- package/dist/node_modules/next/dist/shared/lib/utils/warn-once.js.map +1 -0
- package/dist/node_modules/next/dist/shared/lib/utils.js +210 -0
- package/dist/node_modules/next/dist/shared/lib/utils.js.map +1 -0
- package/dist/node_modules/next/image.js +14 -0
- package/dist/node_modules/next/image.js.map +1 -0
- package/dist/node_modules/next/link.js +14 -0
- package/dist/node_modules/next/link.js.map +1 -0
- package/dist/node_modules/next/navigation.js +14 -0
- package/dist/node_modules/next/navigation.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
+
import Link from '../../_virtual/link.js';
|
|
3
|
+
import Image from '../../_virtual/image.js';
|
|
4
|
+
import { n as navigationExports } from '../../_virtual/navigation.js';
|
|
5
|
+
import { useQueryClient, useMutation } from '@tanstack/react-query';
|
|
6
|
+
import { DropdownMenu, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuSeparator, DropdownMenuItem } from './dropdown-menu.js';
|
|
7
|
+
import { Button } from './button.js';
|
|
8
|
+
import { Separator } from './separator.js';
|
|
9
|
+
import { cn } from '../../utils.js';
|
|
10
|
+
import { UserRound, ChevronDown, LogOut, X, Menu, ChevronRight, LayoutDashboard, FileSignature, SearchCheck, Building2, GraduationCap, FileText, History, Users, Mail, Handshake } from 'lucide-react';
|
|
11
|
+
import { useState, useEffect } from 'react';
|
|
12
|
+
|
|
13
|
+
function labelIcon(label) {
|
|
14
|
+
const map = {
|
|
15
|
+
Partners: Handshake,
|
|
16
|
+
Invites: Mail,
|
|
17
|
+
Invitations: Mail,
|
|
18
|
+
Accounts: Users,
|
|
19
|
+
'Activity Log': History,
|
|
20
|
+
'MOA Templates': FileText,
|
|
21
|
+
Universities: GraduationCap,
|
|
22
|
+
Companies: Building2,
|
|
23
|
+
'Company Reviews': SearchCheck,
|
|
24
|
+
'Request MOA': FileSignature,
|
|
25
|
+
Dashboard: LayoutDashboard,
|
|
26
|
+
};
|
|
27
|
+
return map[label] ?? Handshake;
|
|
28
|
+
}
|
|
29
|
+
function AppHeader({ portal, homeHref, nav, userPrimary, logout: logoutFn, postLogoutPath, profileHref, userAvatarUrl, accountNav = [], }) {
|
|
30
|
+
const pathname = navigationExports.usePathname() ?? '';
|
|
31
|
+
const router = navigationExports.useRouter();
|
|
32
|
+
const queryClient = useQueryClient();
|
|
33
|
+
const [isDrawerOpen, setIsDrawerOpen] = useState(false);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
setIsDrawerOpen(false);
|
|
36
|
+
}, [pathname]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
document.body.style.overflow = isDrawerOpen ? 'hidden' : '';
|
|
39
|
+
return () => {
|
|
40
|
+
document.body.style.overflow = '';
|
|
41
|
+
};
|
|
42
|
+
}, [isDrawerOpen]);
|
|
43
|
+
const logout = useMutation({
|
|
44
|
+
mutationFn: logoutFn,
|
|
45
|
+
onSettled: () => {
|
|
46
|
+
queryClient.clear();
|
|
47
|
+
router.replace(postLogoutPath);
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
const isActive = (href) => pathname === href || pathname.startsWith(`${href}/`);
|
|
51
|
+
return (jsxRuntimeExports.jsxs("header", { className: "bg-background/70 sticky top-0 z-40 border-b py-2 backdrop-blur", children: [jsxRuntimeExports.jsxs("div", { className: "mx-auto flex h-16 items-center justify-between gap-2 px-4 sm:px-6 lg:px-8", children: [jsxRuntimeExports.jsx(Link, { href: homeHref, className: "block flex-shrink-0 border-none text-black! outline-none focus:outline-none", children: jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntimeExports.jsx(Image, { src: "/betterinternship-logo.png", alt: "", width: 25, height: 25, className: "flex-none" }), jsxRuntimeExports.jsxs("div", { className: "flex items-center", children: [jsxRuntimeExports.jsx("h1", { className: "font-display text-lg font-bold text-gray-900", children: "Partners" }), jsxRuntimeExports.jsx("span", { className: "mx-2.5 text-gray-300", "aria-hidden": "true", children: "|" }), jsxRuntimeExports.jsx("span", { className: "font-display text-gray-500", children: portal === 'Platform Admin' ? portal : `${portal} Portal` })] })] }) }), jsxRuntimeExports.jsxs("div", { className: "hidden flex-1 items-center justify-end gap-2 md:flex", children: [nav.map((item) => {
|
|
52
|
+
const Icon = item.icon ?? labelIcon(item.label);
|
|
53
|
+
return (jsxRuntimeExports.jsxs(Button, { variant: "ghost", className: cn('relative h-auto min-w-0 flex-col items-center justify-center gap-1 rounded-[0.33em] px-3 py-1', isActive(item.href)
|
|
54
|
+
? 'text-primary'
|
|
55
|
+
: 'opacity-80 hover:bg-gray-100 hover:opacity-100'), onClick: () => router.push(item.href), children: [jsxRuntimeExports.jsx(Icon, { className: "!h-6 !w-6", strokeWidth: 1.7 }), jsxRuntimeExports.jsx("span", { className: "text-xs", children: item.label }), !!item.badge && (jsxRuntimeExports.jsx("span", { className: "absolute -top-0.5 right-5.5 inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900", children: item.badge }))] }, item.href));
|
|
56
|
+
}), jsxRuntimeExports.jsxs(DropdownMenu, { children: [jsxRuntimeExports.jsx(DropdownMenuTrigger, { asChild: true, children: jsxRuntimeExports.jsxs(Button, { variant: "ghost", className: cn('group h-auto w-20 flex-col items-center justify-center gap-1 rounded-[0.33em] px-2 py-1', (profileHref && isActive(profileHref)) ||
|
|
57
|
+
accountNav.some((item) => isActive(item.href))
|
|
58
|
+
? 'text-primary'
|
|
59
|
+
: 'opacity-80 hover:bg-gray-100 hover:opacity-100'), children: [jsxRuntimeExports.jsx("div", { className: "flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-gray-100", children: userAvatarUrl ? (jsxRuntimeExports.jsx("img", { src: userAvatarUrl, alt: "", className: "h-full w-full object-contain" })) : (jsxRuntimeExports.jsx(UserRound, { className: "h-5 w-5 text-gray-500" })) }), jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-0.5", children: [jsxRuntimeExports.jsx("span", { className: "text-xs", children: "Account" }), jsxRuntimeExports.jsx(ChevronDown, { className: "!h-3 !w-3 transition-transform group-data-[state=open]:rotate-180" })] })] }) }), jsxRuntimeExports.jsxs(DropdownMenuContent, { align: "end", className: "w-max min-w-44", children: [userPrimary && (jsxRuntimeExports.jsx("div", { className: "px-2 py-1.5", children: jsxRuntimeExports.jsx("div", { className: "text-center text-sm font-medium", children: userPrimary }) })), jsxRuntimeExports.jsx(DropdownMenuSeparator, {}), profileHref && (jsxRuntimeExports.jsx(DropdownMenuItem, { asChild: true, children: jsxRuntimeExports.jsxs(Link, { href: profileHref, children: [jsxRuntimeExports.jsx(UserRound, { className: "h-4 w-4" }), "Profile"] }) })), accountNav.map((item) => {
|
|
60
|
+
const Icon = item.icon ?? labelIcon(item.label);
|
|
61
|
+
return (jsxRuntimeExports.jsx(DropdownMenuItem, { asChild: true, children: jsxRuntimeExports.jsxs(Link, { href: item.href, children: [jsxRuntimeExports.jsx(Icon, { className: "h-4 w-4" }), item.label] }) }, item.href));
|
|
62
|
+
}), (profileHref || accountNav.length > 0) && (jsxRuntimeExports.jsx(DropdownMenuSeparator, {})), jsxRuntimeExports.jsxs(DropdownMenuItem, { variant: "destructive", disabled: logout.isPending, onClick: () => logout.mutate(), children: [jsxRuntimeExports.jsx(LogOut, { className: "h-4 w-4" }), logout.isPending ? 'Logging out...' : 'Sign Out'] })] })] })] }), jsxRuntimeExports.jsx("button", { type: "button", "aria-label": isDrawerOpen ? 'Close menu' : 'Open menu', className: "inline-flex h-10 w-10 items-center justify-center rounded-md border border-gray-300 hover:bg-gray-50 md:hidden", onClick: () => setIsDrawerOpen(!isDrawerOpen), children: isDrawerOpen ? (jsxRuntimeExports.jsx(X, { className: "h-5 w-5" })) : (jsxRuntimeExports.jsx(Menu, { className: "h-5 w-5" })) })] }), isDrawerOpen && (jsxRuntimeExports.jsx("div", { className: "fixed inset-0 z-[30] duration-200 md:hidden", onClick: () => setIsDrawerOpen(false) })), jsxRuntimeExports.jsx("div", { className: cn('fixed top-0 right-0 z-[31] h-[100svh] w-full max-w-[92%] border-l border-gray-200 bg-white shadow-xl sm:max-w-[420px] md:hidden', 'transition-transform duration-250 ease-out', isDrawerOpen ? 'translate-x-0' : 'translate-x-full'), role: "dialog", "aria-modal": "true", "aria-label": "Mobile menu", children: jsxRuntimeExports.jsxs("div", { className: "flex h-full flex-col", children: [jsxRuntimeExports.jsxs("div", { className: "mt-1 flex items-center justify-between border-b px-4 py-3", children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntimeExports.jsx(Image, { src: "/betterinternship-logo.png", alt: "", width: 25, height: 25, className: "h-6 w-6 rounded object-contain" }), jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold", children: "Partners" }), jsxRuntimeExports.jsx("span", { className: "rounded border border-gray-200 bg-gray-50 px-1 py-0 text-[10px] font-medium text-gray-400 leading-none", children: portal })] }), jsxRuntimeExports.jsx("button", { type: "button", "aria-label": "Close menu", className: "inline-flex h-9 w-9 items-center justify-center rounded-md transition-colors hover:bg-gray-100", onClick: () => setIsDrawerOpen(false), children: jsxRuntimeExports.jsx(X, { className: "h-5 w-5" }) })] }), jsxRuntimeExports.jsxs("div", { className: "flex-1 overflow-y-auto p-4", children: [userPrimary && (jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 pb-2", children: [jsxRuntimeExports.jsx(UserRound, { className: "h-5 w-5 text-gray-500" }), jsxRuntimeExports.jsx("span", { className: "text-sm font-semibold text-gray-900", children: userPrimary })] })), jsxRuntimeExports.jsx(Separator, { className: "my-4" }), jsxRuntimeExports.jsx("nav", { className: "space-y-1", children: nav.map((item) => {
|
|
63
|
+
const Icon = item.icon ?? labelIcon(item.label);
|
|
64
|
+
return (jsxRuntimeExports.jsx(Link, { href: item.href, className: "block w-full", children: jsxRuntimeExports.jsxs("button", { className: "flex w-full items-center justify-between rounded-md border border-transparent px-3 py-2 text-sm transition-colors hover:border-gray-200 hover:bg-gray-50", children: [jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [jsxRuntimeExports.jsx(Icon, { className: "h-4 w-4 text-gray-500" }), jsxRuntimeExports.jsx("span", { children: item.label }), !!item.badge && (jsxRuntimeExports.jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900", children: "!" }))] }), jsxRuntimeExports.jsx(ChevronRight, { className: "h-4 w-4 text-gray-300" })] }) }, item.href));
|
|
65
|
+
}) })] }), jsxRuntimeExports.jsxs("div", { className: "mt-auto border-t px-4 py-3 space-y-1", children: [profileHref && (jsxRuntimeExports.jsx(Link, { href: profileHref, className: "block w-full", children: jsxRuntimeExports.jsxs("button", { className: "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50", children: [jsxRuntimeExports.jsx(UserRound, { className: "h-4 w-4" }), "Profile"] }) })), accountNav.map((item) => {
|
|
66
|
+
const Icon = item.icon ?? labelIcon(item.label);
|
|
67
|
+
return (jsxRuntimeExports.jsx(Link, { href: item.href, className: "block w-full", children: jsxRuntimeExports.jsxs("button", { className: "flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50", children: [jsxRuntimeExports.jsx(Icon, { className: "h-4 w-4" }), item.label] }) }, item.href));
|
|
68
|
+
}), jsxRuntimeExports.jsxs("button", { onClick: () => logout.mutate(), disabled: logout.isPending, className: "flex w-full items-center justify-center gap-2 rounded-md py-2 font-medium text-red-600 transition-colors hover:bg-red-50", children: [jsxRuntimeExports.jsx(LogOut, { className: "h-4 w-4" }), logout.isPending ? 'Logging out...' : 'Sign Out'] })] })] }) })] }));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { AppHeader };
|
|
72
|
+
//# sourceMappingURL=app-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-header.js","sources":["../../../src/components/ui/app-header.tsx"],"sourcesContent":["import Link from 'next/link';\nimport Image from 'next/image';\nimport { usePathname, useRouter } from 'next/navigation';\nimport { useMutation, useQueryClient } from '@tanstack/react-query';\nimport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n} from '@/components/ui/dropdown-menu';\nimport { Button } from '@/components/ui/button';\nimport { Separator } from '@/components/ui/separator';\nimport { cn } from '@/utils';\nimport {\n LogOut,\n Menu,\n X,\n UserRound,\n ChevronDown,\n ChevronRight,\n Handshake,\n Mail,\n History,\n FileText,\n Users,\n LayoutDashboard,\n FileSignature,\n GraduationCap,\n Building2,\n SearchCheck,\n} from 'lucide-react';\nimport { useState, useEffect } from 'react';\nimport type { LucideIcon } from 'lucide-react';\n\nexport interface NavItem {\n href: string;\n label: string;\n badge?: number;\n icon?: LucideIcon;\n}\n\ninterface AppHeaderProps {\n portal: string;\n homeHref: string;\n nav: NavItem[];\n userPrimary?: string;\n userSecondary?: string;\n logout: () => Promise<unknown>;\n postLogoutPath: string;\n profileHref?: string;\n userAvatarUrl?: string | null;\n accountNav?: NavItem[];\n}\n\nfunction labelIcon(label: string): LucideIcon {\n const map: Record<string, LucideIcon> = {\n Partners: Handshake,\n Invites: Mail,\n Invitations: Mail,\n Accounts: Users,\n 'Activity Log': History,\n 'MOA Templates': FileText,\n Universities: GraduationCap,\n Companies: Building2,\n 'Company Reviews': SearchCheck,\n 'Request MOA': FileSignature,\n Dashboard: LayoutDashboard,\n };\n return map[label] ?? Handshake;\n}\n\nexport function AppHeader({\n portal,\n homeHref,\n nav,\n userPrimary,\n logout: logoutFn,\n postLogoutPath,\n profileHref,\n userAvatarUrl,\n accountNav = [],\n}: AppHeaderProps) {\n const pathname = usePathname() ?? '';\n const router = useRouter();\n const queryClient = useQueryClient();\n const [isDrawerOpen, setIsDrawerOpen] = useState(false);\n\n useEffect(() => {\n setIsDrawerOpen(false);\n }, [pathname]);\n\n useEffect(() => {\n document.body.style.overflow = isDrawerOpen ? 'hidden' : '';\n return () => {\n document.body.style.overflow = '';\n };\n }, [isDrawerOpen]);\n\n const logout = useMutation({\n mutationFn: logoutFn,\n onSettled: () => {\n queryClient.clear();\n router.replace(postLogoutPath);\n },\n });\n\n const isActive = (href: string) =>\n pathname === href || pathname.startsWith(`${href}/`);\n\n return (\n <header className=\"bg-background/70 sticky top-0 z-40 border-b py-2 backdrop-blur\">\n <div className=\"mx-auto flex h-16 items-center justify-between gap-2 px-4 sm:px-6 lg:px-8\">\n {/* Brand */}\n <Link\n href={homeHref}\n className=\"block flex-shrink-0 border-none text-black! outline-none focus:outline-none\"\n >\n <div className=\"flex items-center gap-2\">\n <Image\n src=\"/betterinternship-logo.png\"\n alt=\"\"\n width={25}\n height={25}\n className=\"flex-none\"\n />\n <div className=\"flex items-center\">\n <h1 className=\"font-display text-lg font-bold text-gray-900\">\n Partners\n </h1>\n <span className=\"mx-2.5 text-gray-300\" aria-hidden=\"true\">\n |\n </span>\n <span className=\"font-display text-gray-500\">\n {portal === 'Platform Admin' ? portal : `${portal} Portal`}\n </span>\n </div>\n </div>\n </Link>\n\n {/* Desktop right side: nav buttons + user */}\n <div className=\"hidden flex-1 items-center justify-end gap-2 md:flex\">\n {nav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Button\n key={item.href}\n variant=\"ghost\"\n className={cn(\n 'relative h-auto min-w-0 flex-col items-center justify-center gap-1 rounded-[0.33em] px-3 py-1',\n isActive(item.href)\n ? 'text-primary'\n : 'opacity-80 hover:bg-gray-100 hover:opacity-100',\n )}\n onClick={() => router.push(item.href)}\n >\n <Icon className=\"!h-6 !w-6\" strokeWidth={1.7} />\n <span className=\"text-xs\">{item.label}</span>\n {!!item.badge && (\n <span className=\"absolute -top-0.5 right-5.5 inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900\">\n {item.badge}\n </span>\n )}\n </Button>\n );\n })}\n\n {/* User dropdown */}\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n className={cn(\n 'group h-auto w-20 flex-col items-center justify-center gap-1 rounded-[0.33em] px-2 py-1',\n (profileHref && isActive(profileHref)) ||\n accountNav.some((item) => isActive(item.href))\n ? 'text-primary'\n : 'opacity-80 hover:bg-gray-100 hover:opacity-100',\n )}\n >\n <div className=\"flex h-6 w-6 items-center justify-center overflow-hidden rounded-full bg-gray-100\">\n {userAvatarUrl ? (\n <img\n src={userAvatarUrl}\n alt=\"\"\n className=\"h-full w-full object-contain\"\n />\n ) : (\n <UserRound className=\"h-5 w-5 text-gray-500\" />\n )}\n </div>\n <div className=\"flex items-center gap-0.5\">\n <span className=\"text-xs\">Account</span>\n <ChevronDown className=\"!h-3 !w-3 transition-transform group-data-[state=open]:rotate-180\" />\n </div>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-max min-w-44\">\n {userPrimary && (\n <div className=\"px-2 py-1.5\">\n <div className=\"text-center text-sm font-medium\">\n {userPrimary}\n </div>\n </div>\n )}\n <DropdownMenuSeparator />\n {profileHref && (\n <DropdownMenuItem asChild>\n <Link href={profileHref}>\n <UserRound className=\"h-4 w-4\" />\n Profile\n </Link>\n </DropdownMenuItem>\n )}\n {accountNav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <DropdownMenuItem key={item.href} asChild>\n <Link href={item.href}>\n <Icon className=\"h-4 w-4\" />\n {item.label}\n </Link>\n </DropdownMenuItem>\n );\n })}\n {(profileHref || accountNav.length > 0) && (\n <DropdownMenuSeparator />\n )}\n <DropdownMenuItem\n variant=\"destructive\"\n disabled={logout.isPending}\n onClick={() => logout.mutate()}\n >\n <LogOut className=\"h-4 w-4\" />\n {logout.isPending ? 'Logging out...' : 'Sign Out'}\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n\n {/* Mobile hamburger */}\n <button\n type=\"button\"\n aria-label={isDrawerOpen ? 'Close menu' : 'Open menu'}\n className=\"inline-flex h-10 w-10 items-center justify-center rounded-md border border-gray-300 hover:bg-gray-50 md:hidden\"\n onClick={() => setIsDrawerOpen(!isDrawerOpen)}\n >\n {isDrawerOpen ? (\n <X className=\"h-5 w-5\" />\n ) : (\n <Menu className=\"h-5 w-5\" />\n )}\n </button>\n </div>\n\n {/* Mobile right drawer */}\n {isDrawerOpen && (\n <div\n className=\"fixed inset-0 z-[30] duration-200 md:hidden\"\n onClick={() => setIsDrawerOpen(false)}\n />\n )}\n\n <div\n className={cn(\n 'fixed top-0 right-0 z-[31] h-[100svh] w-full max-w-[92%] border-l border-gray-200 bg-white shadow-xl sm:max-w-[420px] md:hidden',\n 'transition-transform duration-250 ease-out',\n isDrawerOpen ? 'translate-x-0' : 'translate-x-full',\n )}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"Mobile menu\"\n >\n <div className=\"flex h-full flex-col\">\n <div className=\"mt-1 flex items-center justify-between border-b px-4 py-3\">\n <div className=\"flex items-center gap-2\">\n <Image\n src=\"/betterinternship-logo.png\"\n alt=\"\"\n width={25}\n height={25}\n className=\"h-6 w-6 rounded object-contain\"\n />\n <span className=\"text-sm font-semibold\">Partners</span>\n <span className=\"rounded border border-gray-200 bg-gray-50 px-1 py-0 text-[10px] font-medium text-gray-400 leading-none\">\n {portal}\n </span>\n </div>\n <button\n type=\"button\"\n aria-label=\"Close menu\"\n className=\"inline-flex h-9 w-9 items-center justify-center rounded-md transition-colors hover:bg-gray-100\"\n onClick={() => setIsDrawerOpen(false)}\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n\n <div className=\"flex-1 overflow-y-auto p-4\">\n {userPrimary && (\n <div className=\"flex items-center gap-2 pb-2\">\n <UserRound className=\"h-5 w-5 text-gray-500\" />\n <span className=\"text-sm font-semibold text-gray-900\">\n {userPrimary}\n </span>\n </div>\n )}\n\n <Separator className=\"my-4\" />\n\n <nav className=\"space-y-1\">\n {nav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Link\n key={item.href}\n href={item.href}\n className=\"block w-full\"\n >\n <button className=\"flex w-full items-center justify-between rounded-md border border-transparent px-3 py-2 text-sm transition-colors hover:border-gray-200 hover:bg-gray-50\">\n <div className=\"flex items-center gap-2\">\n <Icon className=\"h-4 w-4 text-gray-500\" />\n <span>{item.label}</span>\n {!!item.badge && (\n <span className=\"inline-flex h-4 w-4 items-center justify-center rounded-full bg-amber-400 text-[10px] font-bold leading-none text-amber-900\">\n !\n </span>\n )}\n </div>\n <ChevronRight className=\"h-4 w-4 text-gray-300\" />\n </button>\n </Link>\n );\n })}\n </nav>\n </div>\n\n <div className=\"mt-auto border-t px-4 py-3 space-y-1\">\n {profileHref && (\n <Link href={profileHref} className=\"block w-full\">\n <button className=\"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50\">\n <UserRound className=\"h-4 w-4\" />\n Profile\n </button>\n </Link>\n )}\n {accountNav.map((item) => {\n const Icon = item.icon ?? labelIcon(item.label);\n return (\n <Link key={item.href} href={item.href} className=\"block w-full\">\n <button className=\"flex w-full items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors hover:bg-gray-50\">\n <Icon className=\"h-4 w-4\" />\n {item.label}\n </button>\n </Link>\n );\n })}\n <button\n onClick={() => logout.mutate()}\n disabled={logout.isPending}\n className=\"flex w-full items-center justify-center gap-2 rounded-md py-2 font-medium text-red-600 transition-colors hover:bg-red-50\"\n >\n <LogOut className=\"h-4 w-4\" />\n {logout.isPending ? 'Logging out...' : 'Sign Out'}\n </button>\n </div>\n </div>\n </div>\n </header>\n );\n}\n"],"names":["usePathname","useRouter","_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
3
|
+
import { CheckIcon, CircleIcon, ChevronRightIcon } from 'lucide-react';
|
|
4
|
+
import { cn } from '../../utils.js';
|
|
5
|
+
|
|
6
|
+
function DropdownMenu({ ...props }) {
|
|
7
|
+
return jsxRuntimeExports.jsx(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
|
|
8
|
+
}
|
|
9
|
+
function DropdownMenuPortal({ ...props }) {
|
|
10
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props }));
|
|
11
|
+
}
|
|
12
|
+
function DropdownMenuTrigger({ ...props }) {
|
|
13
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props }));
|
|
14
|
+
}
|
|
15
|
+
function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
|
|
16
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.Portal, { children: jsxRuntimeExports.jsx(DropdownMenuPrimitive.Content, { "data-slot": "dropdown-menu-content", sideOffset: sideOffset, className: cn(
|
|
17
|
+
// z-[1100] (not the default z-50) — the shared modal system's
|
|
18
|
+
// backdrop is z-[1000] (app/providers/modal-provider.tsx), and
|
|
19
|
+
// this portals to document.body as a sibling of it, so it needs
|
|
20
|
+
// to clear that to render above a modal. Matches the same fix
|
|
21
|
+
// already applied to SelectContent (components/ui/select.tsx).
|
|
22
|
+
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[1100] max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md', className), ...props }) }));
|
|
23
|
+
}
|
|
24
|
+
function DropdownMenuGroup({ ...props }) {
|
|
25
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props }));
|
|
26
|
+
}
|
|
27
|
+
function DropdownMenuItem({ className, inset, variant = 'default', ...props }) {
|
|
28
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.Item, { "data-slot": "dropdown-menu-item", "data-inset": inset, "data-variant": variant, className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
|
|
29
|
+
}
|
|
30
|
+
function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
|
|
31
|
+
return (jsxRuntimeExports.jsxs(DropdownMenuPrimitive.CheckboxItem, { "data-slot": "dropdown-menu-checkbox-item", className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), checked: checked, ...props, children: [jsxRuntimeExports.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: jsxRuntimeExports.jsx(DropdownMenuPrimitive.ItemIndicator, { children: jsxRuntimeExports.jsx(CheckIcon, { className: "size-4" }) }) }), children] }));
|
|
32
|
+
}
|
|
33
|
+
function DropdownMenuRadioGroup({ ...props }) {
|
|
34
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props }));
|
|
35
|
+
}
|
|
36
|
+
function DropdownMenuRadioItem({ className, children, ...props }) {
|
|
37
|
+
return (jsxRuntimeExports.jsxs(DropdownMenuPrimitive.RadioItem, { "data-slot": "dropdown-menu-radio-item", className: cn("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [jsxRuntimeExports.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: jsxRuntimeExports.jsx(DropdownMenuPrimitive.ItemIndicator, { children: jsxRuntimeExports.jsx(CircleIcon, { className: "size-2 fill-current" }) }) }), children] }));
|
|
38
|
+
}
|
|
39
|
+
function DropdownMenuLabel({ className, inset, ...props }) {
|
|
40
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.Label, { "data-slot": "dropdown-menu-label", "data-inset": inset, className: cn('px-2 py-1.5 text-sm font-medium data-[inset]:pl-8', className), ...props }));
|
|
41
|
+
}
|
|
42
|
+
function DropdownMenuSeparator({ className, ...props }) {
|
|
43
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.Separator, { "data-slot": "dropdown-menu-separator", className: cn('bg-border -mx-1 my-1 h-px', className), ...props }));
|
|
44
|
+
}
|
|
45
|
+
function DropdownMenuShortcut({ className, ...props }) {
|
|
46
|
+
return (jsxRuntimeExports.jsx("span", { "data-slot": "dropdown-menu-shortcut", className: cn('text-muted-foreground ml-auto text-xs tracking-widest', className), ...props }));
|
|
47
|
+
}
|
|
48
|
+
function DropdownMenuSub({ ...props }) {
|
|
49
|
+
return jsxRuntimeExports.jsx(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
|
|
50
|
+
}
|
|
51
|
+
function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
|
|
52
|
+
return (jsxRuntimeExports.jsxs(DropdownMenuPrimitive.SubTrigger, { "data-slot": "dropdown-menu-sub-trigger", "data-inset": inset, className: cn('focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8', className), ...props, children: [children, jsxRuntimeExports.jsx(ChevronRightIcon, { className: "ml-auto size-4" })] }));
|
|
53
|
+
}
|
|
54
|
+
function DropdownMenuSubContent({ className, ...props }) {
|
|
55
|
+
return (jsxRuntimeExports.jsx(DropdownMenuPrimitive.SubContent, { "data-slot": "dropdown-menu-sub-content", className: cn(
|
|
56
|
+
// z-[1100] — see the matching note on DropdownMenuContent above.
|
|
57
|
+
'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[1100] min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg', className), ...props }));
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
|
|
61
|
+
//# sourceMappingURL=dropdown-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-menu.js","sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\n\nimport { cn } from '@/utils';\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n // z-[1100] (not the default z-50) — the shared modal system's\n // backdrop is z-[1000] (app/providers/modal-provider.tsx), and\n // this portals to document.body as a sibling of it, so it needs\n // to clear that to render above a modal. Matches the same fix\n // already applied to SelectContent (components/ui/select.tsx).\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[1100] max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n 'px-2 py-1.5 text-sm font-medium data-[inset]:pl-8',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n 'text-muted-foreground ml-auto text-xs tracking-widest',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n // z-[1100] — see the matching note on DropdownMenuContent above.\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-[1100] min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
+
import { cn } from '../../utils.js';
|
|
3
|
+
|
|
4
|
+
/** Consistent page container width for authenticated pages. */
|
|
5
|
+
function PageContainer({ className, children, }) {
|
|
6
|
+
return (jsxRuntimeExports.jsx("div", { className: cn('mx-auto w-full max-w-7xl px-4 py-8 sm:px-6', className), children: children }));
|
|
7
|
+
}
|
|
8
|
+
function PageHeader({ title, description, children, }) {
|
|
9
|
+
return (jsxRuntimeExports.jsxs("div", { className: "flex flex-wrap items-end justify-between gap-3", children: [jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [jsxRuntimeExports.jsx("h1", { className: "text-2xl font-semibold tracking-tight text-gray-900", children: title }), description && (jsxRuntimeExports.jsx("p", { className: "text-muted-foreground text-sm", children: description }))] }), children && jsxRuntimeExports.jsx("div", { className: "flex items-center gap-2", children: children })] }));
|
|
10
|
+
}
|
|
11
|
+
/** Centered empty/placeholder state inside a dashed card. */
|
|
12
|
+
function EmptyState({ title, description, children, }) {
|
|
13
|
+
return (jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center gap-2 rounded-[0.33em] border border-dashed border-gray-300 bg-white px-6 py-14 text-center", children: [jsxRuntimeExports.jsx("p", { className: "text-sm font-medium text-gray-700", children: title }), description && (jsxRuntimeExports.jsx("p", { className: "text-muted-foreground max-w-sm text-sm", children: description })), children && jsxRuntimeExports.jsx("div", { className: "mt-2", children: children })] }));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { EmptyState, PageContainer, PageHeader };
|
|
17
|
+
//# sourceMappingURL=page-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-header.js","sources":["../../../src/components/ui/page-header.tsx"],"sourcesContent":["import * as React from 'react';\nimport { cn } from '@/utils';\n\n/** Consistent page container width for authenticated pages. */\nexport function PageContainer({\n className,\n children,\n}: {\n className?: string;\n children: React.ReactNode;\n}) {\n return (\n <div\n className={cn('mx-auto w-full max-w-7xl px-4 py-8 sm:px-6', className)}\n >\n {children}\n </div>\n );\n}\n\nexport function PageHeader({\n title,\n description,\n children,\n}: {\n title: string;\n description?: React.ReactNode;\n children?: React.ReactNode;\n}) {\n return (\n <div className=\"flex flex-wrap items-end justify-between gap-3\">\n <div className=\"space-y-1\">\n <h1 className=\"text-2xl font-semibold tracking-tight text-gray-900\">\n {title}\n </h1>\n {description && (\n <p className=\"text-muted-foreground text-sm\">{description}</p>\n )}\n </div>\n {children && <div className=\"flex items-center gap-2\">{children}</div>}\n </div>\n );\n}\n\n/** Centered empty/placeholder state inside a dashed card. */\nexport function EmptyState({\n title,\n description,\n children,\n}: {\n title: string;\n description?: React.ReactNode;\n children?: React.ReactNode;\n}) {\n return (\n <div className=\"flex flex-col items-center justify-center gap-2 rounded-[0.33em] border border-dashed border-gray-300 bg-white px-6 py-14 text-center\">\n <p className=\"text-sm font-medium text-gray-700\">{title}</p>\n {description && (\n <p className=\"text-muted-foreground max-w-sm text-sm\">{description}</p>\n )}\n {children && <div className=\"mt-2\">{children}</div>}\n </div>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":";;;AAGA;SACgB,aAAa,CAAC,EAC5B,SAAS,EACT,QAAQ,GAIT,EAAA;AACC,IAAA,QACEA,qBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,SAAS,CAAC,EAAA,QAAA,EAErE,QAAQ,EAAA,CACL;AAEV;AAEM,SAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,QAAQ,GAKT,EAAA;AACC,IAAA,QACEC,sBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gDAAgD,EAAA,QAAA,EAAA,CAC7DA,gCAAK,SAAS,EAAC,WAAW,EAAA,QAAA,EAAA,CACxBD,qBAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,qDAAqD,YAChE,KAAK,EAAA,CACH,EACJ,WAAW,KACVA,qBAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAE,WAAW,EAAA,CAAK,CAC/D,IACG,EACL,QAAQ,IAAIA,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,CAAA,EAAA,CAClE;AAEV;AAEA;AACM,SAAU,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,QAAQ,GAKT,EAAA;AACC,IAAA,QACEC,sBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uIAAuI,aACpJD,qBAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,mCAAmC,YAAE,KAAK,EAAA,CAAK,EAC3D,WAAW,KACVA,qBAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,wCAAwC,EAAA,QAAA,EAAE,WAAW,EAAA,CAAK,CACxE,EACA,QAAQ,IAAIA,qBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,MAAM,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,CAAA,EAAA,CAC/C;AAEV;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ComponentProps, ReactNode } from "react";
|
|
2
|
+
import type { LucideIcon } from "lucide-react";
|
|
3
|
+
type StatusNoticeVariant = "primary" | "warning" | "destructive";
|
|
4
|
+
declare function StatusNotice({ icon: Icon, media, title, description, action, actionClassName, variant, compact, className, ...props }: ComponentProps<"div"> & {
|
|
5
|
+
icon?: LucideIcon;
|
|
6
|
+
media?: ReactNode;
|
|
7
|
+
title: ReactNode;
|
|
8
|
+
description?: ReactNode;
|
|
9
|
+
action?: ReactNode;
|
|
10
|
+
actionClassName?: string;
|
|
11
|
+
variant?: StatusNoticeVariant;
|
|
12
|
+
compact?: boolean;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export { StatusNotice, type StatusNoticeVariant };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from '../../_virtual/jsx-runtime.js';
|
|
2
|
+
import { cn } from '../../utils.js';
|
|
3
|
+
|
|
4
|
+
const variantClasses = {
|
|
5
|
+
primary: {
|
|
6
|
+
container: "border-primary/25 bg-primary/[0.035] transition-colors hover:bg-primary/[0.06]",
|
|
7
|
+
icon: "bg-primary/5 text-primary",
|
|
8
|
+
},
|
|
9
|
+
warning: {
|
|
10
|
+
container: "border-warning/30 bg-warning/10 transition-colors hover:bg-warning/15",
|
|
11
|
+
icon: "bg-warning/10 text-warning",
|
|
12
|
+
},
|
|
13
|
+
destructive: {
|
|
14
|
+
container: "border-destructive/30 bg-destructive/5 transition-colors hover:bg-destructive/10",
|
|
15
|
+
icon: "bg-destructive/10 text-destructive",
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
function StatusNotice({ icon: Icon, media, title, description, action, actionClassName, variant = "primary", compact = false, className, ...props }) {
|
|
19
|
+
const styles = variantClasses[variant];
|
|
20
|
+
return (jsxRuntimeExports.jsxs("div", { "data-slot": "status-notice", className: cn("group/status-notice flex flex-col rounded-[0.33em] border", compact
|
|
21
|
+
? "items-start gap-3 p-3 sm:flex-row sm:items-start sm:gap-2"
|
|
22
|
+
: "gap-4 px-4 py-4 sm:flex-row sm:items-stretch sm:gap-3 sm:px-5", styles.container, className), ...props, children: [jsxRuntimeExports.jsxs("div", { className: cn("flex min-w-0 flex-1 items-start gap-3 sm:items-stretch sm:gap-3", compact && "gap-2 sm:items-start sm:gap-2"), children: [jsxRuntimeExports.jsx("span", { className: cn("flex shrink-0 items-center justify-center rounded-[0.33em]", compact ? "size-8" : "size-10 sm:self-center", styles.icon), children: media ??
|
|
23
|
+
(Icon && (jsxRuntimeExports.jsx(Icon, { className: compact ? "size-4" : "size-5", "aria-hidden": "true" }))) }), jsxRuntimeExports.jsxs("div", { className: "min-w-0 flex-1 space-y-0.5", children: [jsxRuntimeExports.jsx("p", { className: "text-sm font-medium text-gray-900", children: title }), description && (jsxRuntimeExports.jsx("div", { className: "text-muted-foreground text-sm", children: description }))] })] }), action && (jsxRuntimeExports.jsx("div", { className: cn("w-full shrink-0 sm:w-auto sm:self-center", actionClassName), children: action }))] }));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export { StatusNotice };
|
|
27
|
+
//# sourceMappingURL=status-notice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-notice.js","sources":["../../../src/components/ui/status-notice.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from \"react\";\r\nimport type { LucideIcon } from \"lucide-react\";\r\nimport { cn } from \"@/utils\";\r\n\r\ntype StatusNoticeVariant = \"primary\" | \"warning\" | \"destructive\";\r\n\r\nconst variantClasses: Record<\r\n StatusNoticeVariant,\r\n { container: string; icon: string }\r\n> = {\r\n primary: {\r\n container:\r\n \"border-primary/25 bg-primary/[0.035] transition-colors hover:bg-primary/[0.06]\",\r\n icon: \"bg-primary/5 text-primary\",\r\n },\r\n warning: {\r\n container:\r\n \"border-warning/30 bg-warning/10 transition-colors hover:bg-warning/15\",\r\n icon: \"bg-warning/10 text-warning\",\r\n },\r\n destructive: {\r\n container:\r\n \"border-destructive/30 bg-destructive/5 transition-colors hover:bg-destructive/10\",\r\n icon: \"bg-destructive/10 text-destructive\",\r\n },\r\n};\r\n\r\nfunction StatusNotice({\r\n icon: Icon,\r\n media,\r\n title,\r\n description,\r\n action,\r\n actionClassName,\r\n variant = \"primary\",\r\n compact = false,\r\n className,\r\n ...props\r\n}: ComponentProps<\"div\"> & {\r\n icon?: LucideIcon;\r\n media?: ReactNode;\r\n title: ReactNode;\r\n description?: ReactNode;\r\n action?: ReactNode;\r\n actionClassName?: string;\r\n variant?: StatusNoticeVariant;\r\n compact?: boolean;\r\n}) {\r\n const styles = variantClasses[variant];\r\n\r\n return (\r\n <div\r\n data-slot=\"status-notice\"\r\n className={cn(\r\n \"group/status-notice flex flex-col rounded-[0.33em] border\",\r\n compact\r\n ? \"items-start gap-3 p-3 sm:flex-row sm:items-start sm:gap-2\"\r\n : \"gap-4 px-4 py-4 sm:flex-row sm:items-stretch sm:gap-3 sm:px-5\",\r\n styles.container,\r\n className,\r\n )}\r\n {...props}\r\n >\r\n <div\r\n className={cn(\r\n \"flex min-w-0 flex-1 items-start gap-3 sm:items-stretch sm:gap-3\",\r\n compact && \"gap-2 sm:items-start sm:gap-2\",\r\n )}\r\n >\r\n <span\r\n className={cn(\r\n \"flex shrink-0 items-center justify-center rounded-[0.33em]\",\r\n compact ? \"size-8\" : \"size-10 sm:self-center\",\r\n styles.icon,\r\n )}\r\n >\r\n {media ??\r\n (Icon && (\r\n <Icon\r\n className={compact ? \"size-4\" : \"size-5\"}\r\n aria-hidden=\"true\"\r\n />\r\n ))}\r\n </span>\r\n <div className=\"min-w-0 flex-1 space-y-0.5\">\r\n <p className=\"text-sm font-medium text-gray-900\">{title}</p>\r\n {description && (\r\n <div className=\"text-muted-foreground text-sm\">{description}</div>\r\n )}\r\n </div>\r\n </div>\r\n {action && (\r\n <div\r\n className={cn(\r\n \"w-full shrink-0 sm:w-auto sm:self-center\",\r\n actionClassName,\r\n )}\r\n >\r\n {action}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport { StatusNotice, type StatusNoticeVariant };\r\n"],"names":["_jsxs","_jsx"],"mappings":";;;AAMA,MAAM,cAAc,GAGhB;AACF,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EACP,gFAAgF;AAClF,QAAA,IAAI,EAAE,2BAA2B;AAClC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EACP,uEAAuE;AACzE,QAAA,IAAI,EAAE,4BAA4B;AACnC,KAAA;AACD,IAAA,WAAW,EAAE;AACX,QAAA,SAAS,EACP,kFAAkF;AACpF,QAAA,IAAI,EAAE,oCAAoC;AAC3C,KAAA;CACF;AAED,SAAS,YAAY,CAAC,EACpB,IAAI,EAAE,IAAI,EACV,KAAK,EACL,KAAK,EACL,WAAW,EACX,MAAM,EACN,eAAe,EACf,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,KAAK,EACf,SAAS,EACT,GAAG,KAAK,EAUT,EAAA;AACC,IAAA,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC;IAEtC,QACEA,sBAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACY,eAAe,EACzB,SAAS,EAAE,EAAE,CACX,2DAA2D,EAC3D;AACE,cAAE;cACA,+DAA+D,EACnE,MAAM,CAAC,SAAS,EAChB,SAAS,CACV,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETA,sBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE,OAAO,IAAI,+BAA+B,CAC3C,aAEDC,qBAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,OAAO,GAAG,QAAQ,GAAG,wBAAwB,EAC7C,MAAM,CAAC,IAAI,CACZ,EAAA,QAAA,EAEA,KAAK;AACJ,6BAAC,IAAI,KACHA,qBAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,EAAA,aAAA,EAC5B,MAAM,EAAA,CAClB,CACH,CAAC,GACC,EACPD,sBAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4BAA4B,EAAA,QAAA,EAAA,CACzCC,qBAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAC,mCAAmC,EAAA,QAAA,EAAE,KAAK,EAAA,CAAK,EAC3D,WAAW,KACVA,+BAAK,SAAS,EAAC,+BAA+B,EAAA,QAAA,EAAE,WAAW,EAAA,CAAO,CACnE,CAAA,EAAA,CACG,IACF,EACL,MAAM,KACLA,qBAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,0CAA0C,EAC1C,eAAe,CAChB,YAEA,MAAM,EAAA,CACH,CACP,CAAA,EAAA,CACG;AAEV;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -18,3 +18,7 @@ export * from './components/ui/switch';
|
|
|
18
18
|
export * from './components/ui/table';
|
|
19
19
|
export * from './components/ui/textarea';
|
|
20
20
|
export * from './components/ui/tooltip';
|
|
21
|
+
export * from './components/ui/app-header';
|
|
22
|
+
export * from './components/ui/page-header';
|
|
23
|
+
export * from './components/ui/dropdown-menu';
|
|
24
|
+
export * from './components/ui/status-notice';
|
package/dist/index.js
CHANGED
|
@@ -18,4 +18,8 @@ export { Switch } from './components/ui/switch.js';
|
|
|
18
18
|
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from './components/ui/table.js';
|
|
19
19
|
export { Textarea } from './components/ui/textarea.js';
|
|
20
20
|
export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './components/ui/tooltip.js';
|
|
21
|
+
export { AppHeader } from './components/ui/app-header.js';
|
|
22
|
+
export { EmptyState, PageContainer, PageHeader } from './components/ui/page-header.js';
|
|
23
|
+
export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from './components/ui/dropdown-menu.js';
|
|
24
|
+
export { StatusNotice } from './components/ui/status-notice.js';
|
|
21
25
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { __exports as _interop_require_default } from '../../../../_virtual/_interop_require_default.js';
|
|
2
|
+
|
|
3
|
+
var hasRequired_interop_require_default;
|
|
4
|
+
|
|
5
|
+
function require_interop_require_default () {
|
|
6
|
+
if (hasRequired_interop_require_default) return _interop_require_default;
|
|
7
|
+
hasRequired_interop_require_default = 1;
|
|
8
|
+
|
|
9
|
+
function _interop_require_default$1(obj) {
|
|
10
|
+
return obj && obj.__esModule ? obj : { default: obj };
|
|
11
|
+
}
|
|
12
|
+
_interop_require_default._ = _interop_require_default$1;
|
|
13
|
+
return _interop_require_default;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export { require_interop_require_default as __require };
|
|
17
|
+
//# sourceMappingURL=_interop_require_default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_interop_require_default.js","sources":["../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n"],"names":["_interop_require_default","_interop_require_default_1"],"mappings":";;;;;;;;CAEA,SAASA,0BAAwB,CAAC,GAAG,EAAE;AACvC,KAAI,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;AACzD,CAAA;AACA,CAAAC,wBAAA,CAAA,CAAS,GAAGD,0BAAwB;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { __exports as _interop_require_wildcard } from '../../../../_virtual/_interop_require_wildcard.js';
|
|
2
|
+
|
|
3
|
+
var hasRequired_interop_require_wildcard;
|
|
4
|
+
|
|
5
|
+
function require_interop_require_wildcard () {
|
|
6
|
+
if (hasRequired_interop_require_wildcard) return _interop_require_wildcard;
|
|
7
|
+
hasRequired_interop_require_wildcard = 1;
|
|
8
|
+
|
|
9
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
10
|
+
if (typeof WeakMap !== "function") return null;
|
|
11
|
+
|
|
12
|
+
var cacheBabelInterop = new WeakMap();
|
|
13
|
+
var cacheNodeInterop = new WeakMap();
|
|
14
|
+
|
|
15
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
16
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
17
|
+
})(nodeInterop);
|
|
18
|
+
}
|
|
19
|
+
function _interop_require_wildcard$1(obj, nodeInterop) {
|
|
20
|
+
if (!nodeInterop && obj && obj.__esModule) return obj;
|
|
21
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") return { default: obj };
|
|
22
|
+
|
|
23
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
24
|
+
|
|
25
|
+
if (cache && cache.has(obj)) return cache.get(obj);
|
|
26
|
+
|
|
27
|
+
var newObj = { __proto__: null };
|
|
28
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
29
|
+
|
|
30
|
+
for (var key in obj) {
|
|
31
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
32
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
33
|
+
if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);
|
|
34
|
+
else newObj[key] = obj[key];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
newObj.default = obj;
|
|
39
|
+
|
|
40
|
+
if (cache) cache.set(obj, newObj);
|
|
41
|
+
|
|
42
|
+
return newObj;
|
|
43
|
+
}
|
|
44
|
+
_interop_require_wildcard._ = _interop_require_wildcard$1;
|
|
45
|
+
return _interop_require_wildcard;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { require_interop_require_wildcard as __require };
|
|
49
|
+
//# sourceMappingURL=_interop_require_wildcard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_interop_require_wildcard.js","sources":["../../../../../node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs"],"sourcesContent":["\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n"],"names":["_interop_require_wildcard","_interop_require_wildcard_1"],"mappings":";;;;;;;;CAEA,SAAS,wBAAwB,CAAC,WAAW,EAAE;AAC/C,KAAI,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,OAAO,IAAI;;AAElD,KAAI,IAAI,iBAAiB,GAAG,IAAI,OAAO,EAAE;AACzC,KAAI,IAAI,gBAAgB,GAAG,IAAI,OAAO,EAAE;;AAExC,KAAI,OAAO,CAAC,wBAAwB,GAAG,SAAS,WAAW,EAAE;AAC7D,SAAQ,OAAO,WAAW,GAAG,gBAAgB,GAAG,iBAAiB;KACjE,CAAK,EAAE,WAAW,CAAC;AACnB,CAAA;AACA,CAAA,SAASA,2BAAyB,CAAC,GAAG,EAAE,WAAW,EAAE;KACjD,IAAI,CAAC,WAAW,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,GAAG;KACrD,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE;;AAErG,KAAI,IAAI,KAAK,GAAG,wBAAwB,CAAC,WAAW,CAAC;;AAErD,KAAI,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;;AAEtD,KAAI,IAAI,MAAM,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE;KAChC,IAAI,qBAAqB,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,wBAAwB;;AAExF,KAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE;AACzB,SAAQ,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;AACjF,aAAY,IAAI,IAAI,GAAG,qBAAqB,GAAG,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;aACnF,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC;kBACvE,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AACvC,SAAA;AACA,KAAA;;AAEA,KAAI,MAAM,CAAC,OAAO,GAAG,GAAG;;KAEpB,IAAI,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;;AAErC,KAAI,OAAO,MAAM;AACjB,CAAA;AACA,CAAAC,yBAAA,CAAA,CAAS,GAAGD,2BAAyB;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { __module as addBasePath } from '../../../../_virtual/add-base-path.js';
|
|
2
|
+
import { __require as requireAddPathPrefix } from '../shared/lib/router/utils/add-path-prefix.js';
|
|
3
|
+
import { __require as requireNormalizeTrailingSlash } from './normalize-trailing-slash.js';
|
|
4
|
+
|
|
5
|
+
var hasRequiredAddBasePath;
|
|
6
|
+
|
|
7
|
+
function requireAddBasePath () {
|
|
8
|
+
if (hasRequiredAddBasePath) return addBasePath.exports;
|
|
9
|
+
hasRequiredAddBasePath = 1;
|
|
10
|
+
(function (module, exports$1) {
|
|
11
|
+
Object.defineProperty(exports$1, "__esModule", {
|
|
12
|
+
value: true
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports$1, "addBasePath", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function() {
|
|
17
|
+
return addBasePath;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
const _addpathprefix = requireAddPathPrefix();
|
|
21
|
+
const _normalizetrailingslash = requireNormalizeTrailingSlash();
|
|
22
|
+
const basePath = process.env.__NEXT_ROUTER_BASEPATH || '';
|
|
23
|
+
function addBasePath(path, required) {
|
|
24
|
+
return (0, _normalizetrailingslash.normalizePathTrailingSlash)(process.env.__NEXT_MANUAL_CLIENT_BASE_PATH && !required ? path : (0, _addpathprefix.addPathPrefix)(path, basePath));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
if ((typeof exports$1.default === 'function' || (typeof exports$1.default === 'object' && exports$1.default !== null)) && typeof exports$1.default.__esModule === 'undefined') {
|
|
28
|
+
Object.defineProperty(exports$1.default, '__esModule', { value: true });
|
|
29
|
+
Object.assign(exports$1.default, exports$1);
|
|
30
|
+
module.exports = exports$1.default;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
} (addBasePath, addBasePath.exports));
|
|
35
|
+
return addBasePath.exports;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export { requireAddBasePath as __require };
|
|
39
|
+
//# sourceMappingURL=add-base-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-base-path.js","sources":["../../../../../node_modules/next/dist/client/add-base-path.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addBasePath\", {\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n});\nconst _addpathprefix = require(\"../shared/lib/router/utils/add-path-prefix\");\nconst _normalizetrailingslash = require(\"./normalize-trailing-slash\");\nconst basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)(process.env.__NEXT_MANUAL_CLIENT_BASE_PATH && !required ? path : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=add-base-path.js.map"],"names":["exports","require$$0","require$$1"],"mappings":";;;;;;;;;;AACA,EAAA,MAAM,CAAC,cAAc,CAAAA,SAAA,EAAU,YAAY,EAAE;AAC7C,MAAI,KAAK,EAAE;AACX,GAAC,CAAC;AACF,EAAA,MAAM,CAAC,cAAc,CAACA,SAAO,EAAE,aAAa,EAAE;MAC1C,UAAU,EAAE,IAAI;MAChB,GAAG,EAAE,WAAW;AACpB,UAAQ,OAAO,WAAW;AAC1B,MAAA;AACA,GAAC,CAAC;EACF,MAAM,cAAc,GAAGC,oBAAA,EAAqD;EAC5E,MAAM,uBAAuB,GAAGC,6BAAA,EAAqC;EACrE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE;AACzD,EAAA,SAAS,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE;AACrC,MAAI,OAAO,IAAI,uBAAuB,CAAC,0BAA0B,EAAE,OAAO,CAAC,GAAG,CAAC,8BAA8B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACtL,EAAA;;AAEA,EAAA,IAAI,CAAC,OAAOF,SAAO,CAAC,OAAO,KAAK,UAAU,KAAK,OAAOA,SAAO,CAAC,OAAO,KAAK,QAAQ,IAAIA,SAAO,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,OAAOA,SAAO,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE;AACvK,IAAE,MAAM,CAAC,cAAc,CAACA,SAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACrE,MAAM,CAAC,MAAM,CAACA,SAAO,CAAC,OAAO,EAAEA,SAAO,CAAC;IACvC,MAAA,CAAA,OAAA,GAAiBA,SAAO,CAAC,OAAO;AAClC,EAAA;;AAEA;;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { __module as addLocale } from '../../../../_virtual/add-locale.js';
|
|
2
|
+
import { __require as requireNormalizeTrailingSlash } from './normalize-trailing-slash.js';
|
|
3
|
+
import { __require as requireAddLocale$1 } from '../shared/lib/router/utils/add-locale.js';
|
|
4
|
+
|
|
5
|
+
var hasRequiredAddLocale;
|
|
6
|
+
|
|
7
|
+
function requireAddLocale () {
|
|
8
|
+
if (hasRequiredAddLocale) return addLocale.exports;
|
|
9
|
+
hasRequiredAddLocale = 1;
|
|
10
|
+
(function (module, exports$1) {
|
|
11
|
+
Object.defineProperty(exports$1, "__esModule", {
|
|
12
|
+
value: true
|
|
13
|
+
});
|
|
14
|
+
Object.defineProperty(exports$1, "addLocale", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function() {
|
|
17
|
+
return addLocale;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
const _normalizetrailingslash = requireNormalizeTrailingSlash();
|
|
21
|
+
const addLocale = (path, ...args)=>{
|
|
22
|
+
if (process.env.__NEXT_I18N_SUPPORT) {
|
|
23
|
+
return (0, _normalizetrailingslash.normalizePathTrailingSlash)(requireAddLocale$1().addLocale(path, ...args));
|
|
24
|
+
}
|
|
25
|
+
return path;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
if ((typeof exports$1.default === 'function' || (typeof exports$1.default === 'object' && exports$1.default !== null)) && typeof exports$1.default.__esModule === 'undefined') {
|
|
29
|
+
Object.defineProperty(exports$1.default, '__esModule', { value: true });
|
|
30
|
+
Object.assign(exports$1.default, exports$1);
|
|
31
|
+
module.exports = exports$1.default;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
} (addLocale, addLocale.exports));
|
|
36
|
+
return addLocale.exports;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { requireAddLocale as __require };
|
|
40
|
+
//# sourceMappingURL=add-locale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-locale.js","sources":["../../../../../node_modules/next/dist/client/add-locale.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLocale\", {\n enumerable: true,\n get: function() {\n return addLocale;\n }\n});\nconst _normalizetrailingslash = require(\"./normalize-trailing-slash\");\nconst addLocale = (path, ...args)=>{\n if (process.env.__NEXT_I18N_SUPPORT) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)(require('../shared/lib/router/utils/add-locale').addLocale(path, ...args));\n }\n return path;\n};\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=add-locale.js.map"],"names":["exports","require$$0","require$$1"],"mappings":";;;;;;;;;;AACA,EAAA,MAAM,CAAC,cAAc,CAAAA,SAAA,EAAU,YAAY,EAAE;AAC7C,MAAI,KAAK,EAAE;AACX,GAAC,CAAC;AACF,EAAA,MAAM,CAAC,cAAc,CAACA,SAAO,EAAE,WAAW,EAAE;MACxC,UAAU,EAAE,IAAI;MAChB,GAAG,EAAE,WAAW;AACpB,UAAQ,OAAO,SAAS;AACxB,MAAA;AACA,GAAC,CAAC;EACF,MAAM,uBAAuB,GAAGC,6BAAA,EAAqC;AACrE,EAAA,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,IAAI,GAAG;AACnC,MAAI,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE;AACzC,UAAQ,OAAO,IAAI,uBAAuB,CAAC,0BAA0B,EAAEC,kBAAA,EAAgD,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;AACjJ,MAAA;AACA,MAAI,OAAO,IAAI;EACf,CAAC;;AAED,EAAA,IAAI,CAAC,OAAOF,SAAO,CAAC,OAAO,KAAK,UAAU,KAAK,OAAOA,SAAO,CAAC,OAAO,KAAK,QAAQ,IAAIA,SAAO,CAAC,OAAO,KAAK,IAAI,CAAC,KAAK,OAAOA,SAAO,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,EAAE;AACvK,IAAE,MAAM,CAAC,cAAc,CAACA,SAAO,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACrE,MAAM,CAAC,MAAM,CAACA,SAAO,CAAC,OAAO,EAAEA,SAAO,CAAC;IACvC,MAAA,CAAA,OAAA,GAAiBA,SAAO,CAAC,OAAO;AAClC,EAAA;;AAEA;;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { __module as forbidden } from '../../../../../_virtual/forbidden.js';
|
|
2
|
+
import { __require as requireHttpAccessFallback } from './http-access-fallback/http-access-fallback.js';
|
|
3
|
+
|
|
4
|
+
var hasRequiredForbidden;
|
|
5
|
+
|
|
6
|
+
function requireForbidden () {
|
|
7
|
+
if (hasRequiredForbidden) return forbidden.exports;
|
|
8
|
+
hasRequiredForbidden = 1;
|
|
9
|
+
(function (module, exports$1) {
|
|
10
|
+
Object.defineProperty(exports$1, "__esModule", {
|
|
11
|
+
value: true
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports$1, "forbidden", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function() {
|
|
16
|
+
return forbidden;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const _httpaccessfallback = requireHttpAccessFallback();
|
|
20
|
+
// TODO: Add `forbidden` docs
|
|
21
|
+
/**
|
|
22
|
+
* @experimental
|
|
23
|
+
* This function allows you to render the [forbidden.js file](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden)
|
|
24
|
+
* within a route segment as well as inject a tag.
|
|
25
|
+
*
|
|
26
|
+
* `forbidden()` can be used in
|
|
27
|
+
* [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
|
|
28
|
+
* [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
|
|
29
|
+
* [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
|
|
30
|
+
*
|
|
31
|
+
* Read more: [Next.js Docs: `forbidden`](https://nextjs.org/docs/app/api-reference/functions/forbidden)
|
|
32
|
+
*/ const DIGEST = `${_httpaccessfallback.HTTP_ERROR_FALLBACK_ERROR_CODE};403`;
|
|
33
|
+
function forbidden() {
|
|
34
|
+
if (!process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS) {
|
|
35
|
+
throw Object.defineProperty(new Error(`\`forbidden()\` is experimental and only allowed to be enabled when \`experimental.authInterrupts\` is enabled.`), "__NEXT_ERROR_CODE", {
|
|
36
|
+
value: "E488",
|
|
37
|
+
enumerable: false,
|
|
38
|
+
configurable: true
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", {
|
|
42
|
+
value: "E1019",
|
|
43
|
+
enumerable: false,
|
|
44
|
+
configurable: true
|
|
45
|
+
});
|
|
46
|
+
error.digest = DIGEST;
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if ((typeof exports$1.default === 'function' || (typeof exports$1.default === 'object' && exports$1.default !== null)) && typeof exports$1.default.__esModule === 'undefined') {
|
|
51
|
+
Object.defineProperty(exports$1.default, '__esModule', { value: true });
|
|
52
|
+
Object.assign(exports$1.default, exports$1);
|
|
53
|
+
module.exports = exports$1.default;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
} (forbidden, forbidden.exports));
|
|
58
|
+
return forbidden.exports;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { requireForbidden as __require };
|
|
62
|
+
//# sourceMappingURL=forbidden.js.map
|