@manufac/react-components-potli 1.0.5 → 1.0.7

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.
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { customDateFormatter } from "./utils";
3
+ import { InputWrapper } from "@mantine/core";
4
+ import { DatePickerInput, TimePicker } from "@mantine/dates";
5
+ import dayjs from "dayjs";
6
+ import "@mantine/dates/styles.css";
7
+ export function CustomDateTimePicker({ wrapperProps, datePickerInputProps, timePickerInputProps, onChange, value, }) {
8
+ const onDateChange = (date) => {
9
+ if (typeof date === "string") {
10
+ const existingHour = value.getHours();
11
+ const existingMinute = value.getMinutes();
12
+ onChange(dayjs(date).hour(existingHour).minute(existingMinute).toDate());
13
+ }
14
+ };
15
+ const onTimeChange = (time) => {
16
+ const timePart = time.split(":");
17
+ const parsedHours = Number.parseInt(timePart[0], 10);
18
+ const parsedMinutes = Number.parseInt(timePart[1], 10);
19
+ if (Number.isFinite(parsedHours) === true && Number.isFinite(parsedMinutes) === true) {
20
+ onChange(dayjs(value).hour(parsedHours).minute(parsedMinutes).toDate());
21
+ }
22
+ };
23
+ return (_jsx(InputWrapper, { ...wrapperProps, children: _jsx(DatePickerInput, { ...datePickerInputProps, value: new Date(value), onChange: onDateChange, valueFormatter: customDateFormatter, rightSection: _jsx(TimePicker, { ...timePickerInputProps, value: dayjs(value).format("HH:mm"), onChange: onTimeChange, w: "100%", withDropdown: true, format: "12h", styles: {
24
+ input: {
25
+ borderTopLeftRadius: "0px",
26
+ borderBottomLeftRadius: "0px",
27
+ borderRight: "none",
28
+ },
29
+ } }), rightSectionProps: {
30
+ style: {
31
+ width: "110px",
32
+ },
33
+ } }) }));
34
+ }
35
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/CustomDateTimePicker/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,2BAA2B,CAAC;AAanC,MAAM,UAAU,oBAAoB,CAAC,EACnC,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,QAAQ,EACR,KAAK,GACqB;IAC1B,MAAM,YAAY,GAAqC,CAAC,IAAI,EAAE,EAAE;QAC9D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;YAC1C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,YAAY,GAAgC,CAAC,IAAI,EAAE,EAAE;QACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,CAAC;YACrF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,YAAY,OAAK,YAAY,YAC5B,KAAC,eAAe,OACV,oBAAoB,EACxB,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EACtB,QAAQ,EAAE,YAAY,EACtB,cAAc,EAAE,mBAAmB,EACnC,YAAY,EACV,KAAC,UAAU,OACL,oBAAoB,EACxB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EACnC,QAAQ,EAAE,YAAY,EACtB,CAAC,EAAC,MAAM,EACR,YAAY,QACZ,MAAM,EAAC,KAAK,EACZ,MAAM,EAAE;oBACN,KAAK,EAAE;wBACL,mBAAmB,EAAE,KAAK;wBAC1B,sBAAsB,EAAE,KAAK;wBAC7B,WAAW,EAAE,MAAM;qBACpB;iBACF,GACD,EAEJ,iBAAiB,EAAE;gBACjB,KAAK,EAAE;oBACL,KAAK,EAAE,OAAO;iBACf;aACF,GACD,GACW,CAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CustomDateTimePicker } from ".";
3
+ import { useState } from "react";
4
+ export default {
5
+ title: "CustomDateTimePicker",
6
+ component: CustomDateTimePicker,
7
+ args: {
8
+ wrapperProps: {
9
+ label: "Date & Time",
10
+ },
11
+ },
12
+ };
13
+ export const Template = {
14
+ render: (args) => {
15
+ const [dateTime, setDateTime] = useState(new Date());
16
+ return _jsx(CustomDateTimePicker, { ...args, value: dateTime, onChange: setDateTime });
17
+ },
18
+ };
19
+ //# sourceMappingURL=index.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/CustomDateTimePicker/index.stories.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,GAAG,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,eAAe;IACb,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,oBAAoB;IAC/B,IAAI,EAAE;QACJ,YAAY,EAAE;YACZ,KAAK,EAAE,aAAa;SACrB;KACF;CACmC,CAAC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAA0C;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QACf,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAO,IAAI,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,KAAC,oBAAoB,OAAK,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,GAAI,CAAC;IACpF,CAAC;CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const customDateFormatter = ({ date }) => {
2
+ let result = "Invalid date";
3
+ if (date instanceof Date || typeof date === "string") {
4
+ const dateValue = date instanceof Date ? date : new Date(date);
5
+ result = dateValue.toLocaleString(undefined, {
6
+ month: "short",
7
+ day: "2-digit",
8
+ year: "numeric",
9
+ });
10
+ }
11
+ return result;
12
+ };
13
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/components/CustomDateTimePicker/utils.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAkB,CAAC,EAAE,IAAI,EAAE,EAAU,EAAE;IACrE,IAAI,MAAM,GAAG,cAAc,CAAC;IAC5B,IAAI,IAAI,YAAY,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/D,MAAM,GAAG,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE;YAC3C,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -49,12 +49,12 @@ export function EventTimelineChart({ theme, data }) {
49
49
  hour: "2-digit",
50
50
  minute: "2-digit",
51
51
  });
52
- return `
53
- <div style="padding:6px">
54
- <b>${format.encodeHTML(event.event.toUpperCase())}</b><br/>
55
- Start: ${format.encodeHTML(startTime)}<br/>
56
- End: ${format.encodeHTML(endTime)}<br/>
57
- </div>
52
+ return `
53
+ <div style="padding:6px">
54
+ <b>${format.encodeHTML(event.event.toUpperCase())}</b><br/>
55
+ Start: ${format.encodeHTML(startTime)}<br/>
56
+ End: ${format.encodeHTML(endTime)}<br/>
57
+ </div>
58
58
  `;
59
59
  },
60
60
  },
package/dist/tsc/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./components/CustomEventTimelineChart";
2
2
  export * from "./components/CustomTable";
3
3
  export * from "./components/CustomColorPalette";
4
+ export * from "./components/CustomDateTimePicker";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AACtD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC"}