@clubmed/trident-ui 1.0.1 → 1.1.0-beta.1
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +7 -0
- package/fonts/Actions/tui-actions.css +6 -6
- package/fonts/Actions/tui-actions.eot +0 -0
- package/fonts/Actions/tui-actions.less +6 -6
- package/fonts/Actions/tui-actions.module.less +6 -6
- package/fonts/Actions/tui-actions.scss +6 -6
- package/fonts/Actions/tui-actions.styl +6 -6
- package/fonts/Actions/tui-actions.ttf +0 -0
- package/fonts/Actions/tui-actions.woff +0 -0
- package/fonts/Actions/tui-actions.woff2 +0 -0
- package/fonts/Activities/tui-activities.css +6 -6
- package/fonts/Activities/tui-activities.eot +0 -0
- package/fonts/Activities/tui-activities.less +6 -6
- package/fonts/Activities/tui-activities.module.less +6 -6
- package/fonts/Activities/tui-activities.scss +6 -6
- package/fonts/Activities/tui-activities.styl +6 -6
- package/fonts/Activities/tui-activities.ttf +0 -0
- package/fonts/Activities/tui-activities.woff +0 -0
- package/fonts/Activities/tui-activities.woff2 +0 -0
- package/fonts/Brand/tui-brand.css +6 -6
- package/fonts/Brand/tui-brand.eot +0 -0
- package/fonts/Brand/tui-brand.less +6 -6
- package/fonts/Brand/tui-brand.module.less +6 -6
- package/fonts/Brand/tui-brand.scss +6 -6
- package/fonts/Brand/tui-brand.styl +6 -6
- package/fonts/Brand/tui-brand.ttf +0 -0
- package/fonts/Brand/tui-brand.woff +0 -0
- package/fonts/Brand/tui-brand.woff2 +0 -0
- package/fonts/Covid/tui-covid.css +6 -6
- package/fonts/Covid/tui-covid.eot +0 -0
- package/fonts/Covid/tui-covid.less +6 -6
- package/fonts/Covid/tui-covid.module.less +6 -6
- package/fonts/Covid/tui-covid.scss +6 -6
- package/fonts/Covid/tui-covid.styl +6 -6
- package/fonts/Covid/tui-covid.ttf +0 -0
- package/fonts/Covid/tui-covid.woff +0 -0
- package/fonts/Covid/tui-covid.woff2 +0 -0
- package/fonts/Food/tui-food.css +6 -6
- package/fonts/Food/tui-food.eot +0 -0
- package/fonts/Food/tui-food.less +6 -6
- package/fonts/Food/tui-food.module.less +6 -6
- package/fonts/Food/tui-food.scss +6 -6
- package/fonts/Food/tui-food.styl +6 -6
- package/fonts/Food/tui-food.ttf +0 -0
- package/fonts/Food/tui-food.woff +0 -0
- package/fonts/Food/tui-food.woff2 +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.css +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.eot +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.less +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.module.less +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.scss +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.styl +6 -6
- package/fonts/HappyToCare/tui-happy-to-care.ttf +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.woff +0 -0
- package/fonts/HappyToCare/tui-happy-to-care.woff2 +0 -0
- package/fonts/Places/tui-places.css +6 -6
- package/fonts/Places/tui-places.eot +0 -0
- package/fonts/Places/tui-places.less +6 -6
- package/fonts/Places/tui-places.module.less +6 -6
- package/fonts/Places/tui-places.scss +6 -6
- package/fonts/Places/tui-places.styl +6 -6
- package/fonts/Places/tui-places.ttf +0 -0
- package/fonts/Places/tui-places.woff +0 -0
- package/fonts/Places/tui-places.woff2 +0 -0
- package/fonts/Room/tui-room.css +6 -6
- package/fonts/Room/tui-room.eot +0 -0
- package/fonts/Room/tui-room.less +6 -6
- package/fonts/Room/tui-room.module.less +6 -6
- package/fonts/Room/tui-room.scss +6 -6
- package/fonts/Room/tui-room.styl +6 -6
- package/fonts/Room/tui-room.ttf +0 -0
- package/fonts/Room/tui-room.woff +0 -0
- package/fonts/Room/tui-room.woff2 +0 -0
- package/fonts/Services/tui-services.css +6 -6
- package/fonts/Services/tui-services.eot +0 -0
- package/fonts/Services/tui-services.less +6 -6
- package/fonts/Services/tui-services.module.less +6 -6
- package/fonts/Services/tui-services.scss +6 -6
- package/fonts/Services/tui-services.styl +6 -6
- package/fonts/Services/tui-services.ttf +0 -0
- package/fonts/Services/tui-services.woff +0 -0
- package/fonts/Services/tui-services.woff2 +0 -0
- package/fonts/Socials/tui-socials.css +6 -6
- package/fonts/Socials/tui-socials.eot +0 -0
- package/fonts/Socials/tui-socials.less +6 -6
- package/fonts/Socials/tui-socials.module.less +6 -6
- package/fonts/Socials/tui-socials.scss +6 -6
- package/fonts/Socials/tui-socials.styl +6 -6
- package/fonts/Socials/tui-socials.ttf +0 -0
- package/fonts/Socials/tui-socials.woff +0 -0
- package/fonts/Socials/tui-socials.woff2 +0 -0
- package/fonts/Transports/tui-transports.css +6 -6
- package/fonts/Transports/tui-transports.eot +0 -0
- package/fonts/Transports/tui-transports.less +6 -6
- package/fonts/Transports/tui-transports.module.less +6 -6
- package/fonts/Transports/tui-transports.scss +6 -6
- package/fonts/Transports/tui-transports.styl +6 -6
- package/fonts/Transports/tui-transports.ttf +0 -0
- package/fonts/Transports/tui-transports.woff +0 -0
- package/fonts/Transports/tui-transports.woff2 +0 -0
- package/fonts/Utilities/tui-utilities.css +6 -6
- package/fonts/Utilities/tui-utilities.eot +0 -0
- package/fonts/Utilities/tui-utilities.less +6 -6
- package/fonts/Utilities/tui-utilities.module.less +6 -6
- package/fonts/Utilities/tui-utilities.scss +6 -6
- package/fonts/Utilities/tui-utilities.styl +6 -6
- package/fonts/Utilities/tui-utilities.ttf +0 -0
- package/fonts/Utilities/tui-utilities.woff +0 -0
- package/fonts/Utilities/tui-utilities.woff2 +0 -0
- package/molecules/Forms/DateField.js +45 -43
- package/molecules/Forms/DateField.js.map +1 -1
- package/molecules/Forms/FormControl.d.ts +1 -1
- package/molecules/Forms/FormControl.js +37 -26
- package/molecules/Forms/FormControl.js.map +1 -1
- package/molecules/Forms/FormLabel.d.ts +2 -1
- package/molecules/Forms/FormLabel.js +20 -19
- package/molecules/Forms/FormLabel.js.map +1 -1
- package/molecules/Forms/NumberField.d.ts +1 -0
- package/molecules/Forms/NumberField.js +42 -40
- package/molecules/Forms/NumberField.js.map +1 -1
- package/molecules/Forms/Password/Password.js +23 -21
- package/molecules/Forms/Password/Password.js.map +1 -1
- package/molecules/Forms/Select.js +18 -16
- package/molecules/Forms/Select.js.map +1 -1
- package/molecules/Forms/TextField.js +37 -35
- package/molecules/Forms/TextField.js.map +1 -1
- package/package.json +6 -6
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1728470383585'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1728470383585#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1728470383585") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1728470383585") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1728470383585') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1728470383585#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1728470383585'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1728470383585#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1728470383585") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1728470383585") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1728470383585') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1728470383585#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1728470383585'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1728470383585#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1728470383585") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1728470383585") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1728470383585') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1728470383585#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
@font-face {font-family: "tui-utilities";
|
2
|
-
src: url('tui-utilities.eot?t=
|
3
|
-
src: url('tui-utilities.eot?t=
|
4
|
-
url("tui-utilities.woff2?t=
|
5
|
-
url("tui-utilities.woff?t=
|
6
|
-
url('tui-utilities.ttf?t=
|
7
|
-
url('tui-utilities.svg?t=
|
2
|
+
src: url('tui-utilities.eot?t=1728470383585'); /* IE9*/
|
3
|
+
src: url('tui-utilities.eot?t=1728470383585#iefix') format('embedded-opentype'), /* IE6-IE8 */
|
4
|
+
url("tui-utilities.woff2?t=1728470383585") format("woff2"),
|
5
|
+
url("tui-utilities.woff?t=1728470383585") format("woff"),
|
6
|
+
url('tui-utilities.ttf?t=1728470383585') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
|
7
|
+
url('tui-utilities.svg?t=1728470383585#tui-utilities') format('svg'); /* iOS 4.1- */
|
8
8
|
}
|
9
9
|
|
10
10
|
[class^="tui-utilities-"], [class*=" tui-utilities-"] {
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { jsx as m, jsxs as x } from "react/jsx-runtime";
|
2
2
|
import { c as E } from "../../index-Cu0xwYjD.js";
|
3
|
-
import { useId as
|
3
|
+
import { useId as q, useRef as z } from "react";
|
4
4
|
import { Icon as I } from "../../atoms/Icons/Icon.js";
|
5
5
|
import "../../atoms/Icons/contexts/IconsContext.js";
|
6
6
|
import { useValue as G } from "../../hooks/useValue.js";
|
@@ -18,23 +18,23 @@ function F(t, e) {
|
|
18
18
|
if (e.length < t)
|
19
19
|
throw new TypeError(t + " argument" + (t > 1 ? "s" : "") + " required, but only " + e.length + " present");
|
20
20
|
}
|
21
|
-
function
|
21
|
+
function A(t) {
|
22
22
|
F(1, arguments);
|
23
23
|
var e = Object.prototype.toString.call(t);
|
24
24
|
return t instanceof Date || T(t) === "object" && e === "[object Date]" ? new Date(t.getTime()) : typeof t == "number" || e === "[object Number]" ? new Date(t) : ((typeof t == "string" || e === "[object String]") && typeof console < "u" && (console.warn("Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));
|
25
25
|
}
|
26
26
|
function l(t, e) {
|
27
|
-
for (var i = t < 0 ? "-" : "",
|
28
|
-
|
29
|
-
return i +
|
27
|
+
for (var i = t < 0 ? "-" : "", n = Math.abs(t).toString(); n.length < e; )
|
28
|
+
n = "0" + n;
|
29
|
+
return i + n;
|
30
30
|
}
|
31
|
-
function
|
32
|
-
var i,
|
31
|
+
function H(t, e) {
|
32
|
+
var i, n;
|
33
33
|
F(1, arguments);
|
34
|
-
var o =
|
34
|
+
var o = A(t);
|
35
35
|
if (isNaN(o.getTime()))
|
36
36
|
throw new RangeError("Invalid time value");
|
37
|
-
var d = String((i = e == null ? void 0 : e.format) !== null && i !== void 0 ? i : "extended"), c = String((
|
37
|
+
var d = String((i = e == null ? void 0 : e.format) !== null && i !== void 0 ? i : "extended"), c = String((n = e == null ? void 0 : e.representation) !== null && n !== void 0 ? n : "complete");
|
38
38
|
if (d !== "extended" && d !== "basic")
|
39
39
|
throw new RangeError("format must be 'extended' or 'basic'");
|
40
40
|
if (c !== "date" && c !== "time" && c !== "complete")
|
@@ -47,19 +47,19 @@ function A(t, e) {
|
|
47
47
|
if (c !== "date") {
|
48
48
|
var p = o.getTimezoneOffset();
|
49
49
|
if (p !== 0) {
|
50
|
-
var h = Math.abs(p), S = l(Math.floor(h / 60), 2),
|
51
|
-
f = "".concat(
|
50
|
+
var h = Math.abs(p), S = l(Math.floor(h / 60), 2), N = l(h % 60, 2), b = p < 0 ? "+" : "-";
|
51
|
+
f = "".concat(b).concat(S, ":").concat(N);
|
52
52
|
} else
|
53
53
|
f = "Z";
|
54
|
-
var
|
54
|
+
var k = l(o.getHours(), 2), y = l(o.getMinutes(), 2), a = l(o.getSeconds(), 2), j = s === "" ? "" : "T", C = [k, y, a].join(w);
|
55
55
|
s = "".concat(s).concat(j).concat(C).concat(f);
|
56
56
|
}
|
57
57
|
return s;
|
58
58
|
}
|
59
|
-
const M = (t) => t ?
|
60
|
-
const e =
|
59
|
+
const M = (t) => t ? H(t, { representation: "date" }) : "", X = (t) => {
|
60
|
+
const e = q(), {
|
61
61
|
id: i = e,
|
62
|
-
name:
|
62
|
+
name: n = i,
|
63
63
|
label: o,
|
64
64
|
description: d,
|
65
65
|
openDatepicker: c,
|
@@ -69,23 +69,24 @@ const M = (t) => t ? A(t, { representation: "date" }) : "", W = (t) => {
|
|
69
69
|
errorMessage: w,
|
70
70
|
disabled: r = !1,
|
71
71
|
required: v = !1,
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
72
|
+
hideRequiredStar: D,
|
73
|
+
dataTestId: p = "DateField",
|
74
|
+
value: h,
|
75
|
+
min: S,
|
76
|
+
max: N,
|
76
77
|
onChange: b,
|
77
|
-
...
|
78
|
-
} = t, y = z(null),
|
78
|
+
...k
|
79
|
+
} = t, y = z(null), a = Z({
|
79
80
|
isDisabled: r,
|
80
81
|
validationStatus: s
|
81
|
-
}), { setValue:
|
82
|
-
name:
|
82
|
+
}), { setValue: j, value: C } = G({
|
83
|
+
name: n,
|
83
84
|
formatter: M,
|
84
|
-
initialValue:
|
85
|
-
onChange: (u,
|
86
|
-
}),
|
87
|
-
|
88
|
-
},
|
85
|
+
initialValue: h,
|
86
|
+
onChange: (u, _) => b == null ? void 0 : b(u, new Date(_))
|
87
|
+
}), R = M(S), O = M(N), P = (u) => {
|
88
|
+
j(u.target.value);
|
89
|
+
}, V = () => {
|
89
90
|
var u;
|
90
91
|
(u = y.current) == null || u.showPicker();
|
91
92
|
};
|
@@ -96,36 +97,37 @@ const M = (t) => t ? A(t, { representation: "date" }) : "", W = (t) => {
|
|
96
97
|
label: o,
|
97
98
|
description: d,
|
98
99
|
dataName: "DateField",
|
99
|
-
dataTestId:
|
100
|
+
dataTestId: p,
|
100
101
|
disabled: r,
|
101
102
|
required: v,
|
103
|
+
hideRequiredStar: D,
|
102
104
|
validationStatus: s,
|
103
105
|
errorMessage: w,
|
104
106
|
children: /* @__PURE__ */ x("div", { className: "relative", children: [
|
105
107
|
/* @__PURE__ */ m(
|
106
108
|
"input",
|
107
109
|
{
|
108
|
-
...
|
110
|
+
...k,
|
109
111
|
type: "date",
|
110
112
|
className: E(
|
111
113
|
"text-b3 rounded-pill date-field min-h-[50px] w-full border px-20 py-12 ps-[52px] font-normal outline-none",
|
112
114
|
{
|
113
|
-
"border-lightGrey focus:border-black active:border-black":
|
114
|
-
"pe-[52px]":
|
115
|
+
"border-lightGrey focus:border-black active:border-black": a === "default",
|
116
|
+
"pe-[52px]": a === "error" || a === "success",
|
115
117
|
"bg-pearl text-grey": r,
|
116
118
|
"bg-white text-black": !r,
|
117
|
-
"border-red": !r &&
|
118
|
-
"border-green": !r &&
|
119
|
+
"border-red": !r && a === "error",
|
120
|
+
"border-green": !r && a === "success"
|
119
121
|
}
|
120
122
|
),
|
121
123
|
id: i,
|
122
124
|
disabled: r,
|
123
125
|
required: v,
|
124
126
|
ref: y,
|
125
|
-
value:
|
126
|
-
min:
|
127
|
+
value: C,
|
128
|
+
min: R,
|
127
129
|
max: O,
|
128
|
-
onChange:
|
130
|
+
onChange: P
|
129
131
|
}
|
130
132
|
),
|
131
133
|
/* @__PURE__ */ x(
|
@@ -135,18 +137,18 @@ const M = (t) => t ? A(t, { representation: "date" }) : "", W = (t) => {
|
|
135
137
|
"pointer-events-none absolute inset-0 flex items-center justify-between px-20 py-12",
|
136
138
|
{
|
137
139
|
"text-grey": r,
|
138
|
-
"text-red": !r &&
|
139
|
-
"text-green": !r &&
|
140
|
+
"text-red": !r && a === "error",
|
141
|
+
"text-green": !r && a === "success"
|
140
142
|
}
|
141
143
|
),
|
142
144
|
children: [
|
143
|
-
/* @__PURE__ */ x("button", { className: "pointer-events-auto leading-none", onClick:
|
145
|
+
/* @__PURE__ */ x("button", { className: "pointer-events-auto leading-none", onClick: V, children: [
|
144
146
|
/* @__PURE__ */ m(I, { name: f, iconType: g, width: "24px" }),
|
145
147
|
/* @__PURE__ */ m("span", { className: "sr-only", children: c })
|
146
148
|
] }),
|
147
149
|
/* @__PURE__ */ x("span", { className: "ms-auto flex gap-x-8", children: [
|
148
|
-
|
149
|
-
|
150
|
+
a === "error" && /* @__PURE__ */ m(I, { name: "CrossDefault", width: "24px" }),
|
151
|
+
a === "success" && /* @__PURE__ */ m(I, { name: "CheckDefault", width: "24px" })
|
150
152
|
] })
|
151
153
|
]
|
152
154
|
}
|
@@ -156,6 +158,6 @@ const M = (t) => t ? A(t, { representation: "date" }) : "", W = (t) => {
|
|
156
158
|
);
|
157
159
|
};
|
158
160
|
export {
|
159
|
-
|
161
|
+
X as DateField
|
160
162
|
};
|
161
163
|
//# sourceMappingURL=DateField.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DateField.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../../../node_modules/date-fns/esm/toDate/index.js","../../../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../../../node_modules/date-fns/esm/formatISO/index.js","../../../lib/molecules/Forms/DateField.tsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}","import toDate from \"../toDate/index.js\";\nimport addLeadingZeros from \"../_lib/addLeadingZeros/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatISO\n * @category Common Helpers\n * @summary Format the date according to the ISO 8601 standard (https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003169814.htm).\n *\n * @description\n * Return the formatted date string in ISO 8601 format. Options may be passed to control the parts and notations of the date.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {'extended'|'basic'} [options.format='extended'] - if 'basic', hide delimiters between date and time values.\n * @param {'complete'|'date'|'time'} [options.representation='complete'] - format date, time with local time zone, or both.\n * @returns {String} the formatted date string (in local time zone)\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.format` must be 'extended' or 'basic'\n * @throws {RangeError} `options.representation` must be 'date', 'time' or 'complete'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52))\n * //=> '2019-09-18T19:00:52Z'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601, short format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' })\n * //=> '20190918T190052'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, date only:\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' })\n * //=> '2019-09-18'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, time only (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' })\n * //=> '19:00:52Z'\n */\nexport default function formatISO(date, options) {\n var _options$format, _options$representati;\n requiredArgs(1, arguments);\n var originalDate = toDate(date);\n if (isNaN(originalDate.getTime())) {\n throw new RangeError('Invalid time value');\n }\n var format = String((_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : 'extended');\n var representation = String((_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : 'complete');\n if (format !== 'extended' && format !== 'basic') {\n throw new RangeError(\"format must be 'extended' or 'basic'\");\n }\n if (representation !== 'date' && representation !== 'time' && representation !== 'complete') {\n throw new RangeError(\"representation must be 'date', 'time', or 'complete'\");\n }\n var result = '';\n var tzOffset = '';\n var dateDelimiter = format === 'extended' ? '-' : '';\n var timeDelimiter = format === 'extended' ? ':' : '';\n\n // Representation is either 'date' or 'complete'\n if (representation !== 'time') {\n var day = addLeadingZeros(originalDate.getDate(), 2);\n var month = addLeadingZeros(originalDate.getMonth() + 1, 2);\n var year = addLeadingZeros(originalDate.getFullYear(), 4);\n\n // yyyyMMdd or yyyy-MM-dd.\n result = \"\".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);\n }\n\n // Representation is either 'time' or 'complete'\n if (representation !== 'date') {\n // Add the timezone.\n var offset = originalDate.getTimezoneOffset();\n if (offset !== 0) {\n var absoluteOffset = Math.abs(offset);\n var hourOffset = addLeadingZeros(Math.floor(absoluteOffset / 60), 2);\n var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);\n // If less than 0, the sign is +, because it is ahead of time.\n var sign = offset < 0 ? '+' : '-';\n tzOffset = \"\".concat(sign).concat(hourOffset, \":\").concat(minuteOffset);\n } else {\n tzOffset = 'Z';\n }\n var hour = addLeadingZeros(originalDate.getHours(), 2);\n var minute = addLeadingZeros(originalDate.getMinutes(), 2);\n var second = addLeadingZeros(originalDate.getSeconds(), 2);\n\n // If there's also date, separate it with time with 'T'\n var separator = result === '' ? '' : 'T';\n\n // Creates a time string consisting of hour, minute, and second, separated by delimiters, if defined.\n var time = [hour, minute, second].join(timeDelimiter);\n\n // HHmmss or HH:mm:ss.\n result = \"\".concat(result).concat(separator).concat(time).concat(tzOffset);\n }\n return result;\n}","import classnames from 'classnames';\nimport { formatISO } from 'date-fns';\nimport { ChangeEvent, useId, useRef } from 'react';\nimport { Icon, IconicNames, IconicTypes } from '@/atoms/Icons';\n\nimport { useValue } from '@/hooks/useValue.js';\nimport { useInternalStatus } from '@/hooks/useInternalStatus.js';\nimport { FormControl, FormControlProps } from './FormControl.js';\n\ninterface DateFieldProps extends Omit<FormControlProps<Date | null>, 'max' | 'min'> {\n description?: string;\n /**\n * Open datepicker text\n */\n openDatepicker?: string;\n id?: string;\n icon?: IconicNames;\n iconType?: IconicTypes;\n errorMessage?: string;\n dataTestId?: string;\n /**\n * Minimum Date allowed\n */\n min?: Date | undefined;\n /**\n * Maximum Date allowed\n */\n max?: Date | undefined;\n}\n\nconst formatDate = (value: Date | number | undefined | null): string => {\n if (!value) {\n return '';\n }\n\n return formatISO(value, { representation: 'date' });\n};\n\nexport const DateField = (props: DateFieldProps) => {\n const internalId = useId();\n\n const {\n id = internalId,\n name = id,\n label,\n description,\n openDatepicker,\n validationStatus = 'default',\n icon = 'CalendarDefault',\n iconType,\n errorMessage,\n disabled = false,\n required = false,\n dataTestId = 'DateField',\n value: initialValue,\n min: initialMin,\n max: initialMax,\n onChange,\n ...rest\n } = props;\n\n // NO LOGIC IS IMPLEMENTED YET HERE\n // THIS IS A VISUAL COMPONENT ONLY\n const ref = useRef<HTMLInputElement>(null);\n const internalStatus = useInternalStatus({\n isDisabled: disabled,\n validationStatus,\n });\n\n const { setValue, value } = useValue<string, Date | number | undefined | null>({\n name,\n formatter: formatDate,\n initialValue,\n onChange: (name, value) => onChange?.(name, new Date(value)),\n });\n\n const min = formatDate(initialMin);\n const max = formatDate(initialMax);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n const handleClickPicker = () => {\n ref.current?.showPicker();\n };\n\n return (\n <FormControl\n id={id}\n label={label}\n description={description}\n dataName=\"DateField\"\n dataTestId={dataTestId}\n disabled={disabled}\n required={required}\n validationStatus={validationStatus}\n errorMessage={errorMessage}\n >\n <div className=\"relative\">\n <input\n {...rest}\n type=\"date\"\n className={classnames(\n 'text-b3 rounded-pill date-field min-h-[50px] w-full border px-20 py-12 ps-[52px] font-normal outline-none',\n {\n 'border-lightGrey focus:border-black active:border-black':\n internalStatus === 'default',\n 'pe-[52px]': internalStatus === 'error' || internalStatus === 'success',\n 'bg-pearl text-grey': disabled,\n 'bg-white text-black': !disabled,\n 'border-red': !disabled && internalStatus === 'error',\n 'border-green': !disabled && internalStatus === 'success',\n },\n )}\n id={id}\n disabled={disabled}\n required={required}\n ref={ref}\n value={value}\n min={min}\n max={max}\n onChange={handleChange}\n />\n <div\n className={classnames(\n 'pointer-events-none absolute inset-0 flex items-center justify-between px-20 py-12',\n {\n 'text-grey': disabled,\n 'text-red': !disabled && internalStatus === 'error',\n 'text-green': !disabled && internalStatus === 'success',\n },\n )}\n >\n <button className=\"pointer-events-auto leading-none\" onClick={handleClickPicker}>\n <Icon name={icon} iconType={iconType} width=\"24px\" />\n <span className=\"sr-only\">\n {openDatepicker}\n {/* REPLACE THAT WITH SOMETHING LIKE \"OPEN DATEPICKER\" SOONER RATHER THAN LATER PLZ */}\n </span>\n </button>\n <span className=\"ms-auto flex gap-x-8\">\n {internalStatus === 'error' && <Icon name=\"CrossDefault\" width=\"24px\" />}\n {internalStatus === 'success' && <Icon name=\"CheckDefault\" width=\"24px\" />}\n </span>\n </div>\n </div>\n </FormControl>\n );\n};\n"],"names":["_typeof","o","requiredArgs","required","args","toDate","argument","argStr","addLeadingZeros","number","targetLength","sign","output","formatISO","date","options","_options$format","_options$representati","originalDate","format","representation","result","tzOffset","dateDelimiter","timeDelimiter","day","month","year","offset","absoluteOffset","hourOffset","minuteOffset","hour","minute","second","separator","time","formatDate","value","DateField","props","internalId","useId","id","name","label","description","openDatepicker","validationStatus","icon","iconType","errorMessage","disabled","dataTestId","initialValue","initialMin","initialMax","onChange","rest","ref","useRef","internalStatus","useInternalStatus","setValue","useValue","min","max","handleChange","event","handleClickPicker","_a","jsx","FormControl","jsxs","classnames","Icon"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
1
|
+
{"version":3,"file":"DateField.js","sources":["../../../node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/date-fns/esm/_lib/requiredArgs/index.js","../../../node_modules/date-fns/esm/toDate/index.js","../../../node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../../../node_modules/date-fns/esm/formatISO/index.js","../../../lib/molecules/Forms/DateField.tsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}","import toDate from \"../toDate/index.js\";\nimport addLeadingZeros from \"../_lib/addLeadingZeros/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name formatISO\n * @category Common Helpers\n * @summary Format the date according to the ISO 8601 standard (https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a003169814.htm).\n *\n * @description\n * Return the formatted date string in ISO 8601 format. Options may be passed to control the parts and notations of the date.\n *\n * @param {Date|Number} date - the original date\n * @param {Object} [options] - an object with options.\n * @param {'extended'|'basic'} [options.format='extended'] - if 'basic', hide delimiters between date and time values.\n * @param {'complete'|'date'|'time'} [options.representation='complete'] - format date, time with local time zone, or both.\n * @returns {String} the formatted date string (in local time zone)\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.format` must be 'extended' or 'basic'\n * @throws {RangeError} `options.representation` must be 'date', 'time' or 'complete'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52))\n * //=> '2019-09-18T19:00:52Z'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601, short format (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { format: 'basic' })\n * //=> '20190918T190052'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, date only:\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'date' })\n * //=> '2019-09-18'\n *\n * @example\n * // Represent 18 September 2019 in ISO 8601 format, time only (local time zone is UTC):\n * const result = formatISO(new Date(2019, 8, 18, 19, 0, 52), { representation: 'time' })\n * //=> '19:00:52Z'\n */\nexport default function formatISO(date, options) {\n var _options$format, _options$representati;\n requiredArgs(1, arguments);\n var originalDate = toDate(date);\n if (isNaN(originalDate.getTime())) {\n throw new RangeError('Invalid time value');\n }\n var format = String((_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : 'extended');\n var representation = String((_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : 'complete');\n if (format !== 'extended' && format !== 'basic') {\n throw new RangeError(\"format must be 'extended' or 'basic'\");\n }\n if (representation !== 'date' && representation !== 'time' && representation !== 'complete') {\n throw new RangeError(\"representation must be 'date', 'time', or 'complete'\");\n }\n var result = '';\n var tzOffset = '';\n var dateDelimiter = format === 'extended' ? '-' : '';\n var timeDelimiter = format === 'extended' ? ':' : '';\n\n // Representation is either 'date' or 'complete'\n if (representation !== 'time') {\n var day = addLeadingZeros(originalDate.getDate(), 2);\n var month = addLeadingZeros(originalDate.getMonth() + 1, 2);\n var year = addLeadingZeros(originalDate.getFullYear(), 4);\n\n // yyyyMMdd or yyyy-MM-dd.\n result = \"\".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);\n }\n\n // Representation is either 'time' or 'complete'\n if (representation !== 'date') {\n // Add the timezone.\n var offset = originalDate.getTimezoneOffset();\n if (offset !== 0) {\n var absoluteOffset = Math.abs(offset);\n var hourOffset = addLeadingZeros(Math.floor(absoluteOffset / 60), 2);\n var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);\n // If less than 0, the sign is +, because it is ahead of time.\n var sign = offset < 0 ? '+' : '-';\n tzOffset = \"\".concat(sign).concat(hourOffset, \":\").concat(minuteOffset);\n } else {\n tzOffset = 'Z';\n }\n var hour = addLeadingZeros(originalDate.getHours(), 2);\n var minute = addLeadingZeros(originalDate.getMinutes(), 2);\n var second = addLeadingZeros(originalDate.getSeconds(), 2);\n\n // If there's also date, separate it with time with 'T'\n var separator = result === '' ? '' : 'T';\n\n // Creates a time string consisting of hour, minute, and second, separated by delimiters, if defined.\n var time = [hour, minute, second].join(timeDelimiter);\n\n // HHmmss or HH:mm:ss.\n result = \"\".concat(result).concat(separator).concat(time).concat(tzOffset);\n }\n return result;\n}","import classnames from 'classnames';\nimport { formatISO } from 'date-fns';\nimport { ChangeEvent, useId, useRef } from 'react';\nimport { Icon, IconicNames, IconicTypes } from '@/atoms/Icons';\n\nimport { useValue } from '@/hooks/useValue.js';\nimport { useInternalStatus } from '@/hooks/useInternalStatus.js';\nimport { FormControl, FormControlProps } from './FormControl.js';\n\ninterface DateFieldProps extends Omit<FormControlProps<Date | null>, 'max' | 'min'> {\n description?: string;\n /**\n * Open datepicker text\n */\n openDatepicker?: string;\n id?: string;\n icon?: IconicNames;\n iconType?: IconicTypes;\n errorMessage?: string;\n dataTestId?: string;\n /**\n * Minimum Date allowed\n */\n min?: Date | undefined;\n /**\n * Maximum Date allowed\n */\n max?: Date | undefined;\n}\n\nconst formatDate = (value: Date | number | undefined | null): string => {\n if (!value) {\n return '';\n }\n\n return formatISO(value, { representation: 'date' });\n};\n\nexport const DateField = (props: DateFieldProps) => {\n const internalId = useId();\n\n const {\n id = internalId,\n name = id,\n label,\n description,\n openDatepicker,\n validationStatus = 'default',\n icon = 'CalendarDefault',\n iconType,\n errorMessage,\n disabled = false,\n required = false,\n hideRequiredStar,\n dataTestId = 'DateField',\n value: initialValue,\n min: initialMin,\n max: initialMax,\n onChange,\n ...rest\n } = props;\n\n // NO LOGIC IS IMPLEMENTED YET HERE\n // THIS IS A VISUAL COMPONENT ONLY\n const ref = useRef<HTMLInputElement>(null);\n const internalStatus = useInternalStatus({\n isDisabled: disabled,\n validationStatus,\n });\n\n const { setValue, value } = useValue<string, Date | number | undefined | null>({\n name,\n formatter: formatDate,\n initialValue,\n onChange: (name, value) => onChange?.(name, new Date(value)),\n });\n\n const min = formatDate(initialMin);\n const max = formatDate(initialMax);\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n const handleClickPicker = () => {\n ref.current?.showPicker();\n };\n\n return (\n <FormControl\n id={id}\n label={label}\n description={description}\n dataName=\"DateField\"\n dataTestId={dataTestId}\n disabled={disabled}\n required={required}\n hideRequiredStar={hideRequiredStar}\n validationStatus={validationStatus}\n errorMessage={errorMessage}\n >\n <div className=\"relative\">\n <input\n {...rest}\n type=\"date\"\n className={classnames(\n 'text-b3 rounded-pill date-field min-h-[50px] w-full border px-20 py-12 ps-[52px] font-normal outline-none',\n {\n 'border-lightGrey focus:border-black active:border-black':\n internalStatus === 'default',\n 'pe-[52px]': internalStatus === 'error' || internalStatus === 'success',\n 'bg-pearl text-grey': disabled,\n 'bg-white text-black': !disabled,\n 'border-red': !disabled && internalStatus === 'error',\n 'border-green': !disabled && internalStatus === 'success',\n },\n )}\n id={id}\n disabled={disabled}\n required={required}\n ref={ref}\n value={value}\n min={min}\n max={max}\n onChange={handleChange}\n />\n <div\n className={classnames(\n 'pointer-events-none absolute inset-0 flex items-center justify-between px-20 py-12',\n {\n 'text-grey': disabled,\n 'text-red': !disabled && internalStatus === 'error',\n 'text-green': !disabled && internalStatus === 'success',\n },\n )}\n >\n <button className=\"pointer-events-auto leading-none\" onClick={handleClickPicker}>\n <Icon name={icon} iconType={iconType} width=\"24px\" />\n <span className=\"sr-only\">\n {openDatepicker}\n {/* REPLACE THAT WITH SOMETHING LIKE \"OPEN DATEPICKER\" SOONER RATHER THAN LATER PLZ */}\n </span>\n </button>\n <span className=\"ms-auto flex gap-x-8\">\n {internalStatus === 'error' && <Icon name=\"CrossDefault\" width=\"24px\" />}\n {internalStatus === 'success' && <Icon name=\"CheckDefault\" width=\"24px\" />}\n </span>\n </div>\n </div>\n </FormControl>\n );\n};\n"],"names":["_typeof","o","requiredArgs","required","args","toDate","argument","argStr","addLeadingZeros","number","targetLength","sign","output","formatISO","date","options","_options$format","_options$representati","originalDate","format","representation","result","tzOffset","dateDelimiter","timeDelimiter","day","month","year","offset","absoluteOffset","hourOffset","minuteOffset","hour","minute","second","separator","time","formatDate","value","DateField","props","internalId","useId","id","name","label","description","openDatepicker","validationStatus","icon","iconType","errorMessage","disabled","hideRequiredStar","dataTestId","initialValue","initialMin","initialMax","onChange","rest","ref","useRef","internalStatus","useInternalStatus","setValue","useValue","min","max","handleChange","event","handleClickPicker","_a","jsx","FormControl","jsxs","classnames","Icon"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
|
@@ -10,4 +10,4 @@ export type FormControlProps<Value = unknown, Attributes extends HTMLAttributes<
|
|
10
10
|
dataName?: string;
|
11
11
|
errorMessage?: string;
|
12
12
|
} & Omit<Attributes & Partial<FormLabelProps>, 'onChange' | 'value'>;
|
13
|
-
export declare const FormControl: <Value = string>({ id, label, description, disabled, required, className, validationStatus, children, errorMessage, dataTestId, dataName, layout, }: FormControlProps<Value, InputHTMLAttributes<HTMLInputElement>>) => import("react/jsx-runtime").JSX.Element;
|
13
|
+
export declare const FormControl: <Value = string>({ id, label, description, disabled, required, className, validationStatus, children, errorMessage, dataTestId, dataName, hideRequiredStar, layout, }: FormControlProps<Value, InputHTMLAttributes<HTMLInputElement>>) => import("react/jsx-runtime").JSX.Element;
|
@@ -1,45 +1,56 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { useInternalStatus as
|
3
|
-
import { FormLabel as
|
4
|
-
import { Icon as
|
1
|
+
import { jsxs as e, jsx as n } from "react/jsx-runtime";
|
2
|
+
import { useInternalStatus as h } from "../../hooks/useInternalStatus.js";
|
3
|
+
import { FormLabel as g } from "./FormLabel.js";
|
4
|
+
import { Icon as b } from "../../atoms/Icons/Icon.js";
|
5
5
|
import "../../atoms/Icons/contexts/IconsContext.js";
|
6
|
-
import { c as
|
7
|
-
const
|
6
|
+
import { c as j } from "../../index-Cu0xwYjD.js";
|
7
|
+
const w = ({
|
8
8
|
id: t,
|
9
|
-
label:
|
10
|
-
description:
|
9
|
+
label: o,
|
10
|
+
description: l,
|
11
11
|
disabled: m,
|
12
|
-
required:
|
12
|
+
required: r,
|
13
13
|
className: i,
|
14
|
-
validationStatus:
|
14
|
+
validationStatus: c = "default",
|
15
15
|
children: p,
|
16
|
-
errorMessage:
|
17
|
-
dataTestId:
|
18
|
-
dataName:
|
19
|
-
|
16
|
+
errorMessage: s,
|
17
|
+
dataTestId: x,
|
18
|
+
dataName: f,
|
19
|
+
hideRequiredStar: a,
|
20
|
+
layout: d
|
20
21
|
}) => {
|
21
|
-
const
|
22
|
+
const u = h({
|
22
23
|
isDisabled: !!m,
|
23
|
-
validationStatus:
|
24
|
-
}) === "error" &&
|
25
|
-
return /* @__PURE__ */
|
24
|
+
validationStatus: c
|
25
|
+
}) === "error" && s;
|
26
|
+
return console.log(a, r), /* @__PURE__ */ e(
|
26
27
|
"div",
|
27
28
|
{
|
28
|
-
className:
|
29
|
-
"data-name":
|
30
|
-
"data-testid":
|
29
|
+
className: j("flex flex-col gap-4", i),
|
30
|
+
"data-name": f,
|
31
|
+
"data-testid": x,
|
31
32
|
children: [
|
32
|
-
|
33
|
+
o && t && /* @__PURE__ */ n(
|
34
|
+
g,
|
35
|
+
{
|
36
|
+
description: l,
|
37
|
+
id: t,
|
38
|
+
layout: d,
|
39
|
+
required: r,
|
40
|
+
hideRequiredStar: a,
|
41
|
+
children: o
|
42
|
+
}
|
43
|
+
),
|
33
44
|
p,
|
34
|
-
|
35
|
-
/* @__PURE__ */
|
36
|
-
|
45
|
+
u && /* @__PURE__ */ e("span", { className: "text-red text-b4 flex items-start gap-x-4 px-20", children: [
|
46
|
+
/* @__PURE__ */ n(b, { name: "Error", width: "20px" }),
|
47
|
+
s
|
37
48
|
] })
|
38
49
|
]
|
39
50
|
}
|
40
51
|
);
|
41
52
|
};
|
42
53
|
export {
|
43
|
-
|
54
|
+
w as FormControl
|
44
55
|
};
|
45
56
|
//# sourceMappingURL=FormControl.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FormControl.js","sources":["../../../lib/molecules/Forms/FormControl.tsx"],"sourcesContent":["import { HTMLAttributes, InputHTMLAttributes, ReactNode } from 'react';\nimport { useInternalStatus, ValidationStatus } from '@/hooks/useInternalStatus';\nimport { FormLabel, FormLabelProps } from './FormLabel';\nimport { Icon } from '@/atoms/Icons';\nimport classnames from 'classnames';\n\nexport type FormControlProps<\n Value = unknown,\n Attributes extends HTMLAttributes<HTMLElement> = InputHTMLAttributes<HTMLInputElement>,\n> = {\n value?: Value;\n label?: ReactNode;\n validationStatus?: ValidationStatus;\n onChange?: (name: string, value: Value) => void;\n dataTestId?: string;\n dataName?: string;\n errorMessage?: string;\n} & Omit<Attributes & Partial<FormLabelProps>, 'onChange' | 'value'>;\n\nexport const FormControl = <Value = string,>({\n id,\n label,\n description,\n disabled,\n required,\n className,\n validationStatus = 'default',\n children,\n errorMessage,\n dataTestId,\n dataName,\n layout,\n}: FormControlProps<Value>) => {\n const internalStatus = useInternalStatus({\n isDisabled: !!disabled,\n validationStatus,\n });\n\n const shouldDisplayErrorMessage = internalStatus === 'error' && errorMessage;\n
|
1
|
+
{"version":3,"file":"FormControl.js","sources":["../../../lib/molecules/Forms/FormControl.tsx"],"sourcesContent":["import { HTMLAttributes, InputHTMLAttributes, ReactNode } from 'react';\nimport { useInternalStatus, ValidationStatus } from '@/hooks/useInternalStatus';\nimport { FormLabel, FormLabelProps } from './FormLabel';\nimport { Icon } from '@/atoms/Icons';\nimport classnames from 'classnames';\n\nexport type FormControlProps<\n Value = unknown,\n Attributes extends HTMLAttributes<HTMLElement> = InputHTMLAttributes<HTMLInputElement>,\n> = {\n value?: Value;\n label?: ReactNode;\n validationStatus?: ValidationStatus;\n onChange?: (name: string, value: Value) => void;\n dataTestId?: string;\n dataName?: string;\n errorMessage?: string;\n} & Omit<Attributes & Partial<FormLabelProps>, 'onChange' | 'value'>;\n\nexport const FormControl = <Value = string,>({\n id,\n label,\n description,\n disabled,\n required,\n className,\n validationStatus = 'default',\n children,\n errorMessage,\n dataTestId,\n dataName,\n hideRequiredStar,\n layout,\n}: FormControlProps<Value>) => {\n const internalStatus = useInternalStatus({\n isDisabled: !!disabled,\n validationStatus,\n });\n\n const shouldDisplayErrorMessage = internalStatus === 'error' && errorMessage;\n console.log(hideRequiredStar, required);\n return (\n <div\n className={classnames('flex flex-col gap-4', className)}\n data-name={dataName}\n data-testid={dataTestId}\n >\n {label && id && (\n <FormLabel\n description={description}\n id={id}\n layout={layout}\n required={required}\n hideRequiredStar={hideRequiredStar}\n >\n {label}\n </FormLabel>\n )}\n\n {children}\n\n {shouldDisplayErrorMessage && (\n <span className=\"text-red text-b4 flex items-start gap-x-4 px-20\">\n <Icon name=\"Error\" width=\"20px\" />\n {errorMessage}\n </span>\n )}\n </div>\n );\n};\n"],"names":["FormControl","id","label","description","disabled","required","className","validationStatus","children","errorMessage","dataTestId","dataName","hideRequiredStar","layout","shouldDisplayErrorMessage","useInternalStatus","jsxs","classnames","jsx","FormLabel","Icon"],"mappings":";;;;;;AAmBO,MAAMA,IAAc,CAAkB;AAAA,EAC3C,IAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,kBAAAC,IAAmB;AAAA,EACnB,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,QAAAC;AACF,MAA+B;AAMvB,QAAAC,IALiBC,EAAkB;AAAA,IACvC,YAAY,CAAC,CAACX;AAAA,IACd,kBAAAG;AAAA,EAAA,CACD,MAEoD,WAAWE;AACxD,iBAAA,IAAIG,GAAkBP,CAAQ,GAEpC,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,uBAAuBX,CAAS;AAAA,MACtD,aAAWK;AAAA,MACX,eAAaD;AAAA,MAEZ,UAAA;AAAA,QAAAR,KAASD,KACR,gBAAAiB;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,aAAAhB;AAAA,YACA,IAAAF;AAAA,YACA,QAAAY;AAAA,YACA,UAAAR;AAAA,YACA,kBAAAO;AAAA,YAEC,UAAAV;AAAA,UAAA;AAAA,QACH;AAAA,QAGDM;AAAA,QAEAM,KACC,gBAAAE,EAAC,QAAK,EAAA,WAAU,mDACd,UAAA;AAAA,UAAA,gBAAAE,EAACE,GAAK,EAAA,MAAK,SAAQ,OAAM,QAAO;AAAA,UAC/BX;AAAA,QAAA,GACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
@@ -3,5 +3,6 @@ export interface FormLabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
|
|
3
3
|
description?: string;
|
4
4
|
layout?: 'horizontal' | 'vertical';
|
5
5
|
required?: boolean;
|
6
|
+
hideRequiredStar?: boolean;
|
6
7
|
}
|
7
|
-
export declare const FormLabel: ({ id, description, layout, required, className, children, ...rest }: FormLabelProps) => import("react/jsx-runtime").JSX.Element;
|
8
|
+
export declare const FormLabel: ({ id, description, layout, required, className, children, hideRequiredStar, ...rest }: FormLabelProps) => import("react/jsx-runtime").JSX.Element;
|
@@ -1,35 +1,36 @@
|
|
1
|
-
import { jsxs as
|
2
|
-
import { c } from "../../index-Cu0xwYjD.js";
|
3
|
-
const
|
4
|
-
id:
|
5
|
-
description:
|
6
|
-
layout:
|
7
|
-
required:
|
8
|
-
className:
|
1
|
+
import { jsxs as c, jsx as l } from "react/jsx-runtime";
|
2
|
+
import { c as x } from "../../index-Cu0xwYjD.js";
|
3
|
+
const f = ({
|
4
|
+
id: s,
|
5
|
+
description: t,
|
6
|
+
layout: e = "horizontal",
|
7
|
+
required: a,
|
8
|
+
className: r,
|
9
9
|
children: m,
|
10
|
-
|
11
|
-
|
10
|
+
hideRequiredStar: n = !a,
|
11
|
+
...o
|
12
|
+
}) => /* @__PURE__ */ c(
|
12
13
|
"label",
|
13
14
|
{
|
14
|
-
...
|
15
|
-
htmlFor:
|
16
|
-
className:
|
15
|
+
...o,
|
16
|
+
htmlFor: s,
|
17
|
+
className: x(
|
17
18
|
"text-b3 font-semibold text-black flex",
|
18
19
|
{
|
19
|
-
"flex-wrap items-center ps-20":
|
20
|
-
"flex-col items-start":
|
20
|
+
"flex-wrap items-center ps-20": e === "horizontal",
|
21
|
+
"flex-col items-start": e === "vertical"
|
21
22
|
},
|
22
|
-
|
23
|
+
r
|
23
24
|
),
|
24
25
|
"data-name": "InputLabel",
|
25
26
|
children: [
|
26
27
|
m,
|
27
|
-
|
28
|
-
|
28
|
+
a && !n && /* @__PURE__ */ l("span", { children: "*" }),
|
29
|
+
t && /* @__PURE__ */ l("span", { className: "ms-12 text-b4 text-grey font-normal", children: t })
|
29
30
|
]
|
30
31
|
}
|
31
32
|
);
|
32
33
|
export {
|
33
|
-
|
34
|
+
f as FormLabel
|
34
35
|
};
|
35
36
|
//# sourceMappingURL=FormLabel.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FormLabel.js","sources":["../../../lib/molecules/Forms/FormLabel.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport { LabelHTMLAttributes } from 'react';\n\nexport interface FormLabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n description?: string;\n layout?: 'horizontal' | 'vertical';\n required?: boolean;\n}\n\nexport const FormLabel = ({\n id,\n description,\n layout = 'horizontal',\n required,\n className,\n children,\n ...rest\n}: FormLabelProps) => {\n return (\n <label\n {...rest}\n htmlFor={id}\n className={classnames(\n 'text-b3 font-semibold text-black flex',\n {\n 'flex-wrap items-center ps-20': layout === 'horizontal',\n 'flex-col items-start': layout === 'vertical',\n },\n className,\n )}\n data-name=\"InputLabel\"\n >\n {children}\n {required && <span>*</span>}\n {description && <span className=\"ms-12 text-b4 text-grey font-normal\">{description}</span>}\n </label>\n );\n};\n"],"names":["FormLabel","id","description","layout","required","className","children","rest","jsxs","classnames","jsx"],"mappings":";;
|
1
|
+
{"version":3,"file":"FormLabel.js","sources":["../../../lib/molecules/Forms/FormLabel.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport { LabelHTMLAttributes } from 'react';\n\nexport interface FormLabelProps extends LabelHTMLAttributes<HTMLLabelElement> {\n description?: string;\n layout?: 'horizontal' | 'vertical';\n required?: boolean;\n hideRequiredStar?: boolean;\n}\n\nexport const FormLabel = ({\n id,\n description,\n layout = 'horizontal',\n required,\n className,\n children,\n hideRequiredStar = !required,\n ...rest\n}: FormLabelProps) => {\n return (\n <label\n {...rest}\n htmlFor={id}\n className={classnames(\n 'text-b3 font-semibold text-black flex',\n {\n 'flex-wrap items-center ps-20': layout === 'horizontal',\n 'flex-col items-start': layout === 'vertical',\n },\n className,\n )}\n data-name=\"InputLabel\"\n >\n {children}\n {required && !hideRequiredStar && <span>*</span>}\n {description && <span className=\"ms-12 text-b4 text-grey font-normal\">{description}</span>}\n </label>\n );\n};\n"],"names":["FormLabel","id","description","layout","required","className","children","hideRequiredStar","rest","jsxs","classnames","jsx"],"mappings":";;AAUO,MAAMA,IAAY,CAAC;AAAA,EACxB,IAAAC;AAAA,EACA,aAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,kBAAAC,IAAmB,CAACH;AAAA,EACpB,GAAGI;AACL,MAEI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACE,GAAGD;AAAA,IACJ,SAASP;AAAA,IACT,WAAWS;AAAA,MACT;AAAA,MACA;AAAA,QACE,gCAAgCP,MAAW;AAAA,QAC3C,wBAAwBA,MAAW;AAAA,MACrC;AAAA,MACAE;AAAA,IACF;AAAA,IACA,aAAU;AAAA,IAET,UAAA;AAAA,MAAAC;AAAA,MACAF,KAAY,CAACG,KAAoB,gBAAAI,EAAC,UAAK,UAAC,KAAA;AAAA,MACxCT,KAAe,gBAAAS,EAAC,QAAK,EAAA,WAAU,uCAAuC,UAAYT,GAAA;AAAA,IAAA;AAAA,EAAA;AAAA;"}
|
@@ -313,6 +313,7 @@ export declare function useNumberField(props: NumberFieldProps): {
|
|
313
313
|
htmlFor?: string | undefined;
|
314
314
|
layout?: "horizontal" | "vertical" | undefined;
|
315
315
|
description?: string | undefined;
|
316
|
+
hideRequiredStar?: boolean | undefined;
|
316
317
|
};
|
317
318
|
export declare const NumberField: (props: NumberFieldProps) => import("react/jsx-runtime").JSX.Element;
|
318
319
|
export {};
|