@simplybusiness/mobius-datepicker 9.0.9 → 9.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/CHANGELOG.md +20 -0
- package/dist/cjs/components/DatePicker/CustomComponents/CaptionLabel.js +30 -0
- package/dist/cjs/components/DatePicker/CustomComponents/CaptionLabel.js.map +7 -0
- package/dist/cjs/components/DatePicker/CustomComponents/ChevronComponent.js +35 -0
- package/dist/cjs/components/DatePicker/CustomComponents/ChevronComponent.js.map +7 -0
- package/dist/cjs/components/DatePicker/CustomComponents/index.js +44 -0
- package/dist/cjs/components/DatePicker/CustomComponents/index.js.map +7 -0
- package/dist/cjs/components/DatePicker/DatePicker.js +547 -0
- package/dist/cjs/components/DatePicker/DatePicker.js.map +7 -0
- package/dist/cjs/components/DatePicker/DatePickerIcon.js +28 -0
- package/dist/cjs/components/DatePicker/DatePickerIcon.js.map +7 -0
- package/dist/{esm/DatePickerModal-RVUBO5DW.js → cjs/components/DatePicker/DatePickerModal.js} +63 -33
- package/dist/{esm/DatePickerModal-RVUBO5DW.js.map → cjs/components/DatePicker/DatePickerModal.js.map} +3 -3
- package/dist/cjs/components/DatePicker/constants.js +31 -0
- package/dist/cjs/components/DatePicker/constants.js.map +7 -0
- package/dist/cjs/components/DatePicker/index.js +548 -0
- package/dist/cjs/components/DatePicker/index.js.map +7 -0
- package/dist/cjs/components/DatePicker/utils/dateObjToString.js +32 -0
- package/dist/cjs/components/DatePicker/utils/dateObjToString.js.map +7 -0
- package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.js +45 -0
- package/dist/cjs/components/DatePicker/utils/formatErrorMessageText.js.map +7 -0
- package/dist/cjs/components/DatePicker/utils/getStartWeekday.js +41 -0
- package/dist/cjs/components/DatePicker/utils/getStartWeekday.js.map +7 -0
- package/dist/cjs/components/DatePicker/utils/index.js +86 -0
- package/dist/cjs/components/DatePicker/utils/index.js.map +7 -0
- package/dist/cjs/components/DatePicker/utils/timezoneOffset.js +37 -0
- package/dist/cjs/components/DatePicker/utils/timezoneOffset.js.map +7 -0
- package/dist/cjs/components/DatePicker/utils/validateDateFormat.js +40 -0
- package/dist/cjs/components/DatePicker/utils/validateDateFormat.js.map +7 -0
- package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.js +38 -0
- package/dist/cjs/components/DatePicker/utils/weekdayAsOneLetter.js.map +7 -0
- package/dist/cjs/hooks/index.js +19 -0
- package/dist/cjs/hooks/index.js.map +7 -0
- package/dist/cjs/hooks/useFocusTrap/index.js +19 -0
- package/dist/cjs/hooks/useFocusTrap/index.js.map +7 -0
- package/dist/cjs/hooks/useFocusTrap/useFocusTrap.js +65 -0
- package/dist/cjs/hooks/useFocusTrap/useFocusTrap.js.map +7 -0
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/meta.json +993 -5
- package/dist/cjs/utils/StoryContainer.js +46 -0
- package/dist/cjs/utils/StoryContainer.js.map +7 -0
- package/dist/cjs/utils/excludeControls.js +30 -0
- package/dist/cjs/utils/excludeControls.js.map +7 -0
- package/dist/cjs/utils/index.js +41 -0
- package/dist/cjs/utils/index.js.map +7 -0
- package/dist/cjs/utils/isTouchDevice.js +32 -0
- package/dist/cjs/utils/isTouchDevice.js.map +7 -0
- package/dist/cjs/utils/mockMatchMedia.js +50 -0
- package/dist/cjs/utils/mockMatchMedia.js.map +7 -0
- package/dist/esm/chunk-24MISPYQ.js +1 -0
- package/dist/esm/chunk-24MISPYQ.js.map +7 -0
- package/dist/esm/chunk-4UUTCJ7P.js +11 -0
- package/dist/esm/chunk-4UUTCJ7P.js.map +7 -0
- package/dist/esm/chunk-52KEWVWB.js +12 -0
- package/dist/esm/chunk-52KEWVWB.js.map +7 -0
- package/dist/esm/chunk-5CHWCZUP.js +1 -0
- package/dist/esm/chunk-5CHWCZUP.js.map +7 -0
- package/dist/esm/chunk-6TTD4G74.js +20 -0
- package/dist/esm/chunk-6TTD4G74.js.map +7 -0
- package/dist/esm/chunk-A62CZFEQ.js +17 -0
- package/dist/esm/chunk-A62CZFEQ.js.map +7 -0
- package/dist/esm/chunk-AOSXRXGA.js +20 -0
- package/dist/esm/chunk-AOSXRXGA.js.map +7 -0
- package/dist/esm/chunk-CH3KSJSE.js +12 -0
- package/dist/esm/chunk-CH3KSJSE.js.map +7 -0
- package/dist/esm/chunk-E5XSED6Z.js +1 -0
- package/dist/esm/chunk-E5XSED6Z.js.map +7 -0
- package/dist/esm/chunk-GKDMKCFX.js +15 -0
- package/dist/esm/chunk-GKDMKCFX.js.map +7 -0
- package/dist/esm/chunk-IDU2FHOY.js +10 -0
- package/dist/esm/chunk-IDU2FHOY.js.map +7 -0
- package/dist/esm/chunk-IVRD2PA6.js +17 -0
- package/dist/esm/chunk-IVRD2PA6.js.map +7 -0
- package/dist/esm/chunk-KW6EFBPT.js +10 -0
- package/dist/esm/chunk-KW6EFBPT.js.map +7 -0
- package/dist/esm/chunk-LR7ML4HC.js +45 -0
- package/dist/esm/chunk-LR7ML4HC.js.map +7 -0
- package/dist/esm/chunk-TAURHEHL.js +193 -0
- package/dist/esm/chunk-TAURHEHL.js.map +7 -0
- package/dist/esm/chunk-UJQXNOUG.js +25 -0
- package/dist/esm/chunk-UJQXNOUG.js.map +7 -0
- package/dist/esm/chunk-UNC7C5OV.js +1 -0
- package/dist/esm/chunk-UNC7C5OV.js.map +7 -0
- package/dist/esm/components/DatePicker/CustomComponents/CaptionLabel.js +7 -0
- package/dist/esm/components/DatePicker/CustomComponents/CaptionLabel.js.map +7 -0
- package/dist/esm/components/DatePicker/CustomComponents/ChevronComponent.js +7 -0
- package/dist/esm/components/DatePicker/CustomComponents/ChevronComponent.js.map +7 -0
- package/dist/esm/components/DatePicker/CustomComponents/index.js +12 -0
- package/dist/esm/components/DatePicker/CustomComponents/index.js.map +7 -0
- package/dist/esm/components/DatePicker/DatePicker.js +15 -0
- package/dist/esm/components/DatePicker/DatePicker.js.map +7 -0
- package/dist/esm/components/DatePicker/DatePickerIcon.js +7 -0
- package/dist/esm/components/DatePicker/DatePickerIcon.js.map +7 -0
- package/dist/esm/components/DatePicker/DatePickerModal.js +134 -0
- package/dist/esm/components/DatePicker/DatePickerModal.js.map +7 -0
- package/dist/esm/components/DatePicker/constants.js +11 -0
- package/dist/esm/components/DatePicker/constants.js.map +7 -0
- package/dist/esm/components/DatePicker/index.js +15 -0
- package/dist/esm/components/DatePicker/index.js.map +7 -0
- package/dist/esm/components/DatePicker/utils/dateObjToString.js +7 -0
- package/dist/esm/components/DatePicker/utils/dateObjToString.js.map +7 -0
- package/dist/esm/components/DatePicker/utils/formatErrorMessageText.js +13 -0
- package/dist/esm/components/DatePicker/utils/formatErrorMessageText.js.map +7 -0
- package/dist/esm/components/DatePicker/utils/getStartWeekday.js +8 -0
- package/dist/esm/components/DatePicker/utils/getStartWeekday.js.map +7 -0
- package/dist/esm/components/DatePicker/utils/index.js +29 -0
- package/dist/esm/components/DatePicker/utils/index.js.map +7 -0
- package/dist/esm/components/DatePicker/utils/timezoneOffset.js +9 -0
- package/dist/esm/components/DatePicker/utils/timezoneOffset.js.map +7 -0
- package/dist/esm/components/DatePicker/utils/validateDateFormat.js +9 -0
- package/dist/esm/components/DatePicker/utils/validateDateFormat.js.map +7 -0
- package/dist/esm/components/DatePicker/utils/weekdayAsOneLetter.js +8 -0
- package/dist/esm/components/DatePicker/utils/weekdayAsOneLetter.js.map +7 -0
- package/dist/esm/hooks/index.js +3 -0
- package/dist/esm/hooks/index.js.map +7 -0
- package/dist/esm/hooks/useFocusTrap/index.js +3 -0
- package/dist/esm/hooks/useFocusTrap/index.js.map +7 -0
- package/dist/esm/hooks/useFocusTrap/useFocusTrap.js +7 -0
- package/dist/esm/hooks/useFocusTrap/useFocusTrap.js.map +7 -0
- package/dist/esm/index.js +10 -219
- package/dist/esm/index.js.map +3 -3
- package/dist/esm/meta.json +1146 -102
- package/dist/esm/utils/StoryContainer.js +25 -0
- package/dist/esm/utils/StoryContainer.js.map +7 -0
- package/dist/esm/utils/excludeControls.js +7 -0
- package/dist/esm/utils/excludeControls.js.map +7 -0
- package/dist/esm/utils/index.js +11 -0
- package/dist/esm/utils/index.js.map +7 -0
- package/dist/esm/utils/isTouchDevice.js +7 -0
- package/dist/esm/utils/isTouchDevice.js.map +7 -0
- package/dist/esm/utils/mockMatchMedia.js +29 -0
- package/dist/esm/utils/mockMatchMedia.js.map +7 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/DatePicker/DatePicker.d.ts +1 -0
- package/package.json +4 -3
- package/src/components/DatePicker/DatePicker.tsx +1 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/StoryContainer.tsx
|
|
21
|
+
var StoryContainer_exports = {};
|
|
22
|
+
__export(StoryContainer_exports, {
|
|
23
|
+
StoryContainer: () => StoryContainer
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(StoryContainer_exports);
|
|
26
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
27
|
+
var css = `
|
|
28
|
+
:root {
|
|
29
|
+
--story-container-width: auto;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@media (min-width: 641px) {
|
|
33
|
+
:root {
|
|
34
|
+
--story-container-width: 626px;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.story-container {
|
|
39
|
+
width: var(--story-container-width);
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
var StoryContainer = (props) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
43
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("style", { children: css }),
|
|
44
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "story-container", ...props })
|
|
45
|
+
] });
|
|
46
|
+
//# sourceMappingURL=StoryContainer.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/StoryContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["const css = `\n :root {\n --story-container-width: auto;\n }\n\n @media (min-width: 641px) {\n :root {\n --story-container-width: 626px;\n }\n }\n\n .story-container {\n width: var(--story-container-width);\n }\n`;\n\nexport const StoryContainer = (props: Record<string, unknown>) => (\n <>\n <style>{css}</style>\n <div className=\"story-container\" {...props} />\n </>\n);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBE;AAjBF,IAAM,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBL,IAAM,iBAAiB,CAAC,UAC7B,4EACE;AAAA,8CAAC,WAAO,eAAI;AAAA,EACZ,4CAAC,SAAI,WAAU,mBAAmB,GAAG,OAAO;AAAA,GAC9C;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/excludeControls.ts
|
|
21
|
+
var excludeControls_exports = {};
|
|
22
|
+
__export(excludeControls_exports, {
|
|
23
|
+
excludeControls: () => excludeControls
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(excludeControls_exports);
|
|
26
|
+
var excludeControls = (...args) => args.reduce(
|
|
27
|
+
(prev, acc) => ({ ...prev, [acc]: { table: { disable: true } } }),
|
|
28
|
+
{}
|
|
29
|
+
);
|
|
30
|
+
//# sourceMappingURL=excludeControls.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/excludeControls.ts"],
|
|
4
|
+
"sourcesContent": ["// This function generates data structure required to hide specified\n// prop from individual stories. Key 'table' is where specified key\n// is disabled.\n//\n// The above is documented here:\n// https://storybook.js.org/docs/react/essentials/controls#disable-controls-for-specific-properties\n//\n// The expected usage looks as follows:\n//\n// <Meta\n// title=\"Components/MyComponent\"\n// component={MyComponent}\n// argTypes={{\n// label: {\n// control: {\n// type: \"text\",\n// },\n// table: {\n// disable: true,\n// },\n// },\n// }}\n// />\nexport const excludeControls = (...args: string[]) =>\n args.reduce(\n (prev, acc) => ({ ...prev, [acc]: { table: { disable: true } } }),\n {},\n );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBO,IAAM,kBAAkB,IAAI,SACjC,KAAK;AAAA,EACH,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE;AAAA,EAC/D,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/index.ts
|
|
21
|
+
var utils_exports = {};
|
|
22
|
+
__export(utils_exports, {
|
|
23
|
+
excludeControls: () => excludeControls,
|
|
24
|
+
isTouchDevice: () => isTouchDevice
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(utils_exports);
|
|
27
|
+
|
|
28
|
+
// src/utils/excludeControls.ts
|
|
29
|
+
var excludeControls = (...args) => args.reduce(
|
|
30
|
+
(prev, acc) => ({ ...prev, [acc]: { table: { disable: true } } }),
|
|
31
|
+
{}
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
// src/utils/isTouchDevice.ts
|
|
35
|
+
var isTouchDevice = () => {
|
|
36
|
+
if (typeof window !== "undefined") {
|
|
37
|
+
return window.matchMedia("(hover: none), (pointer: coarse)").matches;
|
|
38
|
+
}
|
|
39
|
+
return void 0;
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/index.ts", "../../../src/utils/excludeControls.ts", "../../../src/utils/isTouchDevice.ts"],
|
|
4
|
+
"sourcesContent": ["export * from \"./excludeControls\";\nexport * from \"./isTouchDevice\";\n", "// This function generates data structure required to hide specified\n// prop from individual stories. Key 'table' is where specified key\n// is disabled.\n//\n// The above is documented here:\n// https://storybook.js.org/docs/react/essentials/controls#disable-controls-for-specific-properties\n//\n// The expected usage looks as follows:\n//\n// <Meta\n// title=\"Components/MyComponent\"\n// component={MyComponent}\n// argTypes={{\n// label: {\n// control: {\n// type: \"text\",\n// },\n// table: {\n// disable: true,\n// },\n// },\n// }}\n// />\nexport const excludeControls = (...args: string[]) =>\n args.reduce(\n (prev, acc) => ({ ...prev, [acc]: { table: { disable: true } } }),\n {},\n );\n", "export const isTouchDevice = (): boolean | undefined => {\n if (typeof window !== \"undefined\") {\n return window.matchMedia(\"(hover: none), (pointer: coarse)\").matches;\n }\n\n return undefined;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACuBO,IAAM,kBAAkB,IAAI,SACjC,KAAK;AAAA,EACH,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE;AAAA,EAC/D,CAAC;AACH;;;AC3BK,IAAM,gBAAgB,MAA2B;AACtD,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,OAAO,WAAW,kCAAkC,EAAE;AAAA,EAC/D;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/isTouchDevice.ts
|
|
21
|
+
var isTouchDevice_exports = {};
|
|
22
|
+
__export(isTouchDevice_exports, {
|
|
23
|
+
isTouchDevice: () => isTouchDevice
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(isTouchDevice_exports);
|
|
26
|
+
var isTouchDevice = () => {
|
|
27
|
+
if (typeof window !== "undefined") {
|
|
28
|
+
return window.matchMedia("(hover: none), (pointer: coarse)").matches;
|
|
29
|
+
}
|
|
30
|
+
return void 0;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=isTouchDevice.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/isTouchDevice.ts"],
|
|
4
|
+
"sourcesContent": ["export const isTouchDevice = (): boolean | undefined => {\n if (typeof window !== \"undefined\") {\n return window.matchMedia(\"(hover: none), (pointer: coarse)\").matches;\n }\n\n return undefined;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,gBAAgB,MAA2B;AACtD,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,OAAO,WAAW,kCAAkC,EAAE;AAAA,EAC/D;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/mockMatchMedia.ts
|
|
21
|
+
var mockMatchMedia_exports = {};
|
|
22
|
+
__export(mockMatchMedia_exports, {
|
|
23
|
+
mockMatchMedia: () => mockMatchMedia
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(mockMatchMedia_exports);
|
|
26
|
+
function mockMatchMedia(matches) {
|
|
27
|
+
const addListenerMock = vi.fn();
|
|
28
|
+
const removeListenerMock = vi.fn();
|
|
29
|
+
const addEventListenerMock = vi.fn();
|
|
30
|
+
const removeEventListenerMock = vi.fn();
|
|
31
|
+
const dispatchEventMock = vi.fn();
|
|
32
|
+
const matchMediaMock = vi.fn(
|
|
33
|
+
(query) => ({
|
|
34
|
+
matches,
|
|
35
|
+
media: query,
|
|
36
|
+
onchange: null,
|
|
37
|
+
addListener: addListenerMock,
|
|
38
|
+
removeListener: removeListenerMock,
|
|
39
|
+
addEventListener: addEventListenerMock,
|
|
40
|
+
removeEventListener: removeEventListenerMock,
|
|
41
|
+
dispatchEvent: dispatchEventMock
|
|
42
|
+
})
|
|
43
|
+
);
|
|
44
|
+
Object.defineProperty(window, "matchMedia", {
|
|
45
|
+
writable: true,
|
|
46
|
+
configurable: true,
|
|
47
|
+
value: matchMediaMock
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=mockMatchMedia.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/utils/mockMatchMedia.ts"],
|
|
4
|
+
"sourcesContent": ["import { type MockedFunction } from \"vitest\";\n\nexport function mockMatchMedia(matches: boolean) {\n const addListenerMock: MockedFunction<MediaQueryList[\"addListener\"]> =\n vi.fn();\n const removeListenerMock: MockedFunction<MediaQueryList[\"removeListener\"]> =\n vi.fn();\n const addEventListenerMock: MockedFunction<\n MediaQueryList[\"addEventListener\"]\n > = vi.fn();\n const removeEventListenerMock: MockedFunction<\n MediaQueryList[\"removeEventListener\"]\n > = vi.fn();\n const dispatchEventMock: MockedFunction<MediaQueryList[\"dispatchEvent\"]> =\n vi.fn();\n\n const matchMediaMock: MockedFunction<typeof window.matchMedia> = vi.fn(\n (query: string) =>\n ({\n matches,\n media: query,\n onchange: null,\n addListener: addListenerMock,\n removeListener: removeListenerMock,\n addEventListener: addEventListenerMock,\n removeEventListener: removeEventListenerMock,\n dispatchEvent: dispatchEventMock,\n }) satisfies MediaQueryList,\n );\n\n Object.defineProperty(window, \"matchMedia\", {\n writable: true,\n configurable: true,\n value: matchMediaMock,\n });\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,SAAS,eAAe,SAAkB;AAC/C,QAAM,kBACJ,GAAG,GAAG;AACR,QAAM,qBACJ,GAAG,GAAG;AACR,QAAM,uBAEF,GAAG,GAAG;AACV,QAAM,0BAEF,GAAG,GAAG;AACV,QAAM,oBACJ,GAAG,GAAG;AAER,QAAM,iBAA2D,GAAG;AAAA,IAClE,CAAC,WACE;AAAA,MACC;AAAA,MACA,OAAO;AAAA,MACP,UAAU;AAAA,MACV,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,qBAAqB;AAAA,MACrB,eAAe;AAAA,IACjB;AAAA,EACJ;AAEA,SAAO,eAAe,QAAQ,cAAc;AAAA,IAC1C,UAAU;AAAA,IACV,cAAc;AAAA,IACd,OAAO;AAAA,EACT,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-24MISPYQ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/constants.ts"],
|
|
4
|
+
"sourcesContent": ["export const SUNDAY_AS_NUMBER = 0;\nexport const MONDAY_AS_NUMBER = 1;\nexport const DEFAULT_LOCALE = \"en-GB\";\n"],
|
|
5
|
+
"mappings": ";AAAO,IAAM,mBAAmB;AACzB,IAAM,mBAAmB;AACzB,IAAM,iBAAiB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/utils/isTouchDevice.ts
|
|
2
|
+
var isTouchDevice = () => {
|
|
3
|
+
if (typeof window !== "undefined") {
|
|
4
|
+
return window.matchMedia("(hover: none), (pointer: coarse)").matches;
|
|
5
|
+
}
|
|
6
|
+
return void 0;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
isTouchDevice
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=chunk-52KEWVWB.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/isTouchDevice.ts"],
|
|
4
|
+
"sourcesContent": ["export const isTouchDevice = (): boolean | undefined => {\n if (typeof window !== \"undefined\") {\n return window.matchMedia(\"(hover: none), (pointer: coarse)\").matches;\n }\n\n return undefined;\n};\n"],
|
|
5
|
+
"mappings": ";AAAO,IAAM,gBAAgB,MAA2B;AACtD,MAAI,OAAO,WAAW,aAAa;AACjC,WAAO,OAAO,WAAW,kCAAkC,EAAE;AAAA,EAC/D;AAEA,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-5CHWCZUP.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_LOCALE,
|
|
3
|
+
MONDAY_AS_NUMBER,
|
|
4
|
+
SUNDAY_AS_NUMBER
|
|
5
|
+
} from "./chunk-4UUTCJ7P.js";
|
|
6
|
+
|
|
7
|
+
// src/components/DatePicker/utils/getStartWeekday.ts
|
|
8
|
+
var getStartWeekday = (locale) => {
|
|
9
|
+
switch (locale || DEFAULT_LOCALE) {
|
|
10
|
+
case "en-US":
|
|
11
|
+
return SUNDAY_AS_NUMBER;
|
|
12
|
+
default:
|
|
13
|
+
return MONDAY_AS_NUMBER;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
getStartWeekday
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-6TTD4G74.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/utils/getStartWeekday.ts"],
|
|
4
|
+
"sourcesContent": ["import {\n DEFAULT_LOCALE,\n MONDAY_AS_NUMBER,\n SUNDAY_AS_NUMBER,\n} from \"../constants\";\n\ntype WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined;\n\n// Calculates start of week for calendar in UK and US locales\n// Add more to the switch statement as needed\nexport const getStartWeekday = (locale?: string): WeekStart => {\n switch (locale || DEFAULT_LOCALE) {\n case \"en-US\":\n return SUNDAY_AS_NUMBER;\n\n default:\n return MONDAY_AS_NUMBER;\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;AAUO,IAAM,kBAAkB,CAAC,WAA+B;AAC7D,UAAQ,UAAU,gBAAgB;AAAA,IAChC,KAAK;AACH,aAAO;AAAA,IAET;AACE,aAAO;AAAA,EACX;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_LOCALE
|
|
3
|
+
} from "./chunk-4UUTCJ7P.js";
|
|
4
|
+
|
|
5
|
+
// src/components/DatePicker/utils/weekdayAsOneLetter.ts
|
|
6
|
+
var weekdayAsOneLetter = (date) => {
|
|
7
|
+
const locale = navigator.language || DEFAULT_LOCALE;
|
|
8
|
+
const oneLetter = date.toLocaleString(locale, {
|
|
9
|
+
weekday: "narrow"
|
|
10
|
+
});
|
|
11
|
+
return oneLetter;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
weekdayAsOneLetter
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-A62CZFEQ.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/utils/weekdayAsOneLetter.ts"],
|
|
4
|
+
"sourcesContent": ["import { DEFAULT_LOCALE } from \"../constants\";\n\nexport const weekdayAsOneLetter = (date: Date) => {\n const locale = navigator.language || DEFAULT_LOCALE;\n const oneLetter = date.toLocaleString(locale, {\n weekday: \"narrow\",\n });\n\n return oneLetter;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;AAEO,IAAM,qBAAqB,CAAC,SAAe;AAChD,QAAM,SAAS,UAAU,YAAY;AACrC,QAAM,YAAY,KAAK,eAAe,QAAQ;AAAA,IAC5C,SAAS;AAAA,EACX,CAAC;AAED,SAAO;AACT;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// src/components/DatePicker/utils/validateDateFormat.ts
|
|
2
|
+
import { isMatch } from "date-fns";
|
|
3
|
+
var DATE_FORMAT = "yyyy-MM-dd";
|
|
4
|
+
var validateDateFormat = (date) => {
|
|
5
|
+
if (date === "") {
|
|
6
|
+
return "";
|
|
7
|
+
}
|
|
8
|
+
if (isMatch(date, DATE_FORMAT)) {
|
|
9
|
+
return date;
|
|
10
|
+
}
|
|
11
|
+
throw Error(
|
|
12
|
+
`DatePicker defaultValue '${date}' is invalid. The expected format is '${DATE_FORMAT}' `
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
DATE_FORMAT,
|
|
18
|
+
validateDateFormat
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-AOSXRXGA.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/utils/validateDateFormat.ts"],
|
|
4
|
+
"sourcesContent": ["import { isMatch } from \"date-fns\";\n\n// eg 2023-12-31\nexport const DATE_FORMAT = \"yyyy-MM-dd\";\n\nexport const validateDateFormat = (date: string) => {\n if (date === \"\") {\n return \"\";\n }\n\n if (isMatch(date, DATE_FORMAT)) {\n return date;\n }\n\n throw Error(\n `DatePicker defaultValue '${date}' is invalid. The expected format is '${DATE_FORMAT}' `,\n );\n};\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,eAAe;AAGjB,IAAM,cAAc;AAEpB,IAAM,qBAAqB,CAAC,SAAiB;AAClD,MAAI,SAAS,IAAI;AACf,WAAO;AAAA,EACT;AAEA,MAAI,QAAQ,MAAM,WAAW,GAAG;AAC9B,WAAO;AAAA,EACT;AAEA,QAAM;AAAA,IACJ,4BAA4B,IAAI,yCAAyC,WAAW;AAAA,EACtF;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/components/DatePicker/utils/dateObjToString.ts
|
|
2
|
+
var dateObjToString = (date) => {
|
|
3
|
+
const year = date.getFullYear();
|
|
4
|
+
const month = String(date.getMonth() + 1).padStart(2, "0");
|
|
5
|
+
const day = String(date.getDate()).padStart(2, "0");
|
|
6
|
+
return `${year}-${month}-${day}`;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
dateObjToString
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=chunk-CH3KSJSE.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/utils/dateObjToString.ts"],
|
|
4
|
+
"sourcesContent": ["export const dateObjToString = (date: Date) => {\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const day = String(date.getDate()).padStart(2, \"0\");\n\n // Extract the date part from the Date object\n return `${year}-${month}-${day}`;\n};\n"],
|
|
5
|
+
"mappings": ";AAAO,IAAM,kBAAkB,CAAC,SAAe;AAC7C,QAAM,OAAO,KAAK,YAAY;AAC9B,QAAM,QAAQ,OAAO,KAAK,SAAS,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG;AACzD,QAAM,MAAM,OAAO,KAAK,QAAQ,CAAC,EAAE,SAAS,GAAG,GAAG;AAGlD,SAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG;AAChC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=chunk-E5XSED6Z.js.map
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// src/components/DatePicker/CustomComponents/ChevronComponent.tsx
|
|
2
|
+
import { chevronLeft, chevronRight } from "@simplybusiness/icons";
|
|
3
|
+
import { Icon } from "@simplybusiness/mobius";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
var ChevronComponent = ({ orientation }) => {
|
|
6
|
+
if (orientation === "left") {
|
|
7
|
+
return /* @__PURE__ */ jsx(Icon, { icon: chevronLeft });
|
|
8
|
+
}
|
|
9
|
+
return /* @__PURE__ */ jsx(Icon, { icon: chevronRight });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
ChevronComponent
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=chunk-GKDMKCFX.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/CustomComponents/ChevronComponent.tsx"],
|
|
4
|
+
"sourcesContent": ["import { chevronLeft, chevronRight } from \"@simplybusiness/icons\";\nimport { Icon } from \"@simplybusiness/mobius\";\n\ntype ChevronComponentProps = {\n orientation?: \"up\" | \"down\" | \"left\" | \"right\";\n};\n\nexport const ChevronComponent = ({ orientation }: ChevronComponentProps) => {\n if (orientation === \"left\") {\n return <Icon icon={chevronLeft} />;\n }\n return <Icon icon={chevronRight} />;\n};\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,aAAa,oBAAoB;AAC1C,SAAS,YAAY;AAQV;AAFJ,IAAM,mBAAmB,CAAC,EAAE,YAAY,MAA6B;AAC1E,MAAI,gBAAgB,QAAQ;AAC1B,WAAO,oBAAC,QAAK,MAAM,aAAa;AAAA,EAClC;AACA,SAAO,oBAAC,QAAK,MAAM,cAAc;AACnC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/utils/excludeControls.ts"],
|
|
4
|
+
"sourcesContent": ["// This function generates data structure required to hide specified\n// prop from individual stories. Key 'table' is where specified key\n// is disabled.\n//\n// The above is documented here:\n// https://storybook.js.org/docs/react/essentials/controls#disable-controls-for-specific-properties\n//\n// The expected usage looks as follows:\n//\n// <Meta\n// title=\"Components/MyComponent\"\n// component={MyComponent}\n// argTypes={{\n// label: {\n// control: {\n// type: \"text\",\n// },\n// table: {\n// disable: true,\n// },\n// },\n// }}\n// />\nexport const excludeControls = (...args: string[]) =>\n args.reduce(\n (prev, acc) => ({ ...prev, [acc]: { table: { disable: true } } }),\n {},\n );\n"],
|
|
5
|
+
"mappings": ";AAuBO,IAAM,kBAAkB,IAAI,SACjC,KAAK;AAAA,EACH,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE;AAAA,EAC/D,CAAC;AACH;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// src/components/DatePicker/utils/timezoneOffset.ts
|
|
2
|
+
function toUTC(localDate) {
|
|
3
|
+
return new Date(localDate.getTime() - localDate.getTimezoneOffset() * 6e4);
|
|
4
|
+
}
|
|
5
|
+
function toLocal(utcDateString) {
|
|
6
|
+
const utcDate = new Date(utcDateString);
|
|
7
|
+
if (Number.isNaN(utcDate.getTime())) {
|
|
8
|
+
throw new Error("Invalid date string");
|
|
9
|
+
}
|
|
10
|
+
return new Date(utcDate.getTime() + utcDate.getTimezoneOffset() * 6e4);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
toUTC,
|
|
15
|
+
toLocal
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-IVRD2PA6.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/utils/timezoneOffset.ts"],
|
|
4
|
+
"sourcesContent": ["/**\n * Converts a local date-time to UTC\n * @param localDate - Date object in local timezone\n * @returns Date object in UTC\n */\nexport function toUTC(localDate: Date): Date {\n return new Date(localDate.getTime() - localDate.getTimezoneOffset() * 60000);\n}\n\nexport function toLocal(utcDateString: string): Date {\n const utcDate = new Date(utcDateString);\n if (Number.isNaN(utcDate.getTime())) {\n throw new Error(\"Invalid date string\");\n }\n // Convert UTC date to local date\n // by adding the timezone offset in milliseconds\n return new Date(utcDate.getTime() + utcDate.getTimezoneOffset() * 60000);\n}\n"],
|
|
5
|
+
"mappings": ";AAKO,SAAS,MAAM,WAAuB;AAC3C,SAAO,IAAI,KAAK,UAAU,QAAQ,IAAI,UAAU,kBAAkB,IAAI,GAAK;AAC7E;AAEO,SAAS,QAAQ,eAA6B;AACnD,QAAM,UAAU,IAAI,KAAK,aAAa;AACtC,MAAI,OAAO,MAAM,QAAQ,QAAQ,CAAC,GAAG;AACnC,UAAM,IAAI,MAAM,qBAAqB;AAAA,EACvC;AAGA,SAAO,IAAI,KAAK,QAAQ,QAAQ,IAAI,QAAQ,kBAAkB,IAAI,GAAK;AACzE;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// src/components/DatePicker/CustomComponents/CaptionLabel.tsx
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
var CaptionLabel = (props) => {
|
|
4
|
+
return /* @__PURE__ */ jsx("h2", { ...props });
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export {
|
|
8
|
+
CaptionLabel
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=chunk-KW6EFBPT.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/components/DatePicker/CustomComponents/CaptionLabel.tsx"],
|
|
4
|
+
"sourcesContent": ["import { type HTMLAttributes } from \"react\";\n\n/**\n *\n * This component is used to render the caption label for the date picker.\n * We are overriding the standard span with an h2 for accessibility reasons.\n */\nexport const CaptionLabel = (props: HTMLAttributes<HTMLSpanElement>) => {\n return <h2 {...props} />;\n};\n"],
|
|
5
|
+
"mappings": ";AAQS;AADF,IAAM,eAAe,CAAC,UAA2C;AACtE,SAAO,oBAAC,QAAI,GAAG,OAAO;AACxB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// src/hooks/useFocusTrap/useFocusTrap.tsx
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
var useFocusTrap = () => {
|
|
5
|
+
const containerRef = useRef(null);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (containerRef.current) {
|
|
8
|
+
const element = containerRef.current;
|
|
9
|
+
const focusableElements = containerRef.current.querySelectorAll(
|
|
10
|
+
'[tabindex="0"], .mobius-date-picker__nav-button'
|
|
11
|
+
);
|
|
12
|
+
const firstElement = focusableElements[0];
|
|
13
|
+
const lastElement = focusableElements[focusableElements.length - 1];
|
|
14
|
+
const handleTabKeyPress = (event) => {
|
|
15
|
+
if (event.key === "Tab") {
|
|
16
|
+
if (event.shiftKey && document.activeElement === firstElement) {
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
lastElement.focus();
|
|
19
|
+
} else if (!event.shiftKey && document.activeElement && document.activeElement.className.indexOf(
|
|
20
|
+
"mobius-date-picker__day-button"
|
|
21
|
+
) > -1) {
|
|
22
|
+
event.preventDefault();
|
|
23
|
+
firstElement.focus();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
element.addEventListener("keydown", handleTabKeyPress);
|
|
28
|
+
return () => {
|
|
29
|
+
element.removeEventListener("keydown", handleTabKeyPress);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
return () => {
|
|
33
|
+
};
|
|
34
|
+
}, []);
|
|
35
|
+
return containerRef;
|
|
36
|
+
};
|
|
37
|
+
function FocusTrap({ children }) {
|
|
38
|
+
const focusRef = useFocusTrap();
|
|
39
|
+
return /* @__PURE__ */ jsx("div", { className: "trap", ref: focusRef, children });
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export {
|
|
43
|
+
FocusTrap
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=chunk-LR7ML4HC.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/hooks/useFocusTrap/useFocusTrap.tsx"],
|
|
4
|
+
"sourcesContent": ["import type { ReactNode } from \"react\";\nimport { useEffect, useRef } from \"react\";\n\nconst useFocusTrap = () => {\n const containerRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (containerRef.current) {\n const element = containerRef.current;\n const focusableElements =\n containerRef.current.querySelectorAll<HTMLElement>(\n '[tabindex=\"0\"], .mobius-date-picker__nav-button',\n );\n\n const firstElement = focusableElements[0];\n const lastElement = focusableElements[focusableElements.length - 1];\n\n const handleTabKeyPress = (event: KeyboardEvent) => {\n if (event.key === \"Tab\") {\n if (event.shiftKey && document.activeElement === firstElement) {\n event.preventDefault();\n lastElement.focus();\n } else if (\n !event.shiftKey &&\n document.activeElement &&\n document.activeElement.className.indexOf(\n \"mobius-date-picker__day-button\",\n ) > -1\n ) {\n event.preventDefault();\n firstElement.focus();\n }\n }\n };\n\n element.addEventListener(\"keydown\", handleTabKeyPress);\n return () => {\n element.removeEventListener(\"keydown\", handleTabKeyPress);\n };\n }\n return () => {};\n }, []);\n\n return containerRef;\n};\n\nexport type FocusTrapProps = {\n children: ReactNode;\n};\n\nexport default function FocusTrap({ children }: FocusTrapProps) {\n const focusRef = useFocusTrap();\n\n return (\n <div className=\"trap\" ref={focusRef}>\n {children}\n </div>\n );\n}\n"],
|
|
5
|
+
"mappings": ";AACA,SAAS,WAAW,cAAc;AAqD9B;AAnDJ,IAAM,eAAe,MAAM;AACzB,QAAM,eAAe,OAA8B,IAAI;AAEvD,YAAU,MAAM;AACd,QAAI,aAAa,SAAS;AACxB,YAAM,UAAU,aAAa;AAC7B,YAAM,oBACJ,aAAa,QAAQ;AAAA,QACnB;AAAA,MACF;AAEF,YAAM,eAAe,kBAAkB,CAAC;AACxC,YAAM,cAAc,kBAAkB,kBAAkB,SAAS,CAAC;AAElE,YAAM,oBAAoB,CAAC,UAAyB;AAClD,YAAI,MAAM,QAAQ,OAAO;AACvB,cAAI,MAAM,YAAY,SAAS,kBAAkB,cAAc;AAC7D,kBAAM,eAAe;AACrB,wBAAY,MAAM;AAAA,UACpB,WACE,CAAC,MAAM,YACP,SAAS,iBACT,SAAS,cAAc,UAAU;AAAA,YAC/B;AAAA,UACF,IAAI,IACJ;AACA,kBAAM,eAAe;AACrB,yBAAa,MAAM;AAAA,UACrB;AAAA,QACF;AAAA,MACF;AAEA,cAAQ,iBAAiB,WAAW,iBAAiB;AACrD,aAAO,MAAM;AACX,gBAAQ,oBAAoB,WAAW,iBAAiB;AAAA,MAC1D;AAAA,IACF;AACA,WAAO,MAAM;AAAA,IAAC;AAAA,EAChB,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AAMe,SAAR,UAA2B,EAAE,SAAS,GAAmB;AAC9D,QAAM,WAAW,aAAa;AAE9B,SACE,oBAAC,SAAI,WAAU,QAAO,KAAK,UACxB,UACH;AAEJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|