@ballistix.digital/react-components 0.5.10 → 0.7.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.
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
2
  import { ArrowPathIcon, ChevronDownIcon, EllipsisVerticalIcon, ExclamationCircleIcon, ChevronDoubleLeftIcon, ChevronLeftIcon, ChevronRightIcon, ChevronDoubleRightIcon, ChevronUpIcon, ChevronUpDownIcon, HomeIcon, ArrowLongLeftIcon, ArrowLongRightIcon } from '@heroicons/react/20/solid';
3
- import { isArray, map, set, get, noop as noop$1, indexOf, pick, isEmpty, some, forEach, assign } from 'lodash';
3
+ import { isArray, map, set, get, noop as noop$1, indexOf, toSafeInteger, pick, isEmpty, some, forEach, assign } from 'lodash';
4
4
  import get$1 from 'lodash/get';
5
5
  import React, { useState, useMemo, Children, Fragment, useEffect, useCallback, forwardRef, useImperativeHandle, useRef, useReducer, createElement, PureComponent, Component } from 'react';
6
6
  import { library } from '@fortawesome/fontawesome-svg-core';
@@ -13,8 +13,8 @@ import { Menu, Transition, Dialog, Popover, Switch } from '@headlessui/react';
13
13
  import { useMask } from '@react-input/mask';
14
14
  import { ViewColumnsIcon, ChevronDownIcon as ChevronDownIcon$1, TableCellsIcon, XMarkIcon, PlusIcon } from '@heroicons/react/24/outline';
15
15
  import { useReactTable, getCoreRowModel, flexRender, createColumnHelper as createColumnHelper$1 } from '@tanstack/react-table';
16
- import set$1 from 'lodash/set';
17
16
  import Select from 'react-tailwindcss-select';
17
+ import set$1 from 'lodash/set';
18
18
  import Datepicker from 'react-tailwindcss-datepicker';
19
19
  import { FormikProvider, FieldArray, useFormik } from 'formik';
20
20
 
@@ -403,7 +403,7 @@ var styles$s = {
403
403
  };
404
404
 
405
405
  var BadgeElement = function (props) {
406
- var children = props.children, _a = props.color, color = _a === void 0 ? 'gray' : _a, _b = props.type, type = _b === void 0 ? 'normal' : _b, _c = props.size, size = _c === void 0 ? 'sm' : _c, _d = props.figure, figure = _d === void 0 ? 'block' : _d, isDisabled = props.isDisabled, isLoading = props.isLoading, onClose = props.onClose, stylesOverrides = props.styles;
406
+ var children = props.children, _a = props.color, color = _a === void 0 ? 'gray' : _a, _b = props.type, type = _b === void 0 ? 'normal' : _b, _c = props.size, size = _c === void 0 ? 'sm' : _c, _d = props.figure, figure = _d === void 0 ? 'block' : _d, isDisabled = props.isDisabled, isLoading = props.isLoading, onClose = props.onClose, stylesOverrides = props.styles, dataCy = props.dataCy;
407
407
  var handleGenerateStyle = function () {
408
408
  var result = deepCopyObject(styles$r.base);
409
409
  var keys = calculateNestedKeys(styles$r.base);
@@ -417,7 +417,7 @@ var BadgeElement = function (props) {
417
417
  if (isLoading) {
418
418
  return (jsx("span", { className: toClassName(styles.container, 'h-4 w-12 animate-pulse'), children: type === 'indicator' && (jsx("svg", { className: styles.indicator, fill: "currentColor", viewBox: "0 0 8 8", children: jsx("circle", { cx: 4, cy: 4, r: 3 }) })) }));
419
419
  }
420
- return (jsxs("span", { className: styles.container, children: [type === 'indicator' && (jsx("svg", { className: styles.indicator, fill: "currentColor", viewBox: "0 0 8 8", children: jsx("circle", { cx: 4, cy: 4, r: 3 }) })), children, type === 'close' && (jsxs("button", { type: "button", className: styles.button, onClick: onClose, children: [jsx("span", { className: "sr-only", children: "Remove large option" }), xIcon] }))] }));
420
+ return (jsxs("span", { className: styles.container, "data-cy": dataCy, children: [type === 'indicator' && (jsx("svg", { className: styles.indicator, fill: "currentColor", viewBox: "0 0 8 8", children: jsx("circle", { cx: 4, cy: 4, r: 3 }) })), children, type === 'close' && (jsxs("button", { type: "button", className: styles.button, onClick: onClose, children: [jsx("span", { className: "sr-only", children: "Remove large option" }), xIcon] }))] }));
421
421
  };
422
422
 
423
423
  var base$o = {
@@ -528,7 +528,7 @@ var styles$r = {
528
528
  };
529
529
 
530
530
  var ButtonElement = function (props) {
531
- var children = props.children, innerRef = props.innerRef, _a = props.htmlType, htmlType = _a === void 0 ? 'button' : _a, _b = props.type, type = _b === void 0 ? 'primary' : _b, _c = props.size, size = _c === void 0 ? 'md' : _c, _d = props.figure, figure = _d === void 0 ? 'block' : _d, _e = props.status, status = _e === void 0 ? 'idle' : _e, isDisabled = props.isDisabled, stylesOverrides = props.styles, onClick = props.onClick;
531
+ var children = props.children, innerRef = props.innerRef, _a = props.htmlType, htmlType = _a === void 0 ? 'button' : _a, dataCy = props.dataCy, _b = props.type, type = _b === void 0 ? 'primary' : _b, _c = props.size, size = _c === void 0 ? 'md' : _c, _d = props.figure, figure = _d === void 0 ? 'block' : _d, _e = props.status, status = _e === void 0 ? 'idle' : _e, isDisabled = props.isDisabled, stylesOverrides = props.styles, onClick = props.onClick;
532
532
  var handleGenerateStyle = function () {
533
533
  var result = deepCopyObject(styles$q.base);
534
534
  var keys = calculateNestedKeys(styles$q.base);
@@ -540,7 +540,7 @@ var ButtonElement = function (props) {
540
540
  var styles = handleGenerateStyle();
541
541
  return (jsxs("button", { type: htmlType, className: styles.container, disabled: isDisabled || status !== 'idle', onClick: function (e) {
542
542
  onClick && onClick(e);
543
- }, ref: innerRef, children: [status === 'idle' && children, status === 'loading' && (jsxs("div", { className: styles.content, children: [jsx(IconElement, { type: "regular", accessor: "spinner", className: styles.spinner }), jsx("div", { children: children })] })), status === 'error' && (jsxs("div", { className: styles.content, children: [jsx(IconElement, { type: "regular", accessor: "circle-exclamation", className: styles.icon }), jsx("div", { children: children })] })), status === 'success' && (jsxs("div", { className: styles.content, children: [jsx(IconElement, { type: "regular", accessor: "circle-check", className: styles.icon }), jsx("div", { children: children })] }))] }));
543
+ }, ref: innerRef, "data-cy": dataCy, children: [status === 'idle' && children, status === 'loading' && (jsxs("div", { className: styles.content, children: [jsx(IconElement, { type: "regular", accessor: "spinner", className: styles.spinner }), jsx("div", { children: children })] })), status === 'error' && (jsxs("div", { className: styles.content, children: [jsx(IconElement, { type: "regular", accessor: "circle-exclamation", className: styles.icon }), jsx("div", { children: children })] })), status === 'success' && (jsxs("div", { className: styles.content, children: [jsx(IconElement, { type: "regular", accessor: "circle-check", className: styles.icon }), jsx("div", { children: children })] }))] }));
544
544
  };
545
545
 
546
546
  var base$n = {
@@ -649,7 +649,7 @@ var styles$p = {
649
649
  };
650
650
 
651
651
  var Container$3 = function (props) {
652
- var children = props.children, label = props.label, trigger = props.trigger, _a = props.type, type = _a === void 0 ? 'button' : _a, _b = props.direction, direction = _b === void 0 ? 'bottom-left' : _b, _c = props.isEscapingOverflow, isEscapingOverflow = _c === void 0 ? false : _c, stylesOverrides = props.styles;
652
+ var children = props.children, label = props.label, trigger = props.trigger, dataCy = props.dataCy, _a = props.type, type = _a === void 0 ? 'button' : _a, _b = props.direction, direction = _b === void 0 ? 'bottom-left' : _b, _c = props.isEscapingOverflow, isEscapingOverflow = _c === void 0 ? false : _c, stylesOverrides = props.styles;
653
653
  var handleGenerateStyle = function () {
654
654
  var result = deepCopyObject(styles$o.base);
655
655
  var keys = calculateNestedKeys(styles$o.base);
@@ -660,7 +660,7 @@ var Container$3 = function (props) {
660
660
  };
661
661
  var styles = handleGenerateStyle();
662
662
  return (jsxs(Menu, { as: "div", className: toClassName(styles.container, !isEscapingOverflow && 'relative'), children: [jsxs("div", { children: [type === 'button' &&
663
- (!trigger ? (jsxs(Menu.Button, { className: styles.button, children: [label, jsx(ChevronDownIcon, { className: "-mr-1 ml-2 h-5 w-5", "aria-hidden": "true" })] })) : (jsx(Menu.Button, { children: trigger }))), type === 'compact' && (jsxs(Menu.Button, { className: styles.compact, children: [jsx("span", { className: "sr-only", children: label }), jsx(EllipsisVerticalIcon, { className: styles.dots, "aria-hidden": "true" })] }))] }), jsx(Transition, { as: Fragment, enter: "transition ease-out duration-100", enterFrom: "transform opacity-0 scale-95", enterTo: "transform opacity-100 scale-100", leave: "transition ease-in duration-75", leaveFrom: "transform opacity-100 scale-100", leaveTo: "transform opacity-0 scale-95", children: jsx(Menu.Items, { className: styles.items, children: children }) })] }));
663
+ (!trigger ? (jsxs(Menu.Button, { className: styles.button, "data-cy": dataCy, children: [label, jsx(ChevronDownIcon, { className: "-mr-1 ml-2 h-5 w-5", "aria-hidden": "true" })] })) : (jsx(Menu.Button, { "data-cy": dataCy, children: trigger }))), type === 'compact' && (jsxs(Menu.Button, { className: styles.compact, "data-cy": dataCy, children: [jsx("span", { className: "sr-only", children: label }), jsx(EllipsisVerticalIcon, { className: styles.dots, "aria-hidden": "true" })] }))] }), jsx(Transition, { as: Fragment, enter: "transition ease-out duration-100", enterFrom: "transform opacity-0 scale-95", enterTo: "transform opacity-100 scale-100", leave: "transition ease-in duration-75", leaveFrom: "transform opacity-100 scale-100", leaveTo: "transform opacity-0 scale-95", children: jsx(Menu.Items, { className: styles.items, children: children }) })] }));
664
664
  };
