@x15ventures/x15-ui-library 3.15.0 → 3.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/autoGenerated/libraryThemes.js +12 -12
- package/dist/cjs/autoGenerated/libraryThemes.js.map +1 -1
- package/dist/cjs/autoGenerated/libraryThemes.json +12 -12
- package/dist/cjs/components/design/dialog/Dialog.js +1 -1
- package/dist/cjs/components/design/dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/design/headerBar/HeaderBar.js +3 -1
- package/dist/cjs/components/design/headerBar/HeaderBar.js.map +1 -1
- package/dist/cjs/components/design/headerBar/headerBar.css +6 -1
- package/dist/cjs/components/form/formFields/formFieldWrapper/FormField.js +8 -5
- package/dist/cjs/components/form/formFields/formFieldWrapper/FormField.js.map +1 -1
- package/dist/cjs/components/form/formFields/formFieldWrapper/formFieldProps.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.js +15 -11
- package/dist/cjs/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js +37 -15
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/inputCheckbox.css +4 -4
- package/dist/cjs/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +9 -9
- package/dist/cjs/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/radio/styled/StyledRadioGroup.js +14 -4
- package/dist/cjs/components/form/formFields/subComponents/inputs/radio/styled/StyledRadioGroup.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/inputs/text/InputText.js +23 -17
- package/dist/cjs/components/form/formFields/subComponents/inputs/text/InputText.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/select/Select.js +6 -5
- package/dist/cjs/components/form/formFields/subComponents/select/Select.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/textarea/Textarea.js +55 -83
- package/dist/cjs/components/form/formFields/subComponents/textarea/Textarea.js.map +1 -1
- package/dist/cjs/components/form/formFields/subComponents/textarea/textarea.css +20 -0
- package/dist/cjs/components/form/hookFormWrapper/HookFormWrapper.js +22 -5
- package/dist/cjs/components/form/hookFormWrapper/HookFormWrapper.js.map +1 -1
- package/dist/cjs/components/form/validation/ValidationMessages.js +36 -38
- package/dist/cjs/components/form/validation/ValidationMessages.js.map +1 -1
- package/dist/cjs/exampleUIs/exampleComponents/DemoContactForm.js +1 -2
- package/dist/cjs/exampleUIs/exampleComponents/DemoContactForm.js.map +1 -1
- package/dist/cjs/helpers/index.js +12 -0
- package/dist/cjs/helpers/index.js.map +1 -1
- package/dist/cjs/helpers/stringHelpers.js +48 -2
- package/dist/cjs/helpers/stringHelpers.js.map +1 -1
- package/dist/cjs/interfaces/headerText.interface.js.map +1 -1
- package/dist/cjs/package.json +137 -151
- package/dist/cjs/styles/index.css +22 -25
- package/dist/cjs/styles/shared/_allPartials.css +22 -25
- package/dist/cjs/styles/shared/forms/_forms.css +22 -25
- package/dist/components/design/dialog/Dialog.d.ts.map +1 -1
- package/dist/components/design/dialog/Dialog.test.d.ts +5 -0
- package/dist/components/design/dialog/Dialog.test.d.ts.map +1 -0
- package/dist/components/design/headerBar/HeaderBar.d.ts.map +1 -1
- package/dist/components/form/formFields/formFieldWrapper/FormField.d.ts.map +1 -1
- package/dist/components/form/formFields/formFieldWrapper/formFieldProps.d.ts +7 -2
- package/dist/components/form/formFields/formFieldWrapper/formFieldProps.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.test.d.ts +5 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.test.d.ts.map +1 -0
- package/dist/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.d.ts +8 -6
- package/dist/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/radio/styled/StyledRadioGroup.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/inputs/text/InputText.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/nestedFormContext.test.d.ts +5 -0
- package/dist/components/form/formFields/subComponents/nestedFormContext.test.d.ts.map +1 -0
- package/dist/components/form/formFields/subComponents/select/Select.d.ts.map +1 -1
- package/dist/components/form/formFields/subComponents/textarea/Textarea.d.ts +4 -3
- package/dist/components/form/formFields/subComponents/textarea/Textarea.d.ts.map +1 -1
- package/dist/components/form/hookFormWrapper/HookFormWrapper.d.ts +3 -0
- package/dist/components/form/hookFormWrapper/HookFormWrapper.d.ts.map +1 -1
- package/dist/components/form/hookFormWrapper/HookFormWrapper.test.d.ts +5 -0
- package/dist/components/form/hookFormWrapper/HookFormWrapper.test.d.ts.map +1 -0
- package/dist/components/form/validation/ValidationMessages.d.ts +8 -1
- package/dist/components/form/validation/ValidationMessages.d.ts.map +1 -1
- package/dist/components/form/validation/ValidationMessages.test.d.ts +5 -0
- package/dist/components/form/validation/ValidationMessages.test.d.ts.map +1 -0
- package/dist/esm/autoGenerated/libraryThemes.js +12 -12
- package/dist/esm/autoGenerated/libraryThemes.js.map +1 -1
- package/dist/esm/autoGenerated/libraryThemes.json +12 -12
- package/dist/esm/components/design/dialog/Dialog.js +1 -1
- package/dist/esm/components/design/dialog/Dialog.js.map +1 -1
- package/dist/esm/components/design/headerBar/HeaderBar.js +3 -1
- package/dist/esm/components/design/headerBar/HeaderBar.js.map +1 -1
- package/dist/esm/components/design/headerBar/headerBar.css +6 -1
- package/dist/esm/components/form/formFields/formFieldWrapper/FormField.js +8 -5
- package/dist/esm/components/form/formFields/formFieldWrapper/FormField.js.map +1 -1
- package/dist/esm/components/form/formFields/formFieldWrapper/formFieldProps.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.js +16 -12
- package/dist/esm/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js +37 -15
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/InputCheckbox.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/inputCheckbox.css +4 -4
- package/dist/esm/components/form/formFields/subComponents/inputs/checkbox/inputCheckboxProps.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js +8 -8
- package/dist/esm/components/form/formFields/subComponents/inputs/file/dragAndDrop/DragAndDropFileUpload.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/radio/styled/StyledRadioGroup.js +16 -6
- package/dist/esm/components/form/formFields/subComponents/inputs/radio/styled/StyledRadioGroup.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/inputs/text/InputText.js +23 -17
- package/dist/esm/components/form/formFields/subComponents/inputs/text/InputText.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/select/Select.js +6 -5
- package/dist/esm/components/form/formFields/subComponents/select/Select.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/textarea/Textarea.js +50 -78
- package/dist/esm/components/form/formFields/subComponents/textarea/Textarea.js.map +1 -1
- package/dist/esm/components/form/formFields/subComponents/textarea/textarea.css +20 -0
- package/dist/esm/components/form/hookFormWrapper/HookFormWrapper.js +22 -5
- package/dist/esm/components/form/hookFormWrapper/HookFormWrapper.js.map +1 -1
- package/dist/esm/components/form/validation/ValidationMessages.js +36 -38
- package/dist/esm/components/form/validation/ValidationMessages.js.map +1 -1
- package/dist/esm/exampleUIs/exampleComponents/DemoContactForm.js +1 -2
- package/dist/esm/exampleUIs/exampleComponents/DemoContactForm.js.map +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +1 -1
- package/dist/esm/helpers/stringHelpers.js +44 -0
- package/dist/esm/helpers/stringHelpers.js.map +1 -1
- package/dist/esm/interfaces/headerText.interface.js.map +1 -1
- package/dist/esm/package.json +137 -151
- package/dist/esm/styles/index.css +22 -25
- package/dist/esm/styles/shared/_allPartials.css +22 -25
- package/dist/esm/styles/shared/forms/_forms.css +22 -25
- package/dist/exampleUIs/exampleComponents/DemoContactForm.d.ts.map +1 -1
- package/dist/helpers/index.d.ts +1 -1
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/stringHelpers.d.ts +17 -0
- package/dist/helpers/stringHelpers.d.ts.map +1 -1
- package/dist/interfaces/headerText.interface.d.ts +1 -0
- package/dist/interfaces/headerText.interface.d.ts.map +1 -1
- package/dist/package.json +137 -151
- package/package.json +137 -151
- package/dist/cjs/components/form/formFields/utilities/formUtilities.js +0 -22
- package/dist/cjs/components/form/formFields/utilities/formUtilities.js.map +0 -1
- package/dist/components/form/formFields/utilities/formUtilities.d.ts +0 -18
- package/dist/components/form/formFields/utilities/formUtilities.d.ts.map +0 -1
- package/dist/esm/components/form/formFields/utilities/formUtilities.js +0 -16
- package/dist/esm/components/form/formFields/utilities/formUtilities.js.map +0 -1
|
@@ -17,8 +17,8 @@ const libraryThemes = exports.libraryThemes = {
|
|
|
17
17
|
"map": "index.min.css.map"
|
|
18
18
|
},
|
|
19
19
|
"versioned": {
|
|
20
|
-
"css": "index.min.3.15.
|
|
21
|
-
"map": "index.min.3.15.
|
|
20
|
+
"css": "index.min.3.15.1.css",
|
|
21
|
+
"map": "index.min.3.15.1.css.map"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"cba": {
|
|
@@ -32,8 +32,8 @@ const libraryThemes = exports.libraryThemes = {
|
|
|
32
32
|
"map": "cba.min.css.map"
|
|
33
33
|
},
|
|
34
34
|
"versioned": {
|
|
35
|
-
"css": "cba.min.3.15.
|
|
36
|
-
"map": "cba.min.3.15.
|
|
35
|
+
"css": "cba.min.3.15.1.css",
|
|
36
|
+
"map": "cba.min.3.15.1.css.map"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"creditSavvy": {
|
|
@@ -47,8 +47,8 @@ const libraryThemes = exports.libraryThemes = {
|
|
|
47
47
|
"map": "creditSavvy.min.css.map"
|
|
48
48
|
},
|
|
49
49
|
"versioned": {
|
|
50
|
-
"css": "creditSavvy.min.3.15.
|
|
51
|
-
"map": "creditSavvy.min.3.15.
|
|
50
|
+
"css": "creditSavvy.min.3.15.1.css",
|
|
51
|
+
"map": "creditSavvy.min.3.15.1.css.map"
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"doshii": {
|
|
@@ -62,8 +62,8 @@ const libraryThemes = exports.libraryThemes = {
|
|
|
62
62
|
"map": "doshii.min.css.map"
|
|
63
63
|
},
|
|
64
64
|
"versioned": {
|
|
65
|
-
"css": "doshii.min.3.15.
|
|
66
|
-
"map": "doshii.min.3.15.
|
|
65
|
+
"css": "doshii.min.3.15.1.css",
|
|
66
|
+
"map": "doshii.min.3.15.1.css.map"
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"homeIn": {
|
|
@@ -77,8 +77,8 @@ const libraryThemes = exports.libraryThemes = {
|
|
|
77
77
|
"map": "homeIn.min.css.map"
|
|
78
78
|
},
|
|
79
79
|
"versioned": {
|
|
80
|
-
"css": "homeIn.min.3.15.
|
|
81
|
-
"map": "homeIn.min.3.15.
|
|
80
|
+
"css": "homeIn.min.3.15.1.css",
|
|
81
|
+
"map": "homeIn.min.3.15.1.css.map"
|
|
82
82
|
}
|
|
83
83
|
},
|
|
84
84
|
"x15Core": {
|
|
@@ -92,8 +92,8 @@ const libraryThemes = exports.libraryThemes = {
|
|
|
92
92
|
"map": "x15Core.min.css.map"
|
|
93
93
|
},
|
|
94
94
|
"versioned": {
|
|
95
|
-
"css": "x15Core.min.3.15.
|
|
96
|
-
"map": "x15Core.min.3.15.
|
|
95
|
+
"css": "x15Core.min.3.15.1.css",
|
|
96
|
+
"map": "x15Core.min.3.15.1.css.map"
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libraryThemes.js","names":["libraryThemes","exports","_default","default"],"sources":["../../../src/autoGenerated/libraryThemes.ts"],"sourcesContent":["/* eslint-disable */\nexport const libraryThemes = {\n \"base\": {\n \"buildPath\": \"styles\",\n \"dev\": {\n \"css\": \"index.css\",\n \"map\": \"index.css.map\"\n },\n \"min\": {\n \"css\": \"index.min.css\",\n \"map\": \"index.min.css.map\"\n },\n \"versioned\": {\n \"css\": \"index.min.3.15.
|
|
1
|
+
{"version":3,"file":"libraryThemes.js","names":["libraryThemes","exports","_default","default"],"sources":["../../../src/autoGenerated/libraryThemes.ts"],"sourcesContent":["/* eslint-disable */\nexport const libraryThemes = {\n \"base\": {\n \"buildPath\": \"styles\",\n \"dev\": {\n \"css\": \"index.css\",\n \"map\": \"index.css.map\"\n },\n \"min\": {\n \"css\": \"index.min.css\",\n \"map\": \"index.min.css.map\"\n },\n \"versioned\": {\n \"css\": \"index.min.3.15.1.css\",\n \"map\": \"index.min.3.15.1.css.map\"\n }\n },\n \"cba\": {\n \"buildPath\": \"styles/themes/cba\",\n \"dev\": {\n \"css\": \"cba.css\",\n \"map\": \"cba.css.map\"\n },\n \"min\": {\n \"css\": \"cba.min.css\",\n \"map\": \"cba.min.css.map\"\n },\n \"versioned\": {\n \"css\": \"cba.min.3.15.1.css\",\n \"map\": \"cba.min.3.15.1.css.map\"\n }\n },\n \"creditSavvy\": {\n \"buildPath\": \"styles/themes/creditSavvy\",\n \"dev\": {\n \"css\": \"creditSavvy.css\",\n \"map\": \"creditSavvy.css.map\"\n },\n \"min\": {\n \"css\": \"creditSavvy.min.css\",\n \"map\": \"creditSavvy.min.css.map\"\n },\n \"versioned\": {\n \"css\": \"creditSavvy.min.3.15.1.css\",\n \"map\": \"creditSavvy.min.3.15.1.css.map\"\n }\n },\n \"doshii\": {\n \"buildPath\": \"styles/themes/doshii\",\n \"dev\": {\n \"css\": \"doshii.css\",\n \"map\": \"doshii.css.map\"\n },\n \"min\": {\n \"css\": \"doshii.min.css\",\n \"map\": \"doshii.min.css.map\"\n },\n \"versioned\": {\n \"css\": \"doshii.min.3.15.1.css\",\n \"map\": \"doshii.min.3.15.1.css.map\"\n }\n },\n \"homeIn\": {\n \"buildPath\": \"styles/themes/homeIn\",\n \"dev\": {\n \"css\": \"homeIn.css\",\n \"map\": \"homeIn.css.map\"\n },\n \"min\": {\n \"css\": \"homeIn.min.css\",\n \"map\": \"homeIn.min.css.map\"\n },\n \"versioned\": {\n \"css\": \"homeIn.min.3.15.1.css\",\n \"map\": \"homeIn.min.3.15.1.css.map\"\n }\n },\n \"x15Core\": {\n \"buildPath\": \"styles/themes/x15Core\",\n \"dev\": {\n \"css\": \"x15Core.css\",\n \"map\": \"x15Core.css.map\"\n },\n \"min\": {\n \"css\": \"x15Core.min.css\",\n \"map\": \"x15Core.min.css.map\"\n },\n \"versioned\": {\n \"css\": \"x15Core.min.3.15.1.css\",\n \"map\": \"x15Core.min.3.15.1.css.map\"\n }\n }\n}; export default libraryThemes;"],"mappings":";;;;;;AAAA;AACO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3B,MAAM,EAAE;IACN,WAAW,EAAE,QAAQ;IACrB,KAAK,EAAE;MACL,KAAK,EAAE,WAAW;MAClB,KAAK,EAAE;IACT,CAAC;IACD,KAAK,EAAE;MACL,KAAK,EAAE,eAAe;MACtB,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACX,KAAK,EAAE,sBAAsB;MAC7B,KAAK,EAAE;IACT;EACF,CAAC;EACD,KAAK,EAAE;IACL,WAAW,EAAE,mBAAmB;IAChC,KAAK,EAAE;MACL,KAAK,EAAE,SAAS;MAChB,KAAK,EAAE;IACT,CAAC;IACD,KAAK,EAAE;MACL,KAAK,EAAE,aAAa;MACpB,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACX,KAAK,EAAE,oBAAoB;MAC3B,KAAK,EAAE;IACT;EACF,CAAC;EACD,aAAa,EAAE;IACb,WAAW,EAAE,2BAA2B;IACxC,KAAK,EAAE;MACL,KAAK,EAAE,iBAAiB;MACxB,KAAK,EAAE;IACT,CAAC;IACD,KAAK,EAAE;MACL,KAAK,EAAE,qBAAqB;MAC5B,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACX,KAAK,EAAE,4BAA4B;MACnC,KAAK,EAAE;IACT;EACF,CAAC;EACD,QAAQ,EAAE;IACR,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE;MACL,KAAK,EAAE,YAAY;MACnB,KAAK,EAAE;IACT,CAAC;IACD,KAAK,EAAE;MACL,KAAK,EAAE,gBAAgB;MACvB,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACX,KAAK,EAAE,uBAAuB;MAC9B,KAAK,EAAE;IACT;EACF,CAAC;EACD,QAAQ,EAAE;IACR,WAAW,EAAE,sBAAsB;IACnC,KAAK,EAAE;MACL,KAAK,EAAE,YAAY;MACnB,KAAK,EAAE;IACT,CAAC;IACD,KAAK,EAAE;MACL,KAAK,EAAE,gBAAgB;MACvB,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACX,KAAK,EAAE,uBAAuB;MAC9B,KAAK,EAAE;IACT;EACF,CAAC;EACD,SAAS,EAAE;IACT,WAAW,EAAE,uBAAuB;IACpC,KAAK,EAAE;MACL,KAAK,EAAE,aAAa;MACpB,KAAK,EAAE;IACT,CAAC;IACD,KAAK,EAAE;MACL,KAAK,EAAE,iBAAiB;MACxB,KAAK,EAAE;IACT,CAAC;IACD,WAAW,EAAE;MACX,KAAK,EAAE,wBAAwB;MAC/B,KAAK,EAAE;IACT;EACF;AACF,CAAC;AAAC,IAAAE,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAAgBH,aAAa","ignoreList":[]}
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
"map": "index.min.css.map"
|
|
11
11
|
},
|
|
12
12
|
"versioned": {
|
|
13
|
-
"css": "base.min.3.15.
|
|
14
|
-
"map": "base.min.3.15.
|
|
13
|
+
"css": "base.min.3.15.1.css",
|
|
14
|
+
"map": "base.min.3.15.1.css.map"
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"cba": {
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"map": "cba.min.css.map"
|
|
26
26
|
},
|
|
27
27
|
"versioned": {
|
|
28
|
-
"css": "cba.min.3.15.
|
|
29
|
-
"map": "cba.min.3.15.
|
|
28
|
+
"css": "cba.min.3.15.1.css",
|
|
29
|
+
"map": "cba.min.3.15.1.css.map"
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"creditSavvy": {
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"map": "creditSavvy.min.css.map"
|
|
41
41
|
},
|
|
42
42
|
"versioned": {
|
|
43
|
-
"css": "creditSavvy.min.3.15.
|
|
44
|
-
"map": "creditSavvy.min.3.15.
|
|
43
|
+
"css": "creditSavvy.min.3.15.1.css",
|
|
44
|
+
"map": "creditSavvy.min.3.15.1.css.map"
|
|
45
45
|
}
|
|
46
46
|
},
|
|
47
47
|
"doshii": {
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"map": "doshii.min.css.map"
|
|
56
56
|
},
|
|
57
57
|
"versioned": {
|
|
58
|
-
"css": "doshii.min.3.15.
|
|
59
|
-
"map": "doshii.min.3.15.
|
|
58
|
+
"css": "doshii.min.3.15.1.css",
|
|
59
|
+
"map": "doshii.min.3.15.1.css.map"
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
"homeIn": {
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
"map": "homeIn.min.css.map"
|
|
71
71
|
},
|
|
72
72
|
"versioned": {
|
|
73
|
-
"css": "homeIn.min.3.15.
|
|
74
|
-
"map": "homeIn.min.3.15.
|
|
73
|
+
"css": "homeIn.min.3.15.1.css",
|
|
74
|
+
"map": "homeIn.min.3.15.1.css.map"
|
|
75
75
|
}
|
|
76
76
|
},
|
|
77
77
|
"x15Core": {
|
|
@@ -85,8 +85,8 @@
|
|
|
85
85
|
"map": "x15Core.min.css.map"
|
|
86
86
|
},
|
|
87
87
|
"versioned": {
|
|
88
|
-
"css": "x15Core.min.3.15.
|
|
89
|
-
"map": "x15Core.min.3.15.
|
|
88
|
+
"css": "x15Core.min.3.15.1.css",
|
|
89
|
+
"map": "x15Core.min.3.15.1.css.map"
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
92
|
}
|
|
@@ -114,7 +114,7 @@ const Dialog = ({
|
|
|
114
114
|
}, /*#__PURE__*/_react.default.createElement("section", {
|
|
115
115
|
className: `dialogContent ${customCssClasses?.content || ''}`,
|
|
116
116
|
tabIndex: 0
|
|
117
|
-
}, children), /*#__PURE__*/_react.default.createElement("div", {
|
|
117
|
+
}, children), footer && /*#__PURE__*/_react.default.createElement("div", {
|
|
118
118
|
className: `dialogFooter ${customCssClasses?.footer || ''}`,
|
|
119
119
|
tabIndex: 0
|
|
120
120
|
}, typeof footer === 'string' ? /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","names":["Object","defineProperty","exports","value","Dialog","_react","_interopRequireWildcard","require","_index","_SvgIcon","_tooltip","_DialogOverlay","_FocusTrap","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","id","size","position","animation","scrollBehaviour","onClose","open","overlay","header","footer","children","screenReaderInstruction","customCssClasses","showFocusOutline","isOpen","setIsOpen","useState","dialogElement","useRef","dialogHeaderElement","TOGGLE_TEXT","dialogCloseButton","createOverlay","removeOverlay","useDialogOverlay","useFocusTrap","HandleClose","dialogCssClass","useMemo","dialog","useCallback","HandleOpen","dialogOverlay","showOverlay","useEffect","current","focus","DialogCloseButton","createElement","ref","className","title","type","onClick","SvgIcon","svgDefinition","xmarkLarge","role","tabIndex","EllipsisTooltip","lineClamp","tooltipProps","customCssClass","content"],"sources":["../../../../../src/components/design/dialog/Dialog.tsx"],"sourcesContent":["/* eslint-disable jsxA11y/no-noninteractive-tabindex */\n'use client';\n\nimport React, { ReactNode, useCallback, useEffect, useRef, useState, useMemo } from 'react';\nimport { xmarkLarge } from '@x15ventures/x15-ui-library-icons/iconDefinitions/index';\nimport { SvgIcon } from '@x15ventures/x15-ui-library-icons/svgIcon/SvgIcon';\nimport { EllipsisTooltip } from '../tooltip';\nimport { GenericFunction } from '../../../interfaces';\nimport { useDialogOverlay } from '../../../hooks/DialogOverlay';\nimport { useFocusTrap } from '../../../hooks/FocusTrap';\n\nimport './dialog.scss';\n\nexport interface DialogInterface {\n id: string;\n size?: 'xs' | 's' | 'm' | 'l' | 'xl' | 'dynamic';\n position?: 'left' | 'right' | 'top' | 'bottom' | 'center' | 'topleft' | 'topright' | 'bottomleft' | 'bottomright';\n animation?: 'none' | 'grow' | 'reveal';\n scrollBehaviour?: 'contentOnly' | 'contentAndFooter' | 'all';\n onClose: GenericFunction;\n open?: boolean;\n overlay?: {\n parentNode?: HTMLElement;\n customCssClass?: string;\n };\n header: string | ReactNode;\n footer?: string | ReactNode;\n children: ReactNode;\n screenReaderInstruction?: string;\n showFocusOutline?: boolean;\n customCssClasses?: {\n dialog?: string;\n content?: string;\n header?: string;\n footer?: string;\n };\n}\n\nexport const Dialog: React.FC<DialogInterface> = ({\n id,\n size = 'm',\n position = 'center',\n animation = 'none',\n scrollBehaviour = 'contentOnly',\n onClose = () => {},\n open = false,\n overlay,\n header,\n footer,\n children,\n screenReaderInstruction = `The following content is in a dialog. \n You can press the Tab key to navigate through the elements, and press Escape to close the dialog.`,\n customCssClasses,\n showFocusOutline = false,\n}) => {\n const [isOpen, setIsOpen] = useState<boolean>(open);\n const dialogElement = useRef<HTMLDivElement>(null);\n const dialogHeaderElement = useRef<HTMLDivElement>(null);\n\n const TOGGLE_TEXT = 'Open and close dialog';\n const dialogCloseButton = useRef(null);\n\n const { createOverlay, removeOverlay } = useDialogOverlay(overlay || {});\n useFocusTrap(dialogElement, () => HandleClose());\n\n const dialogCssClass = useMemo(() => {\n return `dialog \n ${ isOpen || open ? 'isOpen' : '' }\n dialogSize_${ size }\n dialogPosition_${ position }\n dialogAnimation_${ animation }\n dialogScrollBehaviour_${ scrollBehaviour }\n ${ size === 'dynamic' ? 'dialogSize_dynamic' : '' }\n ${ customCssClasses?.dialog || '' }\n ${ showFocusOutline ? 'showFocusOutline' : '' }`;\n }, [open, isOpen, size, position, animation, scrollBehaviour, customCssClasses, showFocusOutline]);\n\n const HandleClose = useCallback(() => {\n setIsOpen(false);\n removeOverlay();\n onClose();\n }, [onClose, removeOverlay]);\n\n const HandleOpen = useCallback(() => {\n const dialogOverlay = createOverlay();\n dialogOverlay.showOverlay();\n }, [createOverlay]);\n\n useEffect(() => {\n if (open || isOpen) {\n if (dialogHeaderElement.current) {\n dialogHeaderElement.current.focus();\n }\n HandleOpen();\n } else {\n HandleClose();\n }\n }, [customCssClasses, createOverlay, open, isOpen, HandleOpen, HandleClose, dialogHeaderElement]);\n\n const DialogCloseButton: React.FC = () => (\n <button\n ref={ dialogCloseButton }\n className=\"dialogClose\"\n title={ TOGGLE_TEXT }\n type=\"button\"\n onClick={ () => HandleClose() }\n >\n <SvgIcon svgDefinition={ xmarkLarge } />\n <span className=\"sr-only\">Close dialog</span>\n </button>\n );\n\n return (\n <div\n className={ dialogCssClass }\n role=\"dialog\"\n aria-labelledby={ `dialogHeader_${ id }` }\n tabIndex={ 0 }\n aria-describedby={ `dialogSRInstruction_${ id }` }\n aria-modal=\"true\"\n ref={ dialogElement }\n >\n <div className=\"dialogFullScroller\">\n <div\n ref={ dialogHeaderElement }\n id={ `dialogHeader_${ id }` }\n className={ `dialogHeader ${ customCssClasses?.header || '' }` }\n tabIndex={ 0 }\n >\n <span id={ `dialogSRInstruction_${ id }` } className=\"sr-only\">\n { screenReaderInstruction }\n </span>\n <div className=\"dialogHeaderTextWrapper\">\n <EllipsisTooltip \n lineClamp={ 2 } \n tooltipProps={ { \n customCssClass: 'shiftDown large dialogEllipsisTooltip'\n } }\n >\n { typeof header === 'string' ? <span className=\"dialogHeaderText\">{ header }</span> : header }\n </EllipsisTooltip>\n </div>\n <DialogCloseButton />\n </div>\n\n <div className=\"dialogContentAndFooterScroller\">\n <section className={ `dialogContent ${ customCssClasses?.content || '' }` } tabIndex={ 0 }>\n { children }\n </section>\n\n <div className={ `dialogFooter ${ customCssClasses?.footer || '' }` } tabIndex={ 0 }>\n { typeof footer === 'string' ? <span className=\"dialogFooterText\">{ footer }</span> : footer }\n </div>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Dialog.js","names":["Object","defineProperty","exports","value","Dialog","_react","_interopRequireWildcard","require","_index","_SvgIcon","_tooltip","_DialogOverlay","_FocusTrap","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","id","size","position","animation","scrollBehaviour","onClose","open","overlay","header","footer","children","screenReaderInstruction","customCssClasses","showFocusOutline","isOpen","setIsOpen","useState","dialogElement","useRef","dialogHeaderElement","TOGGLE_TEXT","dialogCloseButton","createOverlay","removeOverlay","useDialogOverlay","useFocusTrap","HandleClose","dialogCssClass","useMemo","dialog","useCallback","HandleOpen","dialogOverlay","showOverlay","useEffect","current","focus","DialogCloseButton","createElement","ref","className","title","type","onClick","SvgIcon","svgDefinition","xmarkLarge","role","tabIndex","EllipsisTooltip","lineClamp","tooltipProps","customCssClass","content"],"sources":["../../../../../src/components/design/dialog/Dialog.tsx"],"sourcesContent":["/* eslint-disable jsxA11y/no-noninteractive-tabindex */\n'use client';\n\nimport React, { ReactNode, useCallback, useEffect, useRef, useState, useMemo } from 'react';\nimport { xmarkLarge } from '@x15ventures/x15-ui-library-icons/iconDefinitions/index';\nimport { SvgIcon } from '@x15ventures/x15-ui-library-icons/svgIcon/SvgIcon';\nimport { EllipsisTooltip } from '../tooltip';\nimport { GenericFunction } from '../../../interfaces';\nimport { useDialogOverlay } from '../../../hooks/DialogOverlay';\nimport { useFocusTrap } from '../../../hooks/FocusTrap';\n\nimport './dialog.scss';\n\nexport interface DialogInterface {\n id: string;\n size?: 'xs' | 's' | 'm' | 'l' | 'xl' | 'dynamic';\n position?: 'left' | 'right' | 'top' | 'bottom' | 'center' | 'topleft' | 'topright' | 'bottomleft' | 'bottomright';\n animation?: 'none' | 'grow' | 'reveal';\n scrollBehaviour?: 'contentOnly' | 'contentAndFooter' | 'all';\n onClose: GenericFunction;\n open?: boolean;\n overlay?: {\n parentNode?: HTMLElement;\n customCssClass?: string;\n };\n header: string | ReactNode;\n footer?: string | ReactNode;\n children: ReactNode;\n screenReaderInstruction?: string;\n showFocusOutline?: boolean;\n customCssClasses?: {\n dialog?: string;\n content?: string;\n header?: string;\n footer?: string;\n };\n}\n\nexport const Dialog: React.FC<DialogInterface> = ({\n id,\n size = 'm',\n position = 'center',\n animation = 'none',\n scrollBehaviour = 'contentOnly',\n onClose = () => {},\n open = false,\n overlay,\n header,\n footer,\n children,\n screenReaderInstruction = `The following content is in a dialog. \n You can press the Tab key to navigate through the elements, and press Escape to close the dialog.`,\n customCssClasses,\n showFocusOutline = false,\n}) => {\n const [isOpen, setIsOpen] = useState<boolean>(open);\n const dialogElement = useRef<HTMLDivElement>(null);\n const dialogHeaderElement = useRef<HTMLDivElement>(null);\n\n const TOGGLE_TEXT = 'Open and close dialog';\n const dialogCloseButton = useRef(null);\n\n const { createOverlay, removeOverlay } = useDialogOverlay(overlay || {});\n useFocusTrap(dialogElement, () => HandleClose());\n\n const dialogCssClass = useMemo(() => {\n return `dialog \n ${ isOpen || open ? 'isOpen' : '' }\n dialogSize_${ size }\n dialogPosition_${ position }\n dialogAnimation_${ animation }\n dialogScrollBehaviour_${ scrollBehaviour }\n ${ size === 'dynamic' ? 'dialogSize_dynamic' : '' }\n ${ customCssClasses?.dialog || '' }\n ${ showFocusOutline ? 'showFocusOutline' : '' }`;\n }, [open, isOpen, size, position, animation, scrollBehaviour, customCssClasses, showFocusOutline]);\n\n const HandleClose = useCallback(() => {\n setIsOpen(false);\n removeOverlay();\n onClose();\n }, [onClose, removeOverlay]);\n\n const HandleOpen = useCallback(() => {\n const dialogOverlay = createOverlay();\n dialogOverlay.showOverlay();\n }, [createOverlay]);\n\n useEffect(() => {\n if (open || isOpen) {\n if (dialogHeaderElement.current) {\n dialogHeaderElement.current.focus();\n }\n HandleOpen();\n } else {\n HandleClose();\n }\n }, [customCssClasses, createOverlay, open, isOpen, HandleOpen, HandleClose, dialogHeaderElement]);\n\n const DialogCloseButton: React.FC = () => (\n <button\n ref={ dialogCloseButton }\n className=\"dialogClose\"\n title={ TOGGLE_TEXT }\n type=\"button\"\n onClick={ () => HandleClose() }\n >\n <SvgIcon svgDefinition={ xmarkLarge } />\n <span className=\"sr-only\">Close dialog</span>\n </button>\n );\n\n return (\n <div\n className={ dialogCssClass }\n role=\"dialog\"\n aria-labelledby={ `dialogHeader_${ id }` }\n tabIndex={ 0 }\n aria-describedby={ `dialogSRInstruction_${ id }` }\n aria-modal=\"true\"\n ref={ dialogElement }\n >\n <div className=\"dialogFullScroller\">\n <div\n ref={ dialogHeaderElement }\n id={ `dialogHeader_${ id }` }\n className={ `dialogHeader ${ customCssClasses?.header || '' }` }\n tabIndex={ 0 }\n >\n <span id={ `dialogSRInstruction_${ id }` } className=\"sr-only\">\n { screenReaderInstruction }\n </span>\n <div className=\"dialogHeaderTextWrapper\">\n <EllipsisTooltip \n lineClamp={ 2 } \n tooltipProps={ { \n customCssClass: 'shiftDown large dialogEllipsisTooltip'\n } }\n >\n { typeof header === 'string' ? <span className=\"dialogHeaderText\">{ header }</span> : header }\n </EllipsisTooltip>\n </div>\n <DialogCloseButton />\n </div>\n\n <div className=\"dialogContentAndFooterScroller\">\n <section className={ `dialogContent ${ customCssClasses?.content || '' }` } tabIndex={ 0 }>\n { children }\n </section>\n\n {\n footer && (\n <div className={ `dialogFooter ${ customCssClasses?.footer || '' }` } tabIndex={ 0 }>\n { typeof footer === 'string' ? <span className=\"dialogFooterText\">{ footer }</span> : footer }\n </div>\n )\n }\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ const HeaderBar = ({
|
|
|
19
19
|
rightIcon,
|
|
20
20
|
buttons,
|
|
21
21
|
notificationIcon,
|
|
22
|
+
headingLevel = 2,
|
|
22
23
|
children
|
|
23
24
|
}) => {
|
|
24
25
|
const headerCssClass = `headerBar
|
|
@@ -26,9 +27,10 @@ const HeaderBar = ({
|
|
|
26
27
|
${rightIcon ? 'withRightIcon' : ''}
|
|
27
28
|
${notificationIcon ? 'withNotification' : ''}
|
|
28
29
|
`;
|
|
30
|
+
const Heading = `h${headingLevel}`;
|
|
29
31
|
return /*#__PURE__*/_react.default.createElement("header", {
|
|
30
32
|
className: headerCssClass
|
|
31
|
-
}, leftIcon && /*#__PURE__*/_react.default.createElement(_Icon.Icon, leftIcon), text && /*#__PURE__*/_react.default.createElement(
|
|
33
|
+
}, leftIcon && /*#__PURE__*/_react.default.createElement(_Icon.Icon, leftIcon), text && /*#__PURE__*/_react.default.createElement(Heading, null, text), children, buttons && /*#__PURE__*/_react.default.createElement("div", {
|
|
32
34
|
className: "headerButtons"
|
|
33
35
|
}, buttons.map(button => {
|
|
34
36
|
if (button.kind === 'notifications') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderBar.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","HeaderBar","_extends2","_react","_Icon","_NotificationIcon","_SimpleButton","_NotificationsButton","text","leftIcon","rightIcon","buttons","notificationIcon","children","headerCssClass","default","createElement","className","Icon","map","button","kind","NotificationsButton","key","id","SimpleButton","NotificationIcon"],"sources":["../../../../../src/components/design/headerBar/HeaderBar.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { HeaderTextInterface } from '../../../interfaces/headerText.interface';\nimport { Icon } from '../icons/basicIcon/Icon';\nimport { NotificationIcon } from '../icons/notificationIcon/NotificationIcon';\nimport { SimpleButton } from '../../form/buttons/SimpleButton';\nimport { NotificationsButton } from '../../form/buttons/notificationsButton/NotificationsButton';\nimport { ButtonProps } from '../../form/buttons/button.interface';\n\nimport './headerBar.scss';\n\nexport const HeaderBar: React.FC<HeaderTextInterface> = (\n {\n text,\n leftIcon,\n rightIcon,\n buttons,\n notificationIcon,\n children\n }\n) => {\n const headerCssClass = `headerBar \n ${ leftIcon ? 'withLeftIcon' : '' }\n ${ rightIcon ? 'withRightIcon' : '' }\n ${ notificationIcon ? 'withNotification' : '' }\n `;\n\n return (\n <header className={ headerCssClass }>\n {\n leftIcon && <Icon { ...leftIcon } />\n }\n\n {\n text && <
|
|
1
|
+
{"version":3,"file":"HeaderBar.js","names":["_interopRequireDefault","require","Object","defineProperty","exports","value","HeaderBar","_extends2","_react","_Icon","_NotificationIcon","_SimpleButton","_NotificationsButton","text","leftIcon","rightIcon","buttons","notificationIcon","headingLevel","children","headerCssClass","Heading","default","createElement","className","Icon","map","button","kind","NotificationsButton","key","id","SimpleButton","NotificationIcon"],"sources":["../../../../../src/components/design/headerBar/HeaderBar.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { HeaderTextInterface } from '../../../interfaces/headerText.interface';\nimport { Icon } from '../icons/basicIcon/Icon';\nimport { NotificationIcon } from '../icons/notificationIcon/NotificationIcon';\nimport { SimpleButton } from '../../form/buttons/SimpleButton';\nimport { NotificationsButton } from '../../form/buttons/notificationsButton/NotificationsButton';\nimport { ButtonProps } from '../../form/buttons/button.interface';\n\nimport './headerBar.scss';\n\ntype HeadingLevel = NonNullable<HeaderTextInterface['headingLevel']>;\ntype HeadingTag = `h${ HeadingLevel }`;\n\nexport const HeaderBar: React.FC<HeaderTextInterface> = (\n {\n text,\n leftIcon,\n rightIcon,\n buttons,\n notificationIcon,\n headingLevel = 2,\n children\n }\n) => {\n const headerCssClass = `headerBar \n ${ leftIcon ? 'withLeftIcon' : '' }\n ${ rightIcon ? 'withRightIcon' : '' }\n ${ notificationIcon ? 'withNotification' : '' }\n `;\n const Heading: HeadingTag = `h${ headingLevel }`;\n\n return (\n <header className={ headerCssClass }>\n {\n leftIcon && <Icon { ...leftIcon } />\n }\n\n {\n text && <Heading>{ text }</Heading>\n }\n\n { children }\n\n {\n buttons\n && (\n <div className=\"headerButtons\">\n {\n buttons.map((button) => {\n if (button.kind === 'notifications') {\n return <NotificationsButton key={ button.id } { ...button } />;\n }\n return <SimpleButton key={ button.id } { ...(button as ButtonProps) } />;\n })\n }\n </div>\n )\n }\n\n {\n rightIcon && <Icon { ...rightIcon } />\n }\n\n {\n notificationIcon && <NotificationIcon { ...notificationIcon } />\n }\n </header>\n );\n};\n"],"mappings":";AAAA,YAAY;;AAAC,IAAAA,sBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,cAAA,CAAAC,OAAA;EAAAC,KAAA;AAAA;AAAAD,OAAA,CAAAE,SAAA;AAAA,IAAAC,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEb,IAAAO,MAAA,GAAAR,sBAAA,CAAAC,OAAA;AAEA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,iBAAA,GAAAT,OAAA;AACA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,oBAAA,GAAAX,OAAA;AAGAA,OAAA;AAKO,MAAMK,SAAwC,GAAGA,CACtD;EACEO,IAAI;EACJC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC,gBAAgB;EAChBC,YAAY,GAAG,CAAC;EAChBC;AACF,CAAC,KACE;EACH,MAAMC,cAAc,GAAG;AACzB,MAAON,QAAQ,GAAG,cAAc,GAAG,EAAE;AACrC,MAAOC,SAAS,GAAG,eAAe,GAAG,EAAE;AACvC,MAAOE,gBAAgB,GAAG,kBAAkB,GAAG,EAAE;AACjD,KAAK;EACH,MAAMI,OAAmB,GAAG,IAAKH,YAAY,EAAG;EAEhD,oBACEV,MAAA,CAAAc,OAAA,CAAAC,aAAA;IAAQC,SAAS,EAAGJ;EAAgB,GAEhCN,QAAQ,iBAAIN,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACd,KAAA,CAAAgB,IAAI,EAAMX,QAAY,CAAC,EAIpCD,IAAI,iBAAIL,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACF,OAAO,QAAGR,IAAe,CAAC,EAGnCM,QAAQ,EAGRH,OAAO,iBAELR,MAAA,CAAAc,OAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAe,GAE1BR,OAAO,CAACU,GAAG,CAAEC,MAAM,IAAK;IACtB,IAAIA,MAAM,CAACC,IAAI,KAAK,eAAe,EAAE;MACnC,oBAAOpB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACX,oBAAA,CAAAiB,mBAAmB,MAAAtB,SAAA,CAAAe,OAAA;QAACQ,GAAG,EAAGH,MAAM,CAACI;MAAI,GAAMJ,MAAM,CAAI,CAAC;IAChE;IACA,oBAAOnB,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACZ,aAAA,CAAAqB,YAAY,MAAAzB,SAAA,CAAAe,OAAA;MAACQ,GAAG,EAAGH,MAAM,CAACI;IAAI,GAAOJ,MAAM,CAAoB,CAAC;EAC1E,CAAC,CAEA,CACN,EAIDZ,SAAS,iBAAIP,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACd,KAAA,CAAAgB,IAAI,EAAMV,SAAa,CAAC,EAItCE,gBAAgB,iBAAIT,MAAA,CAAAc,OAAA,CAAAC,aAAA,CAACb,iBAAA,CAAAuB,gBAAgB,EAAMhB,gBAAoB,CAE3D,CAAC;AAEb,CAAC;AAACb,OAAA,CAAAE,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -25,7 +25,8 @@ const FormField = ({
|
|
|
25
25
|
validation,
|
|
26
26
|
customContent,
|
|
27
27
|
customCssClasses,
|
|
28
|
-
separateLabelAndField = false
|
|
28
|
+
separateLabelAndField = false,
|
|
29
|
+
formContext
|
|
29
30
|
}) => {
|
|
30
31
|
const [isTouched, setIsTouched] = (0, _react.useState)(false);
|
|
31
32
|
const wrapperCssClass = `
|
|
@@ -70,9 +71,9 @@ const FormField = ({
|
|
|
70
71
|
case 'select':
|
|
71
72
|
return /*#__PURE__*/_react.default.createElement(_Select.Select, fieldProps);
|
|
72
73
|
case 'checkbox':
|
|
73
|
-
|
|
74
|
+
throw new Error('Checkboxes require special handling. Please use the InputCheckbox component instead.');
|
|
74
75
|
case 'file':
|
|
75
|
-
|
|
76
|
+
throw new Error('File inputs require special handling. Please use the DragAndDropFileUpload component instead.');
|
|
76
77
|
case 'password':
|
|
77
78
|
return /*#__PURE__*/_react.default.createElement(_InputText.InputText, fieldProps);
|
|
78
79
|
case 'date':
|
|
@@ -91,7 +92,9 @@ const FormField = ({
|
|
|
91
92
|
isRequired: validation && typeof validation.required !== 'undefined',
|
|
92
93
|
customContent
|
|
93
94
|
};
|
|
94
|
-
return /*#__PURE__*/_react.default.createElement(_HookFormWrapper.HookFormWrapper,
|
|
95
|
+
return /*#__PURE__*/_react.default.createElement(_HookFormWrapper.HookFormWrapper, {
|
|
96
|
+
formContext: formContext
|
|
97
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
95
98
|
className: wrapperCssClass,
|
|
96
99
|
title: wrapperHoverText()
|
|
97
100
|
}, /*#__PURE__*/_react.default.createElement("label", {
|
|
@@ -100,7 +103,7 @@ const FormField = ({
|
|
|
100
103
|
htmlFor: field.id
|
|
101
104
|
}, (!label?.position || label.position === 'left' || separateLabelAndField) && /*#__PURE__*/_react.default.createElement(_FormFieldLabel.FormFieldLabel, labelProps), !separateLabelAndField && /*#__PURE__*/_react.default.createElement("span", {
|
|
102
105
|
className: "inputContainer"
|
|
103
|
-
}, getFieldElement(), label?.position === 'inset' && /*#__PURE__*/_react.default.createElement(_FormFieldLabel.FormFieldLabel, labelProps)), label?.position === 'right' && /*#__PURE__*/_react.default.createElement(_FormFieldLabel.FormFieldLabel, labelProps), showSpinner && /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null),
|
|
106
|
+
}, getFieldElement(), label?.position === 'inset' && /*#__PURE__*/_react.default.createElement(_FormFieldLabel.FormFieldLabel, labelProps)), label?.position === 'right' && /*#__PURE__*/_react.default.createElement(_FormFieldLabel.FormFieldLabel, labelProps), showSpinner && /*#__PURE__*/_react.default.createElement(_Spinner.Spinner, null), /*#__PURE__*/_react.default.createElement(_ValidationMessages.ValidationMessages, {
|
|
104
107
|
name: field.name,
|
|
105
108
|
validation: validation
|
|
106
109
|
})), separateLabelAndField && /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormField.js","names":["Object","defineProperty","exports","value","default","FormField","_react","_interopRequireWildcard","require","_HookFormWrapper","_FormFieldLabel","_InputText","_ValidationMessages","_Spinner","_InputSearch","_InputDate","_Select","_Textarea","_Autocomplete","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","label","field","layout","showSpinner","validation","customContent","customCssClasses","separateLabelAndField","isTouched","setIsTouched","useState","wrapperCssClass","type","wrapper","position","wrapperHoverText","hide","undefined","placeholder","text","getFieldElement","fieldType","toLowerCase","fieldProps","defaultValue","onTouched","createElement","Textarea","Select","Error","InputText","InputDate","InputSearch","Autocomplete","labelProps","inputId","id","isRequired","required","HookFormWrapper","className","title","labelId","htmlFor","FormFieldLabel","Spinner","ValidationMessages","name","_default"],"sources":["../../../../../../src/components/form/formFields/formFieldWrapper/FormField.tsx"],"sourcesContent":["'use client';\n\nimport React, { ReactNode, useState } from 'react';\nimport { HookFormWrapper } from '../../hookFormWrapper/HookFormWrapper';\nimport { FormFieldLabel } from '../subComponents/labels/FormFieldLabel';\nimport { FormFieldProps } from './formFieldProps';\nimport { InputText } from '../subComponents/inputs/text/InputText';\nimport { ValidationMessages } from '../../validation/ValidationMessages';\nimport { Spinner } from '../../../design/spinner/Spinner';\nimport { InputSearch } from '../subComponents/inputs/search/InputSearch';\nimport { InputDate } from '../subComponents/inputs/date/InputDate';\nimport { Select } from '../subComponents/select/Select';\nimport { Textarea } from '../subComponents/textarea/Textarea';\nimport { Autocomplete } from '../subComponents/inputs/autocomplete/Autocomplete';\n\nexport const FormField: React.FC<FormFieldProps> = (\n {\n label,\n field,\n layout = 'stacked',\n showSpinner,\n validation,\n customContent,\n customCssClasses,\n separateLabelAndField = false\n }\n) => {\n const [isTouched, setIsTouched] = useState(false);\n\n const wrapperCssClass = `\n formField \n ${ layout } \n ${ field.type }_Field \n ${ customCssClasses?.wrapper || '' } \n ${ isTouched ? 'touched' : '' } \n ${ typeof validation !== 'undefined' ? 'withValidation' : '' } \n ${ label?.position === 'inset' ? 'insetLabel' : '' }\n `;\n\n const wrapperHoverText = (): string | undefined => {\n if (!label.hide) {\n return undefined;\n }\n\n if (field.placeholder) {\n return field.placeholder;\n }\n\n if (typeof label.text === 'string') {\n return label.text;\n }\n\n return undefined;\n };\n\n const getFieldElement = () => {\n const fieldType = field.type.toLowerCase();\n const fieldProps = {\n field: {\n ...field,\n ...(fieldType !== 'checkbox' ? { defaultValue: field.defaultValue || '' } : {}),\n onTouched: () => setIsTouched(true)\n },\n label,\n showSpinner,\n validation,\n customContent\n };\n\n switch (fieldType) {\n case 'textarea':\n return <Textarea { ...fieldProps } />;\n case 'select':\n return <Select { ...fieldProps } />;\n case 'checkbox':\n return new Error('Checkboxes require special handling. Please use the InputCheckbox component instead.');\n case 'file':\n return new Error('File inputs require special handling. Please use the DragAndDropFileUpload component instead.');\n case 'password':\n return <InputText { ...fieldProps } />;\n case 'date':\n return <InputDate { ...fieldProps } />;\n case 'search':\n return <InputSearch { ...fieldProps } />;\n case 'combobox':\n return <Autocomplete { ...fieldProps } />;\n default:\n return <InputText { ...fieldProps } />;\n }\n };\n\n const labelProps = {\n ...label,\n inputId: field.id,\n isRequired: validation && typeof validation.required !== 'undefined',\n customContent\n };\n\n return (\n <HookFormWrapper>\n <div\n className={ wrapperCssClass }\n title={ wrapperHoverText() }\n >\n <label\n id={ label.labelId || `${ field.id }_label` }\n className={ `${ customCssClasses?.label || '' } ${ showSpinner ? 'withSpinner' : '' } ${ label.hide ? 'hiddenLabel' : '' }` }\n htmlFor={ field.id }\n >\n\n { (!label?.position || label.position === 'left' || separateLabelAndField)\n && <FormFieldLabel { ...labelProps } /> }\n\n {\n !separateLabelAndField && (\n <span className=\"inputContainer\">\n {\n getFieldElement() as ReactNode\n }\n { label?.position === 'inset'\n && <FormFieldLabel { ...labelProps } /> }\n </span>\n )\n }\n\n { label?.position === 'right'\n && <FormFieldLabel { ...labelProps } /> }\n\n {\n showSpinner && <Spinner />\n }\n\n { field.type !== 'textarea' && <ValidationMessages name={ field.name } validation={ validation } /> }\n </label>\n\n {\n separateLabelAndField && (\n <div className=\"inputContainer\">\n {\n getFieldElement() as ReactNode\n }\n </div>\n )\n }\n </div>\n </HookFormWrapper>\n );\n};\n\nexport default FormField;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormField.js","names":["Object","defineProperty","exports","value","default","FormField","_react","_interopRequireWildcard","require","_HookFormWrapper","_FormFieldLabel","_InputText","_ValidationMessages","_Spinner","_InputSearch","_InputDate","_Select","_Textarea","_Autocomplete","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","label","field","layout","showSpinner","validation","customContent","customCssClasses","separateLabelAndField","formContext","isTouched","setIsTouched","useState","wrapperCssClass","type","wrapper","position","wrapperHoverText","hide","undefined","placeholder","text","getFieldElement","fieldType","toLowerCase","fieldProps","defaultValue","onTouched","createElement","Textarea","Select","Error","InputText","InputDate","InputSearch","Autocomplete","labelProps","inputId","id","isRequired","required","HookFormWrapper","className","title","labelId","htmlFor","FormFieldLabel","Spinner","ValidationMessages","name","_default"],"sources":["../../../../../../src/components/form/formFields/formFieldWrapper/FormField.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState } from 'react';\nimport { HookFormWrapper } from '../../hookFormWrapper/HookFormWrapper';\nimport { FormFieldLabel } from '../subComponents/labels/FormFieldLabel';\nimport { FormFieldProps } from './formFieldProps';\nimport { InputText } from '../subComponents/inputs/text/InputText';\nimport { ValidationMessages } from '../../validation/ValidationMessages';\nimport { Spinner } from '../../../design/spinner/Spinner';\nimport { InputSearch } from '../subComponents/inputs/search/InputSearch';\nimport { InputDate } from '../subComponents/inputs/date/InputDate';\nimport { Select } from '../subComponents/select/Select';\nimport { Textarea } from '../subComponents/textarea/Textarea';\nimport { Autocomplete } from '../subComponents/inputs/autocomplete/Autocomplete';\n\nexport const FormField: React.FC<FormFieldProps> = (\n {\n label,\n field,\n layout = 'stacked',\n showSpinner,\n validation,\n customContent,\n customCssClasses,\n separateLabelAndField = false,\n formContext\n }\n) => {\n const [isTouched, setIsTouched] = useState(false);\n\n const wrapperCssClass = `\n formField \n ${ layout } \n ${ field.type }_Field \n ${ customCssClasses?.wrapper || '' } \n ${ isTouched ? 'touched' : '' } \n ${ typeof validation !== 'undefined' ? 'withValidation' : '' } \n ${ label?.position === 'inset' ? 'insetLabel' : '' }\n `;\n\n const wrapperHoverText = (): string | undefined => {\n if (!label.hide) {\n return undefined;\n }\n\n if (field.placeholder) {\n return field.placeholder;\n }\n\n if (typeof label.text === 'string') {\n return label.text;\n }\n\n return undefined;\n };\n\n const getFieldElement = () => {\n const fieldType = field.type.toLowerCase();\n const fieldProps = {\n field: {\n ...field,\n ...(fieldType !== 'checkbox' ? { defaultValue: field.defaultValue || '' } : {}),\n onTouched: () => setIsTouched(true)\n },\n label,\n showSpinner,\n validation,\n customContent\n };\n\n switch (fieldType) {\n case 'textarea':\n return <Textarea { ...fieldProps } />;\n case 'select':\n return <Select { ...fieldProps } />;\n case 'checkbox':\n throw new Error('Checkboxes require special handling. Please use the InputCheckbox component instead.');\n case 'file':\n throw new Error('File inputs require special handling. Please use the DragAndDropFileUpload component instead.');\n case 'password':\n return <InputText { ...fieldProps } />;\n case 'date':\n return <InputDate { ...fieldProps } />;\n case 'search':\n return <InputSearch { ...fieldProps } />;\n case 'combobox':\n return <Autocomplete { ...fieldProps } />;\n default:\n return <InputText { ...fieldProps } />;\n }\n };\n\n const labelProps = {\n ...label,\n inputId: field.id,\n isRequired: validation && typeof validation.required !== 'undefined',\n customContent\n };\n\n return (\n <HookFormWrapper formContext={ formContext }>\n <div\n className={ wrapperCssClass }\n title={ wrapperHoverText() }\n >\n <label\n id={ label.labelId || `${ field.id }_label` }\n className={ `${ customCssClasses?.label || '' } ${ showSpinner ? 'withSpinner' : '' } ${ label.hide ? 'hiddenLabel' : '' }` }\n htmlFor={ field.id }\n >\n\n { (!label?.position || label.position === 'left' || separateLabelAndField)\n && <FormFieldLabel { ...labelProps } /> }\n\n {\n !separateLabelAndField && (\n <span className=\"inputContainer\">\n {\n getFieldElement()\n }\n { label?.position === 'inset'\n && <FormFieldLabel { ...labelProps } /> }\n </span>\n )\n }\n\n { label?.position === 'right'\n && <FormFieldLabel { ...labelProps } /> }\n\n {\n showSpinner && <Spinner />\n }\n\n <ValidationMessages name={ field.name } validation={ validation } />\n </label>\n\n {\n separateLabelAndField && (\n <div className=\"inputContainer\">\n {\n getFieldElement()\n }\n </div>\n )\n }\n </div>\n </HookFormWrapper>\n );\n};\n\nexport default FormField;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formFieldProps.js","names":[],"sources":["../../../../../../src/components/form/formFields/formFieldWrapper/formFieldProps.ts"],"sourcesContent":["/* eslint-disable no-unused-vars */\n\nimport {\n ChangeEvent
|
|
1
|
+
{"version":3,"file":"formFieldProps.js","names":[],"sources":["../../../../../../src/components/form/formFields/formFieldWrapper/formFieldProps.ts"],"sourcesContent":["/* eslint-disable no-unused-vars */\n\nimport {\n ChangeEvent,\n ChangeEventHandler,\n FormEventHandler,\n KeyboardEvent,\n ReactElement,\n ReactEventHandler,\n ReactNode,\n} from 'react';\n\nimport type {\n InputHTMLAttributes,\n SelectHTMLAttributes,\n TextareaHTMLAttributes,\n} from 'react';\n\nimport {\n FieldValues,\n Message,\n UseFormReturn,\n Validate,\n ValidationRule\n} from 'react-hook-form';\nimport { GenericFunction } from '../../../../interfaces';\nimport { KeyboardEventHandler } from '../../../../interfaces/generic.interface';\n\n/**\n * Custom content props for additional elements around the label or field.\n */\nexport interface CustomContentProps {\n /** Element or text to display before the label. */\n preLabel?: ReactElement | string;\n /** Element or text to display after the label. */\n postLabel?: ReactElement | string;\n /** Element or text to display before the field. */\n preField?: ReactElement | string;\n /** Element or text to display after the field. */\n postField?: ReactElement | string;\n}\n\n/**\n * Props for the label element.\n */\nexport interface LabelProps {\n /** Text or element for the label. */\n text: string | ReactNode | ReactElement;\n /** The ID of the input the label is associated with. */\n inputId?: string;\n /** The ID of the label element. */\n labelId?: string;\n /** Whether to hide the label visually. */\n hide?: boolean;\n /** Position of the label relative to the field. */\n position?: 'inset' | 'left' | 'right' | string;\n /** Tooltip for the label. */\n labelTooltip?: {\n /** Text for the tooltip. */\n text: string;\n /** Optional icon for the tooltip. */\n icon?: ReactElement | string;\n };\n /** Screen reader instructions for the label. */\n srInstruction?: string;\n /** Whether the field is required. */\n isRequired?: boolean;\n /** Custom content for the label. */\n customContent?: CustomContentProps;\n}\n\n/**\n * Type for a single select option.\n */\nexport type SelectOptionObjectType = {\n /** Label of the option. */\n label: string;\n /** Value of the option. */\n value: string | number | boolean;\n};\n\n/**\n * Type for select options, which can be an object or string.\n */\nexport type SelectOptionType = SelectOptionObjectType | string;\n\n/**\n * Type for a single combobox (autocomplete) option.\n */\nexport type ComboboxOptionObjectType = {\n /** Label of the option. */\n label: string;\n /** Value of the option. */\n value: string | number | boolean;\n /** Additional data associated with the option. */\n data?: Record<string, unknown>;\n};\n\nexport type ComboboxOption = ComboboxOptionObjectType | string;\n\n// Everything we want to *override* with our own definitions in FieldProps\nexport type OverriddenKeys =\n | 'type'\n | 'id'\n | 'name'\n | 'placeholder'\n | 'defaultValue'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'disabled'\n | 'readOnly'\n | 'min'\n | 'max';\n\n// All the native props we want to mix in, minus the ones we override\nexport type NativeFieldProps =\n & Omit<InputHTMLAttributes<HTMLInputElement>, OverriddenKeys>\n & Omit<SelectHTMLAttributes<HTMLSelectElement>, OverriddenKeys>\n & Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, OverriddenKeys>;\n\n/**\n * Props for the field element.\n */\nexport interface FieldProps extends NativeFieldProps {\n /** The type of the input field. */\n type: string;\n /** The ID of the input field. */\n id: string;\n /** The name of the input field. */\n name: string;\n /** Placeholder text for the input field. */\n placeholder?: string;\n /** Default value for the input field. */\n defaultValue?: string | number | readonly string[];\n /** Handler for the change event. */\n onChange?: ChangeEventHandler | ((\n event: ChangeEvent<HTMLInputElement> | KeyboardEvent<HTMLSelectElement> | KeyboardEvent<HTMLTextAreaElement>\n ) => void | GenericFunction);\n /** Handler for the blur event. */\n onBlur?: GenericFunction;\n /** Handler for the input event. */\n onInput?: FormEventHandler<\n HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n >;\n /** Handler for the keydown event. */\n onKeyDown?: KeyboardEventHandler | ((\n event: KeyboardEvent<HTMLInputElement> | KeyboardEvent<HTMLSelectElement> | KeyboardEvent<HTMLTextAreaElement>\n ) => void | GenericFunction);\n /** Handler for marking the field as touched. */\n onTouched?: GenericFunction;\n /** Whether to include an empty option in a dropdown. */\n includeEmptyOption?: boolean;\n /** Label for the empty option. */\n emptyOptionLabel?: string;\n /** Options for a dropdown field. */\n options?: SelectOptionType[] | ComboboxOption[];\n /** Auto-complete behaviour for the field. */\n autoComplete?: string;\n /** Whether the field allows editing and interaction. Note: Setting this to true makes it invisible to screen reader users. */\n disabled?: boolean;\n /** Setting to true prevents editing and interaction whilst still making the value visible to screen reader users. */\n readonly?: boolean;\n /** Minimum value or length. */\n min?: string | number;\n /** Maximum value or length. */\n max?: string | number;\n /**\n * Whether to enforce grapheme-aware max-length handling (used by textarea).\n * Uses `field.maxLength` (native field prop) as the source for the UI/input limit.\n * Keep `field.maxLength` and `validation.maxLength` aligned to avoid mixed UX/validation behaviour.\n */\n enforceMaxLength?: boolean;\n}\n\n/**\n * Validation rules for fields.\n */\nexport type CustomValidate<TFieldValue> = (\n value: TFieldValue,\n formValues?: unknown\n) => boolean | string | Promise<boolean | string>;\n\n/**\n * Props for validation rules.\n */\n\nexport type MinMaxRule<T> = T extends boolean\n ? ValidationRule<boolean>\n : ValidationRule<number | string>;\n\nexport interface ValidationProps<\n TFieldValue = unknown | string | boolean,\n TFormValues = unknown\n> {\n /** Whether the field is required. */\n required?: Message | ValidationRule<boolean>;\n /** Minimum value or length. */\n min?: MinMaxRule<TFieldValue>;\n /** Maximum value or length. */\n max?: MinMaxRule<TFieldValue>;\n /**\n * Maximum length validation rule.\n * Used for validation outcome/messages, while textarea UI/input limiting is driven by `field.maxLength`.\n * If both are provided, keep them equal.\n */\n maxLength?: ValidationRule<number>;\n /** Minimum length of the field. */\n minLength?: ValidationRule<number>;\n /** Regex pattern for validation. */\n pattern?: ValidationRule<RegExp>;\n /** Custom validation logic. */\n validate?: CustomValidate<TFieldValue> | Record<string, CustomValidate<TFieldValue>> | Validate<TFieldValue, TFormValues>;\n}\n\nexport type ValidationKey = keyof ValidationProps<unknown, unknown>; // Restrict to known keys\n\n/**\n * Custom CSS classes for the field components.\n */\nexport interface CustomFieldCssClassesProps {\n /** CSS class for the label. */\n label?: string;\n /** CSS class for the input field. */\n input?: string;\n /** CSS class for the wrapper. */\n wrapper?: string;\n}\n\n/**\n * Props for a form field component.\n */\nexport interface FormFieldProps {\n /** Props for the label. */\n label: LabelProps;\n /** Props for the field. */\n field: FieldProps;\n /** Layout style of the form field. */\n layout?: 'stacked' | 'horizontal' | string;\n /** Validation rules for the field. */\n validation?: ValidationProps;\n /** Whether to show a spinner. */\n showSpinner?: boolean;\n /** Custom CSS classes for the field. */\n customCssClasses?: CustomFieldCssClassesProps;\n /** Custom content for the field. */\n customContent?: CustomContentProps;\n /** Override the default nesting of the input inside the label. */\n separateLabelAndField?: boolean;\n /** An existing form context to use when React context cannot reach this field, e.g. across a Next.js client boundary. */\n formContext?: UseFormReturn<FieldValues, any, FieldValues>;\n}\n\nexport type TextareaFieldProps = Omit<FieldProps, 'onSelect'> & {\n onSelect?: ReactEventHandler<HTMLTextAreaElement>;\n};\n"],"mappings":"","ignoreList":[]}
|
package/dist/cjs/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.js
CHANGED
|
@@ -30,7 +30,7 @@ const Autocomplete = ({
|
|
|
30
30
|
const [isOpen, setIsOpen] = (0, _react.useState)(false);
|
|
31
31
|
const [filteredOptions, setFilteredOptions] = (0, _react.useState)(field.options || []);
|
|
32
32
|
const [selectedOption, setSelectedOption] = (0, _react.useState)(null);
|
|
33
|
-
const
|
|
33
|
+
const inputElement = (0, _react.useRef)(null);
|
|
34
34
|
(0, _hooks.useOnClickOutside)(wrapperElement, () => setIsOpen(false));
|
|
35
35
|
(0, _hooks.usePopupKeys)(wrapperElement, () => setIsOpen(false));
|
|
36
36
|
const filterOptions = (0, _useDebounce.useDebouncedCallback)(searchTerm => {
|
|
@@ -49,15 +49,20 @@ const Autocomplete = ({
|
|
|
49
49
|
setIsOpen(true);
|
|
50
50
|
onInputChange(searchTerm);
|
|
51
51
|
}, debounceTime);
|
|
52
|
-
const handleInputChange = event => {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
};
|
|
52
|
+
const handleInputChange = (0, _react.useCallback)(event => {
|
|
53
|
+
inputElement.current = event.target;
|
|
54
|
+
filterOptions(event.target.value.toLowerCase());
|
|
55
|
+
}, [filterOptions]);
|
|
57
56
|
const handleOptionSelect = option => {
|
|
58
57
|
const displayValue = typeof option === 'string' ? option : JSON.stringify(option.label);
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
// The registered input is uncontrolled, so write to both the DOM and form state.
|
|
59
|
+
if (inputElement.current) {
|
|
60
|
+
inputElement.current.value = displayValue;
|
|
61
|
+
}
|
|
62
|
+
setValue(field.name, displayValue, {
|
|
63
|
+
shouldValidate: true,
|
|
64
|
+
shouldDirty: true
|
|
65
|
+
});
|
|
61
66
|
setSelectedOption(option);
|
|
62
67
|
setIsOpen(false);
|
|
63
68
|
onOptionSelect(option);
|
|
@@ -74,8 +79,7 @@ const Autocomplete = ({
|
|
|
74
79
|
'aria-haspopup': 'listbox',
|
|
75
80
|
role: 'combobox',
|
|
76
81
|
onFocus: () => setIsOpen(true),
|
|
77
|
-
onChange: handleInputChange
|
|
78
|
-
defaultValue: inputValue
|
|
82
|
+
onChange: handleInputChange
|
|
79
83
|
},
|
|
80
84
|
label,
|
|
81
85
|
validation,
|
|
@@ -83,7 +87,7 @@ const Autocomplete = ({
|
|
|
83
87
|
customCssClasses,
|
|
84
88
|
customContent
|
|
85
89
|
};
|
|
86
|
-
}, [field, isOpen, optionsContainerId, validation, showSpinner, customCssClasses, customContent, handleInputChange
|
|
90
|
+
}, [field, isOpen, optionsContainerId, label, validation, showSpinner, customCssClasses, customContent, handleInputChange]);
|
|
87
91
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
88
92
|
ref: wrapperElement,
|
|
89
93
|
className: `autocompleteWrapper ${isOpen ? 'open' : 'closed'}`
|
package/dist/cjs/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","names":["Object","defineProperty","exports","value","default","Autocomplete","_react","_interopRequireWildcard","require","_reactHookForm","_useDebounce","_hooks","_InputText","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","field","label","validation","showSpinner","customCssClasses","customContent","onOptionSelect","onInputChange","debounceTime","setValue","useFormContext","wrapperElement","useRef","isOpen","setIsOpen","useState","filteredOptions","setFilteredOptions","options","selectedOption","setSelectedOption","inputValue","setInputValue","useOnClickOutside","usePopupKeys","filterOptions","useDebouncedCallback","searchTerm","matchingOptions","filter","option","toLowerCase","includes","JSON","stringify","handleInputChange","event","newValue","target","handleOptionSelect","displayValue","name","optionsContainerId","id","comboBoxFieldProps","useMemo","type","role","onFocus","onChange","defaultValue","createElement","ref","className","InputText","tabIndex","length","map","optionId","key","onClick","_default"],"sources":["../../../../../../../../src/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState, useRef, useMemo } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { ComboboxOption, FieldProps, FormFieldProps } from '../../../formFieldWrapper/formFieldProps';\nimport { useOnClickOutside, usePopupKeys } from '../../../../../../hooks';\n\nimport { InputText, InputTextProps } from '../text/InputText';\n\nimport './autocomplete.scss';\n\n\nexport interface ComboboxFieldProps extends React.InputHTMLAttributes<HTMLInputElement>, Omit<FormFieldProps, 'field'> {\n field: Omit<FieldProps, 'type' | 'options'> & {\n options?: ComboboxOption[] | string[];\n };\n /* eslint-disable-next-line no-unused-vars */\n onOptionSelect?: (option: ComboboxOption | string) => void;\n /* eslint-disable-next-line no-unused-vars */\n onInputChange?: (inputValue: string) => void;\n debounceTime?: number;\n}\n\nexport const Autocomplete: React.FC<ComboboxFieldProps> = (\n {\n field,\n label,\n validation,\n showSpinner,\n customCssClasses,\n customContent,\n onOptionSelect = () => {},\n onInputChange = () => {},\n debounceTime = 500,\n }\n) => {\n const { setValue } = useFormContext();\n\n const wrapperElement = useRef<HTMLDivElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [filteredOptions, setFilteredOptions] = useState<(string | ComboboxOption)[]>(field.options || []);\n const [selectedOption, setSelectedOption] = useState<ComboboxOption | string | null>(null);\n const [inputValue, setInputValue] = useState('');\n\n useOnClickOutside(wrapperElement, () => setIsOpen(false));\n usePopupKeys(wrapperElement, () => setIsOpen(false));\n\n const filterOptions = useDebouncedCallback((searchTerm: string) => {\n const matchingOptions: (string | ComboboxOption)[] = field.options ? field.options.filter((option) => {\n if (typeof option === 'string') {\n return option.toLowerCase().includes(searchTerm);\n }\n if (typeof option.label === 'string') {\n return option.label.toLowerCase().includes(searchTerm);\n }\n // For non-string labels, convert to JSON string and check\n return JSON.stringify(option.label).toLowerCase().includes(searchTerm);\n }) : [];\n setSelectedOption(null);\n setFilteredOptions(matchingOptions);\n setIsOpen(true);\n onInputChange(searchTerm);\n }, debounceTime);\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = event.target.value;\n setInputValue(newValue);\n filterOptions(newValue.toLowerCase());\n };\n\n const handleOptionSelect = (option: ComboboxOption | string) => {\n const displayValue = typeof option === 'string' ? option : JSON.stringify(option.label);\n setInputValue(displayValue);\n setValue(field.name, displayValue);\n setSelectedOption(option);\n setIsOpen(false);\n onOptionSelect(option);\n };\n\n const optionsContainerId = `${ field.id || field.name }Options`;\n\n const comboBoxFieldProps: InputTextProps = useMemo(() => {\n return {\n field: {\n ...field,\n type: 'search',\n 'aria-autocomplete': 'both',\n 'aria-expanded': isOpen,\n 'aria-controls': optionsContainerId,\n 'aria-haspopup': 'listbox',\n role: 'combobox',\n onFocus: () => setIsOpen(true),\n onChange: handleInputChange,\n defaultValue: inputValue,\n },\n label,\n validation,\n showSpinner,\n customCssClasses,\n customContent,\n };\n }, [field, isOpen, optionsContainerId, validation, showSpinner, customCssClasses, customContent, handleInputChange, selectedOption]);\n \n return (\n <div ref={ wrapperElement } className={ `autocompleteWrapper ${ isOpen ? 'open' : 'closed' }` }>\n <InputText { ...comboBoxFieldProps } />\n\n {\n isOpen && filteredOptions && (\n <div tabIndex={ -1 } className=\"autocompleteOptions\">\n {\n filteredOptions.length === 0 ?\n (\n <div aria-selected=\"false\" role=\"listbox\" id={ optionsContainerId }>\n No results found\n </div>\n )\n :\n (\n <ul className=\"noBullet\" role=\"listbox\" id={ optionsContainerId }>\n {\n filteredOptions.map((option) => {\n const optionId = `${ optionsContainerId }_${ option }`;\n\n return (\n <li\n key={ optionId }\n aria-selected={ option === selectedOption ? 'true' : 'false' }\n role=\"option\"\n data-option={ option }\n >\n <button className={ option === selectedOption ? 'selected' : '' } type=\"button\" id={ optionId } onClick={ () => handleOptionSelect(option) }>\n { typeof option === 'string' ? option : option.label }\n </button>\n </li>\n );\n })\n }\n </ul>\n )\n }\n </div>\n )\n }\n </div>\n );\n};\n\nexport default Autocomplete;"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","names":["Object","defineProperty","exports","value","default","Autocomplete","_react","_interopRequireWildcard","require","_reactHookForm","_useDebounce","_hooks","_InputText","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","field","label","validation","showSpinner","customCssClasses","customContent","onOptionSelect","onInputChange","debounceTime","setValue","useFormContext","wrapperElement","useRef","isOpen","setIsOpen","useState","filteredOptions","setFilteredOptions","options","selectedOption","setSelectedOption","inputElement","useOnClickOutside","usePopupKeys","filterOptions","useDebouncedCallback","searchTerm","matchingOptions","filter","option","toLowerCase","includes","JSON","stringify","handleInputChange","useCallback","event","current","target","handleOptionSelect","displayValue","name","shouldValidate","shouldDirty","optionsContainerId","id","comboBoxFieldProps","useMemo","type","role","onFocus","onChange","createElement","ref","className","InputText","tabIndex","length","map","optionId","key","onClick","_default"],"sources":["../../../../../../../../src/components/form/formFields/subComponents/inputs/autocomplete/Autocomplete.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState, useRef, useMemo, useCallback } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { ComboboxOption, FieldProps, FormFieldProps } from '../../../formFieldWrapper/formFieldProps';\nimport { useOnClickOutside, usePopupKeys } from '../../../../../../hooks';\n\nimport { InputText, InputTextProps } from '../text/InputText';\n\nimport './autocomplete.scss';\n\n\nexport interface ComboboxFieldProps extends React.InputHTMLAttributes<HTMLInputElement>, Omit<FormFieldProps, 'field'> {\n field: Omit<FieldProps, 'type' | 'options'> & {\n options?: ComboboxOption[] | string[];\n };\n /* eslint-disable-next-line no-unused-vars */\n onOptionSelect?: (option: ComboboxOption | string) => void;\n /* eslint-disable-next-line no-unused-vars */\n onInputChange?: (inputValue: string) => void;\n debounceTime?: number;\n}\n\nexport const Autocomplete: React.FC<ComboboxFieldProps> = (\n {\n field,\n label,\n validation,\n showSpinner,\n customCssClasses,\n customContent,\n onOptionSelect = () => {},\n onInputChange = () => {},\n debounceTime = 500,\n }\n) => {\n const { setValue } = useFormContext();\n\n const wrapperElement = useRef<HTMLDivElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [filteredOptions, setFilteredOptions] = useState<(string | ComboboxOption)[]>(field.options || []);\n const [selectedOption, setSelectedOption] = useState<ComboboxOption | string | null>(null);\n const inputElement = useRef<HTMLInputElement | null>(null);\n\n useOnClickOutside(wrapperElement, () => setIsOpen(false));\n usePopupKeys(wrapperElement, () => setIsOpen(false));\n\n const filterOptions = useDebouncedCallback((searchTerm: string) => {\n const matchingOptions: (string | ComboboxOption)[] = field.options ? field.options.filter((option) => {\n if (typeof option === 'string') {\n return option.toLowerCase().includes(searchTerm);\n }\n if (typeof option.label === 'string') {\n return option.label.toLowerCase().includes(searchTerm);\n }\n // For non-string labels, convert to JSON string and check\n return JSON.stringify(option.label).toLowerCase().includes(searchTerm);\n }) : [];\n setSelectedOption(null);\n setFilteredOptions(matchingOptions);\n setIsOpen(true);\n onInputChange(searchTerm);\n }, debounceTime);\n\n const handleInputChange = useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n inputElement.current = event.target;\n filterOptions(event.target.value.toLowerCase());\n }, [filterOptions]);\n\n const handleOptionSelect = (option: ComboboxOption | string) => {\n const displayValue = typeof option === 'string' ? option : JSON.stringify(option.label);\n // The registered input is uncontrolled, so write to both the DOM and form state.\n if (inputElement.current) {\n inputElement.current.value = displayValue;\n }\n setValue(field.name, displayValue, { shouldValidate: true, shouldDirty: true });\n setSelectedOption(option);\n setIsOpen(false);\n onOptionSelect(option);\n };\n\n const optionsContainerId = `${ field.id || field.name }Options`;\n\n const comboBoxFieldProps: InputTextProps = useMemo(() => {\n return {\n field: {\n ...field,\n type: 'search',\n 'aria-autocomplete': 'both',\n 'aria-expanded': isOpen,\n 'aria-controls': optionsContainerId,\n 'aria-haspopup': 'listbox',\n role: 'combobox',\n onFocus: () => setIsOpen(true),\n onChange: handleInputChange,\n },\n label,\n validation,\n showSpinner,\n customCssClasses,\n customContent,\n };\n }, [field, isOpen, optionsContainerId, label, validation, showSpinner, customCssClasses, customContent, handleInputChange]);\n \n return (\n <div ref={ wrapperElement } className={ `autocompleteWrapper ${ isOpen ? 'open' : 'closed' }` }>\n <InputText { ...comboBoxFieldProps } />\n\n {\n isOpen && filteredOptions && (\n <div tabIndex={ -1 } className=\"autocompleteOptions\">\n {\n filteredOptions.length === 0 ?\n (\n <div aria-selected=\"false\" role=\"listbox\" id={ optionsContainerId }>\n No results found\n </div>\n )\n :\n (\n <ul className=\"noBullet\" role=\"listbox\" id={ optionsContainerId }>\n {\n filteredOptions.map((option) => {\n const optionId = `${ optionsContainerId }_${ option }`;\n\n return (\n <li\n key={ optionId }\n aria-selected={ option === selectedOption ? 'true' : 'false' }\n role=\"option\"\n data-option={ option }\n >\n <button className={ option === selectedOption ? 'selected' : '' } type=\"button\" id={ optionId } onClick={ () => handleOptionSelect(option) }>\n { typeof option === 'string' ? option : option.label }\n </button>\n </li>\n );\n })\n }\n </ul>\n )\n }\n </div>\n )\n }\n </div>\n );\n};\n\nexport default Autocomplete;"],"mappings":"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","ignoreList":[]}
|