@rws-aoa/react-library 9.0.0 → 9.2.0

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.
Files changed (71) hide show
  1. package/dist/chunks/{FieldError.C1l5S0jl.js → FieldError.B4HiPjPm.js} +75 -79
  2. package/dist/chunks/FieldError.B4HiPjPm.js.map +1 -0
  3. package/dist/chunks/createTheme.edEUUU41.js +1761 -0
  4. package/dist/chunks/createTheme.edEUUU41.js.map +1 -0
  5. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.d.ts.map +1 -1
  6. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js +74 -8
  7. package/dist/components-domain/ivon-project-planning/IvonProjectPlanning.js.map +1 -1
  8. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts +33 -0
  9. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.d.ts.map +1 -0
  10. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js +120 -0
  11. package/dist/components-domain/ivon-project-planning/_IvonDataGrid/IvonDataGrid.js.map +1 -0
  12. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts +8 -0
  13. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.d.ts.map +1 -0
  14. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js +48 -0
  15. package/dist/components-domain/ivon-project-planning/_IvonHectometerView/IvonHectometerView.js.map +1 -0
  16. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.d.ts +9 -0
  17. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.d.ts.map +1 -0
  18. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.js +231 -0
  19. package/dist/components-domain/ivon-project-planning/_IvonPopup/IvonDeklaagPopup.js.map +1 -0
  20. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts +11 -0
  21. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.d.ts.map +1 -0
  22. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js +70 -0
  23. package/dist/components-domain/ivon-project-planning/_IvonProjectPlanningView/IvonProjectPlanningView.js.map +1 -0
  24. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts +9 -0
  25. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.d.ts.map +1 -0
  26. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js +59 -0
  27. package/dist/components-domain/ivon-project-planning/_IvonSchematicView/IvonSchematicView.js.map +1 -0
  28. package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts +3 -0
  29. package/dist/components-domain/ivon-project-planning/_backend/backend.d.ts.map +1 -0
  30. package/dist/components-domain/ivon-project-planning/_backend/backend.js +7 -0
  31. package/dist/components-domain/ivon-project-planning/_backend/backend.js.map +1 -0
  32. package/dist/components-domain/ivon-project-planning/_dummy-data/ivon3-test-data.json.d.ts +116 -0
  33. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts +15 -0
  34. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.d.ts.map +1 -0
  35. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js +39 -0
  36. package/dist/components-domain/ivon-project-planning/_helpers/IvonDataBridge.js.map +1 -0
  37. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts +7 -0
  38. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.d.ts.map +1 -0
  39. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js +18 -0
  40. package/dist/components-domain/ivon-project-planning/_helpers/IvonUtility.js.map +1 -0
  41. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts +40 -0
  42. package/dist/components-domain/ivon-project-planning/_types/ivon-types.d.ts.map +1 -0
  43. package/dist/components-domain/ivon-project-planning/_types/ivon-types.js +2 -0
  44. package/dist/components-domain/ivon-project-planning/_types/ivon-types.js.map +1 -0
  45. package/dist/components-generic/atoms/table/Table.d.ts +5 -1
  46. package/dist/components-generic/atoms/table/Table.d.ts.map +1 -1
  47. package/dist/components-generic/atoms/table/Table.js +49 -31
  48. package/dist/components-generic/atoms/table/Table.js.map +1 -1
  49. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js +853 -2594
  50. package/dist/components-generic/atoms/table/_QuickSearchToolbar.js.map +1 -1
  51. package/dist/components-generic/molecules/field-error/FieldError.js +1 -1
  52. package/dist/components-generic/molecules/form/Form.d.ts +25 -0
  53. package/dist/components-generic/molecules/form/Form.d.ts.map +1 -0
  54. package/dist/components-generic/molecules/form/Form.js +21 -0
  55. package/dist/components-generic/molecules/form/Form.js.map +1 -0
  56. package/dist/components-generic/molecules/form-error/FormError.js +1 -1
  57. package/dist/components-generic/molecules/form-modal/FormModal.d.ts.map +1 -1
  58. package/dist/components-generic/molecules/form-modal/FormModal.js +3 -2
  59. package/dist/components-generic/molecules/form-modal/FormModal.js.map +1 -1
  60. package/dist/components-generic/molecules/no-label-number-field/NoLabelNumberField.js +1 -1
  61. package/dist/contexts/TanstackFormContext.js +1 -1
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +33 -31
  65. package/dist/index.js.map +1 -1
  66. package/package.json +5 -1
  67. package/dist/chunks/FieldError.C1l5S0jl.js.map +0 -1
  68. package/dist/components-generic/_pages/project-page/ProjectPage.d.ts +0 -2
  69. package/dist/components-generic/_pages/project-page/ProjectPage.d.ts.map +0 -1
  70. package/dist/components-generic/_pages/project-page/ProjectPage.js +0 -34962
  71. package/dist/components-generic/_pages/project-page/ProjectPage.js.map +0 -1
