diff --git a/.husky/post-checkout b/.husky/post-checkout
deleted file mode 100755
index c37815e2b..000000000
--- a/.husky/post-checkout
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-checkout'.\n"; exit 2; }
-git lfs post-checkout "$@"
diff --git a/.husky/post-commit b/.husky/post-commit
deleted file mode 100755
index e5230c305..000000000
--- a/.husky/post-commit
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-commit'.\n"; exit 2; }
-git lfs post-commit "$@"
diff --git a/.husky/post-merge b/.husky/post-merge
deleted file mode 100755
index c99b752a5..000000000
--- a/.husky/post-merge
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/post-merge'.\n"; exit 2; }
-git lfs post-merge "$@"
diff --git a/.husky/pre-push b/.husky/pre-push
deleted file mode 100755
index 216e91527..000000000
--- a/.husky/pre-push
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting '.git/hooks/pre-push'.\n"; exit 2; }
-git lfs pre-push "$@"
diff --git a/.storybook/main.js b/.storybook/main.js
index 60db7f6fd..4b9d7d77c 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -4,7 +4,7 @@ module.exports = {
features: { babelModeV7: true },
stories: ["../src/**/*.stories.@(js|jsx|ts|tsx)"],
addons: [
- "storybook-addon-preview",
+ "storybook-addon-preview/register",
"storybook-addon-react-docgen",
"@storybook/addon-essentials",
"@storybook/addon-a11y",
diff --git a/.storybook/utils.ts b/.storybook/utils.ts
index da8d73c98..0ee66ead0 100644
--- a/.storybook/utils.ts
+++ b/.storybook/utils.ts
@@ -1,5 +1,6 @@
/* eslint-disable no-new-func */
import { CodeSandboxTemplate } from "storybook-addon-preview";
+import outdent from "outdent";
type CreateControlsOptions = {
unions?: string[];
@@ -29,9 +30,12 @@ export const createControls = (options?: CreateControlsOptions) => {
}
};
+interface FilesProp {
+ [index: string]: string;
+}
interface Props {
- js?: string;
- ts?: string;
+ js?: { template: string; files?: FilesProp };
+ ts?: { template: string; files?: FilesProp };
jsUtils?: string;
tsUtils?: string;
css?: string;
@@ -40,16 +44,18 @@ interface Props {
export function createPreviewTabs(props: Props) {
const { js, ts, jsUtils, tsUtils, css, deps: extraDeps = [] } = props;
- const deps = ["@adaptui/react@latest", "reakit@latest", ...extraDeps];
const tabs = [];
if (js) {
tabs.push({
tab: "JSX",
- template: js,
+ template: js.template,
language: "jsx",
copy: true,
- codesandbox: REACTJS_CUSTOM_CODESANDBOX(deps),
+ codesandbox: REACTJS_CUSTOM_CODESANDBOX([...extraDeps], {
+ "src/components/index.js": js.template,
+ ...(js.files && js.files),
+ }),
});
}
@@ -59,17 +65,19 @@ export function createPreviewTabs(props: Props) {
template: jsUtils,
language: "jsx",
copy: true,
- codesandbox: REACTJS_CUSTOM_CODESANDBOX(deps),
});
}
if (ts) {
tabs.push({
tab: "TSX",
- template: ts,
+ template: ts.template,
language: "tsx",
copy: true,
- codesandbox: REACT_CUSTOM_CODESANDBOX(deps),
+ codesandbox: REACT_CUSTOM_CODESANDBOX([...extraDeps], {
+ "src/components/index.tsx": ts.template,
+ ...(ts.files && ts.files),
+ }),
});
}
@@ -79,7 +87,6 @@ export function createPreviewTabs(props: Props) {
template: tsUtils,
language: "tsx",
copy: true,
- codesandbox: REACT_CUSTOM_CODESANDBOX(deps),
});
}
@@ -94,33 +101,140 @@ export function createPreviewTabs(props: Props) {
return tabs;
}
-
-const joinStrs = (strs: string[]) => {
- return `[${strs.map(str => `"${str}"`).join(", ")}]`;
-};
-
-const REACTJS_CUSTOM_CODESANDBOX = (dependencies: string[]) =>
- new Function(`
-var previews = arguments[0];
-return {
- framework: "reactjs",
+export const REACTJS_CUSTOM_CODESANDBOX: CodeSandboxTemplate = (
+ userDependencies = [],
+ files = {},
+) => {
+ return {
+ template: "create-react-app",
files: {
- "src/App.js": previews["JSX"][0],
- "src/styles.css": previews["CSS"] ? previews["CSS"][0] : "",
- ...(previews["UtilsJSX"] ? {"src/Utils.component.js": previews["UtilsJSX"][0]} : {}),
+ "public/index.html": `
+
+
+
+
+
+
+
+
+
+ React App
+
+
+
+
+
+
+ `,
+ "src/index.js": `
+ import App from "./App";
+ import { createRoot } from 'react-dom/client';
+ const rootElement = document.getElementById('root');
+ const root = createRoot(rootElement);
+ root.render();
+ `,
+ "src/App.js": outdent`
+ import React from "react";
+ import Component from "./components";
+
+ export default function App() {
+ return
+ }
+ `,
+ ...files,
},
- userDependencies: ${joinStrs(dependencies)},
-};`) as CodeSandboxTemplate;
-
-const REACT_CUSTOM_CODESANDBOX = (dependencies: string[]) =>
- new Function(`
-var previews = arguments[0];
-return {
- framework: "react",
+ dependencies: {
+ "@adaptui/react": "latest",
+ react: "18.0.0",
+ "react-dom": "18.0.0",
+ "react-scripts": "latest",
+ "@internationalized/date": "^3.0.0-rc.0",
+ },
+ scripts: {
+ start: "react-scripts start",
+ build: "react-scripts build",
+ test: "react-scripts test --env=jsdom",
+ eject: "react-scripts eject",
+ },
+ main: "src/index.js",
+ userDependencies,
+ };
+};
+export const REACT_CUSTOM_CODESANDBOX: CodeSandboxTemplate = (
+ userDependencies = [],
+ files = {},
+) => {
+ return {
+ template: "create-react-app-typescript",
files: {
- "src/App.tsx": previews["TSX"][0],
- "src/styles.css": previews["CSS"] ? previews["CSS"][0] : "",
- ...(previews["UtilsTSX"] ? {"src/Utils.component.tsx": previews["UtilsTSX"][0]} : {}),
+ "public/index.html": `
+
+
+
+
+
+
+
+
+
+ React App
+
+
+
+
+
+
+ `,
+ "src/index.tsx": `
+ import * as ReactDOM from "react-dom";
+ import * as React from "react";
+ import App from "./App";
+ const rootElement = document.getElementById("root");
+ ReactDOM.render(, rootElement);
+ `,
+ "src/App.tsx": `import React from \"react\";\n import Component from \"./components\";\n\nexport default function App() {\n return (\n \n \n \n \n
\n );\n}\n`,
+ ...files,
},
- userDependencies: ${joinStrs(dependencies)},
-};`) as CodeSandboxTemplate;
+ dependencies: {
+ "@adaptui/react": "latest",
+ react: "17.0.2",
+ "react-dom": "17.0.2",
+ next: "12.0.7",
+ },
+ devDependencies: {
+ "@types/node": "17.0.5",
+ "@types/react": "17.0.38",
+ "@types/react-dom": "17.0.11",
+ typescript: "4.5.4",
+ },
+ scripts: {
+ dev: "next dev",
+ build: "next build",
+ start: "next start",
+ lint: "next lint",
+ },
+ main: "src/index.ts",
+ userDependencies,
+ };
+};
+
+export const CreateAppTemplate = (props: object | undefined) => {
+ return outdent`
+ import React from "react";
+ import Component from "./components";
+
+ export default function App() {
+ return
+ }
+`;
+};
diff --git a/scripts/builds/create-previews.js b/scripts/builds/create-previews.js
index fcf2e1dd1..e68f73bc1 100644
--- a/scripts/builds/create-previews.js
+++ b/scripts/builds/create-previews.js
@@ -15,7 +15,8 @@ const transpileTs = require("../utils/transpile-ts");
const addPackageName = string =>
string
.replace("../../index", "@adaptui/react")
- .replace("../../../index", "@adaptui/react");
+ .replace("../../../index", "@adaptui/react")
+ .replace(/(\.\.\/\.\.\/).*(\/)/g, "./");
function capitalizeFirstLetter(string) {
return string.charAt(0).toUpperCase() + string.slice(1);
diff --git a/src/accordion/stories/AccordionBasic.stories.tsx b/src/accordion/stories/AccordionBasic.stories.tsx
index e4454db4a..ba77b5961 100644
--- a/src/accordion/stories/AccordionBasic.stories.tsx
+++ b/src/accordion/stories/AccordionBasic.stories.tsx
@@ -14,7 +14,7 @@ export default {
component: AccordionBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({ js: { template: js }, ts: { template: ts } }),
},
} as Meta;
diff --git a/src/accordion/stories/AccordionMultiple.stories.tsx b/src/accordion/stories/AccordionMultiple.stories.tsx
index ce2edc1b1..831d10756 100644
--- a/src/accordion/stories/AccordionMultiple.stories.tsx
+++ b/src/accordion/stories/AccordionMultiple.stories.tsx
@@ -14,7 +14,7 @@ export default {
component: AccordionMultiple,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({ js: { template: js }, ts: { template: ts } }),
},
} as Meta;
diff --git a/src/accordion/stories/AccordionStyled.stories.tsx b/src/accordion/stories/AccordionStyled.stories.tsx
index 7b785c286..fe9e1e944 100644
--- a/src/accordion/stories/AccordionStyled.stories.tsx
+++ b/src/accordion/stories/AccordionStyled.stories.tsx
@@ -17,7 +17,11 @@ export default {
title: "Accordion/Styled",
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
+ preview: createPreviewTabs({
+ js: { template: js },
+ ts: { template: ts },
+ css,
+ }),
},
} as Meta;
diff --git a/src/breadcrumbs/stories/BreadcrumbsBasic.component.tsx b/src/breadcrumbs/stories/BreadcrumbsBasic.component.tsx
index 5a88c8647..008c7e182 100644
--- a/src/breadcrumbs/stories/BreadcrumbsBasic.component.tsx
+++ b/src/breadcrumbs/stories/BreadcrumbsBasic.component.tsx
@@ -2,6 +2,8 @@ import * as React from "react";
import { BreadcrumbLink, Breadcrumbs, BreadcrumbsProps } from "../../index";
+import "./BreadcrumbsBasic.css";
+
export type BreadcrumbsBasicProps = BreadcrumbsProps & {};
export const BreadcrumbsBasic: React.FC = props => {
diff --git a/src/breadcrumbs/stories/BreadcrumbsBasic.stories.tsx b/src/breadcrumbs/stories/BreadcrumbsBasic.stories.tsx
index 9fffe76a2..872b67250 100644
--- a/src/breadcrumbs/stories/BreadcrumbsBasic.stories.tsx
+++ b/src/breadcrumbs/stories/BreadcrumbsBasic.stories.tsx
@@ -2,12 +2,11 @@ import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
+import css from "./templates/BreadcrumbsBasicCss";
import js from "./templates/BreadcrumbsBasicJsx";
import ts from "./templates/BreadcrumbsBasicTsx";
import { BreadcrumbsBasic } from "./BreadcrumbsBasic.component";
-import "./BreadcrumbsBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
@@ -16,7 +15,16 @@ export default {
component: BreadcrumbsBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: { "src/components/BreadcrumbsBasic.css": css },
+ },
+ ts: {
+ template: ts,
+ files: { "src/components/BreadcrumbsBasic.css": css },
+ },
+ }),
},
} as Meta;
diff --git a/src/calendar/stories/CalendarBasic.component.tsx b/src/calendar/stories/CalendarBasic.component.tsx
index 961dd62cc..2210ec0eb 100644
--- a/src/calendar/stories/CalendarBasic.component.tsx
+++ b/src/calendar/stories/CalendarBasic.component.tsx
@@ -1,6 +1,10 @@
import * as React from "react";
import { VisuallyHidden } from "ariakit";
-import { getWeeksInMonth, startOfWeek } from "@internationalized/date";
+import {
+ createCalendar,
+ getWeeksInMonth,
+ startOfWeek,
+} from "@internationalized/date";
import { useLocale } from "@react-aria/i18n";
import {
@@ -22,10 +26,17 @@ import {
import { ChevronLeft, ChevronRight } from "./Utils.component";
-export type CalendarBasicProps = CalendarBaseStateProps & {};
+import "./CalendarBasic.css";
+
+/** Omiting locale and createCalendar */
+export type CalendarBasicProps = Omit<
+ CalendarBaseStateProps,
+ "locale" | "createCalendar"
+> & {};
export const CalendarBasic: React.FC = props => {
- const state = useCalendarBaseState(props);
+ const { locale } = useLocale();
+ const state = useCalendarBaseState({ ...props, locale, createCalendar });
const calendar = useCalendarState({ ...props, state });
return (
diff --git a/src/calendar/stories/CalendarBasic.stories.tsx b/src/calendar/stories/CalendarBasic.stories.tsx
index 6701de79a..9037fbead 100644
--- a/src/calendar/stories/CalendarBasic.stories.tsx
+++ b/src/calendar/stories/CalendarBasic.stories.tsx
@@ -1,9 +1,10 @@
import * as React from "react";
-import { createCalendar } from "@internationalized/date";
-import { useLocale } from "@react-aria/i18n";
import { ComponentMeta } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/CalendarBasicCss";
import js from "./templates/CalendarBasicJsx";
@@ -12,8 +13,6 @@ import jsUtils from "./templates/UtilsJsx";
import tsUtils from "./templates/UtilsTsx";
import { CalendarBasic } from "./CalendarBasic.component";
-import "./CalendarBasic.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
@@ -22,12 +21,27 @@ export default {
component: CalendarBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css, jsUtils, tsUtils }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/CalendarBasic.css": css,
+ "src/components/Utils.component.js": jsUtils,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({}),
+ "src/components/CalendarBasic.css": css,
+ "src/components/Utils.component.tsx": tsUtils,
+ },
+ },
+ css,
+ jsUtils,
+ tsUtils,
+ }),
},
} as Meta;
-export const Default = () => {
- let { locale } = useLocale();
-
- return ;
-};
+export const Default = () => ;
diff --git a/src/calendar/stories/CalendarRange.component.tsx b/src/calendar/stories/CalendarRange.component.tsx
index 2b64e564a..c6bce1fdf 100644
--- a/src/calendar/stories/CalendarRange.component.tsx
+++ b/src/calendar/stories/CalendarRange.component.tsx
@@ -1,6 +1,10 @@
import * as React from "react";
import { VisuallyHidden } from "ariakit";
-import { getWeeksInMonth, startOfWeek } from "@internationalized/date";
+import {
+ createCalendar,
+ getWeeksInMonth,
+ startOfWeek,
+} from "@internationalized/date";
import { useLocale } from "@react-aria/i18n";
import {
@@ -22,10 +26,16 @@ import {
import { ChevronLeft, ChevronRight } from "./Utils.component";
-export type CalendarRangeProps = RangeCalendarBaseStateProps & {};
+import "./CalendarRange.css";
+
+export type CalendarRangeProps = Omit<
+ RangeCalendarBaseStateProps,
+ "locale" | "createCalendar"
+> & {};
export const CalendarRange: React.FC = props => {
- const state = useRangeCalendarBaseState(props);
+ const { locale } = useLocale();
+ const state = useRangeCalendarBaseState({ ...props, locale, createCalendar });
const calendar = useRangeCalendarState({ ...props, state });
return (
diff --git a/src/calendar/stories/CalendarRange.stories.tsx b/src/calendar/stories/CalendarRange.stories.tsx
index 102f97963..9ef480151 100644
--- a/src/calendar/stories/CalendarRange.stories.tsx
+++ b/src/calendar/stories/CalendarRange.stories.tsx
@@ -1,6 +1,4 @@
import React from "react";
-import { createCalendar } from "@internationalized/date";
-import { useLocale } from "@react-aria/i18n";
import { ComponentMeta } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
@@ -12,8 +10,6 @@ import jsUtils from "./templates/UtilsJsx";
import tsUtils from "./templates/UtilsTsx";
import { CalendarRange } from "./CalendarRange.component";
-import "./CalendarRange.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
@@ -22,12 +18,26 @@ export default {
component: CalendarRange,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css, jsUtils, tsUtils }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/CalendarRange.css": css,
+ "src/components/Utils.component.jsx": jsUtils,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/CalendarRange.css": css,
+ "src/components/Utils.component.tsx": tsUtils,
+ },
+ },
+ css,
+ jsUtils,
+ tsUtils,
+ }),
},
} as Meta;
-export const Default = () => {
- let { locale } = useLocale();
-
- return ;
-};
+export const Default = () => ;
diff --git a/src/calendar/stories/CalendarRangeStyled.component.tsx b/src/calendar/stories/CalendarRangeStyled.component.tsx
index 2dd7515fd..03988332d 100644
--- a/src/calendar/stories/CalendarRangeStyled.component.tsx
+++ b/src/calendar/stories/CalendarRangeStyled.component.tsx
@@ -1,6 +1,10 @@
import * as React from "react";
import { VisuallyHidden } from "ariakit";
-import { getWeeksInMonth, startOfWeek } from "@internationalized/date";
+import {
+ createCalendar,
+ getWeeksInMonth,
+ startOfWeek,
+} from "@internationalized/date";
import { useLocale } from "@react-aria/i18n";
import {
@@ -22,12 +26,18 @@ import {
import { ChevronLeft, ChevronRight } from "./Utils.component";
-export type CalendarRangeStyledProps = RangeCalendarBaseStateProps & {};
+import "./CalendarRangeStyled.css";
+
+export type CalendarRangeStyledProps = Omit<
+ RangeCalendarBaseStateProps,
+ "locale" | "createCalendar"
+> & {};
export const CalendarRangeStyled: React.FC<
CalendarRangeStyledProps
> = props => {
- const state = useRangeCalendarBaseState(props);
+ const { locale } = useLocale();
+ const state = useRangeCalendarBaseState({ ...props, locale, createCalendar });
const calendar = useRangeCalendarState({ ...props, state });
return (
diff --git a/src/calendar/stories/CalendarRangeStyled.css b/src/calendar/stories/CalendarRangeStyled.css
new file mode 100644
index 000000000..8f412964e
--- /dev/null
+++ b/src/calendar/stories/CalendarRangeStyled.css
@@ -0,0 +1,154 @@
+button {
+ all: unset;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem /* 8px */;
+ padding-right: 0.5rem /* 8px */;
+}
+.py-1 {
+ padding-top: 0.25rem /* 4px */;
+ padding-bottom: 0.25rem /* 4px */;
+}
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+.focus\:ring-2:focus {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
+ var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
+ calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
+ var(--tw-shadow, 0 0 #0000);
+}
+.flex-shrink-0 {
+ flex-shrink: 0;
+}
+.w-4 {
+ width: 1rem /* 16px */;
+}
+.text-center {
+ text-align: center;
+}
+.font-light {
+ font-weight: 300;
+}
+.text-gray-500 {
+ --tw-text-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-text-opacity));
+}
+.p-2 {
+ padding: 0.5rem /* 8px */;
+}
+.text-sm {
+ font-size: 0.875rem /* 14px */;
+ line-height: 1.25rem /* 20px */;
+}
+.font-bold {
+ font-weight: 700;
+}
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem /* 8px */;
+ padding-right: 0.5rem /* 8px */;
+}
+.py-1 {
+ padding-top: 0.25rem /* 4px */;
+ padding-bottom: 0.25rem /* 4px */;
+}
+.shadow-lg {
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),
+ 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
+ var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+.w-max {
+ width: max-content;
+}
+.rounded-md {
+ border-radius: 0.375rem /* 6px */;
+}
+.bg-white {
+ --tw-bg-opacity: 1;
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
+}
+.p-3 {
+ padding: 0.75rem /* 12px */;
+}
+.flex {
+ display: flex;
+}
+.calendar__cell {
+ height: 32px;
+ width: 32px;
+ max-height: 32px;
+ max-width: 32px;
+ font-size: 0.875rem /* 14px */;
+ line-height: 1.25rem /* 20px */;
+ text-align: center;
+ border-radius: 0.5rem /* 8px */;
+}
+.calendar__cell[data-is-range-selection] {
+ background-color: rgb(219 234 254);
+ border-radius: 0px;
+ color: rgb(31 41 55);
+}
+.calendar__cell[data-is-selection-start] {
+ background-color: rgb(59 130 246);
+ border-top-left-radius: 0.5rem /* 8px */;
+ border-bottom-left-radius: 0.5rem /* 8px */;
+ color: rgb(255 255 255);
+}
+.calendar__cell[data-is-selection-end] {
+ background-color: rgb(59 130 246);
+ border-top-right-radius: 0.5rem /* 8px */;
+ border-bottom-right-radius: 0.5rem /* 8px */;
+ color: rgb(255 255 255);
+}
+
+.calendar__cell[data-is-range-selection]:focus-within {
+ background-color: rgb(96 165 250);
+ color: rgb(255 255 255);
+}
+.calendar__cell:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [data-weekend] {
+ color: rgb(220 38 38);
+}
+
+.calendar [aria-selected="true"] {
+ color: rgb(255 255 255);
+ background-color: rgb(59 130 246);
+}
+
+.calendar [aria-selected]:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [aria-selected="true"]:focus-within {
+ color: rgb(255 255 255);
+ background-color: rgb(96 165 250);
+}
+
+.calendar [aria-disabled="true"] {
+ color: rgb(107 114 128);
+}
+
+.calendar span {
+ outline: none;
+}
diff --git a/src/calendar/stories/CalendarRangeStyled.stories.tsx b/src/calendar/stories/CalendarRangeStyled.stories.tsx
index 09db680aa..59c73f9bc 100644
--- a/src/calendar/stories/CalendarRangeStyled.stories.tsx
+++ b/src/calendar/stories/CalendarRangeStyled.stories.tsx
@@ -1,6 +1,4 @@
import React from "react";
-import { createCalendar } from "@internationalized/date";
-import { useLocale } from "@react-aria/i18n";
import { ComponentMeta } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
@@ -11,8 +9,6 @@ import jsUtils from "./templates/UtilsJsx";
import tsUtils from "./templates/UtilsTsx";
import { CalendarRangeStyled } from "./CalendarRangeStyled.component";
-import "./tailwind.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
@@ -21,20 +17,13 @@ export default {
component: CalendarRangeStyled,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, jsUtils, tsUtils }),
+ preview: createPreviewTabs({
+ js: { template: js },
+ ts: { template: ts },
+ jsUtils,
+ tsUtils,
+ }),
},
- decorators: [
- Story => {
- document.body.id = "tailwind";
- return ;
- },
- ],
} as Meta;
-export const Default = () => {
- let { locale } = useLocale();
-
- return (
-
- );
-};
+export const Default = () => ;
diff --git a/src/calendar/stories/CalendarStyled.component.tsx b/src/calendar/stories/CalendarStyled.component.tsx
index d02c09db3..7b3964abb 100644
--- a/src/calendar/stories/CalendarStyled.component.tsx
+++ b/src/calendar/stories/CalendarStyled.component.tsx
@@ -1,6 +1,10 @@
import * as React from "react";
import { VisuallyHidden } from "ariakit";
-import { getWeeksInMonth, startOfWeek } from "@internationalized/date";
+import {
+ createCalendar,
+ getWeeksInMonth,
+ startOfWeek,
+} from "@internationalized/date";
import { useLocale } from "@react-aria/i18n";
import {
@@ -22,10 +26,16 @@ import {
import { ChevronLeft, ChevronRight } from "./Utils.component";
-export type CalendarStyledProps = CalendarBaseStateProps & {};
+import "./CalendarStyled.css";
+
+export type CalendarStyledProps = Omit<
+ CalendarBaseStateProps,
+ "locale" | "createCalendar"
+> & {};
export const CalendarStyled: React.FC = props => {
- const state = useCalendarBaseState(props);
+ const { locale } = useLocale();
+ const state = useCalendarBaseState({ ...props, locale, createCalendar });
const calendar = useCalendarState({ ...props, state });
return (
diff --git a/src/calendar/stories/CalendarStyled.css b/src/calendar/stories/CalendarStyled.css
new file mode 100644
index 000000000..8f412964e
--- /dev/null
+++ b/src/calendar/stories/CalendarStyled.css
@@ -0,0 +1,154 @@
+button {
+ all: unset;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem /* 8px */;
+ padding-right: 0.5rem /* 8px */;
+}
+.py-1 {
+ padding-top: 0.25rem /* 4px */;
+ padding-bottom: 0.25rem /* 4px */;
+}
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+.focus\:ring-2:focus {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
+ var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
+ calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
+ var(--tw-shadow, 0 0 #0000);
+}
+.flex-shrink-0 {
+ flex-shrink: 0;
+}
+.w-4 {
+ width: 1rem /* 16px */;
+}
+.text-center {
+ text-align: center;
+}
+.font-light {
+ font-weight: 300;
+}
+.text-gray-500 {
+ --tw-text-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-text-opacity));
+}
+.p-2 {
+ padding: 0.5rem /* 8px */;
+}
+.text-sm {
+ font-size: 0.875rem /* 14px */;
+ line-height: 1.25rem /* 20px */;
+}
+.font-bold {
+ font-weight: 700;
+}
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem /* 8px */;
+ padding-right: 0.5rem /* 8px */;
+}
+.py-1 {
+ padding-top: 0.25rem /* 4px */;
+ padding-bottom: 0.25rem /* 4px */;
+}
+.shadow-lg {
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),
+ 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
+ var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+.w-max {
+ width: max-content;
+}
+.rounded-md {
+ border-radius: 0.375rem /* 6px */;
+}
+.bg-white {
+ --tw-bg-opacity: 1;
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
+}
+.p-3 {
+ padding: 0.75rem /* 12px */;
+}
+.flex {
+ display: flex;
+}
+.calendar__cell {
+ height: 32px;
+ width: 32px;
+ max-height: 32px;
+ max-width: 32px;
+ font-size: 0.875rem /* 14px */;
+ line-height: 1.25rem /* 20px */;
+ text-align: center;
+ border-radius: 0.5rem /* 8px */;
+}
+.calendar__cell[data-is-range-selection] {
+ background-color: rgb(219 234 254);
+ border-radius: 0px;
+ color: rgb(31 41 55);
+}
+.calendar__cell[data-is-selection-start] {
+ background-color: rgb(59 130 246);
+ border-top-left-radius: 0.5rem /* 8px */;
+ border-bottom-left-radius: 0.5rem /* 8px */;
+ color: rgb(255 255 255);
+}
+.calendar__cell[data-is-selection-end] {
+ background-color: rgb(59 130 246);
+ border-top-right-radius: 0.5rem /* 8px */;
+ border-bottom-right-radius: 0.5rem /* 8px */;
+ color: rgb(255 255 255);
+}
+
+.calendar__cell[data-is-range-selection]:focus-within {
+ background-color: rgb(96 165 250);
+ color: rgb(255 255 255);
+}
+.calendar__cell:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [data-weekend] {
+ color: rgb(220 38 38);
+}
+
+.calendar [aria-selected="true"] {
+ color: rgb(255 255 255);
+ background-color: rgb(59 130 246);
+}
+
+.calendar [aria-selected]:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [aria-selected="true"]:focus-within {
+ color: rgb(255 255 255);
+ background-color: rgb(96 165 250);
+}
+
+.calendar [aria-disabled="true"] {
+ color: rgb(107 114 128);
+}
+
+.calendar span {
+ outline: none;
+}
diff --git a/src/calendar/stories/CalendarStyled.stories.tsx b/src/calendar/stories/CalendarStyled.stories.tsx
index 497ccf0ba..ba2ea3783 100644
--- a/src/calendar/stories/CalendarStyled.stories.tsx
+++ b/src/calendar/stories/CalendarStyled.stories.tsx
@@ -1,18 +1,15 @@
import * as React from "react";
-import { createCalendar } from "@internationalized/date";
-import { useLocale } from "@react-aria/i18n";
import { ComponentMeta } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
+import css from "./templates/CalendarStyledCss";
import js from "./templates/CalendarStyledJsx";
import ts from "./templates/CalendarStyledTsx";
import jsUtils from "./templates/UtilsJsx";
import tsUtils from "./templates/UtilsTsx";
import { CalendarStyled } from "./CalendarStyled.component";
-import "./tailwind.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
@@ -21,18 +18,25 @@ export default {
component: CalendarStyled,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, jsUtils, tsUtils }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/CalendarStyled.css": css,
+ "src/components/Utils.component.jsx": jsUtils,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/CalendarStyled.css": css,
+ "src/components/Utils.component.tsx": tsUtils,
+ },
+ },
+ jsUtils,
+ tsUtils,
+ }),
},
- decorators: [
- Story => {
- document.body.id = "tailwind";
- return ;
- },
- ],
} as Meta;
-export const Default = () => {
- let { locale } = useLocale();
-
- return ;
-};
+export const Default = () => ;
diff --git a/src/calendar/stories/tailwind.css b/src/calendar/stories/tailwind.css
deleted file mode 100644
index a7de9a2d9..000000000
--- a/src/calendar/stories/tailwind.css
+++ /dev/null
@@ -1,53 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer components {
- .styled-datepicker .calendar__cell {
- height: 32px;
- width: 32px;
- max-height: 32px;
- max-width: 32px;
- @apply text-sm text-center rounded-lg;
- }
- .styled-datepicker .calendar__cell[data-is-range-selection] {
- @apply bg-blue-100 rounded-none text-gray-800 !important;
- }
- .styled-datepicker .calendar__cell[data-is-selection-start] {
- @apply bg-blue-500 rounded-l-lg text-white !important;
- }
- .styled-datepicker .calendar__cell[data-is-selection-end] {
- @apply bg-blue-500 rounded-r-lg text-white !important;
- }
-
- .styled-datepicker .calendar__cell[data-is-range-selection]:focus-within {
- @apply bg-blue-400 text-white !important;
- }
- .styled-datepicker .calendar__cell:focus-within {
- @apply bg-gray-100;
- }
-
- .styled-datepicker.calendar [data-weekend] {
- @apply text-red-600;
- }
-
- .styled-datepicker.calendar [aria-selected="true"] {
- @apply text-white bg-blue-500;
- }
-
- .styled-datepicker.calendar [aria-selected]:focus-within {
- @apply bg-gray-100;
- }
-
- .styled-datepicker.calendar [aria-selected="true"]:focus-within {
- @apply text-white bg-blue-400;
- }
-
- .styled-datepicker.calendar [aria-disabled="true"] {
- @apply text-gray-500;
- }
-
- .styled-datepicker.calendar span {
- outline: none;
- }
-}
diff --git a/src/datefield/stories/DateFieldBasic.component.tsx b/src/datefield/stories/DateFieldBasic.component.tsx
index 328bf7d73..6369ac596 100644
--- a/src/datefield/stories/DateFieldBasic.component.tsx
+++ b/src/datefield/stories/DateFieldBasic.component.tsx
@@ -1,4 +1,6 @@
import React from "react";
+import { createCalendar } from "@internationalized/date";
+import { useLocale } from "@react-aria/i18n";
import {
DateField,
@@ -8,10 +10,17 @@ import {
useDateFieldState,
} from "../../index";
-export type DateFieldBasicProps = DateFieldBaseStateProps & {};
+import "./DateFieldBasic.css";
+
+/** Omiting locale and createCalendar */
+export type DateFieldBasicProps = Omit<
+ DateFieldBaseStateProps,
+ "locale" | "createCalendar"
+> & {};
export const DateFieldBasic: React.FC = props => {
- const state = useDateFieldBaseState({ ...props });
+ const { locale } = useLocale();
+ const state = useDateFieldBaseState({ ...props, locale, createCalendar });
const datefield = useDateFieldState({ ...props, state });
return (
diff --git a/src/datefield/stories/DateFieldBasic.stories.tsx b/src/datefield/stories/DateFieldBasic.stories.tsx
index 82cbd0bfa..2b53bf4af 100644
--- a/src/datefield/stories/DateFieldBasic.stories.tsx
+++ b/src/datefield/stories/DateFieldBasic.stories.tsx
@@ -1,6 +1,4 @@
import React from "react";
-import { createCalendar } from "@internationalized/date";
-import { useLocale } from "@react-aria/i18n";
import { ComponentMeta } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
@@ -10,8 +8,6 @@ import js from "./templates/DateFieldBasicJsx";
import ts from "./templates/DateFieldBasicTsx";
import { DateFieldBasic } from "./DateFieldBasic.component";
-import "./DateFieldBasic.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
@@ -20,18 +16,24 @@ export default {
component: DateFieldBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/DateFieldBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/DateFieldBasic.css": css,
+ },
+ },
+ css,
+ }),
},
} as Meta;
export const Default = () => {
- let { locale } = useLocale();
-
- return (
-
- );
+ return ;
};
diff --git a/src/datefield/stories/DateFieldStyled.component.tsx b/src/datefield/stories/DateFieldStyled.component.tsx
index 131b2444d..1b1ed65b2 100644
--- a/src/datefield/stories/DateFieldStyled.component.tsx
+++ b/src/datefield/stories/DateFieldStyled.component.tsx
@@ -1,4 +1,6 @@
import React from "react";
+import { createCalendar } from "@internationalized/date";
+import { useLocale } from "@react-aria/i18n";
import {
DateField,
@@ -8,14 +10,20 @@ import {
useDateFieldState,
} from "../../index";
-export type DateFieldStyledProps = DateFieldBaseStateProps & {};
+import "./DateFieldStyled.css";
+
+export type DateFieldStyledProps = Omit<
+ DateFieldBaseStateProps,
+ "locale" | "createCalendar"
+> & {};
export const DateFieldStyled: React.FC = props => {
- const state = useDateFieldBaseState({ ...props });
+ const { locale } = useLocale();
+ const state = useDateFieldBaseState({ ...props, locale, createCalendar });
const datefield = useDateFieldState({ ...props, state });
return (
-
+
{state.segments.map((segment, i) => (
:not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse: 0;
+ margin-right: calc(0.25rem * var(--tw-space-x-reverse));
+ margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
+}
+
+.font-mono {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
+ "Liberation Mono", "Courier New", monospace;
+}
+
+.focus\:text-blue-500:focus {
+ --tw-text-opacity: 1;
+ color: rgb(59 130 246 / var(--tw-text-opacity));
+}
+
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
diff --git a/src/datefield/stories/DateFieldStyled.stories.tsx b/src/datefield/stories/DateFieldStyled.stories.tsx
index e292924bd..d75de7bb6 100644
--- a/src/datefield/stories/DateFieldStyled.stories.tsx
+++ b/src/datefield/stories/DateFieldStyled.stories.tsx
@@ -1,16 +1,16 @@
import React from "react";
-import { createCalendar } from "@internationalized/date";
-import { useLocale } from "@react-aria/i18n";
import { ComponentMeta } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
+import css from "./templates/DateFieldStyledCss";
import js from "./templates/DateFieldStyledJsx";
import ts from "./templates/DateFieldStyledTsx";
import { DateFieldStyled } from "./DateFieldStyled.component";
-import "./tailwind.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
@@ -19,24 +19,29 @@ export default {
component: DateFieldStyled,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/DateFieldStyled.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "DateField",
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/DateFieldStyled.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "DateField",
+ }),
+ },
+ },
+ }),
},
- decorators: [
- Story => {
- document.body.id = "tailwind";
- return ;
- },
- ],
} as Meta;
export const Default = () => {
- let { locale } = useLocale();
-
- return (
-
- );
+ return ;
};
diff --git a/src/datefield/stories/tailwind.css b/src/datefield/stories/tailwind.css
deleted file mode 100644
index b5c61c956..000000000
--- a/src/datefield/stories/tailwind.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
diff --git a/src/datepicker/stories/DatePickerBasic.component.tsx b/src/datepicker/stories/DatePickerBasic.component.tsx
index 42ea00d4d..42a8a5c89 100644
--- a/src/datepicker/stories/DatePickerBasic.component.tsx
+++ b/src/datepicker/stories/DatePickerBasic.component.tsx
@@ -15,6 +15,8 @@ import {
import { CalendarIcon } from "./Utils.component";
+import "./DatePickerBasic.css";
+
export type DatePickerBasicProps = DatePickerBaseStateProps & {};
export const DatePickerBasic: React.FC = props => {
@@ -31,8 +33,8 @@ export const DatePickerBasic: React.FC = props => {
>
= props => {
)}
diff --git a/src/datepicker/stories/DatePickerBasic.stories.tsx b/src/datepicker/stories/DatePickerBasic.stories.tsx
index 81592c411..e16e58e49 100644
--- a/src/datepicker/stories/DatePickerBasic.stories.tsx
+++ b/src/datepicker/stories/DatePickerBasic.stories.tsx
@@ -1,14 +1,23 @@
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
+import CalendarBasicCss from "../../calendar/stories/templates/CalendarBasicCss";
+import CalendarBasicJsx from "../../calendar/stories/templates/CalendarBasicJsx";
+import CalendarBasicTsx from "../../calendar/stories/templates/CalendarBasicTsx";
+import DateFieldBasicCss from "../../datefield/stories/templates/DateFieldBasicCss";
+import DateFieldBasicJsx from "../../datefield/stories/templates/DateFieldBasicJsx";
+import DateFieldBasicTsx from "../../datefield/stories/templates/DateFieldBasicTsx";
import css from "./templates/DatePickerBasicCss";
import js from "./templates/DatePickerBasicJsx";
import ts from "./templates/DatePickerBasicTsx";
+import UtilsJsx from "./templates/UtilsJsx";
+import UtilsTsx from "./templates/UtilsTsx";
import { DatePickerBasic } from "./DatePickerBasic.component";
-import "./DatePickerBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
@@ -17,7 +26,33 @@ export default {
component: DatePickerBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({ label: "DatePicker" }),
+ "src/components/CalendarBasic.component.jsx": CalendarBasicJsx,
+ "src/components/DateFieldBasic.component.jsx": DateFieldBasicJsx,
+ "src/components/DatePickerBasic.css": css,
+ "src/components/Utils.component.jsx": UtilsJsx,
+ "src/components/CalendarBasic.css": CalendarBasicCss,
+ "src/components/DateFieldBasic.css": DateFieldBasicCss,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({ label: "DatePicker" }),
+ "src/components/CalendarBasic.component.tsx": CalendarBasicTsx,
+ "src/components/DateFieldBasic.component.tsx": DateFieldBasicTsx,
+ "src/components/DatePickerBasic.css": css,
+ "src/components/Utils.component.tsx": UtilsTsx,
+ "src/components/CalendarBasic.css": CalendarBasicCss,
+ "src/components/DateFieldBasic.css": DateFieldBasicCss,
+ },
+ },
+ css,
+ }),
},
} as Meta;
diff --git a/src/datepicker/stories/DatePickerStyled.component.tsx b/src/datepicker/stories/DatePickerStyled.component.tsx
index e5501c84e..df925de33 100644
--- a/src/datepicker/stories/DatePickerStyled.component.tsx
+++ b/src/datepicker/stories/DatePickerStyled.component.tsx
@@ -13,7 +13,9 @@ import {
useDatePickerState,
} from "../../index";
-import { CalendarStyledIcon } from "./Utils.component";
+import { CalendarIcon, CalendarStyledIcon } from "./Utils.component";
+
+import "./DatePickerStyled.css";
export type DatePickerStyledProps = DatePickerBaseStateProps & {};
@@ -31,21 +33,22 @@ export const DatePickerStyled: React.FC = props => {
>
-
+
{state.popover.visible && (
)}
diff --git a/src/datepicker/stories/DatePickerStyled.css b/src/datepicker/stories/DatePickerStyled.css
new file mode 100644
index 000000000..9465d9d1f
--- /dev/null
+++ b/src/datepicker/stories/DatePickerStyled.css
@@ -0,0 +1,173 @@
+button {
+ all: unset;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+}
+.py-1 {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+.focus\:ring-2:focus {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
+ var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
+ calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
+ var(--tw-shadow, 0 0 #0000);
+}
+.flex-shrink-0 {
+ flex-shrink: 0;
+}
+.w-4 {
+ width: 1rem;
+}
+.text-center {
+ text-align: center;
+}
+.font-light {
+ font-weight: 300;
+}
+.text-gray-500 {
+ --tw-text-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-text-opacity));
+}
+.p-2 {
+ padding: 0.5rem;
+}
+.text-sm {
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+}
+.font-bold {
+ font-weight: 700;
+}
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem;
+ padding-right: 0.5rem;
+}
+.py-1 {
+ padding-top: 0.25rem;
+ padding-bottom: 0.25rem;
+}
+.shadow-lg {
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),
+ 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
+ var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+.w-max {
+ width: max-content;
+}
+.rounded-md {
+ border-radius: 0.375rem;
+}
+.bg-white {
+ --tw-bg-opacity: 1;
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
+}
+.p-3 {
+ padding: 0.75rem;
+}
+.flex {
+ display: flex;
+}
+.items-center {
+ align-items: center;
+}
+.datepicker__trigger {
+ display: flex;
+ padding: 5px;
+ margin-left: 10px;
+ background-color: #f8f8f8;
+ border: none;
+}
+
+.datepicker__trigger:focus-visible {
+ outline: none;
+}
+
+.datepicker__trigger svg {
+ fill: #43424d;
+ width: 20px;
+}
+.calendar__cell {
+ height: 32px;
+ width: 32px;
+ max-height: 32px;
+ max-width: 32px;
+ font-size: 0.875rem;
+ line-height: 1.25rem;
+ text-align: center;
+ border-radius: 0.5rem;
+}
+.calendar__cell[data-is-range-selection] {
+ background-color: rgb(219 234 254);
+ border-radius: 0px;
+ color: rgb(31 41 55);
+}
+.calendar__cell[data-is-selection-start] {
+ background-color: rgb(59 130 246);
+ border-top-left-radius: 0.5rem;
+ border-bottom-left-radius: 0.5rem;
+ color: rgb(255 255 255);
+}
+.calendar__cell[data-is-selection-end] {
+ background-color: rgb(59 130 246);
+ border-top-right-radius: 0.5rem;
+ border-bottom-right-radius: 0.5rem;
+ color: rgb(255 255 255);
+}
+
+.calendar__cell[data-is-range-selection]:focus-within {
+ background-color: rgb(96 165 250);
+ color: rgb(255 255 255);
+}
+.calendar__cell:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [data-weekend] {
+ color: rgb(220 38 38);
+}
+
+.calendar [aria-selected="true"] {
+ color: rgb(255 255 255);
+ background-color: rgb(59 130 246);
+}
+
+.calendar [aria-selected]:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [aria-selected="true"]:focus-within {
+ color: rgb(255 255 255);
+ background-color: rgb(96 165 250);
+}
+
+.calendar [aria-disabled="true"] {
+ color: rgb(107 114 128);
+}
+
+.calendar span {
+ outline: none;
+}
diff --git a/src/datepicker/stories/DatePickerStyled.stories.tsx b/src/datepicker/stories/DatePickerStyled.stories.tsx
index bb9ae71d1..db02003f8 100644
--- a/src/datepicker/stories/DatePickerStyled.stories.tsx
+++ b/src/datepicker/stories/DatePickerStyled.stories.tsx
@@ -2,13 +2,20 @@ import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
+import CalenderStyledCss from "../../calendar/stories/templates/CalendarStyledCss";
+import CalenderStyledJsx from "../../calendar/stories/templates/CalendarStyledJsx";
+import CalenderStyledTsx from "../../calendar/stories/templates/CalendarStyledTsx";
+import DateFieldStyledCsx from "../../datefield/stories/templates/DateFieldStyledCss";
+import DateFieldStyledJsx from "../../datefield/stories/templates/DateFieldStyledJsx";
+import DateFieldStyledTsx from "../../datefield/stories/templates/DateFieldStyledTsx";
+import css from "./templates/DatePickerStyledCss";
import js from "./templates/DatePickerStyledJsx";
import ts from "./templates/DatePickerStyledTsx";
+import UtilsJsx from "./templates/UtilsJsx";
+import UtilsTsx from "./templates/UtilsTsx";
import { DatePickerStyled } from "./DatePickerStyled.component";
-import "./tailwind.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
@@ -17,14 +24,31 @@ export default {
component: DatePickerStyled,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/DatePickerStyled.css": css,
+ "src/components/CalendarStyled.component.jsx": CalenderStyledJsx,
+ "src/components/DateFieldStyled.component.jsx": DateFieldStyledJsx,
+ "src/components/Utils.component.jsx": UtilsJsx,
+ "src/components/CalendarStyled.css": CalenderStyledCss,
+ "src/components/DateFieldStyled.css": DateFieldStyledCsx,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/DatePickerStyled.css": css,
+ "src/components/CalendarStyled.component.tsx": CalenderStyledTsx,
+ "src/components/DateFieldStyled.component.tsx": DateFieldStyledTsx,
+ "src/components/Utils.component.tsx": UtilsTsx,
+ "src/components/CalendarStyled.css": CalenderStyledCss,
+ "src/components/DateFieldStyled.css": DateFieldStyledCsx,
+ },
+ },
+ }),
},
- decorators: [
- Story => {
- document.body.id = "tailwind";
- return ;
- },
- ],
} as Meta;
export const Default: Story = {
diff --git a/src/datepicker/stories/DateRangePickerBasic.component.tsx b/src/datepicker/stories/DateRangePickerBasic.component.tsx
index 1bd85e3cc..3e35faf02 100644
--- a/src/datepicker/stories/DateRangePickerBasic.component.tsx
+++ b/src/datepicker/stories/DateRangePickerBasic.component.tsx
@@ -16,6 +16,8 @@ import {
import DatePickerBasic from "./DatePickerBasic.component";
import { CalendarIcon } from "./Utils.component";
+import "./DateRangePickerBasic.css";
+
export type DateRangePickerBasicProps = DateRangePickerBaseStateProps & {};
export const DateRangePickerBasic: React.FC<
@@ -34,14 +36,14 @@ export const DateRangePickerBasic: React.FC<
>
)}
diff --git a/src/datepicker/stories/DateRangePickerBasic.stories.tsx b/src/datepicker/stories/DateRangePickerBasic.stories.tsx
index 111cc636a..366e07ee5 100644
--- a/src/datepicker/stories/DateRangePickerBasic.stories.tsx
+++ b/src/datepicker/stories/DateRangePickerBasic.stories.tsx
@@ -2,14 +2,26 @@ import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
+import CalendarBasicCss from "../../calendar/stories/templates/CalendarBasicCss";
+import CalendarBasicJsx from "../../calendar/stories/templates/CalendarBasicJsx";
+import CalendarBasicTsx from "../../calendar/stories/templates/CalendarBasicTsx";
+import CalenderRangeCss from "../../calendar/stories/templates/CalendarRangeCss";
+import CalenderRangeJsx from "../../calendar/stories/templates/CalendarRangeJsx";
+import CalenderRangeTsx from "../../calendar/stories/templates/CalendarRangeTsx";
+import DateFieldBasicCss from "../../datefield/stories/templates/DateFieldBasicCss";
+import DateFieldBasicJsx from "../../datefield/stories/templates/DateFieldBasicJsx";
+import DateFieldBasicTsx from "../../datefield/stories/templates/DateFieldBasicTsx";
+import DatePickerBasicCss from "./templates/DatePickerBasicCss";
+import DatePickerBasicJsx from "./templates/DatePickerBasicJsx";
+import DatePickerBasicTsx from "./templates/DatePickerBasicTsx";
import css from "./templates/DateRangePickerBasicCss";
import js from "./templates/DateRangePickerBasicJsx";
import ts from "./templates/DateRangePickerBasicTsx";
+import UtilsJsx from "./templates/UtilsJsx";
+import UtilsTsx from "./templates/UtilsTsx";
import { DateRangePickerBasic } from "./DateRangePickerBasic.component";
-import "./DateRangePickerBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
@@ -18,7 +30,39 @@ export default {
component: DateRangePickerBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/DateRangePickerBasic.css": css,
+ "src/components/CalendarRange.component.jsx": CalenderRangeJsx,
+ "src/components/DateFieldBasic.component.jsx": DateFieldBasicJsx,
+ "src/components/CalendarRange.css": CalenderRangeCss,
+ "src/components/DateFieldBasic.css": DateFieldBasicCss,
+ "src/components/Utils.component.jsx": UtilsJsx,
+ "src/components/DatePickerBasic.component.jsx": DatePickerBasicJsx,
+ "src/components/DatePickerBasic.css": DatePickerBasicCss,
+ "src/components/CalendarBasic.component.jsx": CalendarBasicJsx,
+ "src/components/CalendarBasic.css": CalendarBasicCss,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/DateRangePickerBasic.css": css,
+ "src/components/CalendarRange.component.tsx": CalenderRangeTsx,
+ "src/components/DateFieldBasic.component.tsx": DateFieldBasicTsx,
+ "src/components/CalendarRange.css": CalenderRangeCss,
+ "src/components/DateFieldBasic.css": DateFieldBasicCss,
+ "src/components/Utils.component.tsx": UtilsTsx,
+ "src/components/DatePickerBasic.component.tsx": DatePickerBasicTsx,
+ "src/components/DatePickerBasic.css": DatePickerBasicCss,
+ "src/components/CalendarBasic.component.tsx": CalendarBasicTsx,
+ "src/components/CalendarBasic.css": CalendarBasicCss,
+ },
+ },
+ css,
+ }),
},
decorators: [
Story => {
diff --git a/src/datepicker/stories/DateRangePickerStyled.component.tsx b/src/datepicker/stories/DateRangePickerStyled.component.tsx
index b796ddc86..ad9418343 100644
--- a/src/datepicker/stories/DateRangePickerStyled.component.tsx
+++ b/src/datepicker/stories/DateRangePickerStyled.component.tsx
@@ -13,8 +13,9 @@ import {
useDateRangePickerState,
} from "../../index";
-import DatePickerStyled from "./DatePickerStyled.component";
-import { CalendarStyledIcon } from "./Utils.component";
+import { CalendarIcon, CalendarStyledIcon } from "./Utils.component";
+
+// import "./DateRangePickerStyled.css";
export type DateRangePickerStyledProps = DateRangePickerBaseStateProps & {};
@@ -34,27 +35,27 @@ export const DateRangePickerStyled: React.FC<
>
-
+
{state.popover.visible && (
)}
@@ -63,4 +64,4 @@ export const DateRangePickerStyled: React.FC<
);
};
-export default DatePickerStyled;
+export default DateRangePickerStyled;
diff --git a/src/datepicker/stories/DateRangePickerStyled.css b/src/datepicker/stories/DateRangePickerStyled.css
new file mode 100644
index 000000000..1e5999b50
--- /dev/null
+++ b/src/datepicker/stories/DateRangePickerStyled.css
@@ -0,0 +1,217 @@
+button {
+ all: unset;
+}
+
+.relative {
+ position: relative;
+}
+
+.inline-block {
+ display: inline-block;
+}
+
+.border {
+ border-width: 1px;
+}
+
+.border-gray-300 {
+ --tw-border-opacity: 1;
+ border-color: rgb(209 213 219 / var(--tw-border-opacity));
+}
+
+.rounded-md {
+ border-radius: 0.375rem /* 6px */;
+}
+
+.shadow-sm {
+ --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
+ --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
+ var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+
+.p-2 {
+ padding: 0.5rem /* 8px */;
+}
+
+.pl-4 {
+ padding-left: 1rem /* 16px */;
+}
+
+.pr-4 {
+ padding-right: 1rem /* 16px */;
+}
+
+.space-x-4 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse: 0;
+ margin-right: calc(1rem * var(--tw-space-x-reverse));
+ margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
+}
+
+.datepicker__dash:before {
+ content: "-";
+}
+
+.px-2 {
+ padding-left: 0.5rem /* 8px */;
+ padding-right: 0.5rem /* 8px */;
+}
+
+.py-1 {
+ padding-top: 0.25rem /* 4px */;
+ padding-bottom: 0.25rem /* 4px */;
+}
+
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem /* 8px */;
+ padding-right: 0.5rem /* 8px */;
+}
+.py-1 {
+ padding-top: 0.25rem /* 4px */;
+ padding-bottom: 0.25rem /* 4px */;
+}
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
+
+.focus\:ring-2:focus {
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
+ var(--tw-ring-offset-width) var(--tw-ring-offset-color);
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
+ calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
+ var(--tw-shadow, 0 0 #0000);
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0;
+}
+.w-4 {
+ width: 1rem /* 16px */;
+}
+.text-center {
+ text-align: center;
+}
+.font-light {
+ font-weight: 300;
+}
+.text-gray-500 {
+ --tw-text-opacity: 1;
+ color: rgb(107 114 128 / var(--tw-text-opacity));
+}
+.p-2 {
+ padding: 0.5rem /* 8px */;
+}
+.text-sm {
+ font-size: 0.875rem /* 14px */;
+ line-height: 1.25rem /* 20px */;
+}
+.font-bold {
+ font-weight: 700;
+}
+.text-gray-700 {
+ --tw-text-opacity: 1;
+ color: rgb(55 65 81 / var(--tw-text-opacity));
+}
+.px-2 {
+ padding-left: 0.5rem /* 8px */;
+ padding-right: 0.5rem /* 8px */;
+}
+.py-1 {
+ padding-top: 0.25rem /* 4px */;
+ padding-bottom: 0.25rem /* 4px */;
+}
+.shadow-lg {
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
+ 0 4px 6px -4px rgb(0 0 0 / 0.1);
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),
+ 0 4px 6px -4px var(--tw-shadow-color);
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
+ var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
+}
+.w-max {
+ width: max-content;
+}
+.rounded-md {
+ border-radius: 0.375rem /* 6px */;
+}
+.bg-white {
+ --tw-bg-opacity: 1;
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity));
+}
+.p-3 {
+ padding: 0.75rem /* 12px */;
+}
+.flex {
+ display: flex;
+}
+.calendar__cell {
+ height: 32px;
+ width: 32px;
+ max-height: 32px;
+ max-width: 32px;
+ font-size: 0.875rem /* 14px */;
+ line-height: 1.25rem /* 20px */;
+ text-align: center;
+ border-radius: 0.5rem /* 8px */;
+}
+.calendar__cell[data-is-range-selection] {
+ background-color: rgb(219 234 254);
+ border-radius: 0px;
+ color: rgb(31 41 55);
+}
+.calendar__cell[data-is-selection-start] {
+ background-color: rgb(59 130 246);
+ border-top-left-radius: 0.5rem /* 8px */;
+ border-bottom-left-radius: 0.5rem /* 8px */;
+ color: rgb(255 255 255);
+}
+.calendar__cell[data-is-selection-end] {
+ background-color: rgb(59 130 246);
+ border-top-right-radius: 0.5rem /* 8px */;
+ border-bottom-right-radius: 0.5rem /* 8px */;
+ color: rgb(255 255 255);
+}
+
+.calendar__cell[data-is-range-selection]:focus-within {
+ background-color: rgb(96 165 250);
+ color: rgb(255 255 255);
+}
+.calendar__cell:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [data-weekend] {
+ color: rgb(220 38 38);
+}
+
+.calendar [aria-selected="true"] {
+ color: rgb(255 255 255);
+ background-color: rgb(59 130 246);
+}
+
+.calendar [aria-selected]:focus-within {
+ background-color: rgb(243 244 246);
+}
+
+.calendar [aria-selected="true"]:focus-within {
+ color: rgb(255 255 255);
+ background-color: rgb(96 165 250);
+}
+
+.calendar [aria-disabled="true"] {
+ color: rgb(107 114 128);
+}
+
+.calendar span {
+ outline: none;
+}
diff --git a/src/datepicker/stories/DateRangePickerStyled.stories.tsx b/src/datepicker/stories/DateRangePickerStyled.stories.tsx
index 9303fd29a..0b9dcb4a2 100644
--- a/src/datepicker/stories/DateRangePickerStyled.stories.tsx
+++ b/src/datepicker/stories/DateRangePickerStyled.stories.tsx
@@ -1,13 +1,24 @@
-import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
+import CalederRangeStyledCss from "../../calendar/stories/templates/CalendarRangeStyledCss";
+import CalederRangeStyledJsx from "../../calendar/stories/templates/CalendarRangeStyledJsx";
+import CalederRangeStyledTsx from "../../calendar/stories/templates/CalendarRangeStyledTsx";
+import DateFieldStyledCss from "../../datefield/stories/templates/DateFieldStyledCss";
+import DateFieldStyledJsx from "../../datefield/stories/templates/DateFieldStyledJsx";
+import DateFieldStyledTsx from "../../datefield/stories/templates/DateFieldStyledTsx";
+import css from "./templates/DateRangePickerStyledCss";
import js from "./templates/DateRangePickerStyledJsx";
import ts from "./templates/DateRangePickerStyledTsx";
+import UtilsJsx from "./templates/UtilsJsx";
+import UtilsTsx from "./templates/UtilsTsx";
import { DateRangePickerStyled } from "./DateRangePickerStyled.component";
-import "./tailwind.css";
+import "./DateRangePickerStyled.css";
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
@@ -17,14 +28,36 @@ export default {
component: DateRangePickerStyled,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/DateRangePickerStyled.css": css,
+ "src/App.js": CreateAppTemplate({ label: "DateRangePicker" }),
+ "src/components/CalendarRangeStyled.component.jsx":
+ CalederRangeStyledJsx,
+ "src/components/CalendarRangeStyled.css": CalederRangeStyledCss,
+ "src/components/Utils.component.jsx": UtilsJsx,
+ "src/components/DateFieldStyled.component.jsx": DateFieldStyledJsx,
+ "src/components/DateFieldStyled.css": DateFieldStyledCss,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/DateRangePickerStyled.css": css,
+ "src/App.tsx": CreateAppTemplate({ label: "DateRangePicker" }),
+ "src/components/CalendarRangeStyled.component.tsx":
+ CalederRangeStyledTsx,
+ "src/components/CalendarRangeStyled.css": CalederRangeStyledCss,
+ "src/components/Utils.component.tsx": UtilsTsx,
+ "src/components/DateFieldStyled.component.tsx": DateFieldStyledTsx,
+ "src/components/DateFieldStyled.css": DateFieldStyledCss,
+ },
+ },
+ css,
+ }),
},
- decorators: [
- Story => {
- document.body.id = "tailwind";
- return ;
- },
- ],
} as Meta;
export const Default: Story = {
diff --git a/src/datepicker/stories/tailwind.css b/src/datepicker/stories/tailwind.css
deleted file mode 100644
index 2f5267723..000000000
--- a/src/datepicker/stories/tailwind.css
+++ /dev/null
@@ -1,57 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer components {
- .styled-datepicker .calendar__cell {
- height: 32px;
- width: 32px;
- max-height: 32px;
- max-width: 32px;
- @apply text-sm text-center rounded-lg;
- }
- .styled-datepicker .calendar__cell[data-is-range-selection] {
- @apply bg-blue-100 rounded-none text-gray-800 !important;
- }
- .styled-datepicker .calendar__cell[data-is-selection-start] {
- @apply bg-blue-500 rounded-l-lg text-white !important;
- }
- .styled-datepicker .calendar__cell[data-is-selection-end] {
- @apply bg-blue-500 rounded-r-lg text-white !important;
- }
-
- .styled-datepicker .calendar__cell[data-is-range-selection]:focus-within {
- @apply bg-blue-400 text-white !important;
- }
- .styled-datepicker .calendar__cell:focus-within {
- @apply bg-gray-100;
- }
-
- .styled-datepicker.calendar [data-weekend] {
- @apply text-red-600;
- }
-
- .styled-datepicker.calendar [aria-selected="true"] {
- @apply text-white bg-blue-500;
- }
-
- .styled-datepicker.calendar [aria-selected]:focus-within {
- @apply bg-gray-100;
- }
-
- .styled-datepicker.calendar [aria-selected="true"]:focus-within {
- @apply text-white bg-blue-400;
- }
-
- .styled-datepicker.calendar [aria-disabled="true"] {
- @apply text-gray-500;
- }
-
- .styled-datepicker.calendar span {
- outline: none;
- }
-
- .datepicker__dash:before {
- content: "-";
- }
-}
diff --git a/src/dialog/stories/DrawerBasic.component.tsx b/src/dialog/stories/DrawerBasic.component.tsx
index 2e446e04e..9de08a0e1 100644
--- a/src/dialog/stories/DrawerBasic.component.tsx
+++ b/src/dialog/stories/DrawerBasic.component.tsx
@@ -9,6 +9,8 @@ import {
import { Drawer } from "../../index";
+import "./DrawerBasic.css";
+
export type DrawerBasicProps = DisclosureStateProps & {};
export const DrawerBasic: React.FC = props => {
diff --git a/src/dialog/stories/DrawerBasic.stories.tsx b/src/dialog/stories/DrawerBasic.stories.tsx
index f9e75fc05..f7a7d238d 100644
--- a/src/dialog/stories/DrawerBasic.stories.tsx
+++ b/src/dialog/stories/DrawerBasic.stories.tsx
@@ -2,12 +2,11 @@ import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
+import css from "./templates/DrawerBasicCss";
import js from "./templates/DrawerBasicJsx";
import ts from "./templates/DrawerBasicTsx";
import { DrawerBasic } from "./DrawerBasic.component";
-import "./DrawerBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
@@ -16,7 +15,20 @@ export default {
component: DrawerBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/DrawerBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/DrawerBasic.css": css,
+ },
+ },
+ }),
},
} as Meta;
diff --git a/src/disclosure/stories/DisclosureHorizontalCollapseBasic.stories.tsx b/src/disclosure/stories/DisclosureHorizontalCollapseBasic.stories.tsx
index 752d851d8..af9d74fe8 100644
--- a/src/disclosure/stories/DisclosureHorizontalCollapseBasic.stories.tsx
+++ b/src/disclosure/stories/DisclosureHorizontalCollapseBasic.stories.tsx
@@ -14,7 +14,14 @@ export default {
component: DisclosureHorizontalCollapseBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ },
+ ts: {
+ template: ts,
+ },
+ }),
},
} as Meta;
diff --git a/src/disclosure/stories/DisclosureVerticalCollapseBasic.stories.tsx b/src/disclosure/stories/DisclosureVerticalCollapseBasic.stories.tsx
index cbcb2a3d7..08340153f 100644
--- a/src/disclosure/stories/DisclosureVerticalCollapseBasic.stories.tsx
+++ b/src/disclosure/stories/DisclosureVerticalCollapseBasic.stories.tsx
@@ -14,7 +14,7 @@ export default {
component: DisclosureVerticalCollapseBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({ js: { template: js }, ts: { template: ts } }),
},
} as Meta;
diff --git a/src/link/stories/LinkBasic.stories.tsx b/src/link/stories/LinkBasic.stories.tsx
deleted file mode 100644
index 0cb1aa54c..000000000
--- a/src/link/stories/LinkBasic.stories.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-
-import { createPreviewTabs } from "../../../.storybook/utils";
-
-import js from "./templates/LinkBasicJsx";
-import ts from "./templates/LinkBasicTsx";
-import { LinkBasic } from "./LinkBasic.component";
-
-type Meta = ComponentMeta;
-type Story = ComponentStoryObj;
-
-export default {
- title: "Link/Basic",
- component: LinkBasic,
- parameters: {
- layout: "centered",
- preview: createPreviewTabs({ js, ts }),
- },
-} as Meta;
-
-export const Default: Story = {
- args: { href: "https://timeless.co/", children: "Timeless" },
-};
-
-export const ExternlaLink: Story = {
- args: {
- children: "Timeless",
- href: "https://timeless.co/",
- isExternal: true,
- },
-};
-
-export const DisabledExternalLink: Story = {
- args: {
- children: "Timeless",
- href: "https://timeless.co/",
- isExternal: true,
- disabled: true,
- },
-};
diff --git a/src/link/stories/LinkBasicDefault.stories.tsx b/src/link/stories/LinkBasicDefault.stories.tsx
new file mode 100644
index 000000000..ad582ae77
--- /dev/null
+++ b/src/link/stories/LinkBasicDefault.stories.tsx
@@ -0,0 +1,117 @@
+import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
+
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
+
+import js from "./templates/LinkBasicJsx";
+import ts from "./templates/LinkBasicTsx";
+import { LinkBasic } from "./LinkBasic.component";
+
+type Meta = ComponentMeta;
+type Story = ComponentStoryObj;
+
+export default {
+ title: "Link/Basic",
+ component: LinkBasic,
+} as Meta;
+
+export const Default: Story = {
+ args: {
+ href: "https://timeless.co/",
+ children: "Timeless",
+ },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ href: "https://timeless.co/",
+ children: "Timeless",
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ href: "https://timeless.co/",
+ children: "Timeless",
+ }),
+ },
+ },
+ }),
+ },
+};
+
+export const ExternlaLink: Story = {
+ args: {
+ children: "Timeless",
+ href: "https://timeless.co/",
+ isExternal: true,
+ },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ href: "https://timeless.co/",
+ children: "Timeless",
+ isExternal: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ href: "https://timeless.co/",
+ children: "Timeless",
+ isExternal: true,
+ }),
+ },
+ },
+ }),
+ },
+};
+
+export const DisabledExternalLink: Story = {
+ args: {
+ children: "Timeless",
+ href: "https://timeless.co/",
+ isExternal: true,
+ disabled: true,
+ },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ href: "https://timeless.co/",
+ children: "Timeless",
+ isExternal: true,
+ disabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ href: "https://timeless.co/",
+ children: "Timeless",
+ isExternal: true,
+ disabled: true,
+ }),
+ },
+ },
+ }),
+ },
+};
diff --git a/src/link/stories/LinkSpan.stories.tsx b/src/link/stories/LinkSpan.stories.tsx
index e1c861e87..077ed7cf3 100644
--- a/src/link/stories/LinkSpan.stories.tsx
+++ b/src/link/stories/LinkSpan.stories.tsx
@@ -1,6 +1,10 @@
+import React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import js from "./templates/LinkSpanJsx";
import ts from "./templates/LinkSpanTsx";
@@ -12,10 +16,6 @@ type Story = ComponentStoryObj;
export default {
title: "Link/Span",
component: LinkSpan,
- parameters: {
- layout: "centered",
- preview: createPreviewTabs({ js, ts }),
- },
} as Meta;
export const Default: Story = {
@@ -24,6 +24,35 @@ export const Default: Story = {
onClick: event => goToLink(event, "https://timeless.co/"),
onKeyDown: event => goToLink(event, "https://timeless.co/"),
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ children: "Timeless",
+ onClick: (event: React.MouseEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ onKeyDown: (event: React.MouseEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ children: "Timeless",
+ onClick: (event: React.MouseEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ onKeyDown: (event: React.MouseEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ }),
+ },
+ },
+ }),
+ },
};
export const DisabledLink: Story = {
@@ -33,6 +62,37 @@ export const DisabledLink: Story = {
onKeyDown: event => goToLink(event, "https://timeless.co/"),
disabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ children: "Timeless",
+ onClick: (event: React.MouseEvent | React.KeyboardEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ onKeyDown: (event: React.MouseEvent | React.KeyboardEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ disabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ children: "Timeless",
+ onClick: (event: React.MouseEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ onKeyDown: (event: React.MouseEvent) =>
+ goToLink(event, "https://timeless.co/"),
+ disabled: true,
+ }),
+ },
+ },
+ }),
+ },
};
function goToLink(event: React.MouseEvent | React.KeyboardEvent, url: string) {
diff --git a/src/meter/stories/MeterBasic.component.tsx b/src/meter/stories/MeterBasic.component.tsx
index 906d37507..d3f32e7ab 100644
--- a/src/meter/stories/MeterBasic.component.tsx
+++ b/src/meter/stories/MeterBasic.component.tsx
@@ -2,6 +2,8 @@ import * as React from "react";
import { Meter, MeterStateProps, useMeterState } from "../../index";
+import "./MeterBasic.css";
+
export const MeterBasic: React.FC = props => {
const state = useMeterState(props);
const { percent, status } = state;
diff --git a/src/meter/stories/MeterBasic.stories.tsx b/src/meter/stories/MeterBasic.stories.tsx
index 1b8f70519..b43548435 100644
--- a/src/meter/stories/MeterBasic.stories.tsx
+++ b/src/meter/stories/MeterBasic.stories.tsx
@@ -1,25 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/MeterBasicCss";
import js from "./templates/MeterBasicJsx";
import ts from "./templates/MeterBasicTsx";
import MeterBasic from "./MeterBasic.component";
-import "./MeterBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
title: "Meter/Basic",
component: MeterBasic,
- parameters: {
- layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
- },
} as Meta;
export const Default: Story = {
@@ -31,6 +28,26 @@ export const Default: Story = {
high: 10,
optimum: 5,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({ value: 0.5, high: 0.8 }),
+ "src/components/MeterBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({ value: 0.5, high: 0.8 }),
+ "src/components/MeterBasic.css": css,
+ },
+ },
+ css,
+ }),
+ },
};
// Examples from https://css-tricks.com/html5-meter-element/
diff --git a/src/meter/stories/MeterStyled.stories.tsx b/src/meter/stories/MeterStyled.stories.tsx
index baa2d28a3..67e498d76 100644
--- a/src/meter/stories/MeterStyled.stories.tsx
+++ b/src/meter/stories/MeterStyled.stories.tsx
@@ -1,6 +1,9 @@
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import js from "./templates/MeterStyledJsx";
import ts from "./templates/MeterStyledTsx";
@@ -12,20 +15,123 @@ type Story = ComponentStoryObj;
export default {
component: MeterBasic,
title: "Meter/Styled",
- parameters: {
- layout: "centered",
- preview: createPreviewTabs({ js, ts, deps: ["@emotion/css@latest"] }),
- },
} as Meta;
const Default: Story = {
args: { value: 5, min: 0, max: 10, low: 0, high: 10, optimum: 5 },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ value: 5,
+ min: 0,
+ max: 10,
+ low: 0,
+ high: 10,
+ optimum: 5,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ value: 5,
+ min: 0,
+ max: 10,
+ low: 0,
+ high: 10,
+ optimum: 5,
+ }),
+ },
+ },
+ deps: ["@emotion/css@latest"],
+ }),
+ },
};
-export const WithLabel = { args: { ...Default.args, withLabel: true } };
+export const WithLabel = {
+ args: { ...Default.args, withLabel: true },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({ ...Default.args, withLabel: true }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ ...Default.args,
+ withLabel: true,
+ }),
+ },
+ },
+ deps: ["@emotion/css@latest"],
+ }),
+ },
+};
-export const WithStripe = { args: { ...Default.args, withStripe: true } };
+export const WithStripe = {
+ args: { ...Default.args, withStripe: true },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ ...Default.args,
+ withStripe: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ ...Default.args,
+ withStripe: true,
+ }),
+ },
+ },
+ deps: ["@emotion/css@latest"],
+ }),
+ },
+};
export const WithStripeAnimation = {
args: { ...Default.args, withStripe: true, withStripeAnimation: true },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ ...Default.args,
+ withStripe: true,
+ withStripeAnimation: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({
+ ...Default.args,
+ withStripe: true,
+ withStripeAnimation: true,
+ }),
+ },
+ },
+ deps: ["@emotion/css@latest"],
+ }),
+ },
};
diff --git a/src/numberfield/stories/NumberFieldBasic.stories.tsx b/src/numberfield/stories/NumberFieldBasic.stories.tsx
index 3f3bf8f95..3f31470cc 100644
--- a/src/numberfield/stories/NumberFieldBasic.stories.tsx
+++ b/src/numberfield/stories/NumberFieldBasic.stories.tsx
@@ -1,6 +1,9 @@
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import js from "./templates/NumberFieldBasicJsx";
import ts from "./templates/NumberFieldBasicTsx";
@@ -14,7 +17,20 @@ export default {
component: NumberFieldBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({ label: "NumberField" }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate({ label: "NumberField" }),
+ },
+ },
+ }),
},
} as Meta;
diff --git a/src/pagination/stories/PaginationBasic.stories.tsx b/src/pagination/stories/PaginationBasic.stories.tsx
index 3553a4b8a..0a24c98fe 100644
--- a/src/pagination/stories/PaginationBasic.stories.tsx
+++ b/src/pagination/stories/PaginationBasic.stories.tsx
@@ -1,6 +1,9 @@
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import js from "./templates/PaginationBasicJsx";
import ts from "./templates/PaginationBasicTsx";
@@ -14,12 +17,21 @@ export default {
component: PaginationBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
},
} as Meta;
export const Default: Story = {
args: {},
+ parameters: {
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ },
+ ts: {
+ template: ts,
+ },
+ }),
+ },
};
export const DefaultPage = {
@@ -27,6 +39,22 @@ export const DefaultPage = {
defaultPage: 5,
count: 10,
},
+ parameters: {
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({ defaultPage: 5, count: 10 }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.ts": CreateAppTemplate({ defaultPage: 5, count: 10 }),
+ },
+ },
+ }),
+ },
};
export const BoundaryCount = {
@@ -35,6 +63,30 @@ export const BoundaryCount = {
count: 50,
boundaryCount: 5,
},
+ parameters: {
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ defaultPage: 25,
+ count: 50,
+ boundaryCount: 5,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.ts": CreateAppTemplate({
+ defaultPage: 25,
+ count: 50,
+ boundaryCount: 5,
+ }),
+ },
+ },
+ }),
+ },
};
export const SibilingCount = {
@@ -43,4 +95,28 @@ export const SibilingCount = {
count: 50,
sibilingCount: 5,
},
+ parameters: {
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate({
+ defaultPage: 25,
+ count: 50,
+ sibilingCount: 5,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.ts": CreateAppTemplate({
+ defaultPage: 25,
+ count: 50,
+ sibilingCount: 5,
+ }),
+ },
+ },
+ }),
+ },
};
diff --git a/src/progress/stories/CircularProgress.stories.tsx b/src/progress/stories/CircularProgress.stories.tsx
index 1ca92e1db..d1eeaad96 100644
--- a/src/progress/stories/CircularProgress.stories.tsx
+++ b/src/progress/stories/CircularProgress.stories.tsx
@@ -15,8 +15,12 @@ export default {
parameters: {
layout: "centered",
preview: createPreviewTabs({
- js,
- ts,
+ js: {
+ template: js,
+ },
+ ts: {
+ template: ts,
+ },
deps: ["reakit@latest", "@emotion/css@latest"],
}),
},
diff --git a/src/progress/stories/LinearProgress.stories.tsx b/src/progress/stories/LinearProgress.stories.tsx
index d9b1f465a..62cab64d9 100644
--- a/src/progress/stories/LinearProgress.stories.tsx
+++ b/src/progress/stories/LinearProgress.stories.tsx
@@ -15,8 +15,12 @@ export default {
parameters: {
layout: "centered",
preview: createPreviewTabs({
- js,
- ts,
+ js: {
+ template: js,
+ },
+ ts: {
+ template: ts,
+ },
deps: ["reakit@latest", "@emotion/css@latest"],
}),
},
diff --git a/src/progress/stories/ProgressBasic.component.tsx b/src/progress/stories/ProgressBasic.component.tsx
index 6e7911c4a..deb30d0ad 100644
--- a/src/progress/stories/ProgressBasic.component.tsx
+++ b/src/progress/stories/ProgressBasic.component.tsx
@@ -2,6 +2,8 @@ import * as React from "react";
import { Progress, ProgressStateProps, useProgressState } from "../../index";
+import "./ProgressBasic.css";
+
export const ProgressBasic: React.FC = props => {
const state = useProgressState(props);
const { percent, isIndeterminate } = state;
diff --git a/src/progress/stories/ProgressBasic.stories.tsx b/src/progress/stories/ProgressBasic.stories.tsx
index adf5a2bb6..ef8959022 100644
--- a/src/progress/stories/ProgressBasic.stories.tsx
+++ b/src/progress/stories/ProgressBasic.stories.tsx
@@ -1,26 +1,67 @@
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/ProgressBasicCss";
import js from "./templates/ProgressBasicJsx";
import ts from "./templates/ProgressBasicTsx";
import { ProgressBasic } from "./ProgressBasic.component";
-import "./ProgressBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
title: "Progress/Basic",
component: ProgressBasic,
+} as Meta;
+
+export const Default: Story = {
+ args: { value: 50 },
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/ProgressBasic.css": css,
+ "src/App.js": CreateAppTemplate({ value: 50 }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/ProgressBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({ value: 50 }),
+ },
+ },
+ css,
+ }),
},
-} as Meta;
+};
-export const Default: Story = { args: { value: 50 } };
-
-export const IsIndeterminate = { args: { value: null } };
+export const IsIndeterminate = {
+ args: { value: null },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/ProgressBasic.css": css,
+ "src/App.js": CreateAppTemplate({ value: null }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/ProgressBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({ value: null }),
+ },
+ },
+ css,
+ }),
+ },
+};
diff --git a/src/slider/stories/SliderAllInOne.component.tsx b/src/slider/stories/SliderAllInOne.component.tsx
index 0f659e619..a59953e97 100644
--- a/src/slider/stories/SliderAllInOne.component.tsx
+++ b/src/slider/stories/SliderAllInOne.component.tsx
@@ -13,6 +13,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
export type SliderAllInOneProps = SliderBaseStateProps & {
/**
* Origin on the slider, calculated based on min & max
diff --git a/src/slider/stories/SliderAllInOne.stories.tsx b/src/slider/stories/SliderAllInOne.stories.tsx
index 915e3a171..a6968237c 100644
--- a/src/slider/stories/SliderAllInOne.stories.tsx
+++ b/src/slider/stories/SliderAllInOne.stories.tsx
@@ -1,26 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import js from "./templates/SliderAllInOneJsx";
import ts from "./templates/SliderAllInOneTsx";
import css from "./templates/SliderBasicCss";
import { SliderAllInOne } from "./SliderAllInOne.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
title: "Slider/AllInOne",
component: SliderAllInOne,
- parameters: {
- layout: "centered",
- parameters: { preview: createPreviewTabs({ js, ts, css }) },
- options: { showPanel: true },
- },
decorators: [
Story => {
document.body.id = "slider-basic";
@@ -29,13 +25,61 @@ export default {
],
} as Meta;
-export const Default: Story = { args: {} };
+export const Default: Story = {
+ args: {},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
+};
export const ThumbTip: Story = {
args: {
label: "Thumb Tipped",
showTip: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Origin: Story = {
@@ -47,6 +91,41 @@ export const Origin: Story = {
minValue: -50,
maxValue: 50,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Origin Changed",
+ showTip: true,
+ defaultValue: [0],
+ origin: 0,
+ minValue: -50,
+ maxValue: 50,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Origin Changed",
+ showTip: true,
+ defaultValue: [0],
+ origin: 0,
+ minValue: -50,
+ maxValue: 50,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Vertical: Story = {
@@ -54,6 +133,33 @@ export const Vertical: Story = {
label: "Vertical",
orientation: "vertical",
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Vertical",
+ orientation: "vertical",
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Vertical",
+ orientation: "vertical",
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const MinMax: Story = {
@@ -62,6 +168,35 @@ export const MinMax: Story = {
minValue: 20,
maxValue: 80,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Step: Story = {
@@ -69,6 +204,33 @@ export const Step: Story = {
label: "Stepped",
step: 10,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const DefaultValue: Story = {
@@ -76,6 +238,33 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [80],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const FormatOptions: Story = {
@@ -87,6 +276,41 @@ export const FormatOptions: Story = {
unitDisplay: "narrow",
},
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Disabled: Story = {
@@ -94,6 +318,33 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Range: Story = {
@@ -101,6 +352,33 @@ export const Range: Story = {
label: "Range",
defaultValue: [25, 75],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Range",
+ defaultValue: [25, 75],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Range",
+ defaultValue: [25, 75],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Multi: Story = {
@@ -108,6 +386,33 @@ export const Multi: Story = {
label: "Range",
defaultValue: [25, 50, 75],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Range",
+ defaultValue: [25, 50, 75],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Range",
+ defaultValue: [25, 50, 75],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Multis: Story = {
@@ -115,4 +420,31 @@ export const Multis: Story = {
label: "Range",
defaultValue: [0, 20, 40, 60, 80, 100],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Range",
+ defaultValue: [0, 20, 40, 60, 80, 100],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Range",
+ defaultValue: [0, 20, 40, 60, 80, 100],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
diff --git a/src/slider/stories/SliderBasic.component.tsx b/src/slider/stories/SliderBasic.component.tsx
index f290184c5..ec397403f 100644
--- a/src/slider/stories/SliderBasic.component.tsx
+++ b/src/slider/stories/SliderBasic.component.tsx
@@ -11,6 +11,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
export type SliderBasicProps = SliderBaseStateProps & {};
export const SliderBasic: React.FC = props => {
diff --git a/src/slider/stories/SliderBasic.stories.tsx b/src/slider/stories/SliderBasic.stories.tsx
index fd9e88581..6013370b6 100644
--- a/src/slider/stories/SliderBasic.stories.tsx
+++ b/src/slider/stories/SliderBasic.stories.tsx
@@ -1,27 +1,44 @@
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
+import css from "./templates/SliderBasicCss";
import js from "./templates/SliderBasicJsx";
import ts from "./templates/SliderBasicTsx";
import { SliderBasic } from "./SliderBasic.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
title: "Slider/Basic",
component: SliderBasic,
+} as Meta;
+
+export const Default: Story = {
+ args: {},
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ },
+ },
+ }),
options: { showPanel: true },
},
-} as Meta;
-
-export const Default: Story = { args: {} };
+};
export const MinMax: Story = {
args: {
@@ -29,6 +46,33 @@ export const MinMax: Story = {
minValue: 20,
maxValue: 80,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ }),
+ },
};
export const Step: Story = {
@@ -36,6 +80,31 @@ export const Step: Story = {
label: "Stepped",
step: 10,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ }),
+ },
};
export const DefaultValue: Story = {
@@ -43,6 +112,31 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [80],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ }),
+ },
};
export const FormatOptions: Story = {
@@ -54,6 +148,39 @@ export const FormatOptions: Story = {
unitDisplay: "narrow",
},
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ }),
+ },
};
export const Disabled: Story = {
@@ -61,4 +188,29 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ }),
+ },
};
diff --git a/src/slider/stories/SliderMulti.component.tsx b/src/slider/stories/SliderMulti.component.tsx
index e332505e5..373c11242 100644
--- a/src/slider/stories/SliderMulti.component.tsx
+++ b/src/slider/stories/SliderMulti.component.tsx
@@ -13,6 +13,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
export type SliderMultiProps = SliderBaseStateProps & {
/**
* True, if thumb needs a tip to show it's current percent
diff --git a/src/slider/stories/SliderMulti.stories.tsx b/src/slider/stories/SliderMulti.stories.tsx
index 699c8d550..82e1b6d54 100644
--- a/src/slider/stories/SliderMulti.stories.tsx
+++ b/src/slider/stories/SliderMulti.stories.tsx
@@ -1,26 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/SliderBasicCss";
import js from "./templates/SliderMultiJsx";
import ts from "./templates/SliderMultiTsx";
import { SliderMulti } from "./SliderMulti.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
title: "Slider/Multi",
component: SliderMulti,
- parameters: {
- layout: "centered",
- parameters: { preview: createPreviewTabs({ js, ts, css }) },
- options: { showPanel: true },
- },
decorators: [
Story => {
document.body.id = "slider-basic";
@@ -33,6 +29,31 @@ export const Default: Story = {
args: {
defaultValue: [25, 50, 75],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const ThumbTip: Story = {
@@ -41,6 +62,35 @@ export const ThumbTip: Story = {
label: "Thumb Tipped",
showTip: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Vertical: Story = {
@@ -49,6 +99,35 @@ export const Vertical: Story = {
label: "Vertical",
orientation: "vertical",
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Vertical",
+ orientation: "vertical",
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Vertical",
+ orientation: "vertical",
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const MinMax: Story = {
@@ -58,6 +137,37 @@ export const MinMax: Story = {
minValue: 20,
maxValue: 80,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Step: Story = {
@@ -66,6 +176,35 @@ export const Step: Story = {
label: "Stepped",
step: 10,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const DefaultValue: Story = {
@@ -73,6 +212,33 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [10, 20, 30],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [10, 20, 30],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [10, 20, 30],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Disabled: Story = {
@@ -81,4 +247,33 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 50, 75],
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
diff --git a/src/slider/stories/SliderRange.component.tsx b/src/slider/stories/SliderRange.component.tsx
index 9b61564a7..8b805e47a 100644
--- a/src/slider/stories/SliderRange.component.tsx
+++ b/src/slider/stories/SliderRange.component.tsx
@@ -13,6 +13,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
export type SliderRangeProps = SliderBaseStateProps & {
/**
* True, if thumb needs a tip to show it's current percent
diff --git a/src/slider/stories/SliderRange.stories.tsx b/src/slider/stories/SliderRange.stories.tsx
index 69b494762..1ee093f93 100644
--- a/src/slider/stories/SliderRange.stories.tsx
+++ b/src/slider/stories/SliderRange.stories.tsx
@@ -1,26 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/SliderBasicCss";
import js from "./templates/SliderRangeJsx";
import ts from "./templates/SliderRangeTsx";
import { SliderRange } from "./SliderRange.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
component: SliderRange,
title: "Slider/Range",
- parameters: {
- layout: "centered",
- parameters: { preview: createPreviewTabs({ js, ts, css }) },
- options: { showPanel: true },
- },
decorators: [
Story => {
document.body.id = "slider-basic";
@@ -33,6 +29,31 @@ export const Default: Story = {
args: {
defaultValue: [25, 75],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 75],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 75],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const ThumbTip: Story = {
@@ -41,6 +62,35 @@ export const ThumbTip: Story = {
label: "Thumb Tipped",
showTip: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Vertical: Story = {
@@ -49,6 +99,35 @@ export const Vertical: Story = {
label: "Vertical",
orientation: "vertical",
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Vertical",
+ orientation: "vertical",
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Vertical",
+ orientation: "vertical",
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const MinMax: Story = {
@@ -58,6 +137,37 @@ export const MinMax: Story = {
minValue: 20,
maxValue: 80,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Step: Story = {
@@ -66,6 +176,35 @@ export const Step: Story = {
label: "Stepped",
step: 10,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const DefaultValue: Story = {
@@ -73,6 +212,33 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [10, 80],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [10, 80],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [10, 80],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const FormatOptions: Story = {
@@ -85,6 +251,43 @@ export const FormatOptions: Story = {
unitDisplay: "narrow",
},
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Disabled: Story = {
@@ -93,4 +296,33 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [25, 75],
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
diff --git a/src/slider/stories/SliderSingle.component.tsx b/src/slider/stories/SliderSingle.component.tsx
index dad524881..88e9527b2 100644
--- a/src/slider/stories/SliderSingle.component.tsx
+++ b/src/slider/stories/SliderSingle.component.tsx
@@ -13,6 +13,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
export type SliderSingleProps = SliderBaseStateProps & {
/**
* True, if thumb needs a tip to show it's current percent
diff --git a/src/slider/stories/SliderSingle.stories.tsx b/src/slider/stories/SliderSingle.stories.tsx
index 0f09c6f9d..7ccac8599 100644
--- a/src/slider/stories/SliderSingle.stories.tsx
+++ b/src/slider/stories/SliderSingle.stories.tsx
@@ -1,26 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/SliderBasicCss";
import js from "./templates/SliderSingleJsx";
import ts from "./templates/SliderSingleTsx";
import { SliderSingle } from "./SliderSingle.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
component: SliderSingle,
title: "Slider/Single",
- parameters: {
- layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
- options: { showPanel: true },
- },
decorators: [
Story => {
document.body.id = "slider-basic";
@@ -29,7 +25,30 @@ export default {
],
} as Meta;
-export const Default: Story = { args: {} };
+export const Default: Story = {
+ args: {},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({}),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({}),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
+};
export const MinMax: Story = {
args: {
@@ -37,6 +56,35 @@ export const MinMax: Story = {
minValue: 20,
maxValue: 80,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Step: Story = {
@@ -44,6 +92,33 @@ export const Step: Story = {
label: "Stepped",
step: 10,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const DefaultValue: Story = {
@@ -51,6 +126,33 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [80],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const FormatOptions: Story = {
@@ -62,6 +164,41 @@ export const FormatOptions: Story = {
unitDisplay: "narrow",
},
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Disabled: Story = {
@@ -69,4 +206,31 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
diff --git a/src/slider/stories/SliderSingleOrigin.component.tsx b/src/slider/stories/SliderSingleOrigin.component.tsx
index c355d05d4..095c4f006 100644
--- a/src/slider/stories/SliderSingleOrigin.component.tsx
+++ b/src/slider/stories/SliderSingleOrigin.component.tsx
@@ -13,6 +13,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
interface SliderSingleOriginProps extends SliderBaseStateProps {
/**
* True, if thumb needs a tip to show it's current percent
diff --git a/src/slider/stories/SliderSingleOrigin.stories.tsx b/src/slider/stories/SliderSingleOrigin.stories.tsx
index 4549b5bb7..51dd548ad 100644
--- a/src/slider/stories/SliderSingleOrigin.stories.tsx
+++ b/src/slider/stories/SliderSingleOrigin.stories.tsx
@@ -1,26 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/SliderBasicCss";
import js from "./templates/SliderSingleOriginJsx";
import ts from "./templates/SliderSingleOriginTsx";
import { SliderSingleOrigin } from "./SliderSingleOrigin.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
component: SliderSingleOrigin,
title: "Slider/SingleOrigin",
- parameters: {
- layout: "centered",
- parameters: { preview: createPreviewTabs({ js, ts, css }) },
- options: { showPanel: true },
- },
decorators: [
Story => {
document.body.id = "slider-basic";
@@ -31,6 +27,35 @@ export default {
export const Default: Story = {
args: { minValue: -10, maxValue: +10, defaultValue: [0] },
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const ThumbTip: Story = {
@@ -41,6 +66,39 @@ export const ThumbTip: Story = {
label: "Thumb Tipped",
showTip: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const MinMax: Story = {
@@ -50,6 +108,37 @@ export const MinMax: Story = {
minValue: -20,
maxValue: +20,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ defaultValue: [0],
+ label: "Min Max",
+ minValue: -20,
+ maxValue: +20,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ defaultValue: [0],
+ label: "Min Max",
+ minValue: -20,
+ maxValue: +20,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Step: Story = {
@@ -60,6 +149,39 @@ export const Step: Story = {
label: "Stepped",
step: 2,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Stepped",
+ step: 2,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Stepped",
+ step: 2,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const DefaultValue: Story = {
@@ -69,6 +191,37 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [-5],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ label: "Default Valued",
+ defaultValue: [-5],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ label: "Default Valued",
+ defaultValue: [-5],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const FormatOptions: Story = {
@@ -83,6 +236,47 @@ export const FormatOptions: Story = {
unitDisplay: "narrow",
},
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Disabled: Story = {
@@ -93,4 +287,37 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ minValue: -10,
+ maxValue: +10,
+ defaultValue: [0],
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
diff --git a/src/slider/stories/SliderSingleReversed.component.tsx b/src/slider/stories/SliderSingleReversed.component.tsx
index cf48cac81..56edffbf4 100644
--- a/src/slider/stories/SliderSingleReversed.component.tsx
+++ b/src/slider/stories/SliderSingleReversed.component.tsx
@@ -14,6 +14,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
export type SliderSingleReversedProps = SliderBaseStateProps & {
/**
* True, if thumb needs a tip to show it's current percent
diff --git a/src/slider/stories/SliderSingleReversed.stories.tsx b/src/slider/stories/SliderSingleReversed.stories.tsx
index 5274b18bc..04e20da5c 100644
--- a/src/slider/stories/SliderSingleReversed.stories.tsx
+++ b/src/slider/stories/SliderSingleReversed.stories.tsx
@@ -1,26 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/SliderBasicCss";
import js from "./templates/SliderSingleReversedJsx";
import ts from "./templates/SliderSingleReversedTsx";
import { SliderSingleReversed } from "./SliderSingleReversed.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
component: SliderSingleReversed,
title: "Slider/SingleReversed",
- parameters: {
- layout: "centered",
- parameters: { preview: createPreviewTabs({ js, ts, css }) },
- options: { showPanel: true },
- },
decorators: [
Story => {
document.body.id = "slider-basic";
@@ -29,13 +25,61 @@ export default {
],
} as Meta;
-export const Default: Story = { args: {} };
+export const Default: Story = {
+ args: {},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
+};
export const ThumbTip: Story = {
args: {
label: "Thumb Tipped",
showTip: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const MinMax: Story = {
@@ -44,6 +88,35 @@ export const MinMax: Story = {
minValue: 20,
maxValue: 80,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Step: Story = {
@@ -51,6 +124,33 @@ export const Step: Story = {
label: "Stepped",
step: 10,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const DefaultValue: Story = {
@@ -58,6 +158,33 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [80],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const FormatOptions: Story = {
@@ -69,6 +196,41 @@ export const FormatOptions: Story = {
unitDisplay: "narrow",
},
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Disabled: Story = {
@@ -76,4 +238,31 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
diff --git a/src/slider/stories/SliderSingleVertical.component.tsx b/src/slider/stories/SliderSingleVertical.component.tsx
index 614495c2f..995d9bc61 100644
--- a/src/slider/stories/SliderSingleVertical.component.tsx
+++ b/src/slider/stories/SliderSingleVertical.component.tsx
@@ -13,6 +13,8 @@ import {
useSliderThumbState,
} from "../../index";
+import "./SliderBasic.css";
+
export type SliderSingleVerticalProps = SliderBaseStateProps & {
/**
* True, if thumb needs a tip to show it's current percent
diff --git a/src/slider/stories/SliderSingleVertical.stories.tsx b/src/slider/stories/SliderSingleVertical.stories.tsx
index 4e97bc685..3ec088638 100644
--- a/src/slider/stories/SliderSingleVertical.stories.tsx
+++ b/src/slider/stories/SliderSingleVertical.stories.tsx
@@ -1,26 +1,22 @@
import * as React from "react";
import { ComponentMeta, ComponentStoryObj } from "@storybook/react";
-import { createPreviewTabs } from "../../../.storybook/utils";
+import {
+ CreateAppTemplate,
+ createPreviewTabs,
+} from "../../../.storybook/utils";
import css from "./templates/SliderBasicCss";
import js from "./templates/SliderSingleVerticalJsx";
import ts from "./templates/SliderSingleVerticalTsx";
import { SliderSingleVertical } from "./SliderSingleVertical.component";
-import "./SliderBasic.css";
-
type Meta = ComponentMeta;
type Story = ComponentStoryObj;
export default {
component: SliderSingleVertical,
title: "Slider/SingleVertical",
- parameters: {
- layout: "centered",
- parameters: { preview: createPreviewTabs({ js, ts, css }) },
- options: { showPanel: true },
- },
decorators: [
Story => {
document.body.id = "slider-basic";
@@ -33,6 +29,31 @@ export const Default: Story = {
args: {
orientation: "vertical",
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ orientation: "vertical",
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ orientation: "vertical",
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const ThumbTip: Story = {
@@ -41,6 +62,35 @@ export const ThumbTip: Story = {
label: "Thumb Tipped",
showTip: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Thumb Tipped",
+ showTip: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const MinMax: Story = {
@@ -50,6 +100,37 @@ export const MinMax: Story = {
minValue: 20,
maxValue: 80,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Min Max",
+ minValue: 20,
+ maxValue: 80,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Step: Story = {
@@ -58,6 +139,35 @@ export const Step: Story = {
label: "Stepped",
step: 10,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Stepped",
+ step: 10,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const DefaultValue: Story = {
@@ -66,6 +176,35 @@ export const DefaultValue: Story = {
label: "Default Valued",
defaultValue: [80],
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Default Valued",
+ defaultValue: [80],
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const FormatOptions: Story = {
@@ -78,6 +217,43 @@ export const FormatOptions: Story = {
unitDisplay: "narrow",
},
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Temperature Formatted",
+ formatOptions: {
+ style: "unit",
+ unit: "celsius",
+ unitDisplay: "narrow",
+ },
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
export const Disabled: Story = {
@@ -86,4 +262,33 @@ export const Disabled: Story = {
label: "Disabled",
isDisabled: true,
},
+ parameters: {
+ layout: "centered",
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.js": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/SliderBasic.css": css,
+ "src/App.tsx": CreateAppTemplate({
+ orientation: "vertical",
+ label: "Disabled",
+ isDisabled: true,
+ }),
+ },
+ },
+ css,
+ }),
+ options: { showPanel: true },
+ },
};
diff --git a/src/timefield/stories/TimeFieldBasic.component.tsx b/src/timefield/stories/TimeFieldBasic.component.tsx
index 3a3c65036..46c0c9987 100644
--- a/src/timefield/stories/TimeFieldBasic.component.tsx
+++ b/src/timefield/stories/TimeFieldBasic.component.tsx
@@ -10,6 +10,8 @@ import {
useTimeFieldState,
} from "../../index";
+import "./TimeFieldBasic.css";
+
export type TimeFieldBasicProps = TimeFieldBaseStateProps & {};
export const TimeFieldBasic: React.FC = props => {
diff --git a/src/timefield/stories/TimeFieldBasic.stories.tsx b/src/timefield/stories/TimeFieldBasic.stories.tsx
index 385462448..4b0e5625f 100644
--- a/src/timefield/stories/TimeFieldBasic.stories.tsx
+++ b/src/timefield/stories/TimeFieldBasic.stories.tsx
@@ -9,17 +9,43 @@ import js from "./templates/TimeFieldBasicJsx";
import ts from "./templates/TimeFieldBasicTsx";
import { TimeFieldBasic } from "./TimeFieldBasic.component";
-import "./TimeFieldBasic.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
+const CreateAppTemplate = () => `
+ import React from "react";
+ import Component from "./components";
+ import { useLocale } from "@react-aria/i18n";
+
+ export default function App() {
+ let { locale } = useLocale();
+ return
+ }
+`;
+
export default {
title: "TimeField/Basic",
component: TimeFieldBasic,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts, css }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/App.js": CreateAppTemplate(),
+ "src/components/TimeFieldBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/App.tsx": CreateAppTemplate(),
+ "src/components/TimeFieldBasic.css": css,
+ },
+ },
+ css,
+ deps: ["@react-aria/i18n@latest"],
+ }),
},
} as Meta;
diff --git a/src/timefield/stories/TimeFieldStyled.component.tsx b/src/timefield/stories/TimeFieldStyled.component.tsx
index 6e5301c49..609b769d5 100644
--- a/src/timefield/stories/TimeFieldStyled.component.tsx
+++ b/src/timefield/stories/TimeFieldStyled.component.tsx
@@ -10,6 +10,8 @@ import {
useTimeFieldState,
} from "../../index";
+import "./TimeFieldStyled.css";
+
export type TimeFieldStyledProps = TimeFieldBaseStateProps & {};
export const TimeFieldStyled: React.FC = props => {
diff --git a/src/timefield/stories/TimeFieldStyled.css b/src/timefield/stories/TimeFieldStyled.css
new file mode 100644
index 000000000..b57734511
--- /dev/null
+++ b/src/timefield/stories/TimeFieldStyled.css
@@ -0,0 +1,25 @@
+.flex {
+ display: flex;
+}
+
+.justify-between {
+ justify-content: space-between;
+}
+.space-x-1 > :not([hidden]) ~ :not([hidden]) {
+ --tw-space-x-reverse: 0;
+ margin-right: calc(0.25rem * var(--tw-space-x-reverse));
+ margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse)));
+}
+.font-mono {
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
+ "Liberation Mono", "Courier New", monospace;
+}
+
+.focus\:text-blue-500:focus {
+ --tw-text-opacity: 1;
+ color: rgb(59 130 246 / var(--tw-text-opacity));
+}
+.focus\:outline-none:focus {
+ outline: 2px solid transparent;
+ outline-offset: 2px;
+}
diff --git a/src/timefield/stories/TimeFieldStyled.stories.tsx b/src/timefield/stories/TimeFieldStyled.stories.tsx
index 4d81b2ac8..1af81a33e 100644
--- a/src/timefield/stories/TimeFieldStyled.stories.tsx
+++ b/src/timefield/stories/TimeFieldStyled.stories.tsx
@@ -4,25 +4,50 @@ import { ComponentMeta } from "@storybook/react";
import { createPreviewTabs } from "../../../.storybook/utils";
+import css from "./templates/TimeFieldStyledCss";
import js from "./templates/TimeFieldStyledJsx";
import ts from "./templates/TimeFieldStyledTsx";
import { TimeFieldStyled } from "./TimeFieldStyled.component";
-import "./tailwind.css";
-
type Meta = ComponentMeta;
// type Story = ComponentStoryObj;
+const CreateAppTemplate = () => `
+ import React from "react";
+ import Component from "./components";
+ import { useLocale } from "@react-aria/i18n";
+
+ export default function App() {
+ let { locale } = useLocale();
+ return
+ }
+`;
+
export default {
title: "TimeField/Styled",
component: TimeFieldStyled,
parameters: {
layout: "centered",
- preview: createPreviewTabs({ js, ts }),
+ preview: createPreviewTabs({
+ js: {
+ template: js,
+ files: {
+ "src/components/TimeFieldStyled.css": css,
+ "src/App.js": CreateAppTemplate(),
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/TimeFieldStyled.css": css,
+ "src/App.tsx": CreateAppTemplate(),
+ },
+ },
+ }),
},
decorators: [
Story => {
- document.body.id = "tailwind";
+ // document.body.id = "tailwind";
return ;
},
],
diff --git a/src/timefield/stories/tailwind.css b/src/timefield/stories/tailwind.css
deleted file mode 100644
index b5c61c956..000000000
--- a/src/timefield/stories/tailwind.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
diff --git a/src/toast/stories/ToastBasic.component.tsx b/src/toast/stories/ToastBasic.component.tsx
index 239f1c083..ce592ef40 100644
--- a/src/toast/stories/ToastBasic.component.tsx
+++ b/src/toast/stories/ToastBasic.component.tsx
@@ -14,6 +14,8 @@ import {
useToastHandlers,
} from "./Utils.component";
+import "./ToastBasic.css";
+
export const Toast = () => {
return (
diff --git a/src/toast/stories/ToastBasic.stories.tsx b/src/toast/stories/ToastBasic.stories.tsx
index 619e6a226..a4852299e 100644
--- a/src/toast/stories/ToastBasic.stories.tsx
+++ b/src/toast/stories/ToastBasic.stories.tsx
@@ -18,14 +18,26 @@ export default {
parameters: {
layout: "centered",
preview: createPreviewTabs({
- js,
- ts,
+ js: {
+ template: js,
+ files: {
+ "src/components/Utils.component.js": jsUtils,
+ "src/components/ToastBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/Utils.component.ts": tsUtils,
+ "src/components/ToastBasic.css": css,
+ },
+ },
css,
jsUtils,
tsUtils,
deps: ["@chakra-ui/utils"],
}),
- options: { showPanel: false },
+ options: { showPanel: true },
},
} as Meta;
diff --git a/src/toast/stories/ToastCSSAnimated.component.tsx b/src/toast/stories/ToastCSSAnimated.component.tsx
index ee20b67ec..117f1e977 100644
--- a/src/toast/stories/ToastCSSAnimated.component.tsx
+++ b/src/toast/stories/ToastCSSAnimated.component.tsx
@@ -14,6 +14,8 @@ import {
useToastHandlers,
} from "./Utils.component";
+import "./ToastBasic.css";
+
export const Toast = () => {
return (
diff --git a/src/toast/stories/ToastCSSAnimated.stories.tsx b/src/toast/stories/ToastCSSAnimated.stories.tsx
index 52f9230c9..841713004 100644
--- a/src/toast/stories/ToastCSSAnimated.stories.tsx
+++ b/src/toast/stories/ToastCSSAnimated.stories.tsx
@@ -10,26 +10,36 @@ import jsUtils from "./templates/UtilsJsx";
import tsUtils from "./templates/UtilsTsx";
import { Toast } from "./ToastCSSAnimated.component";
-import "./ToastBasic.css";
-
export default {
component: Toast,
title: "Toast/CSSAnimated",
parameters: {
layout: "centered",
preview: createPreviewTabs({
- js,
- ts,
+ js: {
+ template: js,
+ files: {
+ "src/components/Utils.component.js": jsUtils,
+ "src/components/ToastBasic.css": css,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/Utils.component.ts": tsUtils,
+ "src/components/ToastBasic.css": css,
+ },
+ },
css,
jsUtils,
tsUtils,
deps: ["@chakra-ui/utils"],
}),
- options: { showPanel: false },
+ options: { showPanel: true },
},
decorators: [
Story => {
- document.body.id = "toast-basic";
+ // document.body.id = "toast-basic";
return ;
},
],
diff --git a/src/toast/stories/ToastCSSTransition.component.tsx b/src/toast/stories/ToastCSSTransition.component.tsx
index 935456c07..551f1fa8c 100644
--- a/src/toast/stories/ToastCSSTransition.component.tsx
+++ b/src/toast/stories/ToastCSSTransition.component.tsx
@@ -14,6 +14,8 @@ import {
useToastHandlers,
} from "./Utils.component";
+import "./ToastBasic.css";
+
export const Toast = () => {
return (
diff --git a/src/toast/stories/ToastCSSTransition.stories.tsx b/src/toast/stories/ToastCSSTransition.stories.tsx
index fb05cf3be..a37ab6c70 100644
--- a/src/toast/stories/ToastCSSTransition.stories.tsx
+++ b/src/toast/stories/ToastCSSTransition.stories.tsx
@@ -10,22 +10,32 @@ import jsUtils from "./templates/UtilsJsx";
import tsUtils from "./templates/UtilsTsx";
import { Toast } from "./ToastCSSTransition.component";
-import "./ToastBasic.css";
-
export default {
component: Toast,
title: "Toast/CSSTransition",
parameters: {
layout: "centered",
preview: createPreviewTabs({
- js,
- ts,
+ js: {
+ template: js,
+ files: {
+ "src/components/ToastBasic.css": css,
+ "src/components/Utils.component.js": jsUtils,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/ToastBasic.css": css,
+ "src/components/Utils.component.ts": tsUtils,
+ },
+ },
css,
jsUtils,
tsUtils,
deps: ["react-transition-group", "@chakra-ui/utils"],
}),
- options: { showPanel: false },
+ options: { showPanel: true },
},
decorators: [
Story => {
diff --git a/src/toast/stories/ToastReactSpring.component.tsx b/src/toast/stories/ToastReactSpring.component.tsx
index 824730883..c42efb674 100644
--- a/src/toast/stories/ToastReactSpring.component.tsx
+++ b/src/toast/stories/ToastReactSpring.component.tsx
@@ -15,6 +15,8 @@ import {
useToastHandlers,
} from "./Utils.component";
+import "./ToastBasic.css";
+
export const Toast = () => {
return (
diff --git a/src/toast/stories/ToastReactSpring.stories.tsx b/src/toast/stories/ToastReactSpring.stories.tsx
index af96d3698..0209c76d9 100644
--- a/src/toast/stories/ToastReactSpring.stories.tsx
+++ b/src/toast/stories/ToastReactSpring.stories.tsx
@@ -10,22 +10,32 @@ import jsUtils from "./templates/UtilsJsx";
import tsUtils from "./templates/UtilsTsx";
import { Toast } from "./ToastReactSpring.component";
-import "./ToastBasic.css";
-
export default {
component: Toast,
title: "Toast/ReactSpring",
parameters: {
layout: "centered",
preview: createPreviewTabs({
- js,
- ts,
+ js: {
+ template: js,
+ files: {
+ "src/components/ToastBasic.css": css,
+ "src/components/Utils.component.js": jsUtils,
+ },
+ },
+ ts: {
+ template: ts,
+ files: {
+ "src/components/ToastBasic.css": css,
+ "src/components/Utils.component.ts": tsUtils,
+ },
+ },
css,
jsUtils,
tsUtils,
deps: ["@react-spring/web", "@chakra-ui/utils"],
}),
- options: { showPanel: false },
+ options: { showPanel: true },
},
decorators: [
Story => {
diff --git a/yarn.lock b/yarn.lock
index eb80d520e..1ab5064d9 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10138,11 +10138,6 @@ date-fns@^2.16.1:
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.22.1.tgz#1e5af959831ebb1d82992bf67b765052d8f0efc4"
integrity sha512-yUFPQjrxEmIsMqlHhAhmxkuH769baF21Kk+nZwZGyrMoyLA+LugaQtC0+Tqf9CBUUULWwUJt6Q5ySI3LJDDCGg==
-date-fns@^2.28.0:
- version "2.28.0"
- resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2"
- integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==
-
dateformat@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"