665
665
  var DropdownElement = {
666
666
  Container: Container$3,
@@ -718,8 +718,10 @@ var InputGroupForm = function (props) {
718
718
  var styles = handleGenerateStyle();
719
719
  var invalidIcon = (jsx(ExclamationCircleIcon, { className: "h-5 w-5 text-red-500", "aria-hidden": "true" }));
720
720
  var isClearable = !trailing && isValid && onClear && value !== '' && value;
721
+ var inputDataCy = "form-input-".concat(name);
722
+ var errorDataCy = "form-input-error-".concat(name);
721
723
  return (jsxs("div", { className: styles.container, children: [jsxs("div", { className: styles.head, children: [label && (jsx("label", { htmlFor: name, className: styles.label, children: label })), !required && !isRequired && typeof label === 'string' && (jsx("span", { className: styles.hint, children: "Optional" })), required && required({ isRequired: isRequired })] }), jsxs("div", { className: styles.body, children: [leading && jsx("div", { className: styles.leading, children: leading }), !htmlType ||
722
- (htmlType !== 'area' && (jsxs("div", { className: "flex items-center", children: [jsx("input", { type: mask !== undefined ? 'text' : htmlType, ref: mask && ref, name: name, id: name, className: toClassName(styles.input, htmlType === 'color' && '!h-10'), placeholder: placeholder, defaultValue: isSolo ? value : undefined, value: isSolo ? undefined : value, min: min, max: max, maxLength: maxLength, disabled: isDisabled, onChange: onChange, onBlur: onBlur }), htmlType === 'text' && isClearable && (jsx("div", { className: "right-5 px-2 absolute cursor-pointer hover:opacity-60", onClick: onClear, children: jsx(IconElement, { accessor: "times", className: "text-gray-500" }) })), htmlType === 'date' && isClearable && (jsx("div", { className: "right-10 px-2 absolute cursor-pointer hover:opacity-60", onClick: onClear, children: jsx(IconElement, { accessor: "times", className: "text-gray-500" }) }))] }))), htmlType === 'area' && (jsx("textarea", { rows: rows, name: name, id: name, className: styles.input, placeholder: placeholder, defaultValue: isSolo ? value : undefined, value: isSolo ? undefined : value, maxLength: maxLength, disabled: isDisabled, onChange: onChange, onBlur: onBlur })), type === 'floored' && (jsx("div", { className: "absolute inset-x-0 bottom-0 border-t border-gray-300 peer-focus:border-t-2 peer-focus:border-primary-600", "aria-hidden": "true" })), trailing && isValid && (jsx("div", { className: styles.trailing, children: trailing })), isTouched && !isValid && (jsx("div", { className: styles.trailing, children: invalidIcon }))] }), jsxs("div", { className: styles.foot, children: [description && !(error && isTouched) && (jsx("p", { className: styles.description, children: description })), error && isTouched && jsx("p", { className: styles.error, children: error })] })] }));
724
+ (htmlType !== 'area' && (jsxs("div", { className: "flex items-center", children: [jsx("input", { type: mask !== undefined ? 'text' : htmlType, ref: mask && ref, name: name, id: name, "data-cy": inputDataCy, className: toClassName(styles.input, htmlType === 'color' && '!h-10'), placeholder: placeholder, defaultValue: isSolo ? value : undefined, value: isSolo ? undefined : value, min: min, max: max, maxLength: maxLength, disabled: isDisabled, onChange: onChange, onBlur: onBlur }), htmlType === 'text' && isClearable && (jsx("div", { className: "right-5 px-2 absolute cursor-pointer hover:opacity-60", onClick: onClear, children: jsx(IconElement, { accessor: "times", className: "text-gray-500" }) })), htmlType === 'date' && isClearable && (jsx("div", { className: "right-10 px-2 absolute cursor-pointer hover:opacity-60", onClick: onClear, children: jsx(IconElement, { accessor: "times", className: "text-gray-500" }) }))] }))), htmlType === 'area' && (jsx("textarea", { rows: rows, name: name, id: name, "data-cy": inputDataCy, className: styles.input, placeholder: placeholder, defaultValue: isSolo ? value : undefined, value: isSolo ? undefined : value, maxLength: maxLength, disabled: isDisabled, onChange: onChange, onBlur: onBlur })), type === 'floored' && (jsx("div", { className: "absolute inset-x-0 bottom-0 border-t border-gray-300 peer-focus:border-t-2 peer-focus:border-primary-600", "aria-hidden": "true" })), trailing && isValid && (jsx("div", { className: styles.trailing, children: trailing })), isTouched && !isValid && (jsx("div", { className: styles.trailing, children: invalidIcon }))] }), jsxs("div", { className: styles.foot, children: [description && !(error && isTouched) && (jsx("p", { className: styles.description, children: description })), error && isTouched && (jsx("p", { className: styles.error, "data-cy": errorDataCy, children: error }))] })] }));
723
725
  };
724
726
 
725
727
  var base$k = {
@@ -1185,19 +1187,196 @@ var useExcel = function () {
1185
1187
  };
1186
1188
  };
1187
1189
 