@@ -1,25 +1,26 @@
1
- import { jsx as m, jsxs as R } from "react/jsx-runtime";
2
- import { c as I } from "./compiler-runtime.BNHg76kC.js";
3
- import { createFormHookContexts as ee, createFormHook as te } from "@tanstack/react-form";
4
- import { AoaNotification as j } from "../components-generic/atoms/notification/Notification.js";
5
- import { DialogTitle as oe, DialogContent as re, Dialog as ae, DialogActions as se, TextField as ie, inputBaseClasses as J } from "@mui/material";
6
- import { l as $ } from "./lodash.CdkV4gpV.js";
7
- import { AoaButton as z } from "../components-generic/atoms/button/Button.js";
1
+ import { jsx as m, jsxs as W } from "react/jsx-runtime";
2
+ import { c as R } from "./compiler-runtime.BNHg76kC.js";
3
+ import { createFormHookContexts as V, createFormHook as ee } from "@tanstack/react-form";
4
+ import { AoaNotification as T } from "../components-generic/atoms/notification/Notification.js";
5
+ import { DialogTitle as te, DialogContent as oe, Dialog as re, DialogActions as ae, TextField as se, inputBaseClasses as L } from "@mui/material";
6
+ import { l as O } from "./lodash.CdkV4gpV.js";
7
+ import { AoaButton as H } from "../components-generic/atoms/button/Button.js";
8
+ import { AoaForm as ie } from "../components-generic/molecules/form/Form.js";
8
9
  import { AoaModalCloseButton as ne } from "../components-generic/molecules/modal-close-button/ModalCloseButton.js";
9
10
  import { AoaTooltip as le } from "../components-generic/atoms/tooltip/Tooltip.js";
