@namroodinc/liquid-editorial 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +128 -2
- package/dist/chunks/EntryEditor-BF808OZR.js +181 -0
- package/dist/chunks/EntryEditor-BF808OZR.js.map +1 -0
- package/dist/chunks/EntryEditor-cjDk4vdH.cjs +2 -0
- package/dist/chunks/EntryEditor-cjDk4vdH.cjs.map +1 -0
- package/dist/chunks/Icon-CGY1FNXT.js +77 -0
- package/dist/chunks/Icon-CGY1FNXT.js.map +1 -0
- package/dist/chunks/Icon-CWsA1W83.cjs +2 -0
- package/dist/chunks/Icon-CWsA1W83.cjs.map +1 -0
- package/dist/chunks/RichTextEditor-DRt-kibg.js +248 -0
- package/dist/chunks/RichTextEditor-DRt-kibg.js.map +1 -0
- package/dist/chunks/RichTextEditor-tFkISOvq.cjs +2 -0
- package/dist/chunks/RichTextEditor-tFkISOvq.cjs.map +1 -0
- package/dist/components/AssetGrid/index.cjs +2 -0
- package/dist/components/AssetGrid/index.cjs.map +1 -0
- package/dist/components/AssetGrid/index.d.cts +54 -0
- package/dist/components/AssetGrid/index.d.cts.map +1 -0
- package/dist/components/AssetGrid/index.d.ts +54 -0
- package/dist/components/AssetGrid/index.d.ts.map +1 -0
- package/dist/components/AssetGrid/index.js +137 -0
- package/dist/components/AssetGrid/index.js.map +1 -0
- package/dist/components/AssetGrid/style.css +196 -0
- package/dist/components/Avatar/index.cjs +2 -0
- package/dist/components/Avatar/index.cjs.map +1 -0
- package/dist/components/Avatar/index.d.cts +24 -0
- package/dist/components/Avatar/index.d.cts.map +1 -0
- package/dist/components/Avatar/index.d.ts +24 -0
- package/dist/components/Avatar/index.d.ts.map +1 -0
- package/dist/components/Avatar/index.js +43 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Avatar/style.css +70 -0
- package/dist/components/Badge/index.cjs +2 -0
- package/dist/components/Badge/index.cjs.map +1 -0
- package/dist/components/Badge/index.d.cts +25 -0
- package/dist/components/Badge/index.d.cts.map +1 -0
- package/dist/components/Badge/index.d.ts +25 -0
- package/dist/components/Badge/index.d.ts.map +1 -0
- package/dist/components/Badge/index.js +28 -0
- package/dist/components/Badge/index.js.map +1 -0
- package/dist/components/Badge/style.css +103 -0
- package/dist/components/Board/index.cjs +2 -0
- package/dist/components/Board/index.cjs.map +1 -0
- package/dist/components/Board/index.d.cts +62 -0
- package/dist/components/Board/index.d.cts.map +1 -0
- package/dist/components/Board/index.d.ts +62 -0
- package/dist/components/Board/index.d.ts.map +1 -0
- package/dist/components/Board/index.js +227 -0
- package/dist/components/Board/index.js.map +1 -0
- package/dist/components/Board/style.css +145 -0
- package/dist/components/Button/index.cjs +2 -0
- package/dist/components/Button/index.cjs.map +1 -0
- package/dist/components/Button/index.d.cts +22 -0
- package/dist/components/Button/index.d.cts.map +1 -0
- package/dist/components/Button/index.d.ts +22 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Button/index.js +37 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Button/style.css +139 -0
- package/dist/components/ButtonGroup/index.cjs +2 -0
- package/dist/components/ButtonGroup/index.cjs.map +1 -0
- package/dist/components/ButtonGroup/index.d.cts +17 -0
- package/dist/components/ButtonGroup/index.d.cts.map +1 -0
- package/dist/components/ButtonGroup/index.d.ts +17 -0
- package/dist/components/ButtonGroup/index.d.ts.map +1 -0
- package/dist/components/ButtonGroup/index.js +18 -0
- package/dist/components/ButtonGroup/index.js.map +1 -0
- package/dist/components/ButtonGroup/style.css +66 -0
- package/dist/components/Choice/index.cjs +2 -0
- package/dist/components/Choice/index.cjs.map +1 -0
- package/dist/components/Choice/index.d.cts +25 -0
- package/dist/components/Choice/index.d.cts.map +1 -0
- package/dist/components/Choice/index.d.ts +25 -0
- package/dist/components/Choice/index.d.ts.map +1 -0
- package/dist/components/Choice/index.js +58 -0
- package/dist/components/Choice/index.js.map +1 -0
- package/dist/components/Choice/style.css +96 -0
- package/dist/components/Container/index.cjs +2 -0
- package/dist/components/Container/index.cjs.map +1 -0
- package/dist/components/Container/index.d.cts +19 -0
- package/dist/components/Container/index.d.cts.map +1 -0
- package/dist/components/Container/index.d.ts +19 -0
- package/dist/components/Container/index.d.ts.map +1 -0
- package/dist/components/Container/index.js +20 -0
- package/dist/components/Container/index.js.map +1 -0
- package/dist/components/Container/style.css +41 -0
- package/dist/components/DatePicker/index.cjs +2 -0
- package/dist/components/DatePicker/index.cjs.map +1 -0
- package/dist/components/DatePicker/index.d.cts +57 -0
- package/dist/components/DatePicker/index.d.cts.map +1 -0
- package/dist/components/DatePicker/index.d.ts +57 -0
- package/dist/components/DatePicker/index.d.ts.map +1 -0
- package/dist/components/DatePicker/index.js +248 -0
- package/dist/components/DatePicker/index.js.map +1 -0
- package/dist/components/DatePicker/style.css +149 -0
- package/dist/components/Drawer/index.cjs +2 -0
- package/dist/components/Drawer/index.cjs.map +1 -0
- package/dist/components/Drawer/index.d.cts +23 -0
- package/dist/components/Drawer/index.d.cts.map +1 -0
- package/dist/components/Drawer/index.d.ts +23 -0
- package/dist/components/Drawer/index.d.ts.map +1 -0
- package/dist/components/Drawer/index.js +85 -0
- package/dist/components/Drawer/index.js.map +1 -0
- package/dist/components/Drawer/style.css +147 -0
- package/dist/components/EntryEditor/index.cjs +1 -0
- package/dist/components/EntryEditor/index.d.cts +21 -0
- package/dist/components/EntryEditor/index.d.cts.map +1 -0
- package/dist/components/EntryEditor/index.d.ts +21 -0
- package/dist/components/EntryEditor/index.d.ts.map +1 -0
- package/dist/components/EntryEditor/index.js +6 -0
- package/dist/components/EntryEditor/model.d.cts +33 -0
- package/dist/components/EntryEditor/model.d.cts.map +1 -0
- package/dist/components/EntryEditor/model.d.ts +33 -0
- package/dist/components/EntryEditor/model.d.ts.map +1 -0
- package/dist/components/EntryEditor/style.css +8 -0
- package/dist/components/EntryPicker/index.cjs +2 -0
- package/dist/components/EntryPicker/index.cjs.map +1 -0
- package/dist/components/EntryPicker/index.d.cts +36 -0
- package/dist/components/EntryPicker/index.d.cts.map +1 -0
- package/dist/components/EntryPicker/index.d.ts +36 -0
- package/dist/components/EntryPicker/index.d.ts.map +1 -0
- package/dist/components/EntryPicker/index.js +181 -0
- package/dist/components/EntryPicker/index.js.map +1 -0
- package/dist/components/EntryPicker/style.css +162 -0
- package/dist/components/Field/index.cjs +2 -0
- package/dist/components/Field/index.cjs.map +1 -0
- package/dist/components/Field/index.d.cts +22 -0
- package/dist/components/Field/index.d.cts.map +1 -0
- package/dist/components/Field/index.d.ts +22 -0
- package/dist/components/Field/index.d.ts.map +1 -0
- package/dist/components/Field/index.js +47 -0
- package/dist/components/Field/index.js.map +1 -0
- package/dist/components/Field/style.css +112 -0
- package/dist/components/FieldAffix/index.cjs +2 -0
- package/dist/components/FieldAffix/index.cjs.map +1 -0
- package/dist/components/FieldAffix/index.d.cts +19 -0
- package/dist/components/FieldAffix/index.d.cts.map +1 -0
- package/dist/components/FieldAffix/index.d.ts +19 -0
- package/dist/components/FieldAffix/index.d.ts.map +1 -0
- package/dist/components/FieldAffix/index.js +45 -0
- package/dist/components/FieldAffix/index.js.map +1 -0
- package/dist/components/FieldAffix/style.css +54 -0
- package/dist/components/Grid/index.cjs +2 -0
- package/dist/components/Grid/index.cjs.map +1 -0
- package/dist/components/Grid/index.d.cts +44 -0
- package/dist/components/Grid/index.d.cts.map +1 -0
- package/dist/components/Grid/index.d.ts +44 -0
- package/dist/components/Grid/index.d.ts.map +1 -0
- package/dist/components/Grid/index.js +49 -0
- package/dist/components/Grid/index.js.map +1 -0
- package/dist/components/Grid/style.css +226 -0
- package/dist/components/Icon/icons.d.cts +64 -0
- package/dist/components/Icon/icons.d.cts.map +1 -0
- package/dist/components/Icon/icons.d.ts +64 -0
- package/dist/components/Icon/icons.d.ts.map +1 -0
- package/dist/components/Icon/index.cjs +1 -0
- package/dist/components/Icon/index.d.cts +15 -0
- package/dist/components/Icon/index.d.cts.map +1 -0
- package/dist/components/Icon/index.d.ts +15 -0
- package/dist/components/Icon/index.d.ts.map +1 -0
- package/dist/components/Icon/index.js +1 -0
- package/dist/components/Icon/style.css +10 -0
- package/dist/components/ImageCropper/index.cjs +2 -0
- package/dist/components/ImageCropper/index.cjs.map +1 -0
- package/dist/components/ImageCropper/index.d.cts +66 -0
- package/dist/components/ImageCropper/index.d.cts.map +1 -0
- package/dist/components/ImageCropper/index.d.ts +66 -0
- package/dist/components/ImageCropper/index.d.ts.map +1 -0
- package/dist/components/ImageCropper/index.js +263 -0
- package/dist/components/ImageCropper/index.js.map +1 -0
- package/dist/components/ImageCropper/style.css +160 -0
- package/dist/components/Menu/index.cjs +2 -0
- package/dist/components/Menu/index.cjs.map +1 -0
- package/dist/components/Menu/index.d.cts +35 -0
- package/dist/components/Menu/index.d.cts.map +1 -0
- package/dist/components/Menu/index.d.ts +35 -0
- package/dist/components/Menu/index.d.ts.map +1 -0
- package/dist/components/Menu/index.js +110 -0
- package/dist/components/Menu/index.js.map +1 -0
- package/dist/components/Menu/style.css +87 -0
- package/dist/components/Modal/index.cjs +2 -0
- package/dist/components/Modal/index.cjs.map +1 -0
- package/dist/components/Modal/index.d.cts +19 -0
- package/dist/components/Modal/index.d.cts.map +1 -0
- package/dist/components/Modal/index.d.ts +19 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Modal/index.js +84 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/Modal/style.css +106 -0
- package/dist/components/NumberField/index.cjs +2 -0
- package/dist/components/NumberField/index.cjs.map +1 -0
- package/dist/components/NumberField/index.d.cts +50 -0
- package/dist/components/NumberField/index.d.cts.map +1 -0
- package/dist/components/NumberField/index.d.ts +50 -0
- package/dist/components/NumberField/index.d.ts.map +1 -0
- package/dist/components/NumberField/index.js +124 -0
- package/dist/components/NumberField/index.js.map +1 -0
- package/dist/components/NumberField/style.css +85 -0
- package/dist/components/Popover/index.cjs +2 -0
- package/dist/components/Popover/index.cjs.map +1 -0
- package/dist/components/Popover/index.d.cts +28 -0
- package/dist/components/Popover/index.d.cts.map +1 -0
- package/dist/components/Popover/index.d.ts +28 -0
- package/dist/components/Popover/index.d.ts.map +1 -0
- package/dist/components/Popover/index.js +52 -0
- package/dist/components/Popover/index.js.map +1 -0
- package/dist/components/Popover/style.css +23 -0
- package/dist/components/RichTextEditor/document.d.cts +10 -0
- package/dist/components/RichTextEditor/document.d.cts.map +1 -0
- package/dist/components/RichTextEditor/document.d.ts +10 -0
- package/dist/components/RichTextEditor/document.d.ts.map +1 -0
- package/dist/components/RichTextEditor/index.cjs +1 -0
- package/dist/components/RichTextEditor/index.d.cts +38 -0
- package/dist/components/RichTextEditor/index.d.cts.map +1 -0
- package/dist/components/RichTextEditor/index.d.ts +38 -0
- package/dist/components/RichTextEditor/index.d.ts.map +1 -0
- package/dist/components/RichTextEditor/index.js +1 -0
- package/dist/components/RichTextEditor/style.css +136 -0
- package/dist/components/SearchField/index.cjs +2 -0
- package/dist/components/SearchField/index.cjs.map +1 -0
- package/dist/components/SearchField/index.d.cts +11 -0
- package/dist/components/SearchField/index.d.cts.map +1 -0
- package/dist/components/SearchField/index.d.ts +11 -0
- package/dist/components/SearchField/index.d.ts.map +1 -0
- package/dist/components/SearchField/index.js +49 -0
- package/dist/components/SearchField/index.js.map +1 -0
- package/dist/components/SearchField/style.css +27 -0
- package/dist/components/Select/index.cjs +2 -0
- package/dist/components/Select/index.cjs.map +1 -0
- package/dist/components/Select/index.d.cts +26 -0
- package/dist/components/Select/index.d.cts.map +1 -0
- package/dist/components/Select/index.d.ts +26 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Select/index.js +129 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Select/style.css +88 -0
- package/dist/components/SelectionCard/index.cjs +2 -0
- package/dist/components/SelectionCard/index.cjs.map +1 -0
- package/dist/components/SelectionCard/index.d.cts +32 -0
- package/dist/components/SelectionCard/index.d.cts.map +1 -0
- package/dist/components/SelectionCard/index.d.ts +32 -0
- package/dist/components/SelectionCard/index.d.ts.map +1 -0
- package/dist/components/SelectionCard/index.js +71 -0
- package/dist/components/SelectionCard/index.js.map +1 -0
- package/dist/components/SelectionCard/style.css +133 -0
- package/dist/components/SideNav/index.cjs +2 -0
- package/dist/components/SideNav/index.cjs.map +1 -0
- package/dist/components/SideNav/index.d.cts +58 -0
- package/dist/components/SideNav/index.d.cts.map +1 -0
- package/dist/components/SideNav/index.d.ts +58 -0
- package/dist/components/SideNav/index.d.ts.map +1 -0
- package/dist/components/SideNav/index.js +113 -0
- package/dist/components/SideNav/index.js.map +1 -0
- package/dist/components/SideNav/style.css +184 -0
- package/dist/components/Skeleton/index.cjs +2 -0
- package/dist/components/Skeleton/index.cjs.map +1 -0
- package/dist/components/Skeleton/index.d.cts +21 -0
- package/dist/components/Skeleton/index.d.cts.map +1 -0
- package/dist/components/Skeleton/index.d.ts +21 -0
- package/dist/components/Skeleton/index.d.ts.map +1 -0
- package/dist/components/Skeleton/index.js +31 -0
- package/dist/components/Skeleton/index.js.map +1 -0
- package/dist/components/Skeleton/style.css +55 -0
- package/dist/components/Slider/index.cjs +2 -0
- package/dist/components/Slider/index.cjs.map +1 -0
- package/dist/components/Slider/index.d.cts +40 -0
- package/dist/components/Slider/index.d.cts.map +1 -0
- package/dist/components/Slider/index.d.ts +40 -0
- package/dist/components/Slider/index.d.ts.map +1 -0
- package/dist/components/Slider/index.js +117 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/Slider/style.css +156 -0
- package/dist/components/SortableList/index.cjs +2 -0
- package/dist/components/SortableList/index.cjs.map +1 -0
- package/dist/components/SortableList/index.d.cts +27 -0
- package/dist/components/SortableList/index.d.cts.map +1 -0
- package/dist/components/SortableList/index.d.ts +27 -0
- package/dist/components/SortableList/index.d.ts.map +1 -0
- package/dist/components/SortableList/index.js +85 -0
- package/dist/components/SortableList/index.js.map +1 -0
- package/dist/components/SortableList/style.css +71 -0
- package/dist/components/Stepper/index.cjs +2 -0
- package/dist/components/Stepper/index.cjs.map +1 -0
- package/dist/components/Stepper/index.d.cts +32 -0
- package/dist/components/Stepper/index.d.cts.map +1 -0
- package/dist/components/Stepper/index.d.ts +32 -0
- package/dist/components/Stepper/index.d.ts.map +1 -0
- package/dist/components/Stepper/index.js +69 -0
- package/dist/components/Stepper/index.js.map +1 -0
- package/dist/components/Stepper/style.css +154 -0
- package/dist/components/SubNav/index.cjs +2 -0
- package/dist/components/SubNav/index.cjs.map +1 -0
- package/dist/components/SubNav/index.d.cts +31 -0
- package/dist/components/SubNav/index.d.cts.map +1 -0
- package/dist/components/SubNav/index.d.ts +31 -0
- package/dist/components/SubNav/index.d.ts.map +1 -0
- package/dist/components/SubNav/index.js +62 -0
- package/dist/components/SubNav/index.js.map +1 -0
- package/dist/components/SubNav/style.css +86 -0
- package/dist/components/Switch/index.cjs +2 -0
- package/dist/components/Switch/index.cjs.map +1 -0
- package/dist/components/Switch/index.d.cts +12 -0
- package/dist/components/Switch/index.d.cts.map +1 -0
- package/dist/components/Switch/index.d.ts +12 -0
- package/dist/components/Switch/index.d.ts.map +1 -0
- package/dist/components/Switch/index.js +37 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Switch/style.css +65 -0
- package/dist/components/Table/index.cjs +2 -0
- package/dist/components/Table/index.cjs.map +1 -0
- package/dist/components/Table/index.d.cts +54 -0
- package/dist/components/Table/index.d.cts.map +1 -0
- package/dist/components/Table/index.d.ts +54 -0
- package/dist/components/Table/index.d.ts.map +1 -0
- package/dist/components/Table/index.js +102 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Table/style.css +122 -0
- package/dist/components/TagsInput/index.cjs +2 -0
- package/dist/components/TagsInput/index.cjs.map +1 -0
- package/dist/components/TagsInput/index.d.cts +22 -0
- package/dist/components/TagsInput/index.d.cts.map +1 -0
- package/dist/components/TagsInput/index.d.ts +22 -0
- package/dist/components/TagsInput/index.d.ts.map +1 -0
- package/dist/components/TagsInput/index.js +60 -0
- package/dist/components/TagsInput/index.js.map +1 -0
- package/dist/components/TagsInput/style.css +83 -0
- package/dist/components/TextField/index.cjs +2 -0
- package/dist/components/TextField/index.cjs.map +1 -0
- package/dist/components/TextField/index.d.cts +11 -0
- package/dist/components/TextField/index.d.cts.map +1 -0
- package/dist/components/TextField/index.d.ts +11 -0
- package/dist/components/TextField/index.d.ts.map +1 -0
- package/dist/components/TextField/index.js +29 -0
- package/dist/components/TextField/index.js.map +1 -0
- package/dist/components/TextField/style.css +1 -0
- package/dist/components/Time/index.cjs +2 -0
- package/dist/components/Time/index.cjs.map +1 -0
- package/dist/components/Time/index.d.cts +35 -0
- package/dist/components/Time/index.d.cts.map +1 -0
- package/dist/components/Time/index.d.ts +35 -0
- package/dist/components/Time/index.d.ts.map +1 -0
- package/dist/components/Time/index.js +98 -0
- package/dist/components/Time/index.js.map +1 -0
- package/dist/components/Time/style.css +30 -0
- package/dist/components/Toast/index.cjs +2 -0
- package/dist/components/Toast/index.cjs.map +1 -0
- package/dist/components/Toast/index.d.cts +30 -0
- package/dist/components/Toast/index.d.cts.map +1 -0
- package/dist/components/Toast/index.d.ts +30 -0
- package/dist/components/Toast/index.d.ts.map +1 -0
- package/dist/components/Toast/index.js +96 -0
- package/dist/components/Toast/index.js.map +1 -0
- package/dist/components/Toast/style.css +80 -0
- package/dist/components/TopNav/index.cjs +2 -0
- package/dist/components/TopNav/index.cjs.map +1 -0
- package/dist/components/TopNav/index.d.cts +28 -0
- package/dist/components/TopNav/index.d.cts.map +1 -0
- package/dist/components/TopNav/index.d.ts +28 -0
- package/dist/components/TopNav/index.d.ts.map +1 -0
- package/dist/components/TopNav/index.js +45 -0
- package/dist/components/TopNav/index.js.map +1 -0
- package/dist/components/TopNav/style.css +80 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +79 -0
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +79 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/reset.css +15 -0
- package/dist/reset.css.d.ts +2 -0
- package/dist/styles.css +40 -0
- package/dist/styles.css.d.ts +2 -0
- package/dist/tokens.css +457 -0
- package/dist/tokens.css.d.ts +2 -0
- package/package.json +156 -4
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Grid as e, Stack as t } from "../Grid/index.js";
|
|
2
|
+
import { forwardRef as n, useEffect as r, useRef as i } from "react";
|
|
3
|
+
import { jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
4
|
+
//#region src/components/Choice/index.tsx
|
|
5
|
+
var s = n(function({ isIndeterminate: e = !1, className: t, children: n, ...s }, c) {
|
|
6
|
+
let l = i(null);
|
|
7
|
+
return r(() => {
|
|
8
|
+
l.current && (l.current.indeterminate = e);
|
|
9
|
+
}, [e]), /* @__PURE__ */ o("label", {
|
|
10
|
+
className: ["ds-choice", t].filter(Boolean).join(" "),
|
|
11
|
+
children: [/* @__PURE__ */ a("input", {
|
|
12
|
+
type: "checkbox",
|
|
13
|
+
className: "ds-choice__control",
|
|
14
|
+
"data-kind": "checkbox",
|
|
15
|
+
ref: (e) => {
|
|
16
|
+
l.current = e, typeof c == "function" ? c(e) : c && (c.current = e);
|
|
17
|
+
},
|
|
18
|
+
...s
|
|
19
|
+
}), n && /* @__PURE__ */ a("span", {
|
|
20
|
+
className: "ds-choice__label",
|
|
21
|
+
children: n
|
|
22
|
+
})]
|
|
23
|
+
});
|
|
24
|
+
}), c = n(function({ className: e, children: t, ...n }, r) {
|
|
25
|
+
return /* @__PURE__ */ o("label", {
|
|
26
|
+
className: ["ds-choice", e].filter(Boolean).join(" "),
|
|
27
|
+
children: [/* @__PURE__ */ a("input", {
|
|
28
|
+
ref: r,
|
|
29
|
+
type: "radio",
|
|
30
|
+
className: "ds-choice__control",
|
|
31
|
+
"data-kind": "radio",
|
|
32
|
+
...n
|
|
33
|
+
}), t && /* @__PURE__ */ a("span", {
|
|
34
|
+
className: "ds-choice__label",
|
|
35
|
+
children: t
|
|
36
|
+
})]
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
function l({ label: n, columns: r = 1, children: i }) {
|
|
40
|
+
return /* @__PURE__ */ o("fieldset", {
|
|
41
|
+
className: "ds-choice-group",
|
|
42
|
+
children: [/* @__PURE__ */ a("legend", {
|
|
43
|
+
className: "ds-choice-group__label",
|
|
44
|
+
children: n
|
|
45
|
+
}), r === 1 ? /* @__PURE__ */ a(t, {
|
|
46
|
+
gap: "sm",
|
|
47
|
+
children: i
|
|
48
|
+
}) : /* @__PURE__ */ a(e, {
|
|
49
|
+
columns: r,
|
|
50
|
+
gap: "sm",
|
|
51
|
+
children: i
|
|
52
|
+
})]
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
export { s as Checkbox, l as ChoiceGroup, c as Radio };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Checkbox","forwardRef","rest","inner","useRef","useEffect","isIndeterminate","className","node","ref","children","Radio","ChoiceGroup","label","columns","Stack","Grid"],"sources":["../../../src/components/Choice/index.tsx"],"sourcesContent":["import { forwardRef, useEffect, useRef, type InputHTMLAttributes, type ReactNode } from \"react\";\nimport { Grid, Stack } from \"../Grid\";\nimport \"./style.css\";\n\nexport interface CheckboxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\"> {\n /** Display state only — clicking an indeterminate box selects all. */\n isIndeterminate?: boolean;\n children?: ReactNode;\n}\n\n/** An independent yes/no. 20px box at every size, in every context. */\nexport const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(function Checkbox(\n { isIndeterminate = false, className, children, ...rest },\n ref,\n) {\n const inner = useRef<HTMLInputElement | null>(null);\n\n useEffect(() => {\n if (inner.current) inner.current.indeterminate = isIndeterminate;\n }, [isIndeterminate]);\n\n return (\n <label className={[\"ds-choice\", className].filter(Boolean).join(\" \")}>\n <input\n type=\"checkbox\"\n className=\"ds-choice__control\"\n data-kind=\"checkbox\"\n ref={(node) => {\n inner.current = node;\n if (typeof ref === \"function\") ref(node);\n else if (ref) ref.current = node;\n }}\n {...rest}\n />\n {children && <span className=\"ds-choice__label\">{children}</span>}\n </label>\n );\n});\n\nexport interface RadioProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"type\" | \"size\"> {\n children?: ReactNode;\n}\n\n/** One of two or more mutually exclusive choices, all of them visible. */\nexport const Radio = forwardRef<HTMLInputElement, RadioProps>(function Radio(\n { className, children, ...rest },\n ref,\n) {\n return (\n <label className={[\"ds-choice\", className].filter(Boolean).join(\" \")}>\n <input\n ref={ref}\n type=\"radio\"\n className=\"ds-choice__control\"\n data-kind=\"radio\"\n {...rest}\n />\n {children && <span className=\"ds-choice__label\">{children}</span>}\n </label>\n );\n});\n\nexport interface ChoiceGroupProps {\n label: string;\n /**\n * Run a long list in columns instead of one stack. Steps down to a single\n * column inside a narrow container.\n */\n columns?: 1 | 2 | 3;\n children: ReactNode;\n}\n\n/** A set of checkboxes or radios under one group label, spaced by Stack or Grid. */\nexport function ChoiceGroup({ label, columns = 1, children }: ChoiceGroupProps) {\n return (\n <fieldset className=\"ds-choice-group\">\n <legend className=\"ds-choice-group__label\">{label}</legend>\n {columns === 1 ? (\n <Stack gap=\"sm\">{children}</Stack>\n ) : (\n <Grid columns={columns} gap=\"sm\">\n {children}\n </Grid>\n )}\n </fieldset>\n );\n}\n"],"mappings":";;;;AAYA,IAAaA,IAAWC,EAA4C,SAClE,EAAE,qBAAkB,IAAO,cAAW,aAAU,GAAGC,KACnD,GACA;CACA,IAAMC,IAAQC,EAAgC,IAAI;CAMlD,OAJAC,QAAgB;EACd,AAAIF,EAAM,YAAS,EAAM,QAAQ,gBAAgBG;CACnD,GAAG,CAACA,CAAe,CAAC,GAGlB,kBAAC,SAAD;EAAO,WAAW,CAAC,aAAaC,CAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EAAnE,UAAA,CACE,kBAAC,SAAD;GACE,MAAK;GACL,WAAU;GACV,aAAU;GACV,MAAM,MAAS;IAEb,AADA,EAAM,UAAUC,GACZ,OAAOC,KAAQ,aAAYA,EAAID,CAAI,IAC9BC,MAAK,EAAI,UAAUD;GAC9B;GACA,GAAIN;EACL,CAAA,GACAQ,KAAY,kBAAC,QAAD;GAAM,WAAU;GAAoB;EAAe,CAAA,CAC3D;;AAEX,CAAC,GAQYC,IAAQV,EAAyC,SAC5D,EAAE,cAAW,aAAU,GAAGC,KAC1B,GACA;CACA,OACE,kBAAC,SAAD;EAAO,WAAW,CAAC,aAAaK,CAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;EAAnE,UAAA,CACE,kBAAC,SAAD;GACO;GACL,MAAK;GACL,WAAU;GACV,aAAU;GACV,GAAIL;EACL,CAAA,GACAQ,KAAY,kBAAC,QAAD;GAAM,WAAU;GAAoB;EAAe,CAAA,CAC3D;;AAEX,CAAC;AAaD,SAAgBE,EAAY,EAAE,UAAO,aAAU,GAAG,eAA8B;CAC9E,OACE,kBAAC,YAAD;EAAU,WAAU;EAApB,UAAA,CACE,kBAAC,UAAD;GAAQ,WAAU;GAA0B,UAAAC;EAAc,CAAA,GACzDC,MAAY,IACX,kBAACC,GAAD;GAAO,KAAI;GAAM;EAAgB,CAAA,IAEjC,kBAACC,GAAD;GAAe;GAAS,KAAI;GACzB;EACG,CAAA,CAEA;;AAEd"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.ds-choice {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
align-items: start;
|
|
5
|
+
gap: 10px;
|
|
6
|
+
font-size: var(--font-size-md);
|
|
7
|
+
line-height: var(--line-height-body);
|
|
8
|
+
cursor: pointer;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.ds-choice__control {
|
|
12
|
+
appearance: none;
|
|
13
|
+
flex: none;
|
|
14
|
+
inline-size: var(--icon-md);
|
|
15
|
+
block-size: var(--icon-md);
|
|
16
|
+
margin: 0;
|
|
17
|
+
margin-block-start: calc((1lh - var(--icon-md)) / 2);
|
|
18
|
+
border: var(--control-border-width) solid var(--control-border-color);
|
|
19
|
+
background: var(--color-surface);
|
|
20
|
+
cursor: pointer;
|
|
21
|
+
display: grid;
|
|
22
|
+
place-content: center;
|
|
23
|
+
transition: background-color var(--duration-fast) var(--ease-standard);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.ds-choice__control[data-kind="checkbox"] {
|
|
27
|
+
border-radius: var(--field-radius);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ds-choice__control[data-kind="radio"] {
|
|
31
|
+
border-radius: var(--radius-pill);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ds-choice__control:hover:not(:disabled) {
|
|
35
|
+
background: var(--field-hover);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ds-choice__control:focus-visible {
|
|
39
|
+
outline: var(--control-border-width) solid var(--color-focus);
|
|
40
|
+
outline-offset: 2px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Checked checkbox: filled box, tick in the on-solid colour. */
|
|
44
|
+
.ds-choice__control[data-kind="checkbox"]:checked,
|
|
45
|
+
.ds-choice__control[data-kind="checkbox"]:indeterminate {
|
|
46
|
+
background: var(--color-primary);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.ds-choice__control[data-kind="checkbox"]:checked::before {
|
|
50
|
+
content: "";
|
|
51
|
+
inline-size: 13px;
|
|
52
|
+
block-size: 13px;
|
|
53
|
+
background: var(--color-text-on-solid);
|
|
54
|
+
clip-path: polygon(14% 47%, 0 61%, 40% 100%, 100% 22%, 85% 10%, 38% 71%);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.ds-choice__control[data-kind="checkbox"]:indeterminate::before {
|
|
58
|
+
content: "";
|
|
59
|
+
inline-size: 10px;
|
|
60
|
+
block-size: 2px;
|
|
61
|
+
background: var(--color-text-on-solid);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/* Selected radio: surface fill keeps, dot sits inside. */
|
|
65
|
+
.ds-choice__control[data-kind="radio"]:checked::before {
|
|
66
|
+
content: "";
|
|
67
|
+
inline-size: var(--space-2);
|
|
68
|
+
block-size: var(--space-2);
|
|
69
|
+
border-radius: var(--radius-pill);
|
|
70
|
+
background: var(--color-primary);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ds-choice__control[aria-invalid="true"] {
|
|
74
|
+
border-color: var(--color-danger);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.ds-choice:has(.ds-choice__control:disabled) {
|
|
78
|
+
cursor: not-allowed;
|
|
79
|
+
opacity: 45%;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Spacing comes from the Stack or Grid inside. */
|
|
83
|
+
.ds-choice-group {
|
|
84
|
+
margin: 0;
|
|
85
|
+
padding: 0;
|
|
86
|
+
border: 0;
|
|
87
|
+
min-inline-size: 0;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.ds-choice-group__label {
|
|
91
|
+
padding: 0;
|
|
92
|
+
margin-block-end: var(--space-1);
|
|
93
|
+
font-size: var(--font-size-sm);
|
|
94
|
+
font-weight: var(--font-weight-semibold);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("react/jsx-runtime");var n=(0,e.forwardRef)(function({width:e=`lg`,padded:n=!0,center:r=!0,as:i=`div`,className:a,...o},s){return(0,t.jsx)(i,{ref:s,className:[`ds-container`,`ds-container--${e}`,n?`ds-container--padded`:null,r?`ds-container--center`:null,a].filter(Boolean).join(` `),...o})});exports.Container=n;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["forwardRef","react","react_jsx_runtime","Container","Tag","rest","width","padded","center","className"],"sources":["../../../src/components/Container/index.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport \"./style.css\";\n\n/** The house measure scale. `full` is \"as wide as the slot allows\". */\nexport type ContainerWidth = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n /** Reading width. `sm` for a form, `md` for prose, `lg` for a page body. */\n width?: ContainerWidth;\n /** Gutters either side. Off inside a surface that already has padding. */\n padded?: boolean;\n /** Centre the measure in its slot. On by default. */\n center?: boolean;\n as?: \"div\" | \"main\" | \"section\" | \"article\" | \"header\" | \"footer\";\n}\n\n/**\n * Holds content to one of the system's widths and — because it declares a\n * size container — lets everything inside respond to the measure it was given\n * rather than to the window.\n */\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(function Container(\n { width = \"lg\", padded = true, center = true, as: Tag = \"div\", className, ...rest },\n ref,\n) {\n return (\n <Tag\n ref={ref as never}\n className={[\n \"ds-container\",\n `ds-container--${width}`,\n padded ? \"ds-container--padded\" : null,\n center ? \"ds-container--center\" : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...rest}\n />\n );\n});\n"],"mappings":"A,yHAqBA,IAAaG,GAAA,EAAYH,EAAAA,WAAAA,CAA2C,SAClE,CAAE,QAAQ,KAAM,SAAS,GAAM,SAAS,GAAM,GAAII,EAAM,MAAO,YAAW,GAAGC,GAC7E,EACA,CACA,OACE,EAAAH,EAAA,IAAA,CAACE,EAAD,CACO,MACL,UAAW,CACT,eACA,iBAAiBE,IACjBC,EAAS,uBAAyB,KAClCC,EAAS,uBAAyB,KAClCC,CACF,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG,EACX,GAAIJ,CACL,CAAA,CAEL,CAAC,E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "react";
|
|
2
|
+
/** The house measure scale. `full` is "as wide as the slot allows". */
|
|
3
|
+
export type ContainerWidth = "xs" | "sm" | "md" | "lg" | "xl" | "full";
|
|
4
|
+
export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/** Reading width. `sm` for a form, `md` for prose, `lg` for a page body. */
|
|
6
|
+
width?: ContainerWidth;
|
|
7
|
+
/** Gutters either side. Off inside a surface that already has padding. */
|
|
8
|
+
padded?: boolean;
|
|
9
|
+
/** Centre the measure in its slot. On by default. */
|
|
10
|
+
center?: boolean;
|
|
11
|
+
as?: "div" | "main" | "section" | "article" | "header" | "footer";
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Holds content to one of the system's widths and — because it declares a
|
|
15
|
+
* size container — lets everything inside respond to the measure it was given
|
|
16
|
+
* rather than to the window.
|
|
17
|
+
*/
|
|
18
|
+
export declare const Container: import("react").ForwardRefExoticComponent<ContainerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
19
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/Container/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,aAAa,CAAC;AAErB,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,4EAA4E;IAC5E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACnE;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,2GAmBpB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type HTMLAttributes } from "react";
|
|
2
|
+
/** The house measure scale. `full` is "as wide as the slot allows". */
|
|
3
|
+
export type ContainerWidth = "xs" | "sm" | "md" | "lg" | "xl" | "full";
|
|
4
|
+
export interface ContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
5
|
+
/** Reading width. `sm` for a form, `md` for prose, `lg` for a page body. */
|
|
6
|
+
width?: ContainerWidth;
|
|
7
|
+
/** Gutters either side. Off inside a surface that already has padding. */
|
|
8
|
+
padded?: boolean;
|
|
9
|
+
/** Centre the measure in its slot. On by default. */
|
|
10
|
+
center?: boolean;
|
|
11
|
+
as?: "div" | "main" | "section" | "article" | "header" | "footer";
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Holds content to one of the system's widths and — because it declares a
|
|
15
|
+
* size container — lets everything inside respond to the measure it was given
|
|
16
|
+
* rather than to the window.
|
|
17
|
+
*/
|
|
18
|
+
export declare const Container: import("react").ForwardRefExoticComponent<ContainerProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Container/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,aAAa,CAAC;AAErB,uEAAuE;AACvE,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAEvE,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,4EAA4E;IAC5E,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACnE;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,2GAmBpB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { forwardRef as e } from "react";
|
|
2
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/Container/index.tsx
|
|
4
|
+
var n = e(function({ width: e = "lg", padded: n = !0, center: r = !0, as: i = "div", className: a, ...o }, s) {
|
|
5
|
+
return /* @__PURE__ */ t(i, {
|
|
6
|
+
ref: s,
|
|
7
|
+
className: [
|
|
8
|
+
"ds-container",
|
|
9
|
+
`ds-container--${e}`,
|
|
10
|
+
n ? "ds-container--padded" : null,
|
|
11
|
+
r ? "ds-container--center" : null,
|
|
12
|
+
a
|
|
13
|
+
].filter(Boolean).join(" "),
|
|
14
|
+
...o
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//#endregion
|
|
18
|
+
export { n as Container };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["Container","forwardRef","Tag","rest","width","padded","center","className"],"sources":["../../../src/components/Container/index.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes } from \"react\";\nimport \"./style.css\";\n\n/** The house measure scale. `full` is \"as wide as the slot allows\". */\nexport type ContainerWidth = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n\nexport interface ContainerProps extends HTMLAttributes<HTMLDivElement> {\n /** Reading width. `sm` for a form, `md` for prose, `lg` for a page body. */\n width?: ContainerWidth;\n /** Gutters either side. Off inside a surface that already has padding. */\n padded?: boolean;\n /** Centre the measure in its slot. On by default. */\n center?: boolean;\n as?: \"div\" | \"main\" | \"section\" | \"article\" | \"header\" | \"footer\";\n}\n\n/**\n * Holds content to one of the system's widths and — because it declares a\n * size container — lets everything inside respond to the measure it was given\n * rather than to the window.\n */\nexport const Container = forwardRef<HTMLDivElement, ContainerProps>(function Container(\n { width = \"lg\", padded = true, center = true, as: Tag = \"div\", className, ...rest },\n ref,\n) {\n return (\n <Tag\n ref={ref as never}\n className={[\n \"ds-container\",\n `ds-container--${width}`,\n padded ? \"ds-container--padded\" : null,\n center ? \"ds-container--center\" : null,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n {...rest}\n />\n );\n});\n"],"mappings":";;;AAqBA,IAAaA,IAAYC,EAA2C,SAClE,EAAE,WAAQ,MAAM,YAAS,IAAM,YAAS,IAAM,IAAIC,IAAM,OAAO,cAAW,GAAGC,KAC7E,GACA;CACA,OACE,kBAACD,GAAD;EACO;EACL,WAAW;GACT;GACA,iBAAiBE;GACjBC,IAAS,yBAAyB;GAClCC,IAAS,yBAAyB;GAClCC;EACF,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;EACX,GAAIJ;CACL,CAAA;AAEL,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.ds-container {
|
|
3
|
+
inline-size: 100%;
|
|
4
|
+
max-inline-size: var(--container-measure, var(--width-lg));
|
|
5
|
+
/* Children can respond to the measure, not the window. */
|
|
6
|
+
container-type: inline-size;
|
|
7
|
+
container-name: ds-container;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.ds-container--center {
|
|
11
|
+
margin-inline: auto;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.ds-container--padded {
|
|
15
|
+
padding-inline: var(--container-gutter);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ds-container--xs {
|
|
19
|
+
--container-measure: var(--width-xs);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.ds-container--sm {
|
|
23
|
+
--container-measure: var(--width-sm);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.ds-container--md {
|
|
27
|
+
--container-measure: var(--width-md);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.ds-container--lg {
|
|
31
|
+
--container-measure: var(--width-lg);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.ds-container--xl {
|
|
35
|
+
--container-measure: var(--width-xl);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ds-container--full {
|
|
39
|
+
--container-measure: none;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../chunks/Icon-CWsA1W83.cjs"),t=require("../Button/index.cjs");;/* empty css */const n=require("../Popover/index.cjs");let r=require("react"),i=require("react/jsx-runtime");function a(...e){return e.filter(Boolean).join(` `)}var o=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`];function s(e){let t=`${e.getMonth()+1}`.padStart(2,`0`),n=`${e.getDate()}`.padStart(2,`0`);return`${e.getFullYear()}-${t}-${n}`}function c(e){if(!e||!/^\d{4}-\d{2}-\d{2}$/.test(e))return null;let[t,n,r]=e.split(`-`).map(Number);if(!t||!n||!r)return null;let i=new Date(t,n-1,r);return Number.isNaN(i.getTime())||s(i)!==e?null:i}function l(e){let t=c(e);return t?t.toLocaleDateString(`en-GB`,{day:`numeric`,month:`long`,year:`numeric`}):``}function u(e){return e.toLocaleDateString(`en-GB`,{month:`long`,year:`numeric`})}function d(e){let t=new Date(e.getFullYear(),e.getMonth(),1),n=(t.getDay()+6)%7;return new Date(t.getFullYear(),t.getMonth(),1-n)}var f=(0,r.forwardRef)(function({value:e,endValue:n,onSelect:f,min:p,max:m,className:h,...g},_){let v=c(e),[y,b]=(0,r.useState)(()=>v??new Date),[x,S]=(0,r.useState)(()=>e??s(new Date)),C=(0,r.useRef)(null),w=(0,r.useRef)(!1);(0,r.useEffect)(()=>{let t=c(e);t&&(S(e),b(new Date(t.getFullYear(),t.getMonth(),1)))},[e]),(0,r.useEffect)(()=>{w.current&&(w.current=!1,C.current?.querySelector(`[data-focused]`)?.focus())},[x]);let T=Array.from({length:42},(e,t)=>{let n=d(y);return new Date(n.getFullYear(),n.getMonth(),n.getDate()+t)}),E=s(new Date),D=e=>{let t=new Date(y.getFullYear(),y.getMonth()+e,1);b(t),S(s(t))},O=e=>{let t=c(x)??new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+e);w.current=!0,S(s(n)),b(new Date(n.getFullYear(),n.getMonth(),1))},k=e=>{let t={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7,PageUp:-28,PageDown:28}[e.key];t!==void 0&&(e.preventDefault(),O(t))};return(0,i.jsxs)(`div`,{ref:_,className:a(`ds-calendar`,h),...g,children:[(0,i.jsxs)(`div`,{className:`ds-calendar__head`,children:[(0,i.jsx)(t.Button,{variant:`simple`,size:`sm`,isIconOnly:!0,iconStart:`chevron-left`,"aria-label":`Previous month`,onClick:()=>D(-1)}),(0,i.jsx)(`span`,{className:`ds-calendar__month`,children:u(y)}),(0,i.jsx)(t.Button,{variant:`simple`,size:`sm`,isIconOnly:!0,iconStart:`chevron-right`,"aria-label":`Next month`,onClick:()=>D(1)})]}),(0,i.jsx)(`div`,{className:`ds-calendar__weekdays`,"aria-hidden":`true`,children:o.map(e=>(0,i.jsx)(`span`,{children:e.slice(0,2)},e))}),(0,i.jsx)(`div`,{ref:C,className:`ds-calendar__grid`,role:`grid`,onKeyDown:k,children:Array.from({length:6},(t,r)=>(0,i.jsx)(`div`,{role:`row`,className:`ds-calendar__row`,children:T.slice(r*7,r*7+7).map(t=>{let r=s(t),a=t.getMonth()!==y.getMonth(),o=p&&r<p||m&&r>m,c=!!(e&&n&&r>e&&r<n),u=r===e||r===n;return(0,i.jsx)(`button`,{type:`button`,role:`gridcell`,"aria-label":l(r),tabIndex:r===x?0:-1,disabled:o||void 0,"aria-selected":u||void 0,"data-outside":a||void 0,"data-today":r===E||void 0,"data-in-range":c||void 0,"data-focused":r===x||void 0,className:`ds-calendar__day`,onClick:()=>{S(r),f?.(r)},children:t.getDate()},r)})},r))})]})});function p({value:t,defaultValue:o=``,onValueChange:s,size:c=`md`,placeholder:u=`Pick a date`,min:d,max:p,isDisabled:m=!1,isInvalid:h=!1,"aria-invalid":g,id:_,className:v,...y}){let[b,x]=(0,r.useState)(o),S=t??b,[C,w]=(0,r.useState)(!1),T=(0,r.useRef)(null),E=(0,r.useRef)(null),D=(0,r.useRef)(null),O=(0,r.useId)(),k=_??O;return(0,r.useEffect)(()=>{if(!C)return;let e=e=>{let t=e.target;!T.current?.contains(t)&&!D.current?.contains(t)&&w(!1)},t=e=>{e.key===`Escape`&&(w(!1),E.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[C]),(0,i.jsxs)(`div`,{className:a(`ds-datefield`,v),ref:T,children:[(0,i.jsxs)(`button`,{...y,ref:E,id:k,type:`button`,"aria-haspopup":`dialog`,"aria-expanded":C,"aria-invalid":h||g||void 0,disabled:m,"data-size":c,"data-placeholder":S?void 0:``,className:`ds-field-skin ds-datefield__control`,onClick:()=>w(e=>!e),children:[(0,i.jsx)(`span`,{className:`ds-datefield__value`,children:S?l(S):u}),(0,i.jsx)(e.t,{name:`calendar`,size:16,className:`ds-datefield__glyph`})]}),(0,i.jsx)(n.Popover,{anchorRef:E,anchorId:k,isOpen:C,panelRef:D,className:`ds-datefield__popover`,role:`dialog`,"aria-label":`Choose a date`,children:(0,i.jsx)(f,{value:S,min:d,max:p,onSelect:e=>{t===void 0&&x(e),s?.(e),w(!1),E.current?.focus()}})})]})}function m({value:e,defaultValue:t={start:``,end:``},onValueChange:n,size:o=`md`,min:s,max:c,isDisabled:l=!1,startLabel:u=`Start date`,endLabel:d=`End date`,className:f}){let[m,h]=(0,r.useState)(t),g=e??m,_=t=>{e===void 0&&h(t),n?.(t)};return(0,i.jsxs)(`div`,{className:a(`ds-daterange`,f),children:[(0,i.jsx)(p,{"aria-label":u,size:o,value:g.start,min:s,max:g.end||c,isDisabled:l,placeholder:u,onValueChange:e=>_({...g,start:e})}),(0,i.jsx)(`span`,{className:`ds-daterange__dash`,"aria-hidden":`true`,children:`–`}),(0,i.jsx)(p,{"aria-label":d,size:o,value:g.end,min:g.start||s,max:c,isDisabled:l,placeholder:d,onValueChange:e=>_({...g,end:e})})]})}exports.Calendar=f,exports.DateField=p,exports.DateRangeField=m,exports.formatIsoDate=l;
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["forwardRef","useState","useRef","Button","useId","Icon","Popover","require_Icon","require_components_Button_index","require_components_Popover_index","react","react_jsx_runtime","cx","parts","WEEKDAYS","toIso","month","date","day","fromIso","value","year","formatIsoDate","monthLabel","startOfGrid","first","weekday","Calendar","rest","selected","setMonth","focused","setFocused","gridRef","shouldFocus","next","days","start","index","today","changeMonth","delta","move","base","deltaDays","onKeyDown","event","className","rowIndex","iso","isOutside","isDisabled","min","max","inRange","endValue","isEdge","onSelect","DateField","ariaInvalid","internal","setInternal","defaultValue","current","isOpen","setOpen","rootRef","triggerRef","panelRef","generatedId","triggerId","id","onPointerDown","target","isInvalid","size","open","placeholder","onValueChange","DateRangeField","commit","startLabel","endLabel"],"sources":["../../../src/components/DatePicker/index.tsx"],"sourcesContent":["import {\n forwardRef,\n useEffect,\n useId,\n useRef,\n useState,\n type HTMLAttributes,\n type AriaAttributes,\n} from \"react\";\nimport { Button } from \"../Button\";\nimport { Icon } from \"../Icon\";\nimport { Popover } from \"../Popover\";\nimport type { FieldSize } from \"../Field\";\nimport \"../Field/style.css\";\nimport \"./style.css\";\n\nfunction cx(...parts: (string | undefined | false)[]) {\n return parts.filter(Boolean).join(\" \");\n}\n\n/** ISO calendar date, \"YYYY-MM-DD\" — the only date shape the system passes around. */\nexport type IsoDate = string;\n\nconst WEEKDAYS = [\"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\", \"Sun\"];\n\nfunction toIso(date: Date): IsoDate {\n const month = `${date.getMonth() + 1}`.padStart(2, \"0\");\n const day = `${date.getDate()}`.padStart(2, \"0\");\n return `${date.getFullYear()}-${month}-${day}`;\n}\n\nfunction fromIso(value: string | undefined): Date | null {\n if (!value || !/^\\d{4}-\\d{2}-\\d{2}$/.test(value)) return null;\n const [year, month, day] = value.split(\"-\").map(Number);\n if (!year || !month || !day) return null;\n const date = new Date(year, month - 1, day);\n return Number.isNaN(date.getTime()) || toIso(date) !== value ? null : date;\n}\n\n/** \"12 March 2026\" — the system's one long date format. */\nexport function formatIsoDate(value: string | undefined): string {\n const date = fromIso(value);\n if (!date) return \"\";\n return date.toLocaleDateString(\"en-GB\", { day: \"numeric\", month: \"long\", year: \"numeric\" });\n}\n\nfunction monthLabel(date: Date) {\n return date.toLocaleDateString(\"en-GB\", { month: \"long\", year: \"numeric\" });\n}\n\nfunction startOfGrid(month: Date) {\n const first = new Date(month.getFullYear(), month.getMonth(), 1);\n const weekday = (first.getDay() + 6) % 7; // Monday-first\n return new Date(first.getFullYear(), first.getMonth(), 1 - weekday);\n}\n\nexport interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Selected day, or the start of a selected span. */\n value?: IsoDate;\n /** End of a selected span. Set it to put the calendar in range mode. */\n endValue?: IsoDate;\n onSelect?: (value: IsoDate) => void;\n min?: IsoDate;\n max?: IsoDate;\n}\n\n/**\n * A month of days, Monday first. Arrow keys walk the grid; the month follows\n * the focused day, so a whole year is reachable from the keyboard.\n */\nexport const Calendar = forwardRef<HTMLDivElement, CalendarProps>(function Calendar(\n { value, endValue, onSelect, min, max, className, ...rest },\n ref,\n) {\n const selected = fromIso(value);\n const [month, setMonth] = useState(() => selected ?? new Date());\n const [focused, setFocused] = useState<IsoDate>(() => value ?? toIso(new Date()));\n const gridRef = useRef<HTMLDivElement | null>(null);\n const shouldFocus = useRef(false);\n\n useEffect(() => {\n const next = fromIso(value);\n if (!next) return;\n // Controlled changes intentionally reposition the visible and roving-focus month.\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setFocused(value!);\n setMonth(new Date(next.getFullYear(), next.getMonth(), 1));\n }, [value]);\n\n useEffect(() => {\n if (!shouldFocus.current) return;\n shouldFocus.current = false;\n gridRef.current?.querySelector<HTMLButtonElement>(\"[data-focused]\")?.focus();\n }, [focused]);\n\n const days = Array.from({ length: 42 }, (_, index) => {\n const start = startOfGrid(month);\n return new Date(start.getFullYear(), start.getMonth(), start.getDate() + index);\n });\n\n const today = toIso(new Date());\n\n const changeMonth = (delta: number) => {\n const next = new Date(month.getFullYear(), month.getMonth() + delta, 1);\n setMonth(next);\n setFocused(toIso(next));\n };\n\n const move = (deltaDays: number) => {\n const base = fromIso(focused) ?? new Date();\n const next = new Date(base.getFullYear(), base.getMonth(), base.getDate() + deltaDays);\n shouldFocus.current = true;\n setFocused(toIso(next));\n setMonth(new Date(next.getFullYear(), next.getMonth(), 1));\n };\n\n const onKeyDown = (event: React.KeyboardEvent) => {\n const steps: Record<string, number> = {\n ArrowLeft: -1,\n ArrowRight: 1,\n ArrowUp: -7,\n ArrowDown: 7,\n PageUp: -28,\n PageDown: 28,\n };\n const delta = steps[event.key];\n if (delta === undefined) return;\n event.preventDefault();\n move(delta);\n };\n\n return (\n <div ref={ref} className={cx(\"ds-calendar\", className)} {...rest}>\n <div className=\"ds-calendar__head\">\n <Button\n variant=\"simple\"\n size=\"sm\"\n isIconOnly\n iconStart=\"chevron-left\"\n aria-label=\"Previous month\"\n onClick={() => changeMonth(-1)}\n />\n <span className=\"ds-calendar__month\">{monthLabel(month)}</span>\n <Button\n variant=\"simple\"\n size=\"sm\"\n isIconOnly\n iconStart=\"chevron-right\"\n aria-label=\"Next month\"\n onClick={() => changeMonth(1)}\n />\n </div>\n <div className=\"ds-calendar__weekdays\" aria-hidden=\"true\">\n {WEEKDAYS.map((day) => (\n <span key={day}>{day.slice(0, 2)}</span>\n ))}\n </div>\n <div ref={gridRef} className=\"ds-calendar__grid\" role=\"grid\" onKeyDown={onKeyDown}>\n {Array.from({ length: 6 }, (_, rowIndex) => (\n <div role=\"row\" className=\"ds-calendar__row\" key={rowIndex}>\n {days.slice(rowIndex * 7, rowIndex * 7 + 7).map((day) => {\n const iso = toIso(day);\n const isOutside = day.getMonth() !== month.getMonth();\n const isDisabled = (min && iso < min) || (max && iso > max);\n const inRange = Boolean(value && endValue && iso > value && iso < endValue);\n const isEdge = iso === value || iso === endValue;\n return (\n <button\n key={iso}\n type=\"button\"\n role=\"gridcell\"\n aria-label={formatIsoDate(iso)}\n tabIndex={iso === focused ? 0 : -1}\n disabled={isDisabled || undefined}\n aria-selected={isEdge || undefined}\n data-outside={isOutside || undefined}\n data-today={iso === today || undefined}\n data-in-range={inRange || undefined}\n data-focused={iso === focused || undefined}\n className=\"ds-calendar__day\"\n onClick={() => {\n setFocused(iso);\n onSelect?.(iso);\n }}\n >\n {day.getDate()}\n </button>\n );\n })}\n </div>\n ))}\n </div>\n </div>\n );\n});\n\nexport interface DateFieldProps {\n value?: IsoDate;\n defaultValue?: IsoDate;\n onValueChange?: (value: IsoDate) => void;\n size?: FieldSize;\n placeholder?: string;\n min?: IsoDate;\n max?: IsoDate;\n isDisabled?: boolean;\n isInvalid?: boolean;\n id?: string;\n className?: string;\n \"aria-label\"?: string;\n \"aria-describedby\"?: string;\n \"aria-invalid\"?: AriaAttributes[\"aria-invalid\"];\n}\n\n/** One day, picked from a calendar. The field prints the long date, never a mask. */\nexport function DateField({\n value,\n defaultValue = \"\",\n onValueChange,\n size = \"md\",\n placeholder = \"Pick a date\",\n min,\n max,\n isDisabled = false,\n isInvalid = false,\n \"aria-invalid\": ariaInvalid,\n id,\n className,\n ...rest\n}: DateFieldProps) {\n const [internal, setInternal] = useState<IsoDate>(defaultValue);\n const current = value ?? internal;\n const [isOpen, setOpen] = useState(false);\n const rootRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n const panelRef = useRef<HTMLDivElement | null>(null);\n const generatedId = useId();\n const triggerId = id ?? generatedId;\n\n useEffect(() => {\n if (!isOpen) return;\n const onPointerDown = (event: MouseEvent) => {\n const target = event.target as Node;\n if (!rootRef.current?.contains(target) && !panelRef.current?.contains(target)) setOpen(false);\n };\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setOpen(false);\n triggerRef.current?.focus();\n }\n };\n document.addEventListener(\"mousedown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown);\n return () => {\n document.removeEventListener(\"mousedown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [isOpen]);\n\n return (\n <div className={cx(\"ds-datefield\", className)} ref={rootRef}>\n <button\n {...rest}\n ref={triggerRef}\n id={triggerId}\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={isOpen}\n aria-invalid={isInvalid || ariaInvalid || undefined}\n disabled={isDisabled}\n data-size={size}\n data-placeholder={current ? undefined : \"\"}\n className=\"ds-field-skin ds-datefield__control\"\n onClick={() => setOpen((open) => !open)}\n >\n <span className=\"ds-datefield__value\">{current ? formatIsoDate(current) : placeholder}</span>\n <Icon name=\"calendar\" size={16} className=\"ds-datefield__glyph\" />\n </button>\n <Popover\n anchorRef={triggerRef}\n anchorId={triggerId}\n isOpen={isOpen}\n panelRef={panelRef}\n className=\"ds-datefield__popover\"\n role=\"dialog\"\n aria-label=\"Choose a date\"\n >\n <Calendar\n value={current}\n min={min}\n max={max}\n onSelect={(next) => {\n if (value === undefined) setInternal(next);\n onValueChange?.(next);\n setOpen(false);\n triggerRef.current?.focus();\n }}\n />\n </Popover>\n </div>\n );\n}\n\nexport interface DateRangeValue {\n start: IsoDate;\n end: IsoDate;\n}\n\nexport interface DateRangeFieldProps {\n value?: DateRangeValue;\n defaultValue?: DateRangeValue;\n onValueChange?: (value: DateRangeValue) => void;\n size?: FieldSize;\n min?: IsoDate;\n max?: IsoDate;\n isDisabled?: boolean;\n startLabel?: string;\n endLabel?: string;\n className?: string;\n}\n\n/** A span of days. The end field never offers a day before the start. */\nexport function DateRangeField({\n value,\n defaultValue = { start: \"\", end: \"\" },\n onValueChange,\n size = \"md\",\n min,\n max,\n isDisabled = false,\n startLabel = \"Start date\",\n endLabel = \"End date\",\n className,\n}: DateRangeFieldProps) {\n const [internal, setInternal] = useState<DateRangeValue>(defaultValue);\n const current = value ?? internal;\n\n const commit = (next: DateRangeValue) => {\n if (value === undefined) setInternal(next);\n onValueChange?.(next);\n };\n\n return (\n <div className={cx(\"ds-daterange\", className)}>\n <DateField\n aria-label={startLabel}\n size={size}\n value={current.start}\n min={min}\n max={current.end || max}\n isDisabled={isDisabled}\n placeholder={startLabel}\n onValueChange={(next) => commit({ ...current, start: next })}\n />\n <span className=\"ds-daterange__dash\" aria-hidden=\"true\">\n –\n </span>\n <DateField\n aria-label={endLabel}\n size={size}\n value={current.end}\n min={current.start || min}\n max={max}\n isDisabled={isDisabled}\n placeholder={endLabel}\n onValueChange={(next) => commit({ ...current, end: next })}\n />\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type HTMLAttributes, type AriaAttributes } from "react";
|
|
2
|
+
import type { FieldSize } from "../Field/index.cjs";
|
|
3
|
+
/** ISO calendar date, "YYYY-MM-DD" — the only date shape the system passes around. */
|
|
4
|
+
export type IsoDate = string;
|
|
5
|
+
/** "12 March 2026" — the system's one long date format. */
|
|
6
|
+
export declare function formatIsoDate(value: string | undefined): string;
|
|
7
|
+
export interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
8
|
+
/** Selected day, or the start of a selected span. */
|
|
9
|
+
value?: IsoDate;
|
|
10
|
+
/** End of a selected span. Set it to put the calendar in range mode. */
|
|
11
|
+
endValue?: IsoDate;
|
|
12
|
+
onSelect?: (value: IsoDate) => void;
|
|
13
|
+
min?: IsoDate;
|
|
14
|
+
max?: IsoDate;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A month of days, Monday first. Arrow keys walk the grid; the month follows
|
|
18
|
+
* the focused day, so a whole year is reachable from the keyboard.
|
|
19
|
+
*/
|
|
20
|
+
export declare const Calendar: import("react").ForwardRefExoticComponent<CalendarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
21
|
+
export interface DateFieldProps {
|
|
22
|
+
value?: IsoDate;
|
|
23
|
+
defaultValue?: IsoDate;
|
|
24
|
+
onValueChange?: (value: IsoDate) => void;
|
|
25
|
+
size?: FieldSize;
|
|
26
|
+
placeholder?: string;
|
|
27
|
+
min?: IsoDate;
|
|
28
|
+
max?: IsoDate;
|
|
29
|
+
isDisabled?: boolean;
|
|
30
|
+
isInvalid?: boolean;
|
|
31
|
+
id?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
"aria-label"?: string;
|
|
34
|
+
"aria-describedby"?: string;
|
|
35
|
+
"aria-invalid"?: AriaAttributes["aria-invalid"];
|
|
36
|
+
}
|
|
37
|
+
/** One day, picked from a calendar. The field prints the long date, never a mask. */
|
|
38
|
+
export declare function DateField({ value, defaultValue, onValueChange, size, placeholder, min, max, isDisabled, isInvalid, "aria-invalid": ariaInvalid, id, className, ...rest }: DateFieldProps): import("react").JSX.Element;
|
|
39
|
+
export interface DateRangeValue {
|
|
40
|
+
start: IsoDate;
|
|
41
|
+
end: IsoDate;
|
|
42
|
+
}
|
|
43
|
+
export interface DateRangeFieldProps {
|
|
44
|
+
value?: DateRangeValue;
|
|
45
|
+
defaultValue?: DateRangeValue;
|
|
46
|
+
onValueChange?: (value: DateRangeValue) => void;
|
|
47
|
+
size?: FieldSize;
|
|
48
|
+
min?: IsoDate;
|
|
49
|
+
max?: IsoDate;
|
|
50
|
+
isDisabled?: boolean;
|
|
51
|
+
startLabel?: string;
|
|
52
|
+
endLabel?: string;
|
|
53
|
+
className?: string;
|
|
54
|
+
}
|
|
55
|
+
/** A span of days. The end field never offers a day before the start. */
|
|
56
|
+
export declare function DateRangeField({ value, defaultValue, onValueChange, size, min, max, isDisabled, startLabel, endLabel, className, }: DateRangeFieldProps): import("react").JSX.Element;
|
|
57
|
+
//# sourceMappingURL=index.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.cts","sourceRoot":"","sources":["../../../src/components/DatePicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,aAAa,CAAC;AAMrB,sFAAsF;AACtF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAkB7B,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/D;AAYD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrF,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,0GA4HnB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,IAAW,EACX,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,SAAiB,EACjB,cAAc,EAAE,WAAW,EAC3B,EAAE,EACF,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,+BAwEhB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAqC,EACrC,aAAa,EACb,IAAW,EACX,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,UAAyB,EACzB,QAAqB,EACrB,SAAS,GACV,EAAE,mBAAmB,+BAoCrB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { type HTMLAttributes, type AriaAttributes } from "react";
|
|
2
|
+
import type { FieldSize } from "../Field/index.js";
|
|
3
|
+
/** ISO calendar date, "YYYY-MM-DD" — the only date shape the system passes around. */
|
|
4
|
+
export type IsoDate = string;
|
|
5
|
+
/** "12 March 2026" — the system's one long date format. */
|
|
6
|
+
export declare function formatIsoDate(value: string | undefined): string;
|
|
7
|
+
export interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
8
|
+
/** Selected day, or the start of a selected span. */
|
|
9
|
+
value?: IsoDate;
|
|
10
|
+
/** End of a selected span. Set it to put the calendar in range mode. */
|
|
11
|
+
endValue?: IsoDate;
|
|
12
|
+
onSelect?: (value: IsoDate) => void;
|
|
13
|
+
min?: IsoDate;
|
|
14
|
+
max?: IsoDate;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A month of days, Monday first. Arrow keys walk the grid; the month follows
|
|
18
|
+
* the focused day, so a whole year is reachable from the keyboard.
|
|
19
|
+
*/
|
|
20
|
+
export declare const Calendar: import("react").ForwardRefExoticComponent<CalendarProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
21
|
+
export interface DateFieldProps {
|
|
22
|
+
value?: IsoDate;
|
|
23
|
+
defaultValue?: IsoDate;
|
|
24
|
+
onValueChange?: (value: IsoDate) => void;
|
|
25
|
+
size?: FieldSize;
|
|
26
|
+
placeholder?: string;
|
|
27
|
+
min?: IsoDate;
|
|
28
|
+
max?: IsoDate;
|
|
29
|
+
isDisabled?: boolean;
|
|
30
|
+
isInvalid?: boolean;
|
|
31
|
+
id?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
"aria-label"?: string;
|
|
34
|
+
"aria-describedby"?: string;
|
|
35
|
+
"aria-invalid"?: AriaAttributes["aria-invalid"];
|
|
36
|
+
}
|
|
37
|
+
/** One day, picked from a calendar. The field prints the long date, never a mask. */
|
|
38
|
+
export declare function DateField({ value, defaultValue, onValueChange, size, placeholder, min, max, isDisabled, isInvalid, "aria-invalid": ariaInvalid, id, className, ...rest }: DateFieldProps): import("react").JSX.Element;
|
|
39
|
+
export interface DateRangeValue {
|
|
40
|
+
start: IsoDate;
|
|
41
|
+
end: IsoDate;
|
|
42
|
+
}
|
|
43
|
+
export interface DateRangeFieldProps {
|
|
44
|
+
value?: DateRangeValue;
|
|
45
|
+
defaultValue?: DateRangeValue;
|
|
46
|
+
onValueChange?: (value: DateRangeValue) => void;
|
|
47
|
+
size?: FieldSize;
|
|
48
|
+
min?: IsoDate;
|
|
49
|
+
max?: IsoDate;
|
|
50
|
+
isDisabled?: boolean;
|
|
51
|
+
startLabel?: string;
|
|
52
|
+
endLabel?: string;
|
|
53
|
+
className?: string;
|
|
54
|
+
}
|
|
55
|
+
/** A span of days. The end field never offers a day before the start. */
|
|
56
|
+
export declare function DateRangeField({ value, defaultValue, onValueChange, size, min, max, isDisabled, startLabel, endLabel, className, }: DateRangeFieldProps): import("react").JSX.Element;
|
|
57
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,aAAa,CAAC;AAMrB,sFAAsF;AACtF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAkB7B,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI/D;AAYD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACrF,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,0GA4HnB,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,qFAAqF;AACrF,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAiB,EACjB,aAAa,EACb,IAAW,EACX,WAA2B,EAC3B,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,SAAiB,EACjB,cAAc,EAAE,WAAW,EAC3B,EAAE,EACF,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,+BAwEhB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,YAAqC,EACrC,aAAa,EACb,IAAW,EACX,GAAG,EACH,GAAG,EACH,UAAkB,EAClB,UAAyB,EACzB,QAAqB,EACrB,SAAS,GACV,EAAE,mBAAmB,+BAoCrB"}
|