1190
+ var base$e = {
1191
+ container: '',
1192
+ head: 'flex justify-between',
1193
+ body: 'relative rounded-md',
1194
+ foot: '',
1195
+ label: 'block font-medium text-gray-900',
1196
+ hint: 'text-xs text-gray-500',
1197
+ leading: 'pointer-events-none absolute inset-y-0 left-0 flex items-center',
1198
+ input: 'block w-full flex border',
1199
+ menuButton: '',
1200
+ menu: 'z-10 !px-0 !py-0 !w-full rounded-md overflow-hidden border !mt-1 absolute bg-white',
1201
+ tagItem: 'bg-gray-200 px-2 py-1 flex flex-row gap-x-1 items-center justify-between rounded-sm',
1202
+ tagItemText: 'text-xs',
1203
+ tagItemIconContainer: '!p-0 rounded-full hover:bg-gray-400 text-sm hover:text-white aspect-square w-4 flex items-center justify-center cursor-pointer',
1204
+ tagItemIcon: '',
1205
+ list: '!px-0 !w-full [&>*]:px-0 max-h-56 overflow-scroll !py-1',
1206
+ listGroupLabel: '',
1207
+ listItem: '!w-full !list-none hover:bg-primary-500 hover:text-white !py-2 !px-2',
1208
+ listDisabledItem: '',
1209
+ searchContainer: '!w-full !px-2 !py-2 border-b',
1210
+ searchBox: '',
1211
+ searchIcon: '',
1212
+ closeIcon: '',
1213
+ emptyState: 'w-full inline-flex items-start justify-start px-4',
1214
+ trailing: 'pointer-events-none absolute inset-y-0 right-0 flex items-center',
1215
+ description: 'text-gray-400 text-xs mt-1',
1216
+ error: 'text-red-500 text-xs ml-5 mt-1',
1217
+ };
1218
+ var leading$4 = {
1219
+ input: 'pl-10',
1220
+ };
1221
+ var trailing$4 = {};
1222
+ var normal$5 = {
1223
+ label: 'leading-6 text-sm mb-2',
1224
+ hint: 'leading-6',
1225
+ leading: 'pl-3',
1226
+ input: 'rounded-md border-gray-200 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm placeholder-gray-300',
1227
+ trailing: '',
1228
+ description: 'mt-2 text-sm',
1229
+ };
1230
+ var inset$4 = {
1231
+ container: 'rounded-md px-3 pt-2.5 pb-1.5 shadow-sm ring-1 ring-inset ring-gray-300 focus-within:ring-2 focus-within:ring-primary-600',
1232
+ label: 'text-xs',
1233
+ hint: 'text-xs',
1234
+ input: 'border-0 !ring-0 p-0 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm pl-0',
1235
+ description: 'hidden',
1236
+ };
1237
+ var overlapping$4 = {
1238
+ container: 'relative',
1239
+ head: ' absolute flex justify-between items-center left-0 -top-2 right-0 mx-2 z-10 w-full',
1240
+ label: 'inline-block bg-white px-1 text-xs font-medium text-gray-900 ',
1241
+ hint: 'text-xs mr-4 bg-white px-1',
1242
+ input: 'block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6',
1243
+ description: 'hidden',
1244
+ };
1245
+ var pill$4 = {
1246
+ head: 'mx-px block px-4 text-sm font-medium leading-6 text-gray-900 mb-1 pr-6',
1247
+ foot: 'mx-px block px-4 text-sm font-medium leading-6 text-gray-900 mt-1 pr-6',
1248
+ input: 'block w-full rounded-full border-0 px-4 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6',
1249
+ trailing: 'pr-2',
1250
+ description: 'text-xs',
1251
+ };
1252
+ var floored$4 = {
1253
+ body: 'relative mt-2',
1254
+ label: 'block text-sm font-medium leading-6 text-gray-900',
1255
+ input: 'peer block w-full border-0 bg-gray-50 py-1.5 text-gray-900 focus:ring-0 sm:text-sm sm:leading-6 ring-0',
1256
+ description: 'text-xs mt-2',
1257
+ };
1258
+ var invalid$4 = {
1259
+ container: 'ring-red-500',
1260
+ input:
1261
+ // 'block w-full border border-transparent text-red-900 ring-1 ring-inset ring-red-300 placeholder:text-red-300 focus:ring-2 focus:ring-inset focus:ring-red-500 sm:leading-6 pr-10',
1262
+ 'block w-full border border-transparent text-red-900 ring-1 ring-inset ring-red-300 placeholder:text-red-300 focus:ring-2 focus:ring-inset focus:ring-red-500',
1263
+ description: 'text-sm text-red-600',
1264
+ };
1265
+ var disabled$5 = {
1266
+ input: 'block w-full rounded-md border-0 text-gray-900 shadow-sm ring-1 ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 cursor-not-allowed bg-gray-50 text-gray-500 ring-gray-200',
1267
+ };
1268
+ var styles$h = {
1269
+ base: base$e,
1270
+ leading: leading$4,
1271
+ trailing: trailing$4,
1272
+ normal: normal$5,
1273
+ inset: inset$4,
1274
+ overlapping: overlapping$4,
1275
+ pill: pill$4,
1276
+ floored: floored$4,
1277
+ invalid: invalid$4,
1278
+ disabled: disabled$5,
1279
+ };
1280
+
1281
+ var SelectMenuForm = function (props) {
1282
+ var _a;
1283
+ var _b = props.name, name = _b === void 0 ? 'select-menu-form' : _b, label = props.label, description = props.description, placeholder = props.placeholder, options = props.options, required = props.required, value = props.value, error = props.error, _c = props.isRequired, isRequired = _c === void 0 ? false : _c, isLoading = props.isLoading, _d = props.isTouched, isTouched = _d === void 0 ? false : _d, isDisabled = props.isDisabled, _e = props.isClearable, isClearable = _e === void 0 ? true : _e, _f = props.isMultiple, isMultiple = _f === void 0 ? false : _f, _g = props.isSearchable, isSearchable = _g === void 0 ? true : _g, _h = props.isSolo, isSolo = _h === void 0 ? false : _h, onChange = props.onChange, onSearchInputChange = props.onSearchInputChange, onClear = props.onClear, onBlur = props.onBlur, stylesOverrides = props.styles;
1284
+ var _j = useState(true), isFocus = _j[0], setIsFocus = _j[1];
1285
+ var _k = useState(value !== null && value !== void 0 ? value : null), state = _k[0], setState = _k[1];
1286
+ var isValid = error === undefined;
1287
+ var selectDataCy = "form-select-".concat(name);
1288
+ var errorDataCy = "form-select-error-".concat(name);
1289
+ var handleGenerateStyle = function () {
1290
+ var result = deepCopyObject(styles$h.base);
1291
+ var keys = calculateNestedKeys(styles$h.base);
1292
+ keys.forEach(function (key) {
1293
+ set(result, key, toClassName(get(styles$h.base, key), get(styles$h['normal'], key), isTouched === true && !isValid && get(styles$h.invalid, key), isDisabled && get(styles$h.disabled, key), get(stylesOverrides, key)));
1294
+ });
1295
+ return result;
1296
+ };
1297
+ var handleChange = function (selectValue) {
1298
+ setState(selectValue);
1299
+ onChange && onChange(selectValue);
1300
+ setIsFocus(false);
1301
+ };
1302
+ var styles = handleGenerateStyle();
1303
+ // Simulate onClear event.
1304
+ useEffect(function () {
1305
+ if (state === null && !isFocus) {
1306
+ onClear && onClear(name);
1307
+ }
1308
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1309
+ }, [state]);
1310
+ // Simulate onBlur event.
1311
+ useEffect(function () {
1312
+ if (!isFocus) {
1313
+ onBlur && onBlur();
1314
+ }
1315
+ // eslint-disable-next-line react-hooks/exhaustive-deps
1316
+ }, [isFocus]);
1317
+ // listen to value changes.
1318
+ useEffect(function () {
1319
+ setState(value);
1320
+ }, [value]);
1321
+ return (jsxs("div", { className: styles.container, children: [jsxs("div", { className: styles.head, children: [label && (jsx("label", { htmlFor: name, className: styles.label, children: label })), !required && !isRequired && typeof label === 'string' && (jsx("span", { className: styles.hint, children: "Optional" })), required && required({ isRequired: isRequired })] }), jsxs("div", { className: styles.container, children: [jsx("div", { "data-cy": selectDataCy, children: jsx(Select, { primaryColor: "primary",
1322
+ //
1323
+ placeholder: placeholder === null || placeholder === void 0 ? void 0 : placeholder.select, noOptionsMessage: (jsx("p", { className: styles.emptyState, children: (_a = placeholder === null || placeholder === void 0 ? void 0 : placeholder.emptyState) !== null && _a !== void 0 ? _a : 'No results found' })), searchInputPlaceholder: placeholder === null || placeholder === void 0 ? void 0 : placeholder.searchInput,
1324
+ //
1325
+ loading: isLoading, isDisabled: isDisabled, isClearable: isClearable, isMultiple: isMultiple, isSearchable: isSearchable,
1326
+ //
1327
+ options: options,
1328
+ //
1329
+ value: state, onChange: handleChange, onSearchInputChange: onSearchInputChange,
1330
+ //
1331
+ classNames: {
1332
+ menuButton: function () {
1333
+ return toClassName(styles.input, state === null && '[&>*]:!text-gray-300 ', state === null &&
1334
+ !isValid &&
1335
+ isTouched &&
1336
+ '[&>*]:!text-red-300');
1337
+ },
1338
+ menu: styles.menu,
1339
+ tagItem: function () { return styles.tagItem; },
1340
+ tagItemText: styles.tagItemText,
1341
+ tagItemIconContainer: styles.tagItemIconContainer,
1342
+ tagItemIcon: styles.tagItemIcon,
1343
+ list: styles.list,
1344
+ listItem: function () { return styles.listItem; },
1345
+ listDisabledItem: styles.listDisabledItem,
1346
+ listGroupLabel: styles.listGroupLabel,
1347
+ searchContainer: styles.searchContainer,
1348
+ searchBox: styles.searchBox,
1349
+ searchIcon: styles.searchIcon,
1350
+ closeIcon: styles.closeIcon,
1351
+ } }) }), !isSolo && (jsxs("div", { className: styles.foot, children: [description && !(error && isTouched) && (jsx("p", { className: styles.description, children: description })), error && isTouched && (jsx("p", { className: styles.error, "data-cy": errorDataCy, children: JSON.stringify(error).replaceAll('"', '') }))] }))] })] }));
1352
+ };
1353
+
1188
1354
  var PanelPaginationNavigation = function (props) {
1189
- var defaultValue = props.current, _a = props.min, min = _a === void 0 ? 1 : _a, _b = props.max, max = _b === void 0 ? 20 : _b, stylesOverrides = props.styles, children = props.children, onChange = props.onChange;
1190
- var _c = useState(1), current = _c[0], setCurrent = _c[1];
1355
+ var defaultValue = props.current, _a = props.min, min = _a === void 0 ? 1 : _a, _b = props.max, max = _b === void 0 ? 20 : _b, stylesOverrides = props.styles, pageSizeOptions = props.pageSizeOptions, defaultPageSize = props.defaultPageSize, _c = props.onChangePageSize, onChangePageSize = _c === void 0 ? noop$1 : _c, children = props.children, onChange = props.onChange;
1356
+ var _d = useState(1), current = _d[0], setCurrent = _d[1];
1357
+ var _e = useState({
1358
+ value: "".concat(defaultPageSize),
1359
+ label: "".concat(defaultPageSize),
1360
+ }), pageSize = _e[0], setPageSize = _e[1];
1191
1361
  useEffect(function () {
1192
1362
  if (defaultValue) {
1193
1363
  setCurrent(defaultValue);
1194
1364
  }
1195
1365
  }, [defaultValue]);
1366
+ var hasCustomizablePageSize = useMemo(function () { return !!pageSizeOptions; }, [pageSizeOptions]);
1367
+ var pageSizeMenuOptions = useMemo(function () {
1368
+ var options = map(pageSizeOptions, function (option) { return ({
1369
+ value: "".concat(option),
1370
+ label: "".concat(option),
1371
+ }); });
1372
+ !pageSize && setPageSize(options[0]);
1373
+ return options;
1374
+ }, [pageSize, pageSizeOptions]);
1196
1375
  var handleGenerateStyle = function () {
1197
- var result = deepCopyObject(styles$h.base);
1198
- var keys = calculateNestedKeys(styles$h.base);
1376
+ var result = deepCopyObject(styles$g.base);
1377
+ var keys = calculateNestedKeys(styles$g.base);
1199
1378
  keys.forEach(function (key) {
1200
- set(result, key, toClassName(get(styles$h.base, key), get(stylesOverrides, key)));
1379
+ set(result, key, toClassName(get(styles$g.base, key), get(stylesOverrides, key)));
1201
1380
  });
1202
1381
  return result;
1203
1382
  };
@@ -1234,10 +1413,18 @@ var PanelPaginationNavigation = function (props) {
1234
1413
  component = (jsxs(Fragment$1, { children: [jsx("button", { className: toClassName(styles.button.default, current === min && styles.button.active), onClick: function () { return handleChangeCurrent(min); }, children: min }), max >= min + 1 && (jsx("button", { className: toClassName(styles.button.default, current === min + 1 && styles.button.active), onClick: function () { return handleChangeCurrent(min + 1); }, children: min + 1 })), max >= min + 2 && (jsx("button", { className: toClassName(styles.button.default, current === min + 2 && styles.button.active), onClick: function () { return handleChangeCurrent(min + 2); }, children: min + 2 })), max >= min + 3 && (jsx("button", { className: toClassName(styles.button.default, current === min + 3 && styles.button.active), onClick: function () { return handleChangeCurrent(min + 3); }, children: min + 3 }))] }));
1235
1414
  break;
1236
1415
  }
1237
- return (jsxs("div", { className: styles.container, children: [jsxs("div", { className: "flex flex-1 justify-between sm:hidden", children: [jsx("button", { className: toClassName(styles.mobile.button, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return handleChangeCurrent(current - 1); }, children: "Previous" }), jsx("button", { className: toClassName(styles.mobile.button, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return handleChangeCurrent(current + 1); }, children: "Next" })] }), jsxs("div", { className: styles.desktop.container, children: [jsx("div", { children: jsx("div", { className: "text-sm text-gray-700", children: children && children({ min: min, max: max, current: current }) }) }), jsx("div", { children: jsxs("nav", { className: styles.desktop.navigation, "aria-label": "Pagination", children: [jsxs("button", { className: toClassName(styles.desktop.outerLeftButton, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return handleChangeCurrent(1); }, children: [jsx("span", { className: styles.label, children: "First" }), jsx(ChevronDoubleLeftIcon, { className: styles.icon, "aria-hidden": "true" })] }), jsxs("button", { className: toClassName(styles.desktop.innerButton, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return handleChangeCurrent(current - 1); }, children: [jsx("span", { className: styles.label, children: "Previous" }), jsx(ChevronLeftIcon, { className: styles.icon, "aria-hidden": "true" })] }), component, jsxs("button", { className: toClassName(styles.desktop.innerButton, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return handleChangeCurrent(current + 1); }, children: [jsx("span", { className: styles.label, children: "Next" }), jsx(ChevronRightIcon, { className: styles.icon, "aria-hidden": "true" })] }), jsxs("button", { className: toClassName(styles.desktop.outerRightButton, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return handleChangeCurrent(max); }, children: [jsx("span", { className: styles.label, children: "Last" }), jsx(ChevronDoubleRightIcon, { className: styles.icon, "aria-hidden": "true" })] })] }) })] })] }));
1416
+ return (jsxs("div", { className: styles.container, children: [jsxs("div", { className: "flex flex-1 justify-between sm:hidden", children: [jsx("button", { className: toClassName(styles.mobile.button, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return handleChangeCurrent(current - 1); }, children: "Previous" }), hasCustomizablePageSize && (jsx(SelectMenuForm, { name: "pageSize", isClearable: false, isSearchable: false, isMultiple: false, isSolo: true, options: pageSizeMenuOptions, value: pageSize, styles: { list: styles.pageSizeList }, onClear: noop$1, onChange: function (value) {
1417
+ if (onChangePageSize) {
1418
+ onChangePageSize(toSafeInteger(value === null || value === void 0 ? void 0 : value.value));
1419
+ }
1420
+ } })), jsx("button", { className: toClassName(styles.mobile.button, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return handleChangeCurrent(current + 1); }, children: "Next" })] }), jsxs("div", { className: styles.desktop.container, children: [jsx("div", { children: jsx("div", { className: "text-sm text-gray-700", children: children && children({ min: min, max: max, current: current }) }) }), hasCustomizablePageSize && (jsx(SelectMenuForm, { name: "pageSize", isClearable: false, isSearchable: false, isMultiple: false, isSolo: true, options: pageSizeMenuOptions, value: pageSize, styles: { list: styles.pageSizeList }, onClear: noop$1, onChange: function (value) {
1421
+ if (onChangePageSize) {
1422
+ onChangePageSize(toSafeInteger(value === null || value === void 0 ? void 0 : value.value));
1423
+ }
1424
+ } })), jsx("div", { children: jsxs("nav", { className: styles.desktop.navigation, "aria-label": "Pagination", children: [jsxs("button", { className: toClassName(styles.desktop.outerLeftButton, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return handleChangeCurrent(1); }, children: [jsx("span", { className: styles.label, children: "First" }), jsx(ChevronDoubleLeftIcon, { className: styles.icon, "aria-hidden": "true" })] }), jsxs("button", { className: toClassName(styles.desktop.innerButton, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return handleChangeCurrent(current - 1); }, children: [jsx("span", { className: styles.label, children: "Previous" }), jsx(ChevronLeftIcon, { className: styles.icon, "aria-hidden": "true" })] }), component, jsxs("button", { className: toClassName(styles.desktop.innerButton, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return handleChangeCurrent(current + 1); }, children: [jsx("span", { className: styles.label, children: "Next" }), jsx(ChevronRightIcon, { className: styles.icon, "aria-hidden": "true" })] }), jsxs("button", { className: toClassName(styles.desktop.outerRightButton, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return handleChangeCurrent(max); }, children: [jsx("span", { className: styles.label, children: "Last" }), jsx(ChevronDoubleRightIcon, { className: styles.icon, "aria-hidden": "true" })] })] }) })] })] }));
1238
1425
  };