10
11
  function me(a) {
11
- const e = I.c(5), {
12
+ const e = R.c(5), {
12
13
  "data-qa": n
13
- } = a, r = V();
14
+ } = a, r = Y();
14
15
  let i;
15
16
  e[0] !== n ? (i = (s) => {
16
17
  if (s.length) {
17
18
  const o = s.at(0);
18
19
  if (typeof o == "string")
19
- return /* @__PURE__ */ m(j, { "data-qa": n ?? "form-error", message: o, severity: "error" });
20
+ return /* @__PURE__ */ m(T, { "data-qa": n ?? "form-error", message: o, severity: "error" });
20
21
  if (o && typeof o == "object") {
21
22
  const l = ["error", "info", "success", "warning"].includes(o.level) ? o.level : "error";
22
- return /* @__PURE__ */ m(j, { "data-qa": n ?? "form-error", message: o.message, severity: l });
23
+ return /* @__PURE__ */ m(T, { "data-qa": n ?? "form-error", message: o.message, severity: l });
23
24
  }
24
25
  }
25
26
  return null;
@@ -31,7 +32,7 @@ function ce(a) {
31
32
  return a.errors;
32
33
  }
33
34
  function de(a) {
34
- const e = I.c(56), {
35
+ const e = R.c(54), {
35
36
  formModalQas: n,
36
37
  formLabels: r,
37
38
  formName: i,
@@ -41,8 +42,8 @@ function de(a) {
41
42
  AoaSubmitButtonProps: l,
42
43
  modalQas: c,
43
44
  open: u,
44
- topic: P,
45
- dialogContent: w,
45
+ topic: N,
46
+ dialogContent: $,
46
47
  closeAction: p
47
48
  } = a;
48
49
  let b;
@@ -52,79 +53,74 @@ function de(a) {
52
53
  disableWithFormState: g,
53
54
  ...f
54
55
  } = b, e[2] = b, e[3] = f, e[4] = g) : (f = e[3], g = e[4]);
55
- const d = V();
56
- let D;
57
- e[5] !== f || e[6] !== g || e[7] !== d.Subscribe || e[8] !== r.submit || e[9] !== n?.submitButton ? (D = g ? /* @__PURE__ */ m(d.Subscribe, { selector: ue, children: (T) => {
58
- const [L, G] = T;
59
- return /* @__PURE__ */ m(z, { ...f, "aria-disabled": L || !G, buttonType: "submit", "data-qa": n?.submitButton ?? "submit-form", disabled: L || !G, type: "primary", children: r.submit });
60
- } }) : /* @__PURE__ */ m(z, { ...f, buttonType: "submit", "data-qa": n?.submitButton ?? "submit-form", type: "primary", children: r.submit }), e[5] = f, e[6] = g, e[7] = d.Subscribe, e[8] = r.submit, e[9] = n?.submitButton, e[10] = D) : D = e[10];
61
- const E = D, k = c?.modal ?? "modal", Q = !!u;
56
+ const d = Y();
57
+ let P;
58
+ e[5] !== f || e[6] !== g || e[7] !== d.Subscribe || e[8] !== r.submit || e[9] !== n?.submitButton ? (P = g ? /* @__PURE__ */ m(d.Subscribe, { selector: ue, children: (Z) => {
59
+ const [z, I] = Z;
60
+ return /* @__PURE__ */ m(H, { ...f, "aria-disabled": z || !I, buttonType: "submit", "data-qa": n?.submitButton ?? "submit-form", disabled: z || !I, type: "primary", children: r.submit });
61
+ } }) : /* @__PURE__ */ m(H, { ...f, buttonType: "submit", "data-qa": n?.submitButton ?? "submit-form", type: "primary", children: r.submit }), e[5] = f, e[6] = g, e[7] = d.Subscribe, e[8] = r.submit, e[9] = n?.submitButton, e[10] = P) : P = e[10];
62
+ const j = P, E = c?.modal ?? "modal", k = !!u;
62
63
  let x;
63
- e[11] !== t?.sx ? (x = $.merge({
64
+ e[11] !== t?.sx ? (x = O.merge({
64
65
  "> div > div": {
65
66
  borderRadius: 0
66
67
  }
67
68
  }, t?.sx), e[11] = t?.sx, e[12] = x) : x = e[12];
68
- const U = c?.title ?? "modal-title";
69
+ const w = c?.title ?? "modal-title";
69
70
  let h;
70
- e[13] !== s?.sx ? (h = $.merge({
71
+ e[13] !== s?.sx ? (h = O.merge({
71
72
  padding: "3rem 3rem 1rem",
72
73
  color: "var(--color-rijks-logoblue)",
73
74
  fontSize: "1.1rem",
74
75
  fontWeight: "bolder"
75
76
  }, s?.sx), e[13] = s?.sx, e[14] = h) : h = e[14];
76
77
  let v;
77
- e[15] !== s || e[16] !== U || e[17] !== h || e[18] !== P ? (v = /* @__PURE__ */ m(oe, { ...s, "data-qa": U, maxWidth: "sm", sx: h, children: P }), e[15] = s, e[16] = U, e[17] = h, e[18] = P, e[19] = v) : v = e[19];
78
+ e[15] !== s || e[16] !== w || e[17] !== h || e[18] !== N ? (v = /* @__PURE__ */ m(te, { ...s, "data-qa": w, maxWidth: "sm", sx: h, children: N }), e[15] = s, e[16] = w, e[17] = h, e[18] = N, e[19] = v) : v = e[19];
78
79
  let C;
79
80
  e[20] !== p ? (C = /* @__PURE__ */ m(ne, { closeAction: p }), e[20] = p, e[21] = C) : C = e[21];
80
- const _ = n?.form ?? "form";
81
- let y;
82
- e[22] !== d ? (y = async (T) => {
83
- T.preventDefault(), T.stopPropagation(), await d.handleSubmit();
84
- }, e[22] = d, e[23] = y) : y = e[23];
85
- const M = c?.content ?? "modal-content";
81
+ const Q = n?.form ?? "form", U = c?.content ?? "modal-content";
86
82
  let A;
87
- e[24] !== o?.sx ? (A = $.merge({
83
+ e[22] !== o?.sx ? (A = O.merge({
88
84
  padding: "0 3rem 2rem"
89
- }, o?.sx), e[24] = o?.sx, e[25] = A) : A = e[25];
85
+ }, o?.sx), e[22] = o?.sx, e[23] = A) : A = e[23];
86
+ let y;
87
+ e[24] !== o || e[25] !== $ || e[26] !== U || e[27] !== A ? (y = /* @__PURE__ */ m(oe, { ...o, "data-qa": U, sx: A, children: $ }), e[24] = o, e[25] = $, e[26] = U, e[27] = A, e[28] = y) : y = e[28];
88
+ const _ = n?.dialogActions ?? "dialog-actions", M = n?.cancelButton ?? "cancel-form";
90
89
  let F;
91
- e[26] !== o || e[27] !== w || e[28] !== M || e[29] !== A ? (F = /* @__PURE__ */ m(re, { ...o, "data-qa": M, sx: A, children: w }), e[26] = o, e[27] = w, e[28] = M, e[29] = A, e[30] = F) : F = e[30];
92
- const W = n?.dialogActions ?? "dialog-actions", H = n?.cancelButton ?? "cancel-form";
93
- let S;
94
- e[31] !== p || e[32] !== d ? (S = () => {
90
+ e[29] !== p || e[30] !== d ? (F = () => {
95
91
  d.reset(), p();
96
- }, e[31] = p, e[32] = d, e[33] = S) : S = e[33];
92
+ }, e[29] = p, e[30] = d, e[31] = F) : F = e[31];
97
93
  let q;
98
- e[34] !== r.cancel || e[35] !== H || e[36] !== S ? (q = /* @__PURE__ */ m(z, { "data-qa": H, onClick: S, type: "secondary", children: r.cancel }), e[34] = r.cancel, e[35] = H, e[36] = S, e[37] = q) : q = e[37];
99
- let B;
100
- e[38] !== E || e[39] !== W || e[40] !== q ? (B = /* @__PURE__ */ R(se, { "data-qa": W, children: [
94
+ e[32] !== r.cancel || e[33] !== M || e[34] !== F ? (q = /* @__PURE__ */ m(H, { "data-qa": M, onClick: F, type: "secondary", children: r.cancel }), e[32] = r.cancel, e[33] = M, e[34] = F, e[35] = q) : q = e[35];
95
+ let S;
96
+ e[36] !== j || e[37] !== _ || e[38] !== q ? (S = /* @__PURE__ */ W(ae, { "data-qa": _, children: [
101
97
  q,
102
- E
103
- ] }), e[38] = E, e[39] = W, e[40] = q, e[41] = B) : B = e[41];
104
- let N;
105
- e[42] !== i || e[43] !== _ || e[44] !== y || e[45] !== F || e[46] !== B ? (N = /* @__PURE__ */ R("form", { "data-qa": _, name: i, onSubmit: y, children: [
106
- F,
107
- B
108
- ] }), e[42] = i, e[43] = _, e[44] = y, e[45] = F, e[46] = B, e[47] = N) : N = e[47];
109
- let O;
110
- return e[48] !== t || e[49] !== C || e[50] !== N || e[51] !== k || e[52] !== Q || e[53] !== x || e[54] !== v ? (O = /* @__PURE__ */ R(ae, { ...t, "data-qa": k, open: Q, sx: x, children: [
98
+ j
99
+ ] }), e[36] = j, e[37] = _, e[38] = q, e[39] = S) : S = e[39];
100
+ let B;
101
+ e[40] !== d || e[41] !== i || e[42] !== Q || e[43] !== y || e[44] !== S ? (B = /* @__PURE__ */ W(ie, { "data-qa": Q, form: d, name: i, children: [
102
+ y,
103
+ S
104
+ ] }), e[40] = d, e[41] = i, e[42] = Q, e[43] = y, e[44] = S, e[45] = B) : B = e[45];
105
+ let D;
106
+ return e[46] !== t || e[47] !== C || e[48] !== B || e[49] !== E || e[50] !== k || e[51] !== x || e[52] !== v ? (D = /* @__PURE__ */ W(re, { ...t, "data-qa": E, open: k, sx: x, children: [
111
107
  v,
112
108
  C,
113
- N
114
- ] }), e[48] = t, e[49] = C, e[50] = N, e[51] = k, e[52] = Q, e[53] = x, e[54] = v, e[55] = O) : O = e[55], O;
109
+ B
110
+ ] }), e[46] = t, e[47] = C, e[48] = B, e[49] = E, e[50] = k, e[51] = x, e[52] = v, e[53] = D) : D = e[53], D;
115
111
  }
116
112
  function ue(a) {
117
113
  return [a.isSubmitting, a.canSubmit];
118
114
  }
119
- var fe = Object.defineProperty, K = (a, e) => fe(a, "name", { value: e, configurable: !0 });
120
- function X(a) {
115
+ var fe = Object.defineProperty, G = (a, e) => fe(a, "name", { value: e, configurable: !0 });
116
+ function J(a) {
121
117
  return a == null;
122
118
  }
123
- K(X, "isNullOrUndefined");
124
- function Y(a) {
125
- return X(a) || a.length === 0;
119
+ G(J, "isNullOrUndefined");
120
+ function K(a) {
121
+ return J(a) || a.length === 0;
126
122
  }
127
- K(Y, "isNullOrUndefinedOrEmpty");
123
+ G(K, "isNullOrUndefinedOrEmpty");
128
124
  function pe({
129
125
  "data-qa": a,
130
126
  fieldId: e,
@@ -135,8 +131,8 @@ function pe({
135
131
  sx: s,
136
132
  tooltip: o
137
133
  }) {
138
- const l = Z(), c = /* @__PURE__ */ m(
139
- ie,
134
+ const l = X(), c = /* @__PURE__ */ m(
135
+ se,
140
136
  {
141
137
  "data-qa": `${a}-field`,
142
138
  disabled: n,
@@ -144,7 +140,7 @@ function pe({
144
140
  name: e,
145
141
  onBlur: l.handleBlur,
146
142
  onChange: (u) => {
147
- i && i(), l.handleChange((P) => Y(u.target.value) ? void 0 : u.target.valueAsNumber);
143
+ i && i(), l.handleChange((N) => K(u.target.value) ? void 0 : u.target.valueAsNumber);
148
144
  },
149
145
  onInput: (u) => {
150
146
  u.target.value.length > r && (u.target.value = u.target.value.slice(0, r));
@@ -157,9 +153,9 @@ function pe({
157
153
  step: t
158
154
  }
159
155
  },
160
- sx: $.merge({
161
- [`.${J.root}`]: {
162
- [`.${J.input}`]: {
156
+ sx: O.merge({
157
+ [`.${L.root}`]: {
158
+ [`.${L.input}`]: {
163
159
  ":disabled": {
164
160
  backgroundColor: "var(--color-disabled)",
165
161
  borderColor: "var(--color-disabled)"
@@ -176,12 +172,12 @@ function pe({
176
172
  const {
177
173
  fieldContext: be,
178
174
  formContext: ge,
179
- useFieldContext: Z,
180
- useFormContext: V
181
- } = ee(), {
182
- useAppForm: Ne,
183
- withForm: Pe
184
- } = te({
175
+ useFieldContext: X,
176
+ useFormContext: Y
177
+ } = V(), {
178
+ useAppForm: Pe,
179
+ withForm: De
180
+ } = ee({
185
181
  fieldContext: be,
186
182
  formContext: ge,
187
183
  fieldComponents: {
@@ -194,9 +190,9 @@ const {
194
190
  }
195
191
  });
196
192
  function xe(a) {
197
- const e = I.c(11), {
193
+ const e = R.c(11), {
198
194
  "data-qa": n
199
- } = a, r = Z();
195
+ } = a, r = X();
200
196
  if (r.state.meta.isTouched && r.state.meta.errors.length) {
201
197
  let i;
202
198
  e[0] !== r.state.meta.errors ? (i = r.state.meta.errors.at(0), e[0] = r.state.meta.errors, e[1] = i) : i = e[1];
@@ -204,13 +200,13 @@ function xe(a) {
204
200
  if (typeof t == "string") {
205
201
  const s = n ?? "field-error";
206
202
  let o;
207
- return e[2] !== t || e[3] !== s ? (o = /* @__PURE__ */ m(j, { "data-qa": s, message: t, severity: "error" }), e[2] = t, e[3] = s, e[4] = o) : o = e[4], o;
203
+ return e[2] !== t || e[3] !== s ? (o = /* @__PURE__ */ m(T, { "data-qa": s, message: t, severity: "error" }), e[2] = t, e[3] = s, e[4] = o) : o = e[4], o;
208
204
  } else if (t && typeof t == "object") {
209
205
  let s;
210
206
  e[5] !== t.level ? (s = ["error", "info", "success", "warning"].includes(t.level) ? t.level : "error", e[5] = t.level, e[6] = s) : s = e[6];
211
207
  const o = s, l = n ?? "field-error";
212
208
  let c;
213
- return e[7] !== t.message || e[8] !== o || e[9] !== l ? (c = /* @__PURE__ */ m(j, { "data-qa": l, message: t.message, severity: o }), e[7] = t.message, e[8] = o, e[9] = l, e[10] = c) : c = e[10], c;
209
+ return e[7] !== t.message || e[8] !== o || e[9] !== l ? (c = /* @__PURE__ */ m(T, { "data-qa": l, message: t.message, severity: o }), e[7] = t.message, e[8] = o, e[9] = l, e[10] = c) : c = e[10], c;
214
210
  }
215
211
  }
216
212
  return null;
@@ -222,9 +218,9 @@ export {
222
218
  pe as c,
223
219
  be as d,
224
220
  ge as e,
225
- Z as f,
226
- V as g,
227
- Ne as u,
228
- Pe as w
221
+ X as f,
222
+ Y as g,
223
+ Pe as u,
224
+ De as w
229
225
  };
230
- //# sourceMappingURL=FieldError.C1l5S0jl.js.map
226
+ //# sourceMappingURL=FieldError.B4HiPjPm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FieldError.B4HiPjPm.js","sources":["../../src/components-generic/molecules/form-error/FormError.tsx","../../src/components-generic/molecules/form-modal/FormModal.tsx","../../../../node_modules/@sapphire/utilities/dist/esm/chunk-PAWJFY3S.mjs","../../../../node_modules/@sapphire/utilities/dist/esm/lib/isNullOrUndefined.mjs","../../../../node_modules/@sapphire/utilities/dist/esm/lib/isNullOrUndefinedOrEmpty.mjs","../../src/components-generic/molecules/no-label-number-field/NoLabelNumberField.tsx","../../src/contexts/TanstackFormContext.ts","../../src/components-generic/molecules/field-error/FieldError.tsx"],"sourcesContent":["import { useAoaFormContext } from '../../../contexts/TanstackFormContext';\nimport { AoaNotification, type Severity } from '../../atoms/notification/Notification';\n\nexport interface AoaFormErrorProps {\n readonly 'data-qa'?: string;\n}\n\n/**\n * Constructs a custom error message for a form **using pre-defined Rijks styling**\n *\n * This component is intended for internal use only and should always be used through `<form.AoaFormError />`\n *\n * @internal\n * @param param0 - Props to pass to the form error\n * @returns A custom error message for a form\n * @example\n * ```jsx\n * <form.AppForm>\n * <form.AoaFormError />\n * </form.AppForm>\n * ```\n */\nexport function AoaFormError({ 'data-qa': dataQa }: AoaFormErrorProps) {\n const form = useAoaFormContext();\n\n return (\n <form.Subscribe selector={(state) => state.errors}>\n {(errors) => {\n if (errors.length) {\n const error = errors.at(0);\n\n if (typeof error === 'string') {\n return <AoaNotification data-qa={dataQa ?? 'form-error'} message={error} severity='error' />;\n } else if (error && typeof error === 'object') {\n const parsedLevel = ['error', 'info', 'success', 'warning'].includes(error.level) ? (error.level as Severity) : 'error';\n return <AoaNotification data-qa={dataQa ?? 'form-error'} message={error.message} severity={parsedLevel} />;\n }\n }\n\n return null;\n }}\n </form.Subscribe>\n );\n}\n","import { Dialog, DialogActions, DialogContent, DialogTitle } from '@mui/material';\nimport { merge } from 'lodash';\nimport { useAoaFormContext } from '../../../contexts/TanstackFormContext';\nimport { AoaButton, type AoaButtonProps } from '../../atoms/button/Button';\nimport { AoaForm } from '../form/Form';\nimport type { AoaModalProps } from '../modal/Modal';\nimport { AoaModalCloseButton, type AoaModalCloseButtonProps } from '../modal-close-button/ModalCloseButton';\n\nexport interface AoaFormModalQAs {\n /**\n * Data-qa tag applied to the \"cancel\" button\n */\n cancelButton?: string;\n /**\n * Data-qa tag applied to the `DialogActions` component\n */\n dialogActions?: string;\n /**\n * Data-qa tag applied to the HTML `form` element\n */\n form?: string;\n /**\n * Data-qa tag applied to the \"submit\" button\n */\n submitButton?: string;\n}\n\nexport interface AoaFormModalLabels {\n cancel: string;\n submit: string;\n}\n\nexport interface AoaFormModalProps extends Omit<AoaModalProps, 'dialogActions'>, AoaModalCloseButtonProps {\n /**\n * Additional properties to provide to the {@link AoaButton | submit button}\n */\n AoaSubmitButtonProps?: Omit<AoaButtonProps, 'buttonType' | 'data-qa' | 'disabled' | 'onClick' | 'type'> & {\n disableWithFormState?: boolean;\n };\n /**\n * Labels for the buttons in {@link DialogActions}\n */\n formLabels: AoaFormModalLabels;\n /**\n * data-qa tags for the components in the form section of the modal\n */\n formModalQas?: AoaFormModalQAs;\n /**\n * Optionally the `name` property for the HTML form element\n */\n formName?: string;\n}\n\n/**\n * Constructs a modal **for holding a Form** using pre-defined Rijks styling\n *\n * For a modal without a form see `AoaModal`\n *\n * This component is intended for internal use only and should always be used through `<form.AoaFormModal />`\n *\n * @internal\n * @param props - Props to pass to the modal - {@link ModalProps}\n * @example\n * ```jsx\n * <form.AppForm>\n * <form.AoaFormModal\n * open={true}\n * formLabels={{\n * submit: 'submit',\n * cancel: 'cancel'\n * }}\n * formModalQas={{\n * cancelButton: 'cancel-button',\n * dialogActions: 'dialog-actions,\n * form: 'form',\n * submitButton: 'confirm-button'\n * }}\n * closeAction={handleClose}\n * topic='topic'\n * modalQas={{\n * modal: 'modal',\n * content: 'modal-content',\n * title: 'modal-title'\n * }}\n * formName='form'\n * dialogContent={content}\n * />\n * </form.AppForm>\n * ```\n */\nexport function AoaFormModal({\n formModalQas,\n formLabels,\n formName,\n DialogProps,\n DialogTitleProps,\n DialogContentProps,\n AoaSubmitButtonProps: { disableWithFormState, ...AoaSubmitButtonProps } = {},\n modalQas,\n open,\n topic,\n dialogContent,\n closeAction\n}: Readonly<AoaFormModalProps>) {\n const form = useAoaFormContext();\n\n const SubmitButton = disableWithFormState ? (\n <form.Subscribe selector={(state) => [state.isSubmitting, state.canSubmit] as const}>\n {([isSubmitting, canSubmit]) => (\n <AoaButton\n {...AoaSubmitButtonProps}\n aria-disabled={isSubmitting || !canSubmit}\n buttonType='submit'\n data-qa={formModalQas?.submitButton ?? 'submit-form'}\n disabled={isSubmitting || !canSubmit}\n type='primary'\n >\n {formLabels.submit}\n </AoaButton>\n )}\n </form.Subscribe>\n ) : (\n <AoaButton {...AoaSubmitButtonProps} buttonType='submit' data-qa={formModalQas?.submitButton ?? 'submit-form'} type='primary'>\n {formLabels.submit}\n </AoaButton>\n );\n\n return (\n <Dialog\n {...DialogProps}\n data-qa={modalQas?.modal ?? 'modal'}\n open={Boolean(open)}\n sx={merge(\n {\n '> div > div': {\n borderRadius: 0\n }\n },\n DialogProps?.sx\n )}\n >\n <DialogTitle\n {...DialogTitleProps}\n data-qa={modalQas?.title ?? 'modal-title'}\n maxWidth='sm'\n sx={merge(\n {\n padding: '3rem 3rem 1rem',\n color: 'var(--color-rijks-logoblue)',\n fontSize: '1.1rem',\n fontWeight: 'bolder'\n },\n DialogTitleProps?.sx\n )}\n >\n {topic}\n </DialogTitle>\n <AoaModalCloseButton closeAction={closeAction} />\n <AoaForm data-qa={formModalQas?.form ?? 'form'} form={form} name={formName}>\n <DialogContent\n {...DialogContentProps}\n data-qa={modalQas?.content ?? 'modal-content'}\n sx={merge(\n {\n padding: '0 3rem 2rem'\n },\n DialogContentProps?.sx\n )}\n >\n {dialogContent}\n </DialogContent>\n <DialogActions data-qa={formModalQas?.dialogActions ?? 'dialog-actions'}>\n <AoaButton\n data-qa={formModalQas?.cancelButton ?? 'cancel-form'}\n onClick={() => {\n form.reset();\n closeAction();\n }}\n type='secondary'\n >\n {formLabels.cancel}\n </AoaButton>\n {SubmitButton}\n </DialogActions>\n </AoaForm>\n </Dialog>\n );\n}\n","var __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\nexport { __name };\n//# sourceMappingURL=chunk-PAWJFY3S.mjs.map\n//# sourceMappingURL=chunk-PAWJFY3S.mjs.map","import { __name } from '../chunk-PAWJFY3S.mjs';\n\n// src/lib/isNullOrUndefined.ts\nfunction isNullOrUndefined(value) {\n return value === undefined || value === null;\n}\n__name(isNullOrUndefined, \"isNullOrUndefined\");\n\nexport { isNullOrUndefined, isNullOrUndefined as isNullish };\n//# sourceMappingURL=isNullOrUndefined.mjs.map\n//# sourceMappingURL=isNullOrUndefined.mjs.map","import { __name } from '../chunk-PAWJFY3S.mjs';\nimport { isNullish } from './isNullOrUndefined.mjs';\n\nfunction isNullOrUndefinedOrEmpty(value) {\n return isNullish(value) || value.length === 0;\n}\n__name(isNullOrUndefinedOrEmpty, \"isNullOrUndefinedOrEmpty\");\n\nexport { isNullOrUndefinedOrEmpty, isNullOrUndefinedOrEmpty as isNullishOrEmpty };\n//# sourceMappingURL=isNullOrUndefinedOrEmpty.mjs.map\n//# sourceMappingURL=isNullOrUndefinedOrEmpty.mjs.map","import type { SxProps, Theme } from '@mui/material';\nimport { inputBaseClasses, TextField } from '@mui/material';\nimport { isNullishOrEmpty } from '@sapphire/utilities';\nimport { merge } from 'lodash';\nimport { useAoaFieldContext } from '../../../contexts/TanstackFormContext';\nimport { AoaTooltip } from '../../atoms/tooltip/Tooltip';\n\n/**\n * Props for {@link AoaNoLabelNumberField}.\n *\n * @remarks This interface defines the configurable aspects of the number field that is designed\n * to be paired with another field under a single label (\"double label\" pattern). Each prop maps to\n * a specific behavior or visual customization of the underlying MUI {@link TextField}.\n */\nexport interface AoaNoLabelNumberFieldProps {\n /**\n * Base QA / testing identifier. The component appends `-field` when applying it to the DOM as `data-qa`.\n *\n * @remarks Used for automated testing hooks.\n */\n readonly 'data-qa'?: string;\n /**\n * The id and name assigned to the input element.\n *\n * @remarks Must be unique within the form scope so that form state tracking works correctly.\n */\n readonly fieldId: string;\n\n /**\n * Disables the input when true.\n *\n * @defaultValue false\n */\n readonly isDisabled?: boolean;\n /**\n * Maximum number of digits the user can enter.\n *\n * @remarks Also used to compute the numeric max as `Number('9'.repeat(maxLength))`.\n */\n readonly maxLength: number;\n /**\n * Optional callback invoked before updating the field value on change.\n *\n * @remarks Can be used to reset related field values when one side of a range changes.\n */\n readonly resetValues?: CallableFunction;\n /**\n * Numeric step applied to the number input.\n *\n * @remarks Passed directly to the underlying input `step` attribute.\n */\n readonly step?: number;\n /**\n * Style overrides merged with the component's default styling for the root and input states.\n *\n * @see {@link SxProps}\n */\n readonly sx?: SxProps<Theme>;\n /**\n * Optional tooltip text. When provided, wraps the field in an {@link AoaTooltip}.\n */\n readonly tooltip?: string;\n}\n\n/**\n * This is a custom number field to allow for input fields that have one label with multiple fields.\n *\n * This component cannot be used without a proper wrapper around it. Please refer to the example below of how to properly use this component.\n *\n * @example\n * ```tsx\n * <Grid>\n * <InputLabel>My label</InputLabel>\n * <Grid container direction=\"column\">\n * <Grid alignItems=\"center\" container direction=\"row\">\n * <form.AppField name=\"firstField\">\n * {() => (\n * <AoaNoLabelNumberField\n * dataQa=\"first-field\"\n * fieldId=\"first-field\"\n * maxLength={5}\n * sx={{ width: 100 }}\n * />\n * )}\n * </form.AppField>\n * <Box sx={{ mx: 1 }}> / </Box>\n * <form.AppField name=\"secondField\">\n * {() => (\n * <AoaNoLabelNumberField\n * dataQa=\"second-field\"\n * fieldId=\"second-field\"\n * maxLength={5}\n * sx={{ width: 100 }}\n * />\n * )}\n * </form.AppField>\n * </Grid>\n * <form.Subscribe\n * selector={(state) => [\n * state.fieldMeta.firstField,\n * state.fieldMeta.secondField,\n * ]}\n * >\n * {([firstField, secondField]) => {\n * const hasFromError =\n * firstField?.isTouched && Boolean(firstField?.errors?.length);\n * const hasToError =\n * secondField?.isTouched && Boolean(secondField?.errors?.length);\n *\n * if (hasFromError || hasToError) {\n * return (\n * <AoaNotification\n * data-qa=\"first-second-field-error\"\n * message=\"Please correct the errors in the fields above.\"\n * severity=\"error\"\n * />\n * );\n * }\n *\n * return null;\n * }}\n * </form.Subscribe>\n * </Grid>\n * </Grid>;\n * ```\n */\nexport function AoaNoLabelNumberField<TData>({\n 'data-qa': dataQa,\n fieldId,\n isDisabled,\n maxLength,\n resetValues,\n step,\n sx,\n tooltip\n}: AoaNoLabelNumberFieldProps) {\n const field = useAoaFieldContext<TData>();\n\n const FieldComponent = (\n <TextField\n data-qa={`${dataQa}-field`}\n disabled={isDisabled}\n id={fieldId}\n name={fieldId}\n onBlur={field.handleBlur}\n /* v8 ignore start */\n onChange={(event) => {\n if (resetValues) {\n resetValues();\n }\n\n field.handleChange((prev) => (isNullishOrEmpty(event.target.value) ? undefined : (event.target as HTMLInputElement).valueAsNumber) as typeof prev);\n }}\n /* v8 ignore stop */\n onInput={(event) => {\n if ((event.target as HTMLInputElement).value.length > maxLength) {\n (event.target as HTMLInputElement).value = (event.target as HTMLInputElement).value.slice(0, maxLength);\n }\n }}\n slotProps={{\n htmlInput: { maxLength, min: 0, max: Number('9'.repeat(maxLength)), step }\n }}\n sx={merge(\n {\n [`.${inputBaseClasses.root}`]: {\n [`.${inputBaseClasses.input}`]: {\n ':disabled': {\n backgroundColor: 'var(--color-disabled)',\n borderColor: 'var(--color-disabled)'\n }\n }\n }\n },\n sx\n )}\n type='number'\n value={field.state.value ?? ''}\n />\n );\n\n return tooltip ? (\n <AoaTooltip placement='top' title={tooltip}>\n {FieldComponent}\n </AoaTooltip>\n ) : (\n FieldComponent\n );\n}\n","import { createFormHook, createFormHookContexts } from '@tanstack/react-form';\nimport { AoaFieldError } from '../components-generic/molecules/field-error/FieldError';\nimport { AoaFormError } from '../components-generic/molecules/form-error/FormError';\nimport { AoaFormModal } from '../components-generic/molecules/form-modal/FormModal';\nimport { AoaNoLabelNumberField } from '../components-generic/molecules/no-label-number-field/NoLabelNumberField';\n\nexport const {\n fieldContext: aoaFieldContext,\n formContext: aoaFormContext,\n useFieldContext: useAoaFieldContext,\n useFormContext: useAoaFormContext\n} = createFormHookContexts();\n\nexport const { useAppForm: useAoaAppForm, withForm: withAoaForm } = createFormHook({\n fieldContext: aoaFieldContext,\n formContext: aoaFormContext,\n fieldComponents: {\n AoaFieldError\n },\n formComponents: {\n AoaFormModal,\n AoaFormError,\n AoaNoLabelNumberField\n }\n});\n","import { useAoaFieldContext } from '../../../contexts/TanstackFormContext';\nimport { AoaNotification, type Severity } from '../../atoms/notification/Notification';\n\nexport interface AoaFieldErrorProps {\n readonly 'data-qa'?: string;\n}\n\n/**\n * Constructs a custom error message for a field **using pre-defined Rijks styling**\n *\n * This component is intended for internal use only and should always be used through `<field.AoaFieldError />`\n *\n * @internal\n * @param param0 - Props to pass to the field error\n * @returns A custom error message for a field\n * @example\n * ```jsx\n * <form.AppField name='name'>\n * {(field) => {\n * return <field.AoaFieldError />;\n * }}\n * </form.AppField>\n * ```\n */\nexport function AoaFieldError<TData>({ 'data-qa': dataQa }: AoaFieldErrorProps) {\n const field = useAoaFieldContext<TData>();\n\n if (field.state.meta.isTouched && field.state.meta.errors.length) {\n const error = field.state.meta.errors.at(0);\n\n if (typeof error === 'string') {\n return <AoaNotification data-qa={dataQa ?? 'field-error'} message={error} severity='error' />;\n } else if (error && typeof error === 'object') {\n const parsedLevel = ['error', 'info', 'success', 'warning'].includes(error.level) ? (error.level as Severity) : 'error';\n return <AoaNotification data-qa={dataQa ?? 'field-error'} message={error.message} severity={parsedLevel} />;\n }\n }\n\n return null;\n}\n"],"names":["AoaFormError","t0","$","_c","dataQa","form","useAoaFormContext","t1","errors","length","error","at","jsx","AoaNotification","parsedLevel","includes","level","message","t2","Subscribe","_temp","state","AoaFormModal","formModalQas","formLabels","formName","DialogProps","DialogTitleProps","DialogContentProps","AoaSubmitButtonProps","modalQas","open","topic","dialogContent","closeAction","undefined","disableWithFormState","t3","submit","submitButton","t4","isSubmitting","canSubmit","AoaButton","SubmitButton","modal","t5","Boolean","t6","sx","merge","borderRadius","t7","title","t8","padding","color","fontSize","fontWeight","t9","DialogTitle","t10","AoaModalCloseButton","t11","t12","content","t13","t14","DialogContent","t15","dialogActions","t16","cancelButton","t17","reset","t18","cancel","t19","DialogActions","t20","AoaForm","t21","jsxs","Dialog","__defProp","__name","target","value","isNullOrUndefined","isNullOrUndefinedOrEmpty","isNullish","AoaNoLabelNumberField","fieldId","isDisabled","maxLength","resetValues","step","tooltip","field","useAoaFieldContext","FieldComponent","TextField","handleBlur","event","handleChange","prev","isNullishOrEmpty","valueAsNumber","slice","htmlInput","min","max","Number","repeat","inputBaseClasses","root","input","backgroundColor","borderColor","AoaTooltip","fieldContext","aoaFieldContext","formContext","aoaFormContext","useFieldContext","useFormContext","createFormHookContexts","useAppForm","useAoaAppForm","withForm","withAoaForm","createFormHook","fieldComponents","AoaFieldError","formComponents","meta","isTouched"],"mappings":"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","x_google_ignoreList":[2,3,4]}