@openwarelabs/blocks 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -12
- package/dist/app-shells/Shell01/Shell01.d.cts +6 -0
- package/dist/app-shells/Shell01/Shell01.d.ts +6 -0
- package/dist/app-shells/Shell01/Shell01.types.d.cts +48 -0
- package/dist/app-shells/Shell01/Shell01.types.d.ts +48 -0
- package/dist/app-shells/Shell02/Shell02.d.cts +7 -0
- package/dist/app-shells/Shell02/Shell02.d.ts +7 -0
- package/dist/app-shells/Shell02/Shell02.types.d.cts +50 -0
- package/dist/app-shells/Shell02/Shell02.types.d.ts +50 -0
- package/dist/app-shells/Shell03/Shell03.d.cts +6 -0
- package/dist/app-shells/Shell03/Shell03.d.ts +6 -0
- package/dist/app-shells/Shell03/Shell03.types.d.cts +73 -0
- package/dist/app-shells/Shell03/Shell03.types.d.ts +73 -0
- package/dist/app-shells/Shell04/Shell04.d.cts +6 -0
- package/dist/app-shells/Shell04/Shell04.d.ts +6 -0
- package/dist/app-shells/Shell04/Shell04.types.d.cts +68 -0
- package/dist/app-shells/Shell04/Shell04.types.d.ts +68 -0
- package/dist/blog/Blog01/Blog01.d.cts +3 -0
- package/dist/blog/Blog01/Blog01.d.ts +3 -0
- package/dist/blog/Blog01/Blog01.types.d.cts +55 -0
- package/dist/blog/Blog01/Blog01.types.d.ts +55 -0
- package/dist/blog/Blog02/Blog02.d.cts +3 -0
- package/dist/blog/Blog02/Blog02.d.ts +3 -0
- package/dist/blog/Blog02/Blog02.types.d.cts +51 -0
- package/dist/blog/Blog02/Blog02.types.d.ts +51 -0
- package/dist/blog/Blog03/Blog03.d.cts +3 -0
- package/dist/blog/Blog03/Blog03.d.ts +3 -0
- package/dist/blog/Blog03/Blog03.types.d.cts +66 -0
- package/dist/blog/Blog03/Blog03.types.d.ts +66 -0
- package/dist/blog/Blog04/Blog04.d.cts +3 -0
- package/dist/blog/Blog04/Blog04.d.ts +3 -0
- package/dist/blog/Blog04/Blog04.types.d.cts +64 -0
- package/dist/blog/Blog04/Blog04.types.d.ts +64 -0
- package/dist/calls-to-action/Cta01/Cta01.d.cts +3 -0
- package/dist/calls-to-action/Cta01/Cta01.d.ts +3 -0
- package/dist/calls-to-action/Cta01/Cta01.types.d.cts +14 -0
- package/dist/calls-to-action/Cta01/Cta01.types.d.ts +14 -0
- package/dist/calls-to-action/Cta02/Cta02.d.cts +3 -0
- package/dist/calls-to-action/Cta02/Cta02.d.ts +3 -0
- package/dist/calls-to-action/Cta02/Cta02.types.d.cts +16 -0
- package/dist/calls-to-action/Cta02/Cta02.types.d.ts +16 -0
- package/dist/calls-to-action/Cta03/Cta03.d.cts +3 -0
- package/dist/calls-to-action/Cta03/Cta03.d.ts +3 -0
- package/dist/calls-to-action/Cta03/Cta03.types.d.cts +18 -0
- package/dist/calls-to-action/Cta03/Cta03.types.d.ts +18 -0
- package/dist/chat/Chat01/Chat01.d.cts +6 -0
- package/dist/chat/Chat01/Chat01.d.ts +6 -0
- package/dist/chat/Chat01/Chat01.types.d.cts +95 -0
- package/dist/chat/Chat01/Chat01.types.d.ts +95 -0
- package/dist/chat/Chat02/Chat02.d.cts +6 -0
- package/dist/chat/Chat02/Chat02.d.ts +6 -0
- package/dist/chat/Chat02/Chat02.types.d.cts +70 -0
- package/dist/chat/Chat02/Chat02.types.d.ts +70 -0
- package/dist/chat/Chat03/Chat03.d.cts +6 -0
- package/dist/chat/Chat03/Chat03.d.ts +6 -0
- package/dist/chat/Chat03/Chat03.types.d.cts +96 -0
- package/dist/chat/Chat03/Chat03.types.d.ts +96 -0
- package/dist/contact/Contact01/Contact01.d.cts +3 -0
- package/dist/contact/Contact01/Contact01.d.ts +3 -0
- package/dist/contact/Contact01/Contact01.types.d.cts +103 -0
- package/dist/contact/Contact01/Contact01.types.d.ts +103 -0
- package/dist/contact/Contact02/Contact02.d.cts +3 -0
- package/dist/contact/Contact02/Contact02.d.ts +3 -0
- package/dist/contact/Contact02/Contact02.types.d.cts +56 -0
- package/dist/contact/Contact02/Contact02.types.d.ts +56 -0
- package/dist/dashboards/Dashboard01/Dashboard01.d.cts +3 -0
- package/dist/dashboards/Dashboard01/Dashboard01.d.ts +3 -0
- package/dist/dashboards/Dashboard01/Dashboard01.types.d.cts +53 -0
- package/dist/dashboards/Dashboard01/Dashboard01.types.d.ts +53 -0
- package/dist/dashboards/Dashboard02/Dashboard02.d.cts +3 -0
- package/dist/dashboards/Dashboard02/Dashboard02.d.ts +3 -0
- package/dist/dashboards/Dashboard02/Dashboard02.types.d.cts +74 -0
- package/dist/dashboards/Dashboard02/Dashboard02.types.d.ts +74 -0
- package/dist/dashboards/Dashboard03/Dashboard03.d.cts +6 -0
- package/dist/dashboards/Dashboard03/Dashboard03.d.ts +6 -0
- package/dist/dashboards/Dashboard03/Dashboard03.types.d.cts +131 -0
- package/dist/dashboards/Dashboard03/Dashboard03.types.d.ts +131 -0
- package/dist/empty-states/Empty01/Empty01.d.cts +3 -0
- package/dist/empty-states/Empty01/Empty01.d.ts +3 -0
- package/dist/empty-states/Empty01/Empty01.types.d.cts +94 -0
- package/dist/empty-states/Empty01/Empty01.types.d.ts +94 -0
- package/dist/empty-states/Empty02/Empty02.d.cts +3 -0
- package/dist/empty-states/Empty02/Empty02.d.ts +3 -0
- package/dist/empty-states/Empty02/Empty02.types.d.cts +72 -0
- package/dist/empty-states/Empty02/Empty02.types.d.ts +72 -0
- package/dist/empty-states/Empty03/Empty03.d.cts +3 -0
- package/dist/empty-states/Empty03/Empty03.d.ts +3 -0
- package/dist/empty-states/Empty03/Empty03.types.d.cts +72 -0
- package/dist/empty-states/Empty03/Empty03.types.d.ts +72 -0
- package/dist/error-pages/ErrorPage01/ErrorPage01.d.cts +3 -0
- package/dist/error-pages/ErrorPage01/ErrorPage01.d.ts +3 -0
- package/dist/error-pages/ErrorPage01/ErrorPage01.types.d.cts +48 -0
- package/dist/error-pages/ErrorPage01/ErrorPage01.types.d.ts +48 -0
- package/dist/error-pages/ErrorPage02/ErrorPage02.d.cts +3 -0
- package/dist/error-pages/ErrorPage02/ErrorPage02.d.ts +3 -0
- package/dist/error-pages/ErrorPage02/ErrorPage02.types.d.cts +45 -0
- package/dist/error-pages/ErrorPage02/ErrorPage02.types.d.ts +45 -0
- package/dist/error-pages/ErrorPage03/ErrorPage03.d.cts +3 -0
- package/dist/error-pages/ErrorPage03/ErrorPage03.d.ts +3 -0
- package/dist/error-pages/ErrorPage03/ErrorPage03.types.d.cts +45 -0
- package/dist/error-pages/ErrorPage03/ErrorPage03.types.d.ts +45 -0
- package/dist/faq/Faq01/Faq01.d.cts +3 -0
- package/dist/faq/Faq01/Faq01.d.ts +3 -0
- package/dist/faq/Faq01/Faq01.types.d.cts +23 -0
- package/dist/faq/Faq01/Faq01.types.d.ts +23 -0
- package/dist/faq/Faq02/Faq02.d.cts +3 -0
- package/dist/faq/Faq02/Faq02.d.ts +3 -0
- package/dist/faq/Faq02/Faq02.types.d.cts +24 -0
- package/dist/faq/Faq02/Faq02.types.d.ts +24 -0
- package/dist/faq/Faq03/Faq03.d.cts +3 -0
- package/dist/faq/Faq03/Faq03.d.ts +3 -0
- package/dist/faq/Faq03/Faq03.types.d.cts +42 -0
- package/dist/faq/Faq03/Faq03.types.d.ts +42 -0
- package/dist/forms/Form01/Form01.d.cts +3 -0
- package/dist/forms/Form01/Form01.d.ts +3 -0
- package/dist/forms/Form01/Form01.types.d.cts +20 -0
- package/dist/forms/Form01/Form01.types.d.ts +20 -0
- package/dist/forms/Form02/Form02.d.cts +3 -0
- package/dist/forms/Form02/Form02.d.ts +3 -0
- package/dist/forms/Form02/Form02.types.d.cts +38 -0
- package/dist/forms/Form02/Form02.types.d.ts +38 -0
- package/dist/forms/Form03/Form03.d.cts +3 -0
- package/dist/forms/Form03/Form03.d.ts +3 -0
- package/dist/forms/Form03/Form03.types.d.cts +55 -0
- package/dist/forms/Form03/Form03.types.d.ts +55 -0
- package/dist/index.cjs +6244 -22
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.cts +141 -1
- package/dist/index.d.ts +141 -1
- package/dist/index.js +6274 -19
- package/dist/index.js.map +4 -4
- package/dist/lists-and-tables/List01/List01.d.cts +6 -0
- package/dist/lists-and-tables/List01/List01.d.ts +6 -0
- package/dist/lists-and-tables/List01/List01.types.d.cts +60 -0
- package/dist/lists-and-tables/List01/List01.types.d.ts +60 -0
- package/dist/lists-and-tables/List02/List02.d.cts +3 -0
- package/dist/lists-and-tables/List02/List02.d.ts +3 -0
- package/dist/lists-and-tables/List02/List02.types.d.cts +54 -0
- package/dist/lists-and-tables/List02/List02.types.d.ts +54 -0
- package/dist/lists-and-tables/List03/List03.d.cts +3 -0
- package/dist/lists-and-tables/List03/List03.d.ts +3 -0
- package/dist/lists-and-tables/List03/List03.types.d.cts +41 -0
- package/dist/lists-and-tables/List03/List03.types.d.ts +41 -0
- package/dist/lists-and-tables/List04/List04.d.cts +3 -0
- package/dist/lists-and-tables/List04/List04.d.ts +3 -0
- package/dist/lists-and-tables/List04/List04.types.d.cts +67 -0
- package/dist/lists-and-tables/List04/List04.types.d.ts +67 -0
- package/dist/logo-clouds/Logos01/Logos01.d.cts +3 -0
- package/dist/logo-clouds/Logos01/Logos01.d.ts +3 -0
- package/dist/logo-clouds/Logos01/Logos01.types.d.cts +13 -0
- package/dist/logo-clouds/Logos01/Logos01.types.d.ts +13 -0
- package/dist/logo-clouds/Logos02/Logos02.d.cts +3 -0
- package/dist/logo-clouds/Logos02/Logos02.d.ts +3 -0
- package/dist/logo-clouds/Logos02/Logos02.types.d.cts +28 -0
- package/dist/logo-clouds/Logos02/Logos02.types.d.ts +28 -0
- package/dist/logo-clouds/Logos03/Logos03.d.cts +3 -0
- package/dist/logo-clouds/Logos03/Logos03.d.ts +3 -0
- package/dist/logo-clouds/Logos03/Logos03.types.d.cts +23 -0
- package/dist/logo-clouds/Logos03/Logos03.types.d.ts +23 -0
- package/dist/newsletter/Newsletter01/Newsletter01.d.cts +3 -0
- package/dist/newsletter/Newsletter01/Newsletter01.d.ts +3 -0
- package/dist/newsletter/Newsletter01/Newsletter01.types.d.cts +39 -0
- package/dist/newsletter/Newsletter01/Newsletter01.types.d.ts +39 -0
- package/dist/newsletter/Newsletter02/Newsletter02.d.cts +3 -0
- package/dist/newsletter/Newsletter02/Newsletter02.d.ts +3 -0
- package/dist/newsletter/Newsletter02/Newsletter02.types.d.cts +42 -0
- package/dist/newsletter/Newsletter02/Newsletter02.types.d.ts +42 -0
- package/dist/notifications/Notifications01/Notifications01.d.cts +3 -0
- package/dist/notifications/Notifications01/Notifications01.d.ts +3 -0
- package/dist/notifications/Notifications01/Notifications01.types.d.cts +74 -0
- package/dist/notifications/Notifications01/Notifications01.types.d.ts +74 -0
- package/dist/notifications/Notifications02/Notifications02.d.cts +3 -0
- package/dist/notifications/Notifications02/Notifications02.d.ts +3 -0
- package/dist/notifications/Notifications02/Notifications02.types.d.cts +65 -0
- package/dist/notifications/Notifications02/Notifications02.types.d.ts +65 -0
- package/dist/notifications/Notifications03/Notifications03.d.cts +3 -0
- package/dist/notifications/Notifications03/Notifications03.d.ts +3 -0
- package/dist/notifications/Notifications03/Notifications03.types.d.cts +87 -0
- package/dist/notifications/Notifications03/Notifications03.types.d.ts +87 -0
- package/dist/onboarding/Onboarding01/Onboarding01.d.cts +3 -0
- package/dist/onboarding/Onboarding01/Onboarding01.d.ts +3 -0
- package/dist/onboarding/Onboarding01/Onboarding01.types.d.cts +46 -0
- package/dist/onboarding/Onboarding01/Onboarding01.types.d.ts +46 -0
- package/dist/onboarding/Onboarding02/Onboarding02.d.cts +3 -0
- package/dist/onboarding/Onboarding02/Onboarding02.d.ts +3 -0
- package/dist/onboarding/Onboarding02/Onboarding02.types.d.cts +68 -0
- package/dist/onboarding/Onboarding02/Onboarding02.types.d.ts +68 -0
- package/dist/onboarding/Onboarding03/Onboarding03.d.cts +3 -0
- package/dist/onboarding/Onboarding03/Onboarding03.d.ts +3 -0
- package/dist/onboarding/Onboarding03/Onboarding03.types.d.cts +38 -0
- package/dist/onboarding/Onboarding03/Onboarding03.types.d.ts +38 -0
- package/dist/page-headings/PageHeading01/PageHeading01.d.cts +6 -0
- package/dist/page-headings/PageHeading01/PageHeading01.d.ts +6 -0
- package/dist/page-headings/PageHeading01/PageHeading01.types.d.cts +35 -0
- package/dist/page-headings/PageHeading01/PageHeading01.types.d.ts +35 -0
- package/dist/page-headings/PageHeading02/PageHeading02.d.cts +3 -0
- package/dist/page-headings/PageHeading02/PageHeading02.d.ts +3 -0
- package/dist/page-headings/PageHeading02/PageHeading02.types.d.cts +49 -0
- package/dist/page-headings/PageHeading02/PageHeading02.types.d.ts +49 -0
- package/dist/page-headings/PageHeading03/PageHeading03.d.cts +6 -0
- package/dist/page-headings/PageHeading03/PageHeading03.d.ts +6 -0
- package/dist/page-headings/PageHeading03/PageHeading03.types.d.cts +83 -0
- package/dist/page-headings/PageHeading03/PageHeading03.types.d.ts +83 -0
- package/dist/section-headings/SectionHeading01/SectionHeading01.d.cts +3 -0
- package/dist/section-headings/SectionHeading01/SectionHeading01.d.ts +3 -0
- package/dist/section-headings/SectionHeading01/SectionHeading01.types.d.cts +9 -0
- package/dist/section-headings/SectionHeading01/SectionHeading01.types.d.ts +9 -0
- package/dist/section-headings/SectionHeading02/SectionHeading02.d.cts +3 -0
- package/dist/section-headings/SectionHeading02/SectionHeading02.d.ts +3 -0
- package/dist/section-headings/SectionHeading02/SectionHeading02.types.d.cts +12 -0
- package/dist/section-headings/SectionHeading02/SectionHeading02.types.d.ts +12 -0
- package/dist/section-headings/SectionHeading03/SectionHeading03.d.cts +3 -0
- package/dist/section-headings/SectionHeading03/SectionHeading03.d.ts +3 -0
- package/dist/section-headings/SectionHeading03/SectionHeading03.types.d.cts +12 -0
- package/dist/section-headings/SectionHeading03/SectionHeading03.types.d.ts +12 -0
- package/dist/settings/Settings01/Settings01.d.cts +3 -0
- package/dist/settings/Settings01/Settings01.d.ts +3 -0
- package/dist/settings/Settings01/Settings01.types.d.cts +46 -0
- package/dist/settings/Settings01/Settings01.types.d.ts +46 -0
- package/dist/settings/Settings02/Settings02.d.cts +3 -0
- package/dist/settings/Settings02/Settings02.d.ts +3 -0
- package/dist/settings/Settings02/Settings02.types.d.cts +45 -0
- package/dist/settings/Settings02/Settings02.types.d.ts +45 -0
- package/dist/settings/Settings03/Settings03.d.cts +3 -0
- package/dist/settings/Settings03/Settings03.d.ts +3 -0
- package/dist/settings/Settings03/Settings03.types.d.cts +132 -0
- package/dist/settings/Settings03/Settings03.types.d.ts +132 -0
- package/dist/settings/Settings04/Settings04.d.cts +3 -0
- package/dist/settings/Settings04/Settings04.d.ts +3 -0
- package/dist/settings/Settings04/Settings04.types.d.cts +124 -0
- package/dist/settings/Settings04/Settings04.types.d.ts +124 -0
- package/dist/settings/Settings05/Settings05.d.cts +3 -0
- package/dist/settings/Settings05/Settings05.d.ts +3 -0
- package/dist/settings/Settings05/Settings05.types.d.cts +94 -0
- package/dist/settings/Settings05/Settings05.types.d.ts +94 -0
- package/dist/shared/AppWorkspaceItems.d.cts +3 -0
- package/dist/shared/AppWorkspaceItems.d.ts +3 -0
- package/dist/shared/BlockActions.d.cts +1 -1
- package/dist/shared/BlockActions.d.ts +1 -1
- package/dist/shared/BlockMenuItems.d.cts +3 -0
- package/dist/shared/BlockMenuItems.d.ts +3 -0
- package/dist/shared/appShell.d.cts +19 -0
- package/dist/shared/appShell.d.ts +19 -0
- package/dist/shared/icons.d.cts +59 -13
- package/dist/shared/icons.d.ts +59 -13
- package/dist/shared/shared.types.d.cts +128 -0
- package/dist/shared/shared.types.d.ts +128 -0
- package/dist/shared/tableColumns.d.cts +10 -0
- package/dist/shared/tableColumns.d.ts +10 -0
- package/dist/sign-in/SignIn01/SignIn01.d.cts +3 -0
- package/dist/sign-in/SignIn01/SignIn01.d.ts +3 -0
- package/dist/sign-in/SignIn01/SignIn01.types.d.cts +52 -0
- package/dist/sign-in/SignIn01/SignIn01.types.d.ts +52 -0
- package/dist/sign-in/SignIn02/SignIn02.d.cts +3 -0
- package/dist/sign-in/SignIn02/SignIn02.d.ts +3 -0
- package/dist/sign-in/SignIn02/SignIn02.types.d.cts +79 -0
- package/dist/sign-in/SignIn02/SignIn02.types.d.ts +79 -0
- package/dist/sign-in/SignIn03/SignIn03.d.cts +3 -0
- package/dist/sign-in/SignIn03/SignIn03.d.ts +3 -0
- package/dist/sign-in/SignIn03/SignIn03.types.d.cts +51 -0
- package/dist/sign-in/SignIn03/SignIn03.types.d.ts +51 -0
- package/dist/sign-in/SignIn04/SignIn04.d.cts +3 -0
- package/dist/sign-in/SignIn04/SignIn04.d.ts +3 -0
- package/dist/sign-in/SignIn04/SignIn04.types.d.cts +56 -0
- package/dist/sign-in/SignIn04/SignIn04.types.d.ts +56 -0
- package/dist/sign-in/SignIn05/SignIn05.d.cts +3 -0
- package/dist/sign-in/SignIn05/SignIn05.d.ts +3 -0
- package/dist/sign-in/SignIn05/SignIn05.types.d.cts +86 -0
- package/dist/sign-in/SignIn05/SignIn05.types.d.ts +86 -0
- package/dist/stats/Stats01/Stats01.d.cts +3 -0
- package/dist/stats/Stats01/Stats01.d.ts +3 -0
- package/dist/stats/Stats01/Stats01.types.d.cts +19 -0
- package/dist/stats/Stats01/Stats01.types.d.ts +19 -0
- package/dist/stats/Stats02/Stats02.d.cts +3 -0
- package/dist/stats/Stats02/Stats02.d.ts +3 -0
- package/dist/stats/Stats02/Stats02.types.d.cts +30 -0
- package/dist/stats/Stats02/Stats02.types.d.ts +30 -0
- package/dist/stats/Stats03/Stats03.d.cts +3 -0
- package/dist/stats/Stats03/Stats03.d.ts +3 -0
- package/dist/stats/Stats03/Stats03.types.d.cts +24 -0
- package/dist/stats/Stats03/Stats03.types.d.ts +24 -0
- package/dist/styles.css +12065 -2457
- package/dist/team/Team01/Team01.d.cts +3 -0
- package/dist/team/Team01/Team01.d.ts +3 -0
- package/dist/team/Team01/Team01.types.d.cts +25 -0
- package/dist/team/Team01/Team01.types.d.ts +25 -0
- package/dist/team/Team02/Team02.d.cts +3 -0
- package/dist/team/Team02/Team02.d.ts +3 -0
- package/dist/team/Team02/Team02.types.d.cts +37 -0
- package/dist/team/Team02/Team02.types.d.ts +37 -0
- package/dist/testimonials/Testimonial01/Testimonial01.d.cts +3 -0
- package/dist/testimonials/Testimonial01/Testimonial01.d.ts +3 -0
- package/dist/testimonials/Testimonial01/Testimonial01.types.d.cts +21 -0
- package/dist/testimonials/Testimonial01/Testimonial01.types.d.ts +21 -0
- package/dist/testimonials/Testimonial02/Testimonial02.d.cts +3 -0
- package/dist/testimonials/Testimonial02/Testimonial02.d.ts +3 -0
- package/dist/testimonials/Testimonial02/Testimonial02.types.d.cts +25 -0
- package/dist/testimonials/Testimonial02/Testimonial02.types.d.ts +25 -0
- package/dist/testimonials/Testimonial03/Testimonial03.d.cts +3 -0
- package/dist/testimonials/Testimonial03/Testimonial03.d.ts +3 -0
- package/dist/testimonials/Testimonial03/Testimonial03.types.d.cts +45 -0
- package/dist/testimonials/Testimonial03/Testimonial03.types.d.ts +45 -0
- package/package.json +2 -2
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { SelectOption } from "@openwarelabs/ui";
|
|
3
|
+
/** A way notifications reach someone, as a column of switches. */
|
|
4
|
+
export interface Notifications03Channel {
|
|
5
|
+
/** Tells them apart, in the settings: "email". */
|
|
6
|
+
id: string;
|
|
7
|
+
/** The column's heading: "Email". */
|
|
8
|
+
label: string;
|
|
9
|
+
/** A 15px icon beside it, usually from lucide-react. */
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
}
|
|
12
|
+
/** Something that can send a notification, as a row of switches. */
|
|
13
|
+
export interface Notifications03Event {
|
|
14
|
+
/** Tells them apart, in the settings: "review-requested". */
|
|
15
|
+
id: string;
|
|
16
|
+
/** What happens: "Someone asks for your review". */
|
|
17
|
+
label: ReactNode;
|
|
18
|
+
/** A caption under it. */
|
|
19
|
+
description?: ReactNode;
|
|
20
|
+
/** The ids of channels it can't use at all: a dash instead of a switch. */
|
|
21
|
+
unavailable?: string[];
|
|
22
|
+
}
|
|
23
|
+
/** Events under a small heading. */
|
|
24
|
+
export interface Notifications03Group {
|
|
25
|
+
/** The heading: "Reviews". */
|
|
26
|
+
label: ReactNode;
|
|
27
|
+
events: Notifications03Event[];
|
|
28
|
+
}
|
|
29
|
+
/** Which channels each event reaches, by event id. An event that's missing reaches none. */
|
|
30
|
+
export type Notifications03Value = Record<string, string[]>;
|
|
31
|
+
/** One switch flipped, as given to `onChange`. */
|
|
32
|
+
export interface Notifications03Change {
|
|
33
|
+
event: string;
|
|
34
|
+
channel: string;
|
|
35
|
+
on: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** A setting under the grid, as a row with its control on the right. */
|
|
38
|
+
export type Notifications03Option = {
|
|
39
|
+
kind: "select";
|
|
40
|
+
/** Tells them apart, in `onOptionChange`. */
|
|
41
|
+
id: string;
|
|
42
|
+
label: string;
|
|
43
|
+
description?: ReactNode;
|
|
44
|
+
options: SelectOption[];
|
|
45
|
+
defaultValue: string;
|
|
46
|
+
} | {
|
|
47
|
+
kind: "switch";
|
|
48
|
+
/** Tells them apart, in `onOptionChange`. */
|
|
49
|
+
id: string;
|
|
50
|
+
label: string;
|
|
51
|
+
description?: ReactNode;
|
|
52
|
+
defaultValue: boolean;
|
|
53
|
+
};
|
|
54
|
+
/** The words that aren't content, in English unless you pass your own. */
|
|
55
|
+
export interface Notifications03Labels {
|
|
56
|
+
/** The grid's corner, over the events. @default "Event" */
|
|
57
|
+
event?: string;
|
|
58
|
+
/** Beside an event that reaches no channel. @default "Muted" */
|
|
59
|
+
muted?: string;
|
|
60
|
+
/** Read out for a dash. @default (channel) => `Not sent by ${channel.toLowerCase()}` */
|
|
61
|
+
unavailable?(channel: string): string;
|
|
62
|
+
/** The heading over `options`. @default "Delivery" */
|
|
63
|
+
options?: string;
|
|
64
|
+
/** Shown for a moment after each change. @default "Saved" */
|
|
65
|
+
saved?: string;
|
|
66
|
+
}
|
|
67
|
+
export interface Notifications03Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children" | "defaultValue" | "onChange"> {
|
|
68
|
+
/** The page's heading: "Notifications". */
|
|
69
|
+
title: ReactNode;
|
|
70
|
+
/** A sentence under it. */
|
|
71
|
+
description?: ReactNode;
|
|
72
|
+
/** The columns. */
|
|
73
|
+
channels: Notifications03Channel[];
|
|
74
|
+
/** The rows, in groups. */
|
|
75
|
+
groups: Notifications03Group[];
|
|
76
|
+
/** Which channels each event reaches, for controlled use. */
|
|
77
|
+
value?: Notifications03Value;
|
|
78
|
+
/** Where it starts, when it isn't controlled. */
|
|
79
|
+
defaultValue?: Notifications03Value;
|
|
80
|
+
/** Runs on every switch in the grid, with the new settings and what changed: save them. */
|
|
81
|
+
onChange?(value: Notifications03Value, change: Notifications03Change): void;
|
|
82
|
+
/** Settings under the grid, such as how often emails go and quiet hours. */
|
|
83
|
+
options?: Notifications03Option[];
|
|
84
|
+
/** Runs when one of `options` changes: save it. */
|
|
85
|
+
onOptionChange?(id: string, value: string | boolean): void;
|
|
86
|
+
labels?: Notifications03Labels;
|
|
87
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Onboarding01Props } from "./Onboarding01.types.cjs";
|
|
2
|
+
/** A first-run checklist on a panel: what it's for and the progress on the left, the steps on the right with the current one's action beside it. */
|
|
3
|
+
export declare function Onboarding01({ eyebrow, title, description, finishedTitle, finishedDescription, steps, stepsTitle, defaultCompleted, onStepComplete, help, finishedAction, labels, className, ...props }: Onboarding01Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Onboarding01Props } from "./Onboarding01.types.js";
|
|
2
|
+
/** A first-run checklist on a panel: what it's for and the progress on the left, the steps on the right with the current one's action beside it. */
|
|
3
|
+
export declare function Onboarding01({ eyebrow, title, description, finishedTitle, finishedDescription, steps, stepsTitle, defaultCompleted, onStepComplete, help, finishedAction, labels, className, ...props }: Onboarding01Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockAction } from "../../shared/shared.types.cjs";
|
|
3
|
+
export interface Onboarding01Labels {
|
|
4
|
+
/** The progress bar's label. @default "Setup" */
|
|
5
|
+
progress?: string;
|
|
6
|
+
/** The button that starts the checklist again, once it's done. @default "Run setup again" */
|
|
7
|
+
restart?: string;
|
|
8
|
+
}
|
|
9
|
+
/** One step of the checklist. */
|
|
10
|
+
export interface Onboarding01Step {
|
|
11
|
+
/** What to do: "Invite your team". */
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
/** A line under it, while it isn't done. */
|
|
14
|
+
description?: ReactNode;
|
|
15
|
+
/** The button beside the step while it's the current one: "Invite people". */
|
|
16
|
+
actionLabel: ReactNode;
|
|
17
|
+
/** Does the step: opens the invite dialog, the issue picker and so on. While its promise is pending the button shows a spinner; when it resolves the step is ticked off and the next one opens. */
|
|
18
|
+
onAction?(): void | Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface Onboarding01Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
|
|
21
|
+
/** A short line over the heading, after a brass dot: "Getting started". */
|
|
22
|
+
eyebrow?: ReactNode;
|
|
23
|
+
/** The heading while there are steps to do: "Get Acme ready for your team". */
|
|
24
|
+
title: ReactNode;
|
|
25
|
+
/** A line under it. */
|
|
26
|
+
description?: ReactNode;
|
|
27
|
+
/** The heading once every step is done. @default the title */
|
|
28
|
+
finishedTitle?: ReactNode;
|
|
29
|
+
/** The line under it then. @default the description */
|
|
30
|
+
finishedDescription?: ReactNode;
|
|
31
|
+
/** The steps, in order. */
|
|
32
|
+
steps: Onboarding01Step[];
|
|
33
|
+
/** The heading over the checklist, with a "2 of 5 done" count beside it. */
|
|
34
|
+
stepsTitle?: ReactNode;
|
|
35
|
+
/** How many steps are already done when it opens.
|
|
36
|
+
* @default 0 */
|
|
37
|
+
defaultCompleted?: number;
|
|
38
|
+
/** Called with a step's index once it's done. */
|
|
39
|
+
onStepComplete?(index: number): void;
|
|
40
|
+
/** Under the progress while there are steps to do: where to get help. */
|
|
41
|
+
help?: ReactNode;
|
|
42
|
+
/** The button once every step is done: "Go to overview". */
|
|
43
|
+
finishedAction?: BlockAction;
|
|
44
|
+
/** Words that aren't content (the progress bar's label, the restart button), in English unless you pass your own. */
|
|
45
|
+
labels?: Onboarding01Labels;
|
|
46
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockAction } from "../../shared/shared.types.js";
|
|
3
|
+
export interface Onboarding01Labels {
|
|
4
|
+
/** The progress bar's label. @default "Setup" */
|
|
5
|
+
progress?: string;
|
|
6
|
+
/** The button that starts the checklist again, once it's done. @default "Run setup again" */
|
|
7
|
+
restart?: string;
|
|
8
|
+
}
|
|
9
|
+
/** One step of the checklist. */
|
|
10
|
+
export interface Onboarding01Step {
|
|
11
|
+
/** What to do: "Invite your team". */
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
/** A line under it, while it isn't done. */
|
|
14
|
+
description?: ReactNode;
|
|
15
|
+
/** The button beside the step while it's the current one: "Invite people". */
|
|
16
|
+
actionLabel: ReactNode;
|
|
17
|
+
/** Does the step: opens the invite dialog, the issue picker and so on. While its promise is pending the button shows a spinner; when it resolves the step is ticked off and the next one opens. */
|
|
18
|
+
onAction?(): void | Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export interface Onboarding01Props extends Omit<HTMLAttributes<HTMLElement>, "title" | "children"> {
|
|
21
|
+
/** A short line over the heading, after a brass dot: "Getting started". */
|
|
22
|
+
eyebrow?: ReactNode;
|
|
23
|
+
/** The heading while there are steps to do: "Get Acme ready for your team". */
|
|
24
|
+
title: ReactNode;
|
|
25
|
+
/** A line under it. */
|
|
26
|
+
description?: ReactNode;
|
|
27
|
+
/** The heading once every step is done. @default the title */
|
|
28
|
+
finishedTitle?: ReactNode;
|
|
29
|
+
/** The line under it then. @default the description */
|
|
30
|
+
finishedDescription?: ReactNode;
|
|
31
|
+
/** The steps, in order. */
|
|
32
|
+
steps: Onboarding01Step[];
|
|
33
|
+
/** The heading over the checklist, with a "2 of 5 done" count beside it. */
|
|
34
|
+
stepsTitle?: ReactNode;
|
|
35
|
+
/** How many steps are already done when it opens.
|
|
36
|
+
* @default 0 */
|
|
37
|
+
defaultCompleted?: number;
|
|
38
|
+
/** Called with a step's index once it's done. */
|
|
39
|
+
onStepComplete?(index: number): void;
|
|
40
|
+
/** Under the progress while there are steps to do: where to get help. */
|
|
41
|
+
help?: ReactNode;
|
|
42
|
+
/** The button once every step is done: "Go to overview". */
|
|
43
|
+
finishedAction?: BlockAction;
|
|
44
|
+
/** Words that aren't content (the progress bar's label, the restart button), in English unless you pass your own. */
|
|
45
|
+
labels?: Onboarding01Labels;
|
|
46
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Onboarding02Props } from "./Onboarding02.types.cjs";
|
|
2
|
+
/** A setup screen: the brand and progress along the top, two or three ChoiceCards for how to start, each opening a short page of its own. */
|
|
3
|
+
export declare function Onboarding02({ brand, progress, skip, title, description, choices, note, doneTitle, doneDescription, doneAction, onFinish, labels, className, ...props }: Onboarding02Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Onboarding02Props } from "./Onboarding02.types.js";
|
|
2
|
+
/** A setup screen: the brand and progress along the top, two or three ChoiceCards for how to start, each opening a short page of its own. */
|
|
3
|
+
export declare function Onboarding02({ brand, progress, skip, title, description, choices, note, doneTitle, doneDescription, doneAction, onFinish, labels, className, ...props }: Onboarding02Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockAction } from "../../shared/shared.types.cjs";
|
|
3
|
+
export interface Onboarding02Labels {
|
|
4
|
+
/** The progress strip's name for screen readers. @default "Setup" */
|
|
5
|
+
progress?: string;
|
|
6
|
+
/** The badge on a recommended choice. @default "Recommended" */
|
|
7
|
+
recommended?: string;
|
|
8
|
+
/** The button on the last page that goes back to the choice. @default "Start again" */
|
|
9
|
+
startAgain?: string;
|
|
10
|
+
}
|
|
11
|
+
/** What a choice's page gets to move on with. */
|
|
12
|
+
export interface Onboarding02Controls {
|
|
13
|
+
/** Back to the choice. */
|
|
14
|
+
back(): void;
|
|
15
|
+
/** On to the last page, given what was made: "billing-api". */
|
|
16
|
+
finish(name: string): void;
|
|
17
|
+
}
|
|
18
|
+
/** One way to start, as a card, and the page it opens. */
|
|
19
|
+
export interface Onboarding02Choice {
|
|
20
|
+
/** Names it for `onFinish`. */
|
|
21
|
+
id: string;
|
|
22
|
+
/** The card's title: "Use a template". */
|
|
23
|
+
title: string;
|
|
24
|
+
/** The card's line: what it gives you. */
|
|
25
|
+
description: string;
|
|
26
|
+
/** A 20px icon on the card. */
|
|
27
|
+
icon?: ReactNode;
|
|
28
|
+
/** Marks the card, with a badge in its corner. */
|
|
29
|
+
recommended?: boolean;
|
|
30
|
+
/** The heading of the page it opens: "Pick a template". */
|
|
31
|
+
heading: ReactNode;
|
|
32
|
+
/** A line under it. */
|
|
33
|
+
lead?: ReactNode;
|
|
34
|
+
/** The page's content: a small form or list on a card, with a Back button that calls `back` and an action that calls `finish`. */
|
|
35
|
+
render(controls: Onboarding02Controls): ReactNode;
|
|
36
|
+
}
|
|
37
|
+
export interface Onboarding02Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children"> {
|
|
38
|
+
/** The product's name at the top left, with its mark before it (an `<img>` or an inline SVG about 22px square). */
|
|
39
|
+
brand: {
|
|
40
|
+
name: ReactNode;
|
|
41
|
+
logo?: ReactNode;
|
|
42
|
+
};
|
|
43
|
+
/** The setup's steps along the top, and which one this is. On the last page the next one is current. */
|
|
44
|
+
progress?: {
|
|
45
|
+
steps: ReactNode[];
|
|
46
|
+
current: number;
|
|
47
|
+
};
|
|
48
|
+
/** A quiet button at the top right: "Skip for now". */
|
|
49
|
+
skip?: BlockAction;
|
|
50
|
+
/** The choice's heading: "How do you want to start?". */
|
|
51
|
+
title: ReactNode;
|
|
52
|
+
/** A line under it. */
|
|
53
|
+
description?: ReactNode;
|
|
54
|
+
/** Two or three ways to start, as cards side by side. */
|
|
55
|
+
choices: Onboarding02Choice[];
|
|
56
|
+
/** A line under the cards, with a 16px icon first if you like. */
|
|
57
|
+
note?: ReactNode;
|
|
58
|
+
/** The last page's heading, given what was made. @default `${name} is ready` */
|
|
59
|
+
doneTitle?(name: string): ReactNode;
|
|
60
|
+
/** The last page's line: what comes next. */
|
|
61
|
+
doneDescription?: ReactNode;
|
|
62
|
+
/** The last page's button: "Invite your team". */
|
|
63
|
+
doneAction?: BlockAction;
|
|
64
|
+
/** Called when a choice's page finishes, with the choice's id and what was made. */
|
|
65
|
+
onFinish?(choice: string, name: string): void;
|
|
66
|
+
/** Words that aren't content (names for screen readers, the badge, a button), in English unless you pass your own. */
|
|
67
|
+
labels?: Onboarding02Labels;
|
|
68
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockAction } from "../../shared/shared.types.js";
|
|
3
|
+
export interface Onboarding02Labels {
|
|
4
|
+
/** The progress strip's name for screen readers. @default "Setup" */
|
|
5
|
+
progress?: string;
|
|
6
|
+
/** The badge on a recommended choice. @default "Recommended" */
|
|
7
|
+
recommended?: string;
|
|
8
|
+
/** The button on the last page that goes back to the choice. @default "Start again" */
|
|
9
|
+
startAgain?: string;
|
|
10
|
+
}
|
|
11
|
+
/** What a choice's page gets to move on with. */
|
|
12
|
+
export interface Onboarding02Controls {
|
|
13
|
+
/** Back to the choice. */
|
|
14
|
+
back(): void;
|
|
15
|
+
/** On to the last page, given what was made: "billing-api". */
|
|
16
|
+
finish(name: string): void;
|
|
17
|
+
}
|
|
18
|
+
/** One way to start, as a card, and the page it opens. */
|
|
19
|
+
export interface Onboarding02Choice {
|
|
20
|
+
/** Names it for `onFinish`. */
|
|
21
|
+
id: string;
|
|
22
|
+
/** The card's title: "Use a template". */
|
|
23
|
+
title: string;
|
|
24
|
+
/** The card's line: what it gives you. */
|
|
25
|
+
description: string;
|
|
26
|
+
/** A 20px icon on the card. */
|
|
27
|
+
icon?: ReactNode;
|
|
28
|
+
/** Marks the card, with a badge in its corner. */
|
|
29
|
+
recommended?: boolean;
|
|
30
|
+
/** The heading of the page it opens: "Pick a template". */
|
|
31
|
+
heading: ReactNode;
|
|
32
|
+
/** A line under it. */
|
|
33
|
+
lead?: ReactNode;
|
|
34
|
+
/** The page's content: a small form or list on a card, with a Back button that calls `back` and an action that calls `finish`. */
|
|
35
|
+
render(controls: Onboarding02Controls): ReactNode;
|
|
36
|
+
}
|
|
37
|
+
export interface Onboarding02Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children"> {
|
|
38
|
+
/** The product's name at the top left, with its mark before it (an `<img>` or an inline SVG about 22px square). */
|
|
39
|
+
brand: {
|
|
40
|
+
name: ReactNode;
|
|
41
|
+
logo?: ReactNode;
|
|
42
|
+
};
|
|
43
|
+
/** The setup's steps along the top, and which one this is. On the last page the next one is current. */
|
|
44
|
+
progress?: {
|
|
45
|
+
steps: ReactNode[];
|
|
46
|
+
current: number;
|
|
47
|
+
};
|
|
48
|
+
/** A quiet button at the top right: "Skip for now". */
|
|
49
|
+
skip?: BlockAction;
|
|
50
|
+
/** The choice's heading: "How do you want to start?". */
|
|
51
|
+
title: ReactNode;
|
|
52
|
+
/** A line under it. */
|
|
53
|
+
description?: ReactNode;
|
|
54
|
+
/** Two or three ways to start, as cards side by side. */
|
|
55
|
+
choices: Onboarding02Choice[];
|
|
56
|
+
/** A line under the cards, with a 16px icon first if you like. */
|
|
57
|
+
note?: ReactNode;
|
|
58
|
+
/** The last page's heading, given what was made. @default `${name} is ready` */
|
|
59
|
+
doneTitle?(name: string): ReactNode;
|
|
60
|
+
/** The last page's line: what comes next. */
|
|
61
|
+
doneDescription?: ReactNode;
|
|
62
|
+
/** The last page's button: "Invite your team". */
|
|
63
|
+
doneAction?: BlockAction;
|
|
64
|
+
/** Called when a choice's page finishes, with the choice's id and what was made. */
|
|
65
|
+
onFinish?(choice: string, name: string): void;
|
|
66
|
+
/** Words that aren't content (names for screen readers, the badge, a button), in English unless you pass your own. */
|
|
67
|
+
labels?: Onboarding02Labels;
|
|
68
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Onboarding03Props } from "./Onboarding03.types.cjs";
|
|
2
|
+
/** A short dialog for what's new: a picture, a few changes with their icons, and one button to carry on. */
|
|
3
|
+
export declare function Onboarding03({ eyebrow, title, description, visual, changes, link, open: openProp, defaultOpen, onOpenChange, labels, className, ...props }: Onboarding03Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Onboarding03Props } from "./Onboarding03.types.js";
|
|
2
|
+
/** A short dialog for what's new: a picture, a few changes with their icons, and one button to carry on. */
|
|
3
|
+
export declare function Onboarding03({ eyebrow, title, description, visual, changes, link, open: openProp, defaultOpen, onOpenChange, labels, className, ...props }: Onboarding03Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockLink } from "../../shared/shared.types.cjs";
|
|
3
|
+
export interface Onboarding03Labels {
|
|
4
|
+
/** The button that closes it. @default "Continue" */
|
|
5
|
+
continue?: string;
|
|
6
|
+
}
|
|
7
|
+
/** One change in the list. */
|
|
8
|
+
export interface Onboarding03Change {
|
|
9
|
+
/** A 15px icon on a tinted square before it. */
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
/** What changed: "One place for reviews". */
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
/** A line under it. */
|
|
14
|
+
description?: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export interface Onboarding03Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children"> {
|
|
17
|
+
/** A short line over the title, after a brass dot: "October update". */
|
|
18
|
+
eyebrow?: ReactNode;
|
|
19
|
+
/** The dialog's title: "What's new in Acme". */
|
|
20
|
+
title: ReactNode;
|
|
21
|
+
/** A line under it. */
|
|
22
|
+
description?: ReactNode;
|
|
23
|
+
/** A picture over the list: a screenshot, a short video, or one drawn with components. */
|
|
24
|
+
visual?: ReactNode;
|
|
25
|
+
/** The changes, in order. */
|
|
26
|
+
changes: Onboarding03Change[];
|
|
27
|
+
/** A quiet link on the left of the button, such as "Read the changelog". */
|
|
28
|
+
link?: BlockLink;
|
|
29
|
+
/** Whether it's open, to control it from outside (from a "What's new" button, say). */
|
|
30
|
+
open?: boolean;
|
|
31
|
+
/** Whether it starts open, when `open` isn't given.
|
|
32
|
+
* @default true */
|
|
33
|
+
defaultOpen?: boolean;
|
|
34
|
+
/** Called when it closes: by Continue, Escape or the backdrop. */
|
|
35
|
+
onOpenChange?(open: boolean): void;
|
|
36
|
+
/** Words that aren't content (the button), in English unless you pass your own. */
|
|
37
|
+
labels?: Onboarding03Labels;
|
|
38
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockLink } from "../../shared/shared.types.js";
|
|
3
|
+
export interface Onboarding03Labels {
|
|
4
|
+
/** The button that closes it. @default "Continue" */
|
|
5
|
+
continue?: string;
|
|
6
|
+
}
|
|
7
|
+
/** One change in the list. */
|
|
8
|
+
export interface Onboarding03Change {
|
|
9
|
+
/** A 15px icon on a tinted square before it. */
|
|
10
|
+
icon?: ReactNode;
|
|
11
|
+
/** What changed: "One place for reviews". */
|
|
12
|
+
title: ReactNode;
|
|
13
|
+
/** A line under it. */
|
|
14
|
+
description?: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export interface Onboarding03Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children"> {
|
|
17
|
+
/** A short line over the title, after a brass dot: "October update". */
|
|
18
|
+
eyebrow?: ReactNode;
|
|
19
|
+
/** The dialog's title: "What's new in Acme". */
|
|
20
|
+
title: ReactNode;
|
|
21
|
+
/** A line under it. */
|
|
22
|
+
description?: ReactNode;
|
|
23
|
+
/** A picture over the list: a screenshot, a short video, or one drawn with components. */
|
|
24
|
+
visual?: ReactNode;
|
|
25
|
+
/** The changes, in order. */
|
|
26
|
+
changes: Onboarding03Change[];
|
|
27
|
+
/** A quiet link on the left of the button, such as "Read the changelog". */
|
|
28
|
+
link?: BlockLink;
|
|
29
|
+
/** Whether it's open, to control it from outside (from a "What's new" button, say). */
|
|
30
|
+
open?: boolean;
|
|
31
|
+
/** Whether it starts open, when `open` isn't given.
|
|
32
|
+
* @default true */
|
|
33
|
+
defaultOpen?: boolean;
|
|
34
|
+
/** Called when it closes: by Continue, Escape or the backdrop. */
|
|
35
|
+
onOpenChange?(open: boolean): void;
|
|
36
|
+
/** Words that aren't content (the button), in English unless you pass your own. */
|
|
37
|
+
labels?: Onboarding03Labels;
|
|
38
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PageHeading01Props } from "./PageHeading01.types.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* The top of a page on a raised panel: its name and state, one primary action and a menu for the rest, then a row
|
|
4
|
+
* of facts. The page itself can carry on under it, on the same panel.
|
|
5
|
+
*/
|
|
6
|
+
export declare function PageHeading01({ title, icon, status, description, primaryAction, menu, facts, children, labels, className, ...props }: PageHeading01Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PageHeading01Props } from "./PageHeading01.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The top of a page on a raised panel: its name and state, one primary action and a menu for the rest, then a row
|
|
4
|
+
* of facts. The page itself can carry on under it, on the same panel.
|
|
5
|
+
*/
|
|
6
|
+
export declare function PageHeading01({ title, icon, status, description, primaryAction, menu, facts, children, labels, className, ...props }: PageHeading01Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockButton, BlockMenuItem, BlockStatus } from "../../shared/shared.types.cjs";
|
|
3
|
+
/** One fact in the row under the heading: what you'd look up first. */
|
|
4
|
+
export interface PageHeading01Fact {
|
|
5
|
+
/** What it is, as a caption: "Production", "Branch". */
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
/** Its value. Spans in it are cut short with an ellipsis when there's no room. */
|
|
8
|
+
value: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export interface PageHeading01Labels {
|
|
11
|
+
/** The name of the button that opens the menu. @default "More actions" */
|
|
12
|
+
moreActions?: string;
|
|
13
|
+
/** The menu's name for screen readers. @default "Actions" */
|
|
14
|
+
menu?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PageHeading01Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children"> {
|
|
17
|
+
/** The page's name, as its h1. */
|
|
18
|
+
title: ReactNode;
|
|
19
|
+
/** A 20px icon on a tile before the title, usually from lucide-react. */
|
|
20
|
+
icon?: ReactNode;
|
|
21
|
+
/** Its state, as a badge beside the title: "Live", "Paused". */
|
|
22
|
+
status?: BlockStatus;
|
|
23
|
+
/** A line under the title. */
|
|
24
|
+
description?: ReactNode;
|
|
25
|
+
/** The one primary action, on the right: "Deploy". */
|
|
26
|
+
primaryAction?: BlockButton;
|
|
27
|
+
/** Everything else you can do, in a menu behind a button before the primary action. */
|
|
28
|
+
menu?: BlockMenuItem[];
|
|
29
|
+
/** A row of facts under the heading, split by hairlines: four fill it. */
|
|
30
|
+
facts?: PageHeading01Fact[];
|
|
31
|
+
/** The start of the page under the heading, on the same panel. */
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
/** Words that aren't content (names for screen readers, a menu's name), in English unless you pass your own. */
|
|
34
|
+
labels?: PageHeading01Labels;
|
|
35
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BlockButton, BlockMenuItem, BlockStatus } from "../../shared/shared.types.js";
|
|
3
|
+
/** One fact in the row under the heading: what you'd look up first. */
|
|
4
|
+
export interface PageHeading01Fact {
|
|
5
|
+
/** What it is, as a caption: "Production", "Branch". */
|
|
6
|
+
label: ReactNode;
|
|
7
|
+
/** Its value. Spans in it are cut short with an ellipsis when there's no room. */
|
|
8
|
+
value: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export interface PageHeading01Labels {
|
|
11
|
+
/** The name of the button that opens the menu. @default "More actions" */
|
|
12
|
+
moreActions?: string;
|
|
13
|
+
/** The menu's name for screen readers. @default "Actions" */
|
|
14
|
+
menu?: string;
|
|
15
|
+
}
|
|
16
|
+
export interface PageHeading01Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children"> {
|
|
17
|
+
/** The page's name, as its h1. */
|
|
18
|
+
title: ReactNode;
|
|
19
|
+
/** A 20px icon on a tile before the title, usually from lucide-react. */
|
|
20
|
+
icon?: ReactNode;
|
|
21
|
+
/** Its state, as a badge beside the title: "Live", "Paused". */
|
|
22
|
+
status?: BlockStatus;
|
|
23
|
+
/** A line under the title. */
|
|
24
|
+
description?: ReactNode;
|
|
25
|
+
/** The one primary action, on the right: "Deploy". */
|
|
26
|
+
primaryAction?: BlockButton;
|
|
27
|
+
/** Everything else you can do, in a menu behind a button before the primary action. */
|
|
28
|
+
menu?: BlockMenuItem[];
|
|
29
|
+
/** A row of facts under the heading, split by hairlines: four fill it. */
|
|
30
|
+
facts?: PageHeading01Fact[];
|
|
31
|
+
/** The start of the page under the heading, on the same panel. */
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
/** Words that aren't content (names for screen readers, a menu's name), in English unless you pass your own. */
|
|
34
|
+
labels?: PageHeading01Labels;
|
|
35
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { PageHeading02Props } from "./PageHeading02.types.cjs";
|
|
2
|
+
/** Breadcrumbs, the page's name and its action, then line tabs for its views that run edge to edge across the panel. */
|
|
3
|
+
export declare function PageHeading02({ title, description, breadcrumbs, members, primaryAction, tabs, value, defaultValue, onValueChange, labels, className, ...props }: PageHeading02Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { PageHeading02Props } from "./PageHeading02.types.js";
|
|
2
|
+
/** Breadcrumbs, the page's name and its action, then line tabs for its views that run edge to edge across the panel. */
|
|
3
|
+
export declare function PageHeading02({ title, description, breadcrumbs, members, primaryAction, tabs, value, defaultValue, onValueChange, labels, className, ...props }: PageHeading02Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BreadcrumbItem } from "@openwarelabs/ui";
|
|
3
|
+
import type { BlockButton } from "../../shared/shared.types.cjs";
|
|
4
|
+
/** One of the page's views, as a tab. */
|
|
5
|
+
export interface PageHeading02Tab {
|
|
6
|
+
/** Unique among the tabs; what `value` and `onValueChange` use. */
|
|
7
|
+
value: string;
|
|
8
|
+
/** The tab's words. */
|
|
9
|
+
label: ReactNode;
|
|
10
|
+
/** A count in a small pill after the label: how many things the view lists. */
|
|
11
|
+
count?: ReactNode;
|
|
12
|
+
/** What the view shows when its tab is chosen. */
|
|
13
|
+
content: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/** Someone who works on the page's thing, shown as an avatar. */
|
|
16
|
+
export interface PageHeading02Member {
|
|
17
|
+
/** Their name: the avatar's initials and its label. */
|
|
18
|
+
name: string;
|
|
19
|
+
/** A photo URL. */
|
|
20
|
+
avatar?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PageHeading02Labels {
|
|
23
|
+
/** Names the row of tabs for screen readers. @default the title, when it's text */
|
|
24
|
+
tabs?: string;
|
|
25
|
+
/** Names the group of avatars for screen readers. @default "3 people" */
|
|
26
|
+
members?(count: number): string;
|
|
27
|
+
}
|
|
28
|
+
export interface PageHeading02Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children" | "defaultValue"> {
|
|
29
|
+
/** The page's name, as its h1. */
|
|
30
|
+
title: ReactNode;
|
|
31
|
+
/** A line under the title. */
|
|
32
|
+
description?: ReactNode;
|
|
33
|
+
/** Where the page sits, above the title. The last item is the page itself, without a link. */
|
|
34
|
+
breadcrumbs?: BreadcrumbItem[];
|
|
35
|
+
/** The people on it, as a group of avatars before the primary action. Four show; the rest are counted. */
|
|
36
|
+
members?: PageHeading02Member[];
|
|
37
|
+
/** The one primary action, on the right: "New release". */
|
|
38
|
+
primaryAction?: BlockButton;
|
|
39
|
+
/** The page's views, as line tabs that run edge to edge under the heading. */
|
|
40
|
+
tabs: PageHeading02Tab[];
|
|
41
|
+
/** The open tab, when you keep it yourself. */
|
|
42
|
+
value?: string;
|
|
43
|
+
/** The tab that's open to start with. @default the first */
|
|
44
|
+
defaultValue?: string;
|
|
45
|
+
/** Called with a tab's value when it's chosen. */
|
|
46
|
+
onValueChange?(value: string): void;
|
|
47
|
+
/** Words that aren't content (names for screen readers), in English unless you pass your own. */
|
|
48
|
+
labels?: PageHeading02Labels;
|
|
49
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from "react";
|
|
2
|
+
import type { BreadcrumbItem } from "@openwarelabs/ui";
|
|
3
|
+
import type { BlockButton } from "../../shared/shared.types.js";
|
|
4
|
+
/** One of the page's views, as a tab. */
|
|
5
|
+
export interface PageHeading02Tab {
|
|
6
|
+
/** Unique among the tabs; what `value` and `onValueChange` use. */
|
|
7
|
+
value: string;
|
|
8
|
+
/** The tab's words. */
|
|
9
|
+
label: ReactNode;
|
|
10
|
+
/** A count in a small pill after the label: how many things the view lists. */
|
|
11
|
+
count?: ReactNode;
|
|
12
|
+
/** What the view shows when its tab is chosen. */
|
|
13
|
+
content: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
/** Someone who works on the page's thing, shown as an avatar. */
|
|
16
|
+
export interface PageHeading02Member {
|
|
17
|
+
/** Their name: the avatar's initials and its label. */
|
|
18
|
+
name: string;
|
|
19
|
+
/** A photo URL. */
|
|
20
|
+
avatar?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PageHeading02Labels {
|
|
23
|
+
/** Names the row of tabs for screen readers. @default the title, when it's text */
|
|
24
|
+
tabs?: string;
|
|
25
|
+
/** Names the group of avatars for screen readers. @default "3 people" */
|
|
26
|
+
members?(count: number): string;
|
|
27
|
+
}
|
|
28
|
+
export interface PageHeading02Props extends Omit<HTMLAttributes<HTMLDivElement>, "title" | "children" | "defaultValue"> {
|
|
29
|
+
/** The page's name, as its h1. */
|
|
30
|
+
title: ReactNode;
|
|
31
|
+
/** A line under the title. */
|
|
32
|
+
description?: ReactNode;
|
|
33
|
+
/** Where the page sits, above the title. The last item is the page itself, without a link. */
|
|
34
|
+
breadcrumbs?: BreadcrumbItem[];
|
|
35
|
+
/** The people on it, as a group of avatars before the primary action. Four show; the rest are counted. */
|
|
36
|
+
members?: PageHeading02Member[];
|
|
37
|
+
/** The one primary action, on the right: "New release". */
|
|
38
|
+
primaryAction?: BlockButton;
|
|
39
|
+
/** The page's views, as line tabs that run edge to edge under the heading. */
|
|
40
|
+
tabs: PageHeading02Tab[];
|
|
41
|
+
/** The open tab, when you keep it yourself. */
|
|
42
|
+
value?: string;
|
|
43
|
+
/** The tab that's open to start with. @default the first */
|
|
44
|
+
defaultValue?: string;
|
|
45
|
+
/** Called with a tab's value when it's chosen. */
|
|
46
|
+
onValueChange?(value: string): void;
|
|
47
|
+
/** Words that aren't content (names for screen readers), in English unless you pass your own. */
|
|
48
|
+
labels?: PageHeading02Labels;
|
|
49
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PageHeading03Props } from "./PageHeading03.types.cjs";
|
|
2
|
+
/**
|
|
3
|
+
* A page title over a search field and filter menus. The filters in use show as tags above the list they narrow,
|
|
4
|
+
* with a count, and a list that matches nothing says so and offers to clear them.
|
|
5
|
+
*/
|
|
6
|
+
export declare function PageHeading03({ title, description, primaryAction, facets, items, defaultFilters, onFiltersChange, emptyIcon, labels, className, ...props }: PageHeading03Props): import("react").JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { PageHeading03Props } from "./PageHeading03.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* A page title over a search field and filter menus. The filters in use show as tags above the list they narrow,
|
|
4
|
+
* with a count, and a list that matches nothing says so and offers to clear them.
|
|
5
|
+
*/
|
|
6
|
+
export declare function PageHeading03({ title, description, primaryAction, facets, items, defaultFilters, onFiltersChange, emptyIcon, labels, className, ...props }: PageHeading03Props): import("react").JSX.Element;
|