1239
1426
 
1240
- var base$e = {
1427
+ var base$d = {
1241
1428
  container: 'flex items-center justify-between border-t border-gray-200 bg-white py-3',
1242
1429
  mobile: {
1243
1430
  container: '',
@@ -1258,9 +1445,10 @@ var base$e = {
1258
1445
  divider: 'relative inline-flex items-center border border-gray-300 bg-white px-4 py-2 text-sm font-medium text-gray-500',
1259
1446
  label: 'sr-only',
1260
1447
  icon: 'w-5 h-5',
1448
+ pageSizeList: '!overflow-hidden',
1261
1449
  };
1262
- var styles$h = {
1263
- base: base$e,
1450
+ var styles$g = {
1451
+ base: base$d,
1264
1452
  };
1265
1453
 
1266
1454
  var TableList = function (props) {
@@ -1268,10 +1456,10 @@ var TableList = function (props) {
1268
1456
  var id = props.id, columns = props.columns, data = props.data, page = props.page, children = props.children, defaultOrder = props.defaultOrder, defaultVisibility = props.defaultVisibility, _f = props.type, type = _f === void 0 ? 'normal' : _f, isLoading = props.isLoading, _g = props.isStriped, isStriped = _g === void 0 ? false : _g, _h = props.hasStickyHeader, hasStickyHeader = _h === void 0 ? false : _h, _j = props.hasVerticalSeparators, hasVerticalSeparators = _j === void 0 ? false : _j, _k = props.areControlsVisible, areControlsVisible = _k === void 0 ? true : _k, customControls = props.customControls, _l = props.exportFileName, exportFileName = _l === void 0 ? 'table-export' : _l, stylesOverrides = props.styles, onChange = props.onChange, onPaginate = props.onPaginate;
1269
1457
  var _m = useExcel(), generate = _m.generate, write = _m.write;
1270
1458
  var handleGenerateStyle = function () {
1271
- var result = deepCopyObject(styles$g.base);
1272
- var keys = calculateNestedKeys(styles$g.base);
1459
+ var result = deepCopyObject(styles$f.base);
1460
+ var keys = calculateNestedKeys(styles$f.base);
1273
1461
  keys.forEach(function (key) {
1274
- set(result, key, toClassName(get(styles$g.base, key), type && get(styles$g[type], key), hasStickyHeader && get(styles$g.sticky, key), hasVerticalSeparators && get(styles$g.separated, key), areControlsVisible && get(styles$g.controlled, key), get(stylesOverrides, key)));
1462
+ set(result, key, toClassName(get(styles$f.base, key), type && get(styles$f[type], key), hasStickyHeader && get(styles$f.sticky, key), hasVerticalSeparators && get(styles$f.separated, key), areControlsVisible && get(styles$f.controlled, key), get(stylesOverrides, key)));
1275
1463
  });
1276
1464
  return result;
1277
1465
  };
@@ -1396,7 +1584,7 @@ var TableList = function (props) {
1396
1584
  : { container: 'mt-4' }, onChange: onPaginate, children: children })] }) }));
1397
1585
  };
1398
1586
 
1399
- var base$d = {
1587
+ var base$c = {
1400
1588
  container: 'px-4 sm:px-6 lg:px-8',
1401
1589
  head: {
1402
1590
  container: 'sm:flex sm:items-center',
@@ -1450,7 +1638,7 @@ var base$d = {
1450
1638
  },
1451
1639
  },
1452
1640
  };
1453
- var normal$5 = {
1641
+ var normal$4 = {
1454
1642
  body: {
1455
1643
  content: 'inline-block min-w-full py-2 align-middle sm:px-6 lg:px-8',
1456
1644
  styleWrapper: 'relative',
@@ -1508,9 +1696,9 @@ var controlled = {
1508
1696
  container: '!flex',
1509
1697
  },
1510
1698
  };
1511
- var styles$g = {
1512
- base: base$d,
1513
- normal: normal$5,
1699
+ var styles$f = {
1700
+ base: base$c,
1701
+ normal: normal$4,
1514
1702
  panel: panel$1,
1515
1703
  full: full,
1516
1704
  sticky: sticky,
@@ -1562,10 +1750,10 @@ var TableList2 = function (props) {
1562
1750
  var _h = useState({}), columnVisibility = _h[0], setColumnVisibility = _h[1];
1563
1751
  var _j = useState([]), columnOrder = _j[0], setColumnOrder = _j[1];
1564
1752
  var handleGenerateStyle = function () {
1565
- var result = deepCopyObject(styles$f.base);
1566
- var keys = calculateNestedKeys(styles$f.base);
1753
+ var result = deepCopyObject(styles$e.base);
1754
+ var keys = calculateNestedKeys(styles$e.base);
1567
1755
  keys.forEach(function (key) {
1568
- set(result, key, toClassName(get(styles$f.base, key),
1756
+ set(result, key, toClassName(get(styles$e.base, key),
1569
1757
  // type && get(defaultStyles[type], key),
1570
1758
  // hasStickyHeader && get(defaultStyles.sticky, key),
1571
1759
  // hasVerticalSeparators && get(defaultStyles.separated, key),
@@ -1652,7 +1840,7 @@ var TableList2 = function (props) {
1652
1840
  setTableState(id, state);
1653
1841
  }
1654
1842
  }, [id, state]);
1655
- return (jsxs("div", { className: styles.container, children: [jsx("div", { className: styles.head, children: head && head(state) }), jsx("div", { className: styles.body.content, children: jsx("div", { className: styles.body.wrapper, children: jsx("div", { className: styles.body.styleWrapper, children: jsxs("div", { className: styles.body.tableWrapper, children: [jsxs("table", { className: styles.body.table.container, children: [jsx("thead", { className: styles.body.table.head.container, children: table === null || table === void 0 ? void 0 : table.getHeaderGroups().map(function (headerGroup) { return (jsx("tr", { children: headerGroup.headers.map(function (header) {
1843
+ return (jsxs("div", { className: styles.container, "data-cy": "table-list-".concat(id), children: [jsx("div", { className: styles.head, children: head && head(state) }), jsx("div", { className: styles.body.content, children: jsx("div", { className: styles.body.wrapper, children: jsx("div", { className: styles.body.styleWrapper, children: jsxs("div", { className: styles.body.tableWrapper, children: [jsxs("table", { className: styles.body.table.container, children: [jsx("thead", { className: styles.body.table.head.container, children: table === null || table === void 0 ? void 0 : table.getHeaderGroups().map(function (headerGroup) { return (jsx("tr", { children: headerGroup.headers.map(function (header) {
1656
1844
  // Default sort icon to show a user that the column is sortable
1657
1845
  var SortIconElement = ChevronUpDownIcon;
1658
1846
  if (header.column.getIsSorted()) {
@@ -1689,7 +1877,7 @@ var TableList2 = function (props) {
1689
1877
  }) }))] }), isEmpty(table === null || table === void 0 ? void 0 : table.getRowModel().rows) && !isLoading && (jsx(Fragment$1, { children: ((_e = config === null || config === void 0 ? void 0 : config.options) === null || _e === void 0 ? void 0 : _e.emptyComponent) ? ((_f = config === null || config === void 0 ? void 0 : config.options) === null || _f === void 0 ? void 0 : _f.emptyComponent) : (jsx("div", { className: "w-full flex justify-center my-2", children: "There is no data to show..." })) })), isLoading && (jsx("div", { className: "flex flex-col gap-y-2 w-full pt-5", children: new Array(8).fill(undefined).map(function (index) { return (jsxs("div", { className: "flex gap-2", children: [jsx("div", { className: "w-20 h-12 rounded-md bg-gray-100 animate-pulse" }), jsx("div", { className: "w-full h-12 rounded-md bg-gray-100 animate-pulse" })] }, index)); }) }))] }) }) }) }), jsx("div", { className: styles.foot, children: foot && foot(state) })] }));
1690
1878
  };
1691
1879
 
1692
- var base$c = {
1880
+ var base$b = {
1693
1881
  container: '',
1694
1882
  head: '',
1695
1883
  body: {
@@ -1728,8 +1916,8 @@ var base$c = {
1728
1916
  },
1729
1917
  foot: '',
1730
1918
  };
1731
- var styles$f = {
1732
- base: base$c,
1919
+ var styles$e = {
1920
+ base: base$b,
1733
1921
  };
1734
1922
 
1735
1923
  var createColumnHelper = function () {
@@ -1739,10 +1927,10 @@ var createColumnHelper = function () {
1739
1927
  var BreadcrumbsNavigation = function (props) {
1740
1928
  var _a = props.href, href = _a === void 0 ? '/' : _a, pages = props.pages, _b = props.type, type = _b === void 0 ? 'slashes' : _b, customSeparator = props.separator, stylesOverrides = props.styles;
1741
1929
  var handleGenerateStyle = function () {
1742
- var result = deepCopyObject(styles$e.base);
1743
- var keys = calculateNestedKeys(styles$e.base);
1930
+ var result = deepCopyObject(styles$d.base);
1931
+ var keys = calculateNestedKeys(styles$d.base);
1744
1932
  keys.forEach(function (key) {
1745
- set$1(result, key, toClassName(get$1(styles$e.base, key), type && get$1(styles$e[type], key), get$1(stylesOverrides, key)));
1933
+ set$1(result, key, toClassName(get$1(styles$d.base, key), type && get$1(styles$d[type], key), get$1(stylesOverrides, key)));
1746
1934
  });
1747
1935
  return result;
1748
1936
  };
@@ -1778,7 +1966,7 @@ var BreadcrumbsNavigation = function (props) {
1778
1966
  return (jsx("nav", { className: styles.container, "aria-label": "Breadcrumb", children: jsxs("ol", { className: styles.list, children: [jsx(HomeLink, {}), pages === null || pages === void 0 ? void 0 : pages.map(function (page) { return jsx(PageLink, { page: page }, page.name); })] }) }));
1779
1967
  };
1780
1968
 
1781
- var base$b = {
1969
+ var base$a = {
1782
1970
  container: 'flex',
1783
1971
  list: 'flex',
1784
1972
  separator: '',
@@ -1863,8 +2051,8 @@ var bar = {
1863
2051
  link: '',
1864
2052
  },
1865
2053
  };
1866
- var styles$e = {
1867
- base: base$b,
2054
+ var styles$d = {
2055
+ base: base$a,
1868
2056
  slashes: slashes,
1869
2057
  chevrons: chevrons,
1870
2058
  panel: panel,
@@ -1875,10 +2063,10 @@ var PagePaginationNavigation = function (props) {
1875
2063
  var _a = props.min, min = _a === void 0 ? 1 : _a, _b = props.max, max = _b === void 0 ? 20 : _b, stylesOverrides = props.styles, onChange = props.onChange;
1876
2064
  var _c = useState(2), current = _c[0], setCurrent = _c[1];
1877
2065
  var handleGenerateStyle = function () {
1878
- var result = deepCopyObject(styles$d.base);
1879
- var keys = calculateNestedKeys(styles$d.base);
2066
+ var result = deepCopyObject(styles$c.base);
2067
+ var keys = calculateNestedKeys(styles$c.base);
1880
2068
  keys.forEach(function (key) {
1881
- set(result, key, toClassName(get(styles$d.base, key), get(stylesOverrides, key)));
2069
+ set(result, key, toClassName(get(styles$c.base, key), get(stylesOverrides, key)));
1882
2070
  });
1883
2071
  return result;
1884
2072
  };
@@ -1919,7 +2107,7 @@ var PagePaginationNavigation = function (props) {
1919
2107
  return (jsxs("nav", { className: styles.container, children: [jsx("div", { className: styles.left.container, children: jsxs("button", { className: toClassName(styles.left.button, current === min && styles.button.disabled), disabled: current === min, onClick: function () { return setCurrent(current - 1); }, children: [jsx(ArrowLongLeftIcon, { className: styles.left.icon }), "Previous"] }) }), jsx("div", { className: styles.center.container, children: component }), jsx("div", { className: styles.right.container, children: jsxs("button", { className: toClassName(styles.right.button, current === max && styles.button.disabled), disabled: current === max, onClick: function () { return setCurrent(current + 1); }, children: ["Next", jsx(ArrowLongRightIcon, { className: styles.right.icon })] }) })] }));
1920
2108
  };
1921
2109
 
1922
- var base$a = {
2110
+ var base$9 = {
1923
2111
  container: 'flex items-center justify-between border-t border-gray-200 px-4 sm:px-0',
1924
2112
  left: {
1925
2113
  container: '-mt-px flex w-0 flex-1',
@@ -1941,18 +2129,18 @@ var base$a = {
1941
2129
  },
1942
2130
  divider: 'inline-flex items-center border-t-2 border-transparent px-4 pt-4 text-sm font-medium text-gray-500',
1943
2131
  };
1944
- var styles$d = {
1945
- base: base$a,
2132
+ var styles$c = {
2133
+ base: base$9,
1946
2134
  };
1947
2135
 
1948
2136
  var Container$1 = function (props) {
1949
2137
  var children = props.children, stylesOverrides = props.styles;
1950
2138
  var _a = useState(''), active = _a[0], setActive = _a[1];
1951
2139
  var handleGenerateStyle = function () {
1952
- var result = deepCopyObject(styles$c.base);
1953
- var keys = calculateNestedKeys(styles$c.base);
2140
+ var result = deepCopyObject(styles$b.base);
2141
+ var keys = calculateNestedKeys(styles$b.base);
1954
2142
  keys.forEach(function (key) {
1955
- set(result, key, toClassName(get(styles$c.base, key), get(stylesOverrides, key)));
2143
+ set(result, key, toClassName(get(styles$b.base, key), get(stylesOverrides, key)));
1956
2144
  });
1957
2145
  return result;
1958
2146
  };
@@ -1962,10 +2150,10 @@ var Container$1 = function (props) {
1962
2150
  var List$1 = function (props) {
1963
2151
  var name = props.name, children = props.children, active = props.active, setActive = props.setActive, stylesOverrides = props.styles;
1964
2152
  var handleGenerateStyle = function () {
1965
- var result = deepCopyObject(styles$c.base);
1966
- var keys = calculateNestedKeys(styles$c.base);
2153
+ var result = deepCopyObject(styles$b.base);
2154
+ var keys = calculateNestedKeys(styles$b.base);
1967
2155
  keys.forEach(function (key) {
1968
- set(result, key, toClassName(get(styles$c.base, key), get(stylesOverrides, key)));
2156
+ set(result, key, toClassName(get(styles$b.base, key), get(stylesOverrides, key)));
1969
2157
  });
1970
2158
  return result;
1971
2159
  };
@@ -2011,10 +2199,10 @@ var List$1 = function (props) {
2011
2199
  var Item$1 = function (props) {
2012
2200
  var children = props.children, _a = props.as, LinkComponent = _a === void 0 ? 'a' : _a, _b = props.type, type = _b === void 0 ? 'underline' : _b, href = props.href, isCurrent = props.isCurrent, onClick = props.onClick, stylesOverrides = props.styles, isLoading = props.isLoading;
2013
2201
  var handleGenerateStyle = function () {
2014
- var result = deepCopyObject(styles$c.base);
2015
- var keys = calculateNestedKeys(styles$c.base);
2202
+ var result = deepCopyObject(styles$b.base);
2203
+ var keys = calculateNestedKeys(styles$b.base);
2016
2204
  keys.forEach(function (key) {
2017
- set(result, key, toClassName(get(styles$c.base, key), type && get(styles$c[type], key), get(stylesOverrides, key)));
2205
+ set(result, key, toClassName(get(styles$b.base, key), type && get(styles$b[type], key), get(stylesOverrides, key)));
2018
2206
  });
2019
2207
  return result;
2020
2208
  };
@@ -2035,7 +2223,7 @@ var TabNavigation = {
2035
2223
  View: View$1,
2036
2224
  };
2037
2225
 
2038
- var base$9 = {
2226
+ var base$8 = {
2039
2227
  container: '',
2040
2228
  list: {
2041
2229
  container: '',
@@ -2072,8 +2260,8 @@ var buttons = {
2072
2260
  inactive: 'border-transparent text-gray-500 hover:text-gray-700 hover:border-gray-300',
2073
2261
  },
2074
2262
  };
2075
- var styles$c = {
2076
- base: base$9,
2263
+ var styles$b = {
2264
+ base: base$8,
2077
2265
  underline: underline,
2078
2266
  pills: pills,
2079
2267
  buttons: buttons,
@@ -2100,11 +2288,11 @@ var List = function (props) {
2100
2288
  setActive && setActive(tab === null || tab === void 0 ? void 0 : tab.props.accessor);
2101
2289
  // eslint-disable-next-line react-hooks/exhaustive-deps
2102
2290
  }, []);
2103
- return (jsx("nav", { className: toClassName(styles$b.list, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.list), children: children }));
2291
+ return (jsx("nav", { className: toClassName(styles$a.list, stylesOverrides === null || stylesOverrides === void 0 ? void 0 : stylesOverrides.list), children: children }));
2104
2292
  };
2105
2293
  var Item = function (props) {
2106
2294
  var children = props.children, href = props.href, isCurrent = props.isCurrent, _a = props.linkComponent, LinkComponent = _a === void 0 ? 'a' : _a, onClick = props.onClick;
2107
- return (jsx(LinkComponent, { href: href, className: toClassName(styles$b.item[isCurrent ? 'active' : 'notActive'], styles$b.item.base), onClick: onClick, children: children }));
2295
+ return (jsx(LinkComponent, { href: href, className: toClassName(styles$a.item[isCurrent ? 'active' : 'notActive'], styles$a.item.base), onClick: onClick, children: children }));
2108
2296
  };
2109
2297
  var View = function (props) {
2110
2298
  var children = props.children;
@@ -2117,7 +2305,7 @@ var VerticalNavigation = {
2117
2305
  View: View,
2118
2306
  };
2119
2307
 
2120
- var styles$b = {
2308
+ var styles$a = {
2121
2309
  container: '',
2122
2310
  list: 'space-y-1',
2123
2311
  item: {
@@ -2128,17 +2316,17 @@ var styles$b = {
2128
2316
  };
2129
2317
 
2130
2318
  var ModalOverlay = function (props) {
2131
- var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, stylesOverrides = props.styles, onOpen = props.onOpen, onClose = props.onClose;
2319
+ var children = props.children, trigger = props.trigger, _a = props.size, size = _a === void 0 ? 'md' : _a, stylesOverrides = props.styles, dataCy = props.dataCy, onOpen = props.onOpen, onClose = props.onClose;
2132
2320
  var _b = useState(trigger ? false : true), isOpen = _b[0], setIsOpen = _b[1];
2133
2321
  var options = useMemo(function () { return ({
2134
2322
  handleOpen: function () { return setIsOpen(true); },
2135
2323
  handleClose: function () { return setIsOpen(false); },
2136
2324
  }); }, []);
2137
2325
  var handleGenerateStyle = function () {
2138
- var result = deepCopyObject(styles$a.base);
2139
- var keys = calculateNestedKeys(styles$a.base);
2326
+ var result = deepCopyObject(styles$9.base);
2327
+ var keys = calculateNestedKeys(styles$9.base);
2140
2328
  keys.forEach(function (key) {
2141
- set(result, key, toClassName(get(styles$a.base, key), size && get(styles$a[size], key), get(stylesOverrides, key)));
2329
+ set(result, key, toClassName(get(styles$9.base, key), size && get(styles$9[size], key), get(stylesOverrides, key)));
2142
2330
  });
2143
2331
  return result;
2144
2332
  };
@@ -2153,10 +2341,10 @@ var ModalOverlay = function (props) {
2153
2341
  onClose && onClose();
2154
2342
  }
2155
2343
  }, [isOpen, onClose]);
2156
- return (jsxs(Fragment$1, { children: [jsx(Transition.Root, { show: isOpen, as: Fragment, children: jsxs(Dialog, { as: "div", className: styles.container, onClose: setIsOpen, children: [jsx(Transition.Child, { as: Fragment, enter: styles.background.transition.enter, enterFrom: styles.background.transition.enterFrom, enterTo: styles.background.transition.enterTo, leave: styles.background.transition.leave, leaveFrom: styles.background.transition.leaveFrom, leaveTo: styles.background.transition.leaveTo, children: jsx("div", { className: styles.background.container }) }), jsx("div", { className: styles.layout.container, children: jsx("div", { className: styles.layout.content, children: jsx(Transition.Child, { as: Fragment, enter: styles.panel.transition.enter, enterFrom: styles.panel.transition.enterFrom, enterTo: styles.panel.transition.enterTo, leave: styles.panel.transition.leave, leaveFrom: styles.panel.transition.leaveFrom, leaveTo: styles.panel.transition.leaveTo, children: jsx(Dialog.Panel, { className: styles.panel.container, children: children(options) }) }) }) })] }) }), trigger && trigger(options)] }));
2344
+ return (jsxs(Fragment$1, { children: [jsx(Transition.Root, { show: isOpen, as: Fragment, children: jsxs(Dialog, { as: "div", className: styles.container, onClose: setIsOpen, children: [jsx(Transition.Child, { as: Fragment, enter: styles.background.transition.enter, enterFrom: styles.background.transition.enterFrom, enterTo: styles.background.transition.enterTo, leave: styles.background.transition.leave, leaveFrom: styles.background.transition.leaveFrom, leaveTo: styles.background.transition.leaveTo, children: jsx("div", { className: styles.background.container }) }), jsx("div", { className: styles.layout.container, "data-cy": dataCy, children: jsx("div", { className: styles.layout.content, children: jsx(Transition.Child, { as: Fragment, enter: styles.panel.transition.enter, enterFrom: styles.panel.transition.enterFrom, enterTo: styles.panel.transition.enterTo, leave: styles.panel.transition.leave, leaveFrom: styles.panel.transition.leaveFrom, leaveTo: styles.panel.transition.leaveTo, children: jsx(Dialog.Panel, { className: styles.panel.container, children: children(options) }) }) }) })] }) }), trigger && trigger(options)] }));
2157
2345
  };
2158
2346
 
2159
- var base$8 = {
2347
+ var base$7 = {
2160
2348
  container: 'relative z-20',
2161
2349
  background: {
2162
2350
  container: 'fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity',
@@ -2210,8 +2398,8 @@ var xl$2 = {
2210
2398
  container: 'sm:max-w-4xl',
2211
2399
  },
2212
2400
  };
2213
- var styles$a = {
2214
- base: base$8,
2401
+ var styles$9 = {
2402
+ base: base$7,
2215
2403
  xs: xs$2,
2216
2404
  sm: sm$2,
2217
2405
  md: md$2,
@@ -2222,10 +2410,10 @@ var styles$a = {
2222
2410
  var NotificationOverlayContainer = function (_a) {
2223
2411
  var children = _a.children, stylesOverrides = _a.styles;
2224
2412
  var handleGenerateStyle = function () {
2225
- var result = deepCopyObject(styles$9.base);
2226
- var keys = calculateNestedKeys(styles$9.base);
2413
+ var result = deepCopyObject(styles$8.base);
2414
+ var keys = calculateNestedKeys(styles$8.base);
2227
2415
  keys.forEach(function (key) {
2228
- set(result, key, toClassName(get(styles$9.base, key), get(stylesOverrides, key)));
2416
+ set(result, key, toClassName(get(styles$8.base, key), get(stylesOverrides, key)));
2229
2417
  });
2230
2418
  return result;
2231
2419
  };
@@ -2240,10 +2428,10 @@ var NotificationOverlayItem = function (props) {
2240
2428
  onClose: function () { return setIsOpen(false); },
2241
2429
  }); }, []);
2242
2430
  var handleGenerateStyle = function () {
2243
- var result = deepCopyObject(styles$9.base);
2244
- var keys = calculateNestedKeys(styles$9.base);
2431
+ var result = deepCopyObject(styles$8.base);
2432
+ var keys = calculateNestedKeys(styles$8.base);
2245
2433
  keys.forEach(function (key) {
2246
- set(result, key, toClassName(get(styles$9.base, key), size && get(styles$9[size], key), get(stylesOverrides, key)));
2434
+ set(result, key, toClassName(get(styles$8.base, key), size && get(styles$8[size], key), get(stylesOverrides, key)));
2247
2435
  });
2248
2436
  return result;
2249
2437
  };
@@ -2255,7 +2443,7 @@ var NotificationOverlay = {
2255
2443
  Item: NotificationOverlayItem,
2256
2444
  };
2257
2445
 
2258
- var base$7 = {
2446
+ var base$6 = {
2259
2447
  container: {
2260
2448
  outer: 'pointer-events-none fixed inset-0 flex items-end px-4 py-6 sm:items-start sm:p-6 z-30',
2261
2449
  inner: 'flex w-full flex-col items-center space-y-4 sm:items-end',
@@ -2315,8 +2503,8 @@ var xl$1 = {
2315
2503
  },
2316
2504
  },
2317
2505
  };
2318
- var styles$9 = {
2319
- base: base$7,
2506
+ var styles$8 = {
2507
+ base: base$6,
2320
2508
  xs: xs$1,
2321
2509
  sm: sm$1,
2322
2510
  md: md$1,
@@ -2332,10 +2520,10 @@ var SlideOverOverlay = function (props) {
2332
2520
  handleClose: function () { return setIsOpen(false); },
2333
2521
  }); }, []);
2334
2522
  var handleGenerateStyle = function () {
2335
- var result = deepCopyObject(styles$8.base);
2336
- var keys = calculateNestedKeys(styles$8.base);
2523
+ var result = deepCopyObject(styles$7.base);
2524
+ var keys = calculateNestedKeys(styles$7.base);
2337
2525
  keys.forEach(function (key) {
2338
- set(result, key, toClassName(get(styles$8.base, key), size && get(styles$8[size], key), get(stylesOverrides, key)));
2526
+ set(result, key, toClassName(get(styles$7.base, key), size && get(styles$7[size], key), get(stylesOverrides, key)));
2339
2527
  });
2340
2528
  return result;
2341
2529
  };
@@ -2343,7 +2531,7 @@ var SlideOverOverlay = function (props) {
2343
2531
  return (jsxs(Fragment$1, { children: [jsx(Transition.Root, { show: isOpen, as: Fragment, children: jsxs(Dialog, { as: "div", className: styles.container, onClose: setIsOpen, children: [jsx(Transition.Child, { as: Fragment, enter: styles.background.transition.enter, enterFrom: styles.background.transition.enterFrom, enterTo: styles.background.transition.enterTo, leave: styles.background.transition.leave, leaveFrom: styles.background.transition.leaveFrom, leaveTo: styles.background.transition.leaveTo, children: jsx("div", { className: styles.background.container }) }), jsx("div", { className: styles.layout.container, children: jsx("div", { className: styles.layout.content, children: jsx("div", { className: styles.layout.inner, children: jsx(Transition.Child, { as: Fragment, enter: styles.panel.transition.enter, enterFrom: styles.panel.transition.enterFrom, enterTo: styles.panel.transition.enterTo, leave: styles.panel.transition.leave, leaveFrom: styles.panel.transition.leaveFrom, leaveTo: styles.panel.transition.leaveTo, children: jsx(Dialog.Panel, { className: styles.panel.container, children: children(options) }) }) }) }) })] }) }), trigger && trigger(options)] }));
2344
2532
  };
2345
2533
 
2346
- var base$6 = {
2534
+ var base$5 = {
2347
2535
  container: 'relative z-20',
2348
2536
  background: {
2349
2537
  container: 'fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity',
@@ -2398,8 +2586,8 @@ var xl = {
2398
2586
  container: 'sm:max-w-4xl',
2399
2587
  },
2400
2588
  };
2401
- var styles$8 = {
2402
- base: base$6,
2589
+ var styles$7 = {
2590
+ base: base$5,
2403
2591
  xs: xs,
2404
2592
  sm: sm,
2405
2593
  md: md,
@@ -2420,19 +2608,19 @@ var TableColumnOptionsCustom = function (props) {
2420
2608
  ids.splice(location, 0, column.id);
2421
2609
  setColumnOrder(ids);
2422
2610
  }, []);
2423
- return (jsxs(Popover, { children: [jsx(Popover.Button, { children: trigger }), jsx(Popover.Panel, { className: styles$7.controls.content, children: table
2611
+ return (jsxs(Popover, { children: [jsx(Popover.Button, { children: trigger }), jsx(Popover.Panel, { className: styles$6.controls.content, children: table
2424
2612
  .getAllLeafColumns()
2425
2613
  .map(function (column, index) {
2426
2614
  var isAccessorColumn = !!(column === null || column === void 0 ? void 0 : column.accessorFn);
2427
- return (jsxs("div", { className: toClassName(styles$7.controls.dropdown.container, !isAccessorColumn && 'hidden'), children: [jsx("input", { className: styles$7.controls.dropdown.input, type: "checkbox", checked: column.getIsVisible(), onChange: column.getToggleVisibilityHandler() }), jsx("label", { className: styles$7.controls.dropdown.label, children: column.columnDef.header }), jsxs("div", { className: styles$7.controls.dropdown.actions, children: [jsx(ChevronDownIcon$1, { className: styles$7.controls.dropdown.upIcon, onClick: function () {
2615
+ return (jsxs("div", { className: toClassName(styles$6.controls.dropdown.container, !isAccessorColumn && 'hidden'), children: [jsx("input", { className: styles$6.controls.dropdown.input, type: "checkbox", checked: column.getIsVisible(), onChange: column.getToggleVisibilityHandler() }), jsx("label", { className: styles$6.controls.dropdown.label, children: column.columnDef.header }), jsxs("div", { className: styles$6.controls.dropdown.actions, children: [jsx(ChevronDownIcon$1, { className: styles$6.controls.dropdown.upIcon, onClick: function () {
2428
2616
  return handleUpdateColumnOrder(table, column, index - 1, setColumnOrder);
2429
- } }), jsx(ChevronDownIcon$1, { className: styles$7.controls.dropdown.downIcon, onClick: function () {
2617
+ } }), jsx(ChevronDownIcon$1, { className: styles$6.controls.dropdown.downIcon, onClick: function () {
2430
2618
  return handleUpdateColumnOrder(table, column, index + 1, setColumnOrder);
2431
2619
  } })] })] }, column.id));
2432
2620
  }) })] }));
2433
2621
  };
2434
2622
 
2435
- var styles$7 = {
2623
+ var styles$6 = {
2436
2624
  container: '',
2437
2625
  controls: {
2438
2626
  container: 'flex-row justify-between z-10 relative mb-4 gap-2 hidden',
@@ -2462,168 +2650,6 @@ var TableExcelExportCustom = function (props) {
2462
2650
  return jsx("div", { children: children({ handleExport: handleExport }) });
2463
2651
  };
2464
2652
 
2465
- var SelectMenuForm = function (props) {
2466
- var _a;
2467
- var _b = props.name, name = _b === void 0 ? 'select-menu-form' : _b, label = props.label, description = props.description, placeholder = props.placeholder, options = props.options, required = props.required, value = props.value, error = props.error, _c = props.isRequired, isRequired = _c === void 0 ? false : _c, isLoading = props.isLoading, _d = props.isTouched, isTouched = _d === void 0 ? false : _d, isDisabled = props.isDisabled, _e = props.isClearable, isClearable = _e === void 0 ? true : _e, _f = props.isMultiple, isMultiple = _f === void 0 ? false : _f, _g = props.isSearchable, isSearchable = _g === void 0 ? true : _g, _h = props.isSolo, isSolo = _h === void 0 ? false : _h, onChange = props.onChange, onSearchInputChange = props.onSearchInputChange, onClear = props.onClear, onBlur = props.onBlur, stylesOverrides = props.styles;
2468
- var _j = useState(true), isFocus = _j[0], setIsFocus = _j[1];
2469
- var _k = useState(value !== null && value !== void 0 ? value : null), state = _k[0], setState = _k[1];
2470
- var isValid = error === undefined;
2471
- var handleGenerateStyle = function () {
2472
- var result = deepCopyObject(styles$6.base);
2473
- var keys = calculateNestedKeys(styles$6.base);
2474
- keys.forEach(function (key) {
2475
- set(result, key, toClassName(get(styles$6.base, key), get(styles$6['normal'], key), isTouched === true && !isValid && get(styles$6.invalid, key), isDisabled && get(styles$6.disabled, key), get(stylesOverrides, key)));
2476
- });
2477
- return result;
2478
- };
2479
- var handleChange = function (selectValue) {
2480
- setState(selectValue);
2481
- onChange && onChange(selectValue);
2482
- setIsFocus(false);
2483
- };
2484
- var styles = handleGenerateStyle();
2485
- // Simulate onClear event.
2486
- useEffect(function () {
2487
- if (state === null && !isFocus) {
2488
- onClear && onClear(name);
2489
- }
2490
- // eslint-disable-next-line react-hooks/exhaustive-deps
2491
- }, [state]);
2492
- // Simulate onBlur event.
2493
- useEffect(function () {
2494
- if (!isFocus) {
2495
- onBlur && onBlur();
2496
- }
2497
- // eslint-disable-next-line react-hooks/exhaustive-deps
2498
- }, [isFocus]);
2499
- // listen to value changes.
2500
- useEffect(function () {
2501
- setState(value);
2502
- }, [value]);
2503
- return (jsxs("div", { className: styles.container, children: [jsxs("div", { className: styles.head, children: [label && (jsx("label", { htmlFor: name, className: styles.label, children: label })), !required && !isRequired && typeof label === 'string' && (jsx("span", { className: styles.hint, children: "Optional" })), required && required({ isRequired: isRequired })] }), jsxs("div", { className: styles.container, children: [jsx(Select, { primaryColor: "primary",
2504
- //
2505
- placeholder: placeholder === null || placeholder === void 0 ? void 0 : placeholder.select, noOptionsMessage: (jsx("p", { className: styles.emptyState, children: (_a = placeholder === null || placeholder === void 0 ? void 0 : placeholder.emptyState) !== null && _a !== void 0 ? _a : 'No results found' })), searchInputPlaceholder: placeholder === null || placeholder === void 0 ? void 0 : placeholder.searchInput,
2506
- //
2507
- loading: isLoading, isDisabled: isDisabled, isClearable: isClearable, isMultiple: isMultiple, isSearchable: isSearchable,
2508
- //
2509
- options: options,
2510
- //
2511
- value: state, onChange: handleChange, onSearchInputChange: onSearchInputChange,
2512
- //
2513
- classNames: {
2514
- menuButton: function () {
2515
- return toClassName(styles.input, state === null && '[&>*]:!text-gray-300 ', state === null &&
2516
- !isValid &&
2517
- isTouched &&
2518
- '[&>*]:!text-red-300');
2519
- },
2520
- menu: styles.menu,
2521
- tagItem: function () { return styles.tagItem; },
2522
- tagItemText: styles.tagItemText,
2523
- tagItemIconContainer: styles.tagItemIconContainer,
2524
- tagItemIcon: styles.tagItemIcon,
2525
- list: styles.list,
2526
- listItem: function () { return styles.listItem; },
2527
- listDisabledItem: styles.listDisabledItem,
2528
- listGroupLabel: styles.listGroupLabel,
2529
- searchContainer: styles.searchContainer,
2530
- searchBox: styles.searchBox,
2531
- searchIcon: styles.searchIcon,
2532
- closeIcon: styles.closeIcon,
2533
- } }), !isSolo && (jsxs("div", { className: styles.foot, children: [description && !(error && isTouched) && (jsx("p", { className: styles.description, children: description })), error && isTouched && (jsx("p", { className: styles.error, children: JSON.stringify(error).replaceAll('"', '') }))] }))] })] }));
2534
- };
2535
-
2536
- var base$5 = {
2537
- container: '',
2538
- head: 'flex justify-between',
2539
- body: 'relative rounded-md',
2540
- foot: '',
2541
- label: 'block font-medium text-gray-900',
2542
- hint: 'text-xs text-gray-500',
2543
- leading: 'pointer-events-none absolute inset-y-0 left-0 flex items-center',
2544
- input: 'block w-full flex border',
2545
- menuButton: '',
2546
- menu: 'z-10 !px-0 !py-0 !w-full rounded-md overflow-hidden border !mt-1 absolute bg-white',
2547
- tagItem: 'bg-gray-200 px-2 py-1 flex flex-row gap-x-1 items-center justify-between rounded-sm',
2548
- tagItemText: 'text-xs',
2549
- tagItemIconContainer: '!p-0 rounded-full hover:bg-gray-400 text-sm hover:text-white aspect-square w-4 flex items-center justify-center cursor-pointer',
2550
- tagItemIcon: '',
2551
- list: '!px-0 !w-full [&>*]:px-0 max-h-56 overflow-scroll !py-1',
2552
- listGroupLabel: '',
2553
- listItem: '!w-full !list-none hover:bg-primary-500 hover:text-white !py-2 !px-2',
2554
- listDisabledItem: '',
2555
- searchContainer: '!w-full !px-2 !py-2 border-b',
2556
- searchBox: '',
2557
- searchIcon: '',
2558
- closeIcon: '',
2559
- emptyState: 'w-full inline-flex items-start justify-start px-4',
2560
- trailing: 'pointer-events-none absolute inset-y-0 right-0 flex items-center',
2561
- description: 'text-gray-400 text-xs mt-1',
2562
- error: 'text-red-500 text-xs ml-5 mt-1',
2563
- };
2564
- var leading$4 = {
2565
- input: 'pl-10',
2566
- };
2567
- var trailing$4 = {};
2568
- var normal$4 = {
2569
- label: 'leading-6 text-sm mb-2',
2570
- hint: 'leading-6',
2571
- leading: 'pl-3',
2572
- input: 'rounded-md border-gray-200 shadow-sm focus:border-primary-500 focus:ring-primary-500 sm:text-sm placeholder-gray-300',
2573
- trailing: '',
2574
- description: 'mt-2 text-sm',
2575
- };
2576
- var inset$4 = {
2577
- container: 'rounded-md px-3 pt-2.5 pb-1.5 shadow-sm ring-1 ring-inset ring-gray-300 focus-within:ring-2 focus-within:ring-primary-600',
2578
- label: 'text-xs',
2579
- hint: 'text-xs',
2580
- input: 'border-0 !ring-0 p-0 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm pl-0',
2581
- description: 'hidden',
2582
- };
2583
- var overlapping$4 = {
2584
- container: 'relative',
2585
- head: ' absolute flex justify-between items-center left-0 -top-2 right-0 mx-2 z-10 w-full',
2586
- label: 'inline-block bg-white px-1 text-xs font-medium text-gray-900 ',
2587
- hint: 'text-xs mr-4 bg-white px-1',
2588
- input: 'block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6',
2589
- description: 'hidden',
2590
- };
2591
- var pill$4 = {
2592
- head: 'mx-px block px-4 text-sm font-medium leading-6 text-gray-900 mb-1 pr-6',
2593
- foot: 'mx-px block px-4 text-sm font-medium leading-6 text-gray-900 mt-1 pr-6',
2594
- input: 'block w-full rounded-full border-0 px-4 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6',
2595
- trailing: 'pr-2',
2596
- description: 'text-xs',
2597
- };
2598
- var floored$4 = {
2599
- body: 'relative mt-2',
2600
- label: 'block text-sm font-medium leading-6 text-gray-900',
2601
- input: 'peer block w-full border-0 bg-gray-50 py-1.5 text-gray-900 focus:ring-0 sm:text-sm sm:leading-6 ring-0',
2602
- description: 'text-xs mt-2',
2603
- };
2604
- var invalid$4 = {
2605
- container: 'ring-red-500',
2606
- input:
2607
- // 'block w-full border border-transparent text-red-900 ring-1 ring-inset ring-red-300 placeholder:text-red-300 focus:ring-2 focus:ring-inset focus:ring-red-500 sm:leading-6 pr-10',
2608
- 'block w-full border border-transparent text-red-900 ring-1 ring-inset ring-red-300 placeholder:text-red-300 focus:ring-2 focus:ring-inset focus:ring-red-500',
2609
- description: 'text-sm text-red-600',
2610
- };
2611
- var disabled$5 = {
2612
- input: 'block w-full rounded-md border-0 text-gray-900 shadow-sm ring-1 ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 cursor-not-allowed bg-gray-50 text-gray-500 ring-gray-200',
2613
- };
2614
- var styles$6 = {
2615
- base: base$5,
2616
- leading: leading$4,
2617
- trailing: trailing$4,
2618
- normal: normal$4,
2619
- inset: inset$4,
2620
- overlapping: overlapping$4,
2621
- pill: pill$4,
2622
- floored: floored$4,
2623
- invalid: invalid$4,
2624
- disabled: disabled$5,
2625
- };
2626
-
2627
2653
  var DateMenuForm = function (props) {
2628
2654
  var _a;
2629
2655
  var _b = props.name, name = _b === void 0 ? 'date-menu-form' : _b, _c = props.size, size = _c === void 0 ? 'compact' : _c, label = props.label, _d = props.i18n, i18n = _d === void 0 ? 'en' : _d, description = props.description, placeholder = props.placeholder, separator = props.separator, startFrom = props.startFrom, _e = props.displayFormat, displayFormat = _e === void 0 ? 'DD.MM.YYYY' : _e, _f = props.direction, direction = _f === void 0 ? 'down' : _f, minDate = props.minDate, maxDate = props.maxDate, _g = props.startWeekOn, startWeekOn = _g === void 0 ? 'mon' : _g, _h = props.icon, icon = _h === void 0 ? function (isEmpty) {
@@ -2650,6 +2676,8 @@ var DateMenuForm = function (props) {
2650
2676
  return result;
2651
2677
  };
2652
2678
  var styles = handleGenerateStyle();
2679
+ var inputDataCy = "form-input-date-".concat(name);
2680
+ var errorDataCy = "form-input-date-error-".concat(name);
2653
2681
  // Simulate onClear event.
2654
2682
  useEffect(function () {
2655
2683
  if (state.startDate === null && state.endDate === null) {
@@ -2657,13 +2685,13 @@ var DateMenuForm = function (props) {
2657
2685
  }
2658
2686
  // eslint-disable-next-line react-hooks/exhaustive-deps
2659
2687
  }, [state]);
2660
- return (jsxs("div", { className: styles.container, children: [jsxs("div", { className: styles.head, children: [label && (jsx("label", { htmlFor: name, className: styles.label, children: label })), !required && !isRequired && typeof label === 'string' && (jsx("span", { className: styles.hint, children: "Optional" })), required && required({ isRequired: isRequired })] }), jsxs("div", { className: styles.container, children: [jsx(Datepicker, { inputName: name, inputId: name, i18n: i18n, useRange: size === 'expanded', placeholder: placeholder, asSingle: !isRanged, separator: separator, startFrom: startFrom, displayFormat: displayFormat, disabled: isDisabled, popoverDirection: direction, minDate: minDate, maxDate: maxDate, toggleIcon: icon,
2688
+ return (jsxs("div", { className: styles.container, children: [jsxs("div", { className: styles.head, children: [label && (jsx("label", { htmlFor: name, className: styles.label, children: label })), !required && !isRequired && typeof label === 'string' && (jsx("span", { className: styles.hint, children: "Optional" })), required && required({ isRequired: isRequired })] }), jsxs("div", { className: styles.container, "data-cy": inputDataCy, children: [jsx(Datepicker, { inputName: name, inputId: name, i18n: i18n, useRange: size === 'expanded', placeholder: placeholder, asSingle: !isRanged, separator: separator, startFrom: startFrom, displayFormat: displayFormat, disabled: isDisabled, popoverDirection: direction, minDate: minDate, maxDate: maxDate, toggleIcon: icon,
2661
2689
  //
2662
2690
  value: state,
2663
2691
  //
2664
2692
  onChange: handleValueChange,
2665
2693
  //
2666
- inputClassName: styles.input, startWeekOn: startWeekOn }), !isSolo && (jsxs("div", { className: styles.foot, children: [description && !(error && isTouched) && (jsx("p", { className: styles.description, children: description })), error && isTouched && (jsx("p", { className: styles.error, children: typeof error === 'string'
2694
+ inputClassName: styles.input, startWeekOn: startWeekOn }), !isSolo && (jsxs("div", { className: styles.foot, children: [description && !(error && isTouched) && (jsx("p", { className: styles.description, children: description })), error && isTouched && (jsx("p", { className: styles.error, "data-cy": errorDataCy, children: typeof error === 'string'
2667
2695
  ? error
2668
2696
  : (_a = error === null || error === void 0 ? void 0 : error.startDate) !== null && _a !== void 0 ? _a : error === null || error === void 0 ? void 0 : error.endDate }))] }))] })] }));
2669
2697
  };
@@ -2759,7 +2787,7 @@ var CheckboxInputGroupForm = function (props) {
2759
2787
  var styles = handleGenerateStyle();
2760
2788
  return (jsx(FormikProvider, { value: form, children: jsxs("div", { children: [jsx("legend", { className: styles.sr, children: name }), jsx("div", { className: styles.list, children: jsx(FieldArray, { name: name, render: function (_a) {
2761
2789
  var remove = _a.remove, push = _a.push;
2762
- return (jsx(Fragment$1, { children: options === null || options === void 0 ? void 0 : options.map(function (option) { return (jsxs("div", { className: styles.item.container, children: [jsx("div", { className: styles.item.head, children: jsx("input", { id: option.value, name: option.value, "aria-describedby": "".concat(option.value, "-description"), type: "checkbox", checked: values === null || values === void 0 ? void 0 : values.includes(option.value), className: styles.item.input, disabled: isDisabled, onChange: function (value) {
2790
+ return (jsx(Fragment$1, { children: options === null || options === void 0 ? void 0 : options.map(function (option) { return (jsxs("div", { className: styles.item.container, children: [jsx("div", { className: styles.item.head, children: jsx("input", { id: option.value, name: option.value, "data-cy": "form-".concat(name, "-checkbox-").concat(option.value), "aria-describedby": "".concat(option.value, "-description"), type: "checkbox", checked: values === null || values === void 0 ? void 0 : values.includes(option.value), className: styles.item.input, disabled: isDisabled, onChange: function (value) {
2763
2791
  var isChecked = value.currentTarget.checked;
2764
2792
  if (isChecked) {
2765
2793
  push(option.value);