@linzjs/lui 11.0.0 → 11.1.3

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.
@@ -10,6 +10,7 @@ var clsx = _interopDefault(require('clsx'));
10
10
  var reactMenu = require('@szhsin/react-menu');
11
11
  require('@szhsin/react-menu/dist/index.css');
12
12
  var formik = require('formik');
13
+ var uuid = require('uuid');
13
14
  var camelcase = _interopDefault(require('camelcase'));
14
15
  var Select = _interopDefault(require('react-select'));
15
16
  var Lottie = _interopDefault(require('lottie-react'));
@@ -563,11 +564,6 @@ var LuiTabs = function LuiTabs(props) {
563
564
  }, props.children));
564
565
  };
565
566
 
566
- var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
567
-
568
- var css = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiTab_LuiTab__5d8d8010 {\n background: transparent;\n border-radius: 0;\n color: #2a292c;\n min-width: 10rem;\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n}\n.LuiTab_LuiTab__5d8d8010:focus {\n background-color: rgba(0, 165, 153, 0.2);\n}\n.LuiTab_LuiTabsGroup_Justified__5d8d8010 .LuiTab_LuiTab__5d8d8010 {\n width: 100%;\n}\n\n.LuiTab_LuiTab_Active__5d8d8010,\n.LuiTab_LuiTab_Active__5d8d8010:focus {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: 600;\n position: relative;\n outline: none;\n background: transparent;\n}\n.LuiTab_LuiTab_Active__5d8d8010:after,\n.LuiTab_LuiTab_Active__5d8d8010:focus:after {\n content: \"\";\n display: block;\n height: 4px;\n width: 100%;\n padding: 0 32px;\n left: 0;\n right: 0;\n bottom: -1px;\n box-sizing: border-box;\n background: linear-gradient(270deg, #73cdc8 1%, #00a599 100%);\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n position: absolute;\n}";
569
- n(css,{});
570
-
571
567
  var LuiTab = function LuiTab(props) {
572
568
  return React__default.createElement("button", {
573
569
  className: clsx('LuiTab', props.active && 'LuiTab--active'),
@@ -579,9 +575,6 @@ var LuiTab = function LuiTab(props) {
579
575
  }, props.children);
580
576
  };
581
577
 
582
- var css$1 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiTabsGroup_LuiTabsGroup__b045736d {\n border-bottom: 1px solid #beb9b4;\n}\n\n.LuiTabsGroup_LuiTabsGroup_Justified__b045736d {\n display: flex;\n justify-content: space-between;\n}";
583
- n(css$1,{});
584
-
585
578
  var LuiTabsGroup = function LuiTabsGroup(props) {
586
579
  return React__default.createElement("div", {
587
580
  className: "LuiTabsGroup " + (props.justify ? 'LuiTabsGroup--justified' : ''),
@@ -590,9 +583,6 @@ var LuiTabsGroup = function LuiTabsGroup(props) {
590
583
  }, props.children);
591
584
  };
592
585
 
593
- var css$2 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiTabsPanel_LuiTabsPanel__8085964d {\n display: none;\n}\n\n.LuiTabsPanel_LuiTabsPanel_Active__8085964d {\n display: block;\n overflow: auto;\n}";
594
- n(css$2,{});
595
-
596
586
  var LuiTabsPanel = function LuiTabsPanel(props) {
597
587
  var context = React.useContext(LuiTabsContext);
598
588
  var active = context.activePanel === props.panel;
@@ -629,217 +619,13 @@ function LuiFormikForm(props) {
629
619
  }, React__default.createElement(formik.Form, null, props.children, " ")));
630
620
  }
631
621
 
632
- function LuiFormikCheckbox(props) {
633
- var ctx = formik.useFormikContext();
634
- return React__default.createElement(React__default.Fragment, null, React__default.createElement(formik.Field, {
635
- name: props.name
636
- }, function (_ref) {
637
- var field = _ref.field;
638
- var showError = formik.getIn(ctx == null ? void 0 : ctx.errors, props.name);
639
- return React__default.createElement("div", {
640
- className: clsx(showError && 'lui-input-error')
641
- }, React__default.createElement("div", {
642
- className: "lui-input-group-wrapper "
643
- }, showError && React__default.createElement("i", {
644
- className: "lui-form-status-icon material-icons-round"
645
- }, "error"), React__default.createElement("div", {
646
- className: clsx('lui-checkbox-container', props.className)
647
- }, React__default.createElement("input", Object.assign({}, props.inputProps, {
648
- type: "checkbox",
649
- id: props.value,
650
- disabled: !!props.disabled,
651
- checked: field.value
652
- }, field)), typeof props.label === 'string' ? React__default.createElement("label", {
653
- htmlFor: props.value
654
- }, props.label) : props.label)));
655
- }));
656
- }
657
-
658
- var LuiFormikFormLabel = function LuiFormikFormLabel(props) {
659
- return React__default.createElement("div", {
660
- className: clsx('LuiFormLabel-wrapper', props.className && "" + props.className)
661
- }, props.children, React__default.createElement("label", {
662
- className: "LuiFormLabel",
663
- htmlFor: props["for"]
664
- }, props.required && React__default.createElement("span", {
665
- className: "lui-required-input-icon"
666
- }, "*"), props.label), props.tooltip && React__default.createElement("i", {
667
- className: "material-icons-round"
668
- }, "help"));
669
- };
670
-
671
- var LuiFormikTextInput = /*#__PURE__*/formik.connect(function (props) {
672
- var error = formik.getIn(props.formik.errors, props.name);
673
- var touch = formik.getIn(props.formik.touched, props.name);
674
- var showError = touch && error;
675
-
676
- var _useFormikContext = formik.useFormikContext(),
677
- setFieldValue = _useFormikContext.setFieldValue;
678
-
679
- var multiLineToggle = function multiLineToggle(field) {
680
- return !props.multiLine ? React__default.createElement("input", Object.assign({
681
- id: props.name,
682
- "data-testid": props.name
683
- }, field, {
684
- type: "text"
685
- }, props.inputProps, {
686
- onChange: function onChange(event) {
687
- var _props$validateOnChan;
688
-
689
- setFieldValue(props.name, event.target.value, (_props$validateOnChan = props.validateOnChange) != null ? _props$validateOnChan : true);
690
-
691
- if (props.onValueChange) {
692
- props.onValueChange({
693
- value: event.target.value,
694
- formik: props.formik
695
- });
696
- }
697
- }
698
- })) : React__default.createElement("textarea", Object.assign({
699
- id: props.name,
700
- "data-testid": props.name
701
- }, field, {
702
- rows: 1
703
- }, props.inputProps, {
704
- onChange: function onChange(event) {
705
- var _props$validateOnChan2;
706
-
707
- setFieldValue(props.name, event.target.value, (_props$validateOnChan2 = props.validateOnChange) != null ? _props$validateOnChan2 : true);
708
-
709
- if (props.onValueChange) {
710
- props.onValueChange({
711
- value: event.target.value,
712
- formik: props.formik
713
- });
714
- }
715
- }
716
- }));
717
- };
718
-
719
- return React__default.createElement("div", {
720
- className: clsx(props.className && "" + props.className)
721
- }, props.label && React__default.createElement(LuiFormikFormLabel, {
722
- required: props.required,
723
- label: props.label,
724
- "for": props.name,
725
- tooltip: props.tooltip
726
- }), props.helperInfo, React__default.createElement(formik.Field, {
727
- name: props.name,
728
- validate: props.validate
729
- }, function (_ref) {
730
- var field = _ref.field;
731
- return React__default.createElement("div", {
732
- className: clsx(showError && 'lui-input-error')
733
- }, React__default.createElement(formik.ErrorMessage, {
734
- name: props.name,
735
- render: function render() {
736
- return React__default.createElement("i", {
737
- className: "lui-form-status-icon material-icons-round"
738
- }, "error");
739
- }
740
- }), multiLineToggle(field), React__default.createElement(formik.ErrorMessage, {
741
- name: props.name,
742
- className: 'lui-error-msg',
743
- component: "p"
744
- }));
745
- }));
746
- });
747
-
748
- var LuiFormikRadioButton = function LuiFormikRadioButton(props) {
749
- var _useField = formik.useField(props),
750
- field = _useField[0],
751
- meta = _useField[1];
752
-
753
- return React__default.createElement("div", {
754
- className: props.className
755
- }, meta.touched && meta.error && React__default.createElement("i", {
756
- className: "lui-form-status-icon material-icons-round"
757
- }, "error"), React__default.createElement("div", {
758
- className: 'lui-radio-container'
759
- }, React__default.createElement("input", Object.assign({
760
- disabled: !!props.disabled
761
- }, field, {
762
- checked: props.value === field.value,
763
- value: props.value,
764
- id: props.value,
765
- type: "radio"
766
- }, props.inputProps)), React__default.createElement("label", {
767
- htmlFor: props.value
768
- }, props.label)));
769
- };
770
-
771
- var LuiFormikRadioGroup = function LuiFormikRadioGroup(props) {
772
- var ctx = formik.useFormikContext();
773
- var error = formik.getIn(ctx.errors, props.name);
774
- var touch = formik.getIn(ctx.touched, props.name);
775
- var showError = touch && error;
776
- var describedby = props.hint && camelcase(props == null ? void 0 : props.hint) + 'Id';
777
- var errorDescribedBy = error && camelcase(error) + 'Id';
778
- return React__default.createElement("div", {
779
- className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error')
780
- }, React__default.createElement("fieldset", {
781
- "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy)
782
- }, React__default.createElement("legend", null, props.required && React__default.createElement("span", {
783
- className: "lui-required-input-icon"
784
- }, "*"), props.legend), showError && React__default.createElement("p", {
785
- id: errorDescribedBy
786
- }, React__default.createElement("span", {
787
- className: "LuiScreenReadersOnly"
788
- }, " Error: "), error), props.hint && React__default.createElement("p", {
789
- className: "lui-fieldset-support-txt small",
790
- id: describedby
791
- }, props.hint), React__default.createElement("div", {
792
- className: "lui-input-group-wrapper"
793
- }, props.children)));
794
- };
795
-
796
- var LuiFormikFormSubmitButton = /*#__PURE__*/formik.connect(function (props) {
797
- return React__default.createElement(LuiButton, {
798
- type: "submit",
799
- className: props.className,
800
- level: "primary",
801
- "data-testid": props['data-testid'],
802
- disabled: !!props.disabled
803
- }, props.children);
804
- });
622
+ var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
805
623
 
806
- var LuiFormikSelect = /*#__PURE__*/formik.connect(function (props) {
807
- var error = formik.getIn(props.formik.errors, props.name);
808
- var touch = formik.getIn(props.formik.touched, props.name);
809
- var showError = touch && error;
810
- return React__default.createElement("div", {
811
- className: props.className
812
- }, props.label && React__default.createElement(LuiFormikFormLabel, {
813
- className: 'lui-margin-bottom-xxs',
814
- "for": props.name,
815
- label: props.label,
816
- required: !!props.required,
817
- tooltip: props.tooltip
818
- }), props.helperInfo, React__default.createElement("div", {
819
- className: clsx('lui-input-wrapper', showError && 'lui-input-error')
820
- }, React__default.createElement(formik.ErrorMessage, {
821
- name: props.name,
822
- render: function render() {
823
- return React__default.createElement("i", {
824
- className: "lui-form-status-icon material-icons-round"
825
- }, "error");
826
- }
827
- }), React__default.createElement(formik.Field, Object.assign({
828
- disabled: props.disabled,
829
- defaultValue: props.defaultValue,
830
- name: props.name,
831
- id: props.name,
832
- validate: props.validate,
833
- as: "select"
834
- }, props.inputProps), props.children), React__default.createElement(formik.ErrorMessage, {
835
- name: props.name,
836
- className: 'lui-error-msg',
837
- component: "p"
838
- })));
839
- });
624
+ var css = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n:root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n.LuiCheckboxInput_LuiCheckboxInput__89cfba8f {\n margin-bottom: 24px;\n box-sizing: border-box;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputGroup__89cfba8f {\n display: block;\n user-select: none;\n cursor: pointer;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f {\n position: relative;\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 2px;\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n line-height: 24px;\n margin-bottom: 0;\n}\n.LuiCheckboxInput_isDisabled__89cfba8f .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f {\n cursor: not-allowed;\n color: #989189;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputInput__89cfba8f {\n width: 0.1px;\n height: 0.1px;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n z-index: -1;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before {\n font-size: 18px;\n line-height: 10px;\n content: \" \";\n display: block;\n text-align: center;\n color: transparent;\n width: 23px;\n height: 23px;\n border: 2px solid #007198;\n margin-right: 0.5rem;\n border-radius: 5px;\n transition: all 0.2s ease-in-out;\n}\n.LuiCheckboxInput_hasError__89cfba8f .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before {\n border-color: #eb5757;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputError__89cfba8f {\n margin-top: 2px;\n text-align: left;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputErrorIcon__89cfba8f {\n margin-left: 2rem;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputInput__89cfba8f:checked + .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before,\n.LuiCheckboxInput_LuiCheckboxInput_IsChecked__89cfba8f .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before {\n color: white;\n background: #007198 url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNCAxMSI+CiAgICA8cGF0aCBmaWxsPSIjRkZGIiBkPSJNLjI5NyA0LjkzNGExLjAxMyAxLjAxMyAwIDAgMSAxLjM0NC0uMDc4bC4wODguMDc4TDUuMjU0IDguNDYgMTIuMjE5LjM1M2ExLjAxMyAxLjAxMyAwIDAgMSAxLjMzNC0uMThsLjA5NC4wNzJjLjM5NC4zMzguNDY0LjkxNC4xOCAxLjMzNGwtLjA3Mi4wOTQtNy42NzYgOC45MzVhMS4wMTMgMS4wMTMgMCAwIDEtMS4zOTguMTM0bC0uMDg3LS4wNzhMLjI5NyA2LjM2N2ExLjAxMyAxLjAxMyAwIDAgMSAwLTEuNDMzWiIvPgo8L3N2Zz4=\") no-repeat 50% 50%;\n background-size: 15px;\n}\n\n.LuiCheckboxInput_LuiCheckboxInput_HasError__89cfba8f .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before {\n border-color: #cc0000;\n}\n\n.LuiCheckboxInput_LuiCheckboxInput_HasError__89cfba8f.LuiCheckboxInput_LuiCheckboxInput_IsChecked__89cfba8f .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before {\n background-color: #cc0000;\n border-color: #cc0000;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputInput__89cfba8f:disabled + .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before,\n.LuiCheckboxInput_LuiCheckboxInput_IsDisabled__89cfba8f .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before {\n background-color: #989189;\n border-color: #989189;\n}\n\n.LuiCheckboxInput_LuiCheckboxInputInput__89cfba8f:checked:disabled + .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before,\n.LuiCheckboxInput_LuiCheckboxInput_IsChecked__89cfba8f.LuiCheckboxInput_LuiCheckboxInput_IsDisabled__89cfba8f .LuiCheckboxInput_LuiCheckboxInputLabel__89cfba8f::before {\n color: white;\n background-color: #989189;\n border-color: #989189;\n}\n\n.LuiCheckboxInput_LuiCheckboxInput_Inline__89cfba8f {\n display: inline-block;\n}\n.LuiCheckboxInput_LuiCheckboxInput_Inline__89cfba8f:not(:last-child) {\n margin-bottom: 0;\n margin-right: 24px;\n}";
625
+ n(css,{});
840
626
 
841
- var css$3 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiIcon_LuiIcon__5008522b {\n display: inline-block;\n height: 100%;\n width: 100%;\n}\n\n.LuiIcon_LuiIcon_Xl__5008522b {\n max-height: 64px;\n max-width: 64px;\n}\n.LuiIcon_LuiIcon_Xl__5008522b > svg {\n height: 64px;\n width: 64px;\n}\n\n.LuiIcon_LuiIcon_Lg__5008522b {\n max-height: 48px;\n max-width: 48px;\n}\n.LuiIcon_LuiIcon_Lg__5008522b > svg {\n height: 48px;\n width: 48px;\n}\n\n.LuiIcon_LuiIcon_Md__5008522b {\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n width: 24px;\n}\n.LuiIcon_LuiIcon_Md__5008522b > svg {\n height: 24px;\n width: 24px;\n}\n\n.LuiIcon_LuiIcon_Sm__5008522b {\n max-height: 16px;\n max-width: 16px;\n}\n.LuiIcon_LuiIcon_Sm__5008522b > svg {\n height: 16px;\n width: 16px;\n}\n\n.LuiIcon_LuiIcon_Xs__5008522b {\n max-height: 12px;\n max-width: 12px;\n}\n.LuiIcon_LuiIcon_Xs__5008522b > svg {\n height: 12px;\n width: 12px;\n}\n\n.LuiIcon_LuiIcon_Warning__5008522b {\n fill: #ea6a2e;\n}\n\n.LuiIcon_LuiIcon_Error__5008522b {\n fill: #cc0000;\n}\n\n.LuiIcon_LuiIcon_Success__5008522b {\n fill: #0aa245;\n}\n\n.LuiIcon_LuiIcon_Interactive__5008522b {\n fill: #007198;\n}\n\n.LuiIcon_LuiIcon_Disabled__5008522b {\n fill: #989189;\n}";
842
- n(css$3,{});
627
+ var css$1 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiIcon_LuiIcon__5008522b {\n display: inline-block;\n height: 100%;\n width: 100%;\n}\n\n.LuiIcon_LuiIcon_Xl__5008522b {\n max-height: 64px;\n max-width: 64px;\n}\n.LuiIcon_LuiIcon_Xl__5008522b > svg {\n height: 64px;\n width: 64px;\n}\n\n.LuiIcon_LuiIcon_Lg__5008522b {\n max-height: 48px;\n max-width: 48px;\n}\n.LuiIcon_LuiIcon_Lg__5008522b > svg {\n height: 48px;\n width: 48px;\n}\n\n.LuiIcon_LuiIcon_Md__5008522b {\n height: 24px;\n max-height: 24px;\n max-width: 24px;\n width: 24px;\n}\n.LuiIcon_LuiIcon_Md__5008522b > svg {\n height: 24px;\n width: 24px;\n}\n\n.LuiIcon_LuiIcon_Sm__5008522b {\n max-height: 16px;\n max-width: 16px;\n}\n.LuiIcon_LuiIcon_Sm__5008522b > svg {\n height: 16px;\n width: 16px;\n}\n\n.LuiIcon_LuiIcon_Xs__5008522b {\n max-height: 12px;\n max-width: 12px;\n}\n.LuiIcon_LuiIcon_Xs__5008522b > svg {\n height: 12px;\n width: 12px;\n}\n\n.LuiIcon_LuiIcon_Warning__5008522b {\n fill: #ea6a2e;\n}\n\n.LuiIcon_LuiIcon_Error__5008522b {\n fill: #cc0000;\n}\n\n.LuiIcon_LuiIcon_Success__5008522b {\n fill: #0aa245;\n}\n\n.LuiIcon_LuiIcon_Interactive__5008522b {\n fill: #007198;\n}\n\n.LuiIcon_LuiIcon_Disabled__5008522b {\n fill: #989189;\n}";
628
+ n(css$1,{});
843
629
 
844
630
  // NOTE: This is a generated file, nothing you do here matters
845
631
 
@@ -1134,38 +920,585 @@ var ICON_SIZES = {
1134
920
  xl: 'LuiIcon--xl',
1135
921
  ns: 'LuiIcon--noSize'
1136
922
  };
1137
- var ICON_STATUS = {
1138
- none: '',
1139
- error: 'LuiIcon--error',
1140
- warning: 'LuiIcon--warning',
1141
- success: 'LuiIcon--success',
1142
- interactive: 'LuiIcon--interactive',
1143
- disabled: 'LuiIcon--disabled'
923
+ var ICON_STATUS = {
924
+ none: '',
925
+ error: 'LuiIcon--error',
926
+ warning: 'LuiIcon--warning',
927
+ success: 'LuiIcon--success',
928
+ interactive: 'LuiIcon--interactive',
929
+ disabled: 'LuiIcon--disabled'
930
+ };
931
+ var LuiIcon = function LuiIcon(_ref) {
932
+ var name = _ref.name,
933
+ className = _ref.className,
934
+ _ref$size = _ref.size,
935
+ size = _ref$size === void 0 ? 'ns' : _ref$size,
936
+ title = _ref.title,
937
+ alt = _ref.alt,
938
+ _ref$status = _ref.status,
939
+ status = _ref$status === void 0 ? 'none' : _ref$status,
940
+ spanProps = _ref.spanProps;
941
+ var iconSVG = ICONS[name];
942
+
943
+ if (!iconSVG) {
944
+ console.warn("No icon found for: " + iconSVG);
945
+ return null;
946
+ }
947
+
948
+ return React.createElement("span", Object.assign({
949
+ className: clsx('LuiIcon', className, size && ICON_SIZES[size], status && ICON_STATUS[status]),
950
+ "data-icon": name,
951
+ title: title,
952
+ "aria-label": alt
953
+ }, spanProps), iconSVG);
954
+ };
955
+
956
+ var css$2 = "/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n:root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n.LuiError_LuiError__4692690f {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: 600;\n font-size: 14px;\n line-height: 24px;\n}\n.LuiError_LuiErrorErrorIcon__4692690f {\n vertical-align: middle;\n display: inline-block;\n}\n.LuiError_LuiErrorErrorText__4692690f {\n margin-left: 0.5rem;\n}";
957
+ n(css$2,{});
958
+
959
+ var LuiError = function LuiError(_ref) {
960
+ var error = _ref.error,
961
+ className = _ref.className;
962
+ return React__default.createElement("div", {
963
+ className: "LuiError " + className + "-error"
964
+ }, React__default.createElement(LuiIcon, {
965
+ className: "LuiError-errorIcon " + className + "-errorIcon",
966
+ alt: 'Error',
967
+ name: "ic_error",
968
+ size: "md",
969
+ status: "error"
970
+ }), error && React__default.createElement("span", {
971
+ className: "LuiError-errorText " + className + "-errorText"
972
+ }, error));
973
+ };
974
+
975
+ var css$3 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiTextInput_LuiTextInput__e438043f {\n margin-bottom: 24px;\n}\n.LuiTextInput_LuiTextInputLabel__e438043f {\n display: block;\n margin-bottom: 6px;\n color: #000000;\n text-align: left;\n}\n.LuiTextInput_isDisabled__e438043f .LuiTextInput_LuiTextInputLabel__e438043f {\n color: #b2b2b2;\n}\n\n.LuiTextInput_LuiTextInputInputWrapper__e438043f {\n position: relative;\n display: block;\n box-shadow: -1px 0 0 0 transparent;\n border-radius: 4px;\n transition: box-shadow 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s, border-color 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s;\n}\n.LuiTextInput_hasError__e438043f .LuiTextInput_LuiTextInputInputWrapper__e438043f {\n box-shadow: -8px 0px 0 0 #cc0000;\n border-radius: 4px;\n}\n\n.LuiTextInput_LuiTextInputPasswordReveal__e438043f {\n position: absolute;\n background: transparent;\n min-height: 0;\n min-width: 0;\n margin: 0;\n padding: 12px;\n top: 50%;\n right: 0;\n transform: translateY(-50%);\n}\n.LuiTextInput_LuiTextInputPasswordReveal__e438043f:hover {\n background: transparent;\n}\n\n.LuiTextInput_LuiTextInputInput__e438043f {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n margin-bottom: 0;\n border: 1px solid #b2b2b2;\n border-radius: 4px;\n height: 48px;\n color: #000000;\n caret-color: #000000;\n padding-top: 14px;\n padding-right: 32px;\n padding-bottom: 14px;\n padding-left: 16px;\n min-width: 300px;\n transition: all 0.15 ease-in-out;\n transition: border 0.2s ease;\n}\n.LuiTextInput_LuiTextInputInput__e438043f:hover, .LuiTextInput_LuiTextInputInput__e438043f:active {\n border-color: #053d52;\n}\n.LuiTextInput_LuiTextInputInput__e438043f:focus {\n outline: none;\n border-color: #053d52;\n}\n.LuiTextInput_LuiTextInputInput__e438043f::placeholder {\n font-weight: normal;\n color: #666666;\n opacity: 1;\n}\n.LuiTextInput_isDisabled__e438043f .LuiTextInput_LuiTextInputInput__e438043f::placeholder {\n color: #b2b2b2;\n}\n.LuiTextInput_hasError__e438043f .LuiTextInput_LuiTextInputInput__e438043f {\n border-color: #cc0000 !important;\n}\n.LuiTextInput_isDisabled__e438043f .LuiTextInput_LuiTextInputInput__e438043f {\n border-color: #b2b2b2;\n background-color: #fff;\n opacity: 0.3;\n cursor: not-allowed;\n}\n\n.LuiTextInput_LuiTextInputError__e438043f {\n position: relative;\n display: flex;\n color: #cc0000;\n text-align: left;\n padding-left: 22px;\n font-size: 14px;\n line-height: 20px;\n margin-top: 2px;\n}\n\n.LuiTextInput_LuiTextInputErrorIcon__e438043f {\n position: absolute;\n left: 0;\n top: 2px;\n}\n\n.LuiTextInput_LuiFieldWrapper__e438043f {\n position: relative;\n box-shadow: -1px 0 0 0 transparent;\n border-radius: 4px;\n transition: box-shadow 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s, border-color 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s;\n}\n.LuiTextInput_LuiFieldWrapper__e438043f input {\n transition: border 0.2s ease;\n}\n.LuiTextInput_LuiFieldWrapper__e438043f.LuiTextInput_LuiFieldWrapper_Error__e438043f {\n box-shadow: -12px 0px 0 0 #cc0000;\n border-radius: 4px;\n}\n.LuiTextInput_LuiFieldWrapper__e438043f.LuiTextInput_LuiFieldWrapper_Error__e438043f input {\n border-color: #cc0000;\n}";
976
+ n(css$3,{});
977
+
978
+ function useGenerateOrDefaultId(idFromProps) {
979
+ var _useState = React.useState(idFromProps ? idFromProps : uuid.v4()),
980
+ id = _useState[0];
981
+
982
+ return id;
983
+ }
984
+ var LuiTextInput = function LuiTextInput(props) {
985
+ var _props$inputProps;
986
+
987
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
988
+ return React__default.createElement("div", {
989
+ className: clsx('LuiTextInput', props.error ? 'LuiTextInput-error' : '')
990
+ }, React__default.createElement("label", {
991
+ className: 'LuiTextInput-label',
992
+ htmlFor: id
993
+ }, React__default.createElement("span", {
994
+ className: clsx(props.hideLabel ? 'LuiScreenReadersOnly' : '')
995
+ }, props.label), React__default.createElement("span", {
996
+ className: "LuiTextInput-inputWrapper"
997
+ }, React__default.createElement("input", Object.assign({
998
+ type: 'text',
999
+ className: clsx('LuiTextInput-input'),
1000
+ min: "0",
1001
+ value: props.value,
1002
+ onChange: props.onChange
1003
+ }, props.inputProps, {
1004
+ id: id
1005
+ }))), props.error && React__default.createElement("span", {
1006
+ className: "LuiTextInput-error"
1007
+ }, React__default.createElement(LuiIcon, {
1008
+ alt: "error",
1009
+ name: "ic_error",
1010
+ className: "LuiTextInput-error-icon",
1011
+ size: "sm",
1012
+ status: "error"
1013
+ }), props.error)));
1014
+ };
1015
+
1016
+ var LuiCheckboxInput = function LuiCheckboxInput(props) {
1017
+ var _props$inputProps;
1018
+
1019
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
1020
+ return React__default.createElement("div", {
1021
+ className: clsx('LuiCheckboxInput', {
1022
+ 'LuiCheckboxInput--isChecked': props.isChecked,
1023
+ 'LuiCheckboxInput--hasError': !!props.error
1024
+ })
1025
+ }, React__default.createElement("label", {
1026
+ htmlFor: id,
1027
+ className: "LuiCheckboxInput-group"
1028
+ }, React__default.createElement("input", Object.assign({
1029
+ className: clsx('LuiCheckboxInput-input'),
1030
+ id: id,
1031
+ type: "checkbox",
1032
+ value: props.value,
1033
+ onChange: props.onChange,
1034
+ checked: props.isChecked,
1035
+ disabled: props.isDisabled
1036
+ }, props.inputProps)), React__default.createElement("span", {
1037
+ className: "LuiCheckboxInput-label"
1038
+ }, props.label)), props.error && React__default.createElement(LuiError, {
1039
+ className: "LuiCheckboxInput",
1040
+ error: props.error
1041
+ }));
1042
+ };
1043
+
1044
+ var LuiFileInputBox = function LuiFileInputBox(props) {
1045
+ var _useState = React.useState(),
1046
+ file = _useState[0],
1047
+ setFile = _useState[1];
1048
+
1049
+ var _useState2 = React.useState(false),
1050
+ hasFileFormatError = _useState2[0],
1051
+ setHasFileFormatError = _useState2[1];
1052
+
1053
+ var onChange = function onChange(e) {
1054
+ // Logic to go here to check extensions and setHasFileFormatError
1055
+ setHasFileFormatError(false);
1056
+ var files = e.target.files; // File upload box is configured to only accept 1 file, we can't have more than one here
1057
+
1058
+ if (files && files.length === 1) {
1059
+ var selectedFile = files[0];
1060
+ var supportedFileTypes = props.acceptedExtensions.map(function (ext) {
1061
+ return ext.toUpperCase();
1062
+ });
1063
+ var fileName = selectedFile.name;
1064
+
1065
+ if (!supportedFileTypes.includes(getFileNameExtension(fileName))) {
1066
+ setHasFileFormatError(true);
1067
+ setFile(undefined);
1068
+ } else {
1069
+ setFile(selectedFile);
1070
+ props.onValidFileSelected(selectedFile);
1071
+ }
1072
+ }
1073
+ };
1074
+
1075
+ var FileFormatErrorDetails = function FileFormatErrorDetails() {
1076
+ return React__default.createElement("div", {
1077
+ className: "LuiFileInputBox-upload-container"
1078
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1079
+ className: 'LuiFileInputBox-upload-icon-error'
1080
+ }, React__default.createElement(LuiIcon, {
1081
+ name: "ic_error_outline",
1082
+ size: 'ns',
1083
+ alt: "Error"
1084
+ })), props.customFileErrorMessage ? React__default.createElement("p", null, props.customFileErrorMessage) : React__default.createElement("p", {
1085
+ className: "LuiFileInputBox-upload-text"
1086
+ }, "You must select a file with extension of", ' ', extensionsAsHumanReadableList(props.acceptedExtensions), ".")));
1087
+ };
1088
+
1089
+ var hasError = hasFileFormatError || props.showMustSelectFileError === true;
1090
+ return React__default.createElement("div", {
1091
+ className: clsx('LuiFileInputBox-upload', hasError && 'LuiFileInputBox-upload-error'),
1092
+ style: {
1093
+ width: props.width || 320,
1094
+ height: props.height || 320
1095
+ }
1096
+ }, React__default.createElement("input", {
1097
+ role: "button",
1098
+ "aria-label": "File Upload",
1099
+ type: "file",
1100
+ className: "LuiFileInputBox-upload-input",
1101
+ accept: props.acceptedExtensions.map(function (extension) {
1102
+ return "." + extension;
1103
+ }).join(','),
1104
+ onChange: onChange
1105
+ }), React__default.createElement(React__default.Fragment, null, hasError ? React__default.createElement(FileFormatErrorDetails, null) : React__default.createElement(FileUploadInfo, {
1106
+ fileName: file == null ? void 0 : file.name,
1107
+ fileFormatText: props.fileFormatText,
1108
+ fileDescription: props.fileDescription
1109
+ })));
1110
+ }; // Only exported for chromatic
1111
+
1112
+ var FileUploadInfo = function FileUploadInfo(props) {
1113
+ var DragAndDropInstruction = function DragAndDropInstruction() {
1114
+ return React__default.createElement("p", {
1115
+ className: "LuiFileInputBox-upload-text"
1116
+ }, "Drag and drop your ", props.fileDescription, " into the box", React__default.createElement("br", null), React__default.createElement("span", null, "(or upload file manually)"));
1117
+ };
1118
+
1119
+ var WaitingForFileSelection = function WaitingForFileSelection() {
1120
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1121
+ className: 'LuiFileInputBox-upload-icon-upload'
1122
+ }, React__default.createElement(LuiIcon, {
1123
+ name: "ic_publish",
1124
+ size: 'ns',
1125
+ alt: "Upload"
1126
+ })), React__default.createElement(DragAndDropInstruction, null), props.fileFormatText && React__default.createElement("p", {
1127
+ className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding"
1128
+ }, props.fileFormatText));
1129
+ };
1130
+
1131
+ var UploadSuccess = function UploadSuccess() {
1132
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1133
+ className: 'LuiFileInputBox-upload-icon-success'
1134
+ }, React__default.createElement(LuiIcon, {
1135
+ name: "ic_check_circle_outline",
1136
+ size: 'ns',
1137
+ alt: "Success"
1138
+ })), React__default.createElement("p", {
1139
+ className: "LuiFileInputBox-upload-file-name"
1140
+ }, props.fileName), React__default.createElement(DragAndDropInstruction, null));
1141
+ };
1142
+
1143
+ return React__default.createElement("div", {
1144
+ className: "LuiFileInputBox-upload-container"
1145
+ }, props.fileName ? React__default.createElement(UploadSuccess, null) : React__default.createElement(WaitingForFileSelection, null));
1146
+ };
1147
+ /**
1148
+ * Get the extension from a filename in upper-case.
1149
+ *
1150
+ * @param fileName File-name to get extension from.
1151
+ * @return fileName extension in upper-case if found else empty string.
1152
+ */
1153
+
1154
+ var getFileNameExtension = function getFileNameExtension(fileName) {
1155
+ var idx = fileName.lastIndexOf('.');
1156
+ return idx === -1 ? '' : fileName.substr(idx + 1).toUpperCase();
1157
+ };
1158
+ /**
1159
+ * Convert an array of extensions to a human readable string in upper-case.
1160
+ * e.g. JPG, TIFF or BMP.
1161
+ *
1162
+ * @param extensions List of extensions to convert.
1163
+ * @return Extensions in a human readable string in upper-case.
1164
+ */
1165
+
1166
+ var extensionsAsHumanReadableList = function extensionsAsHumanReadableList(extensions) {
1167
+ var uppercaseExtensions = extensions.map(function (extension) {
1168
+ return extension.toUpperCase();
1169
+ });
1170
+ if (!extensions.length) return '';
1171
+ if (extensions.length === 1) return uppercaseExtensions[0];
1172
+ return uppercaseExtensions.slice(0, -1).join(', ') + " or " + uppercaseExtensions[extensions.length - 1];
1173
+ };
1174
+
1175
+ var css$4 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiSelectInput_LuiSelect__42744a23 {\n margin-bottom: 24px;\n}\n\n.LuiSelectInput_LuiSelectLabelText__42744a23 {\n display: block;\n margin-bottom: 6px;\n color: #000000;\n text-align: left;\n}\n.LuiSelectInput_isDisabled__42744a23 .LuiSelectInput_LuiSelectLabelText__42744a23 {\n color: #b2b2b2;\n}\n\n.LuiSelectInput_LuiSelectSelect__42744a23 {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n margin-bottom: 0;\n border: 1px solid #b2b2b2;\n border-radius: 4px;\n display: block;\n height: 48px;\n color: #000000;\n caret-color: #000000;\n padding-right: 32px;\n padding-left: 16px;\n width: 100%;\n transition: all 0.15 ease-in-out;\n appearance: none;\n}\n.LuiSelectInput_LuiSelectSelect__42744a23:hover, .LuiSelectInput_LuiSelectSelect__42744a23:active {\n border-color: #053d52;\n cursor: pointer;\n}\n.LuiSelectInput_LuiSelectSelect__42744a23:focus {\n outline: none;\n border-color: #053d52;\n}\n.LuiSelectInput_hasError__42744a23 .LuiSelectInput_LuiSelectSelect__42744a23 {\n border-color: #eb5757;\n}\n.LuiSelectInput_isDisabled__42744a23 .LuiSelectInput_LuiSelectSelect__42744a23 {\n border-color: #b2b2b2;\n background-color: #fff;\n color: #b2b2b2;\n opacity: 0.3;\n cursor: not-allowed;\n}\n.LuiSelectInput_hasPlaceholder__42744a23 .LuiSelectInput_LuiSelectSelect__42744a23 {\n color: #b2b2b2;\n}\n.LuiSelectInput_hasValue__42744a23 .LuiSelectInput_LuiSelectSelect__42744a23 {\n color: #2a292c;\n}\n\n.LuiSelectInput_LuiSelectWrapper__42744a23 {\n position: relative;\n max-width: 300px;\n}\n\n.LuiSelectInput_LuiSelectChevronIcon__42744a23 {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%);\n pointer-events: none;\n}\n\n.LuiSelectInput_LuiSelectError__42744a23 {\n position: relative;\n display: flex;\n color: #eb5757;\n text-align: left;\n padding-left: 22px;\n font-size: 14px;\n line-height: 20px;\n margin-top: 2px;\n}\n\n.LuiSelectInput_LuiSelectErrorIcon__42744a23 {\n position: absolute;\n left: 0;\n top: 2px;\n}";
1176
+ n(css$4,{});
1177
+
1178
+ var LuiSelectInput = function LuiSelectInput(props) {
1179
+ var _props$selectProps;
1180
+
1181
+ var id = useGenerateOrDefaultId((_props$selectProps = props.selectProps) == null ? void 0 : _props$selectProps.id);
1182
+ return React__default.createElement("div", {
1183
+ className: 'LuiSelect'
1184
+ }, React__default.createElement("label", {
1185
+ htmlFor: id,
1186
+ className: "LuiSelect-label"
1187
+ }, React__default.createElement("span", {
1188
+ className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '')
1189
+ }, props.label), React__default.createElement("div", {
1190
+ className: "LuiSelect-wrapper"
1191
+ }, React__default.createElement("select", Object.assign({
1192
+ name: id,
1193
+ onChange: props.onChange,
1194
+ value: props.value,
1195
+ className: "LuiSelect-select"
1196
+ }, props.selectProps), props.placeholderText && React__default.createElement("option", {
1197
+ value: "",
1198
+ disabled: true
1199
+ }, props.placeholderText), props.options.map(function (selection) {
1200
+ return React__default.createElement("option", {
1201
+ key: selection.value,
1202
+ value: selection.value
1203
+ }, selection.label);
1204
+ })), React__default.createElement(LuiIcon, {
1205
+ alt: 'Error',
1206
+ name: "ic_arrow_drop_down",
1207
+ className: "LuiSelect-chevron-icon",
1208
+ size: "sm"
1209
+ })), props.error && React__default.createElement("span", {
1210
+ className: "LuiSelect-error"
1211
+ }, React__default.createElement(LuiIcon, {
1212
+ alt: 'Error',
1213
+ name: "ic_error",
1214
+ className: "LuiSelect-error-icon",
1215
+ size: "sm",
1216
+ status: "error"
1217
+ }), props.error)));
1218
+ };
1219
+
1220
+ var css$5 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}\n\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n/**\n @deprecated\n */\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46 {\n width: 100%;\n margin-bottom: 24px;\n position: relative;\n}\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46 textarea {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: normal;\n border-radius: 4px;\n border: solid 1px #b2b2b2;\n background: #fff;\n padding-top: 14px;\n padding-right: 32px;\n padding-bottom: 14px;\n padding-left: 16px;\n box-sizing: border-box;\n width: 100%;\n resize: vertical;\n min-height: 100px;\n}\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46 textarea {\n font-size: 14px;\n}\n@media screen and (min-width: 1px) {\n .LuiTextAreaInput_LuiTextAreaInput__f628aa46 textarea {\n font-size: calc(\n 14px + 2 *\n (\n (100vw - 1px) / 1279\n )\n );\n }\n}\n@media screen and (min-width: 1280px) {\n .LuiTextAreaInput_LuiTextAreaInput__f628aa46 textarea {\n font-size: 16px;\n }\n}\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46 textarea:focus {\n outline: none;\n border-color: #053d52;\n}\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46 label,\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46 textarea {\n display: block;\n}\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46.LuiTextAreaInput_hasError__f628aa46 textarea,\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46.LuiTextAreaInput_hasError__f628aa46 select {\n border-color: #eb5757;\n}\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46.LuiTextAreaInput_isDisabled__f628aa46 textarea {\n border-color: #b2b2b2;\n background-color: #fff;\n cursor: not-allowed;\n opacity: 0.3;\n}\n.LuiTextAreaInput_LuiTextAreaInput__f628aa46.LuiTextAreaInput_isDisabled__f628aa46 label {\n opacity: 0.3;\n}\n\n.LuiTextAreaInput_LuiTextAreaInputLabel__f628aa46 {\n font-family: \"Open Sans\", system-ui, sans-serif;\n font-style: normal;\n font-weight: 700;\n display: block;\n font-size: 14px;\n line-height: 1.25;\n margin-bottom: 6px;\n color: #000;\n text-align: left;\n}\n\n.LuiTextAreaInput_LuiTextAreaInputError__f628aa46 {\n position: relative;\n display: flex;\n color: #eb5757;\n text-align: left;\n padding-left: 22px;\n font-size: 14px;\n line-height: 20px;\n margin-top: 2px;\n}\n\n.LuiTextAreaInput_LuiTextAreaInputErrorIcon__f628aa46 {\n position: absolute;\n left: 0;\n top: 2px;\n}";
1221
+ n(css$5,{});
1222
+
1223
+ var LuiTextAreaInput = function LuiTextAreaInput(props) {
1224
+ var _props$inputProps;
1225
+
1226
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
1227
+ return React__default.createElement("div", {
1228
+ className: clsx('LuiTextAreaInput')
1229
+ }, React__default.createElement("label", {
1230
+ htmlFor: id
1231
+ }, React__default.createElement("span", {
1232
+ className: "LuiTextAreaInput-label"
1233
+ }, props.label), React__default.createElement("textarea", Object.assign({
1234
+ id: id,
1235
+ value: props.value,
1236
+ onChange: props.onChange,
1237
+ rows: 5
1238
+ }, props.inputProps))), props.error && React__default.createElement("span", {
1239
+ className: "LuiTextAreaInput-error"
1240
+ }, React__default.createElement(LuiIcon, {
1241
+ alt: "error",
1242
+ name: "ic_error",
1243
+ className: "LuiTextAreaInput-error-icon",
1244
+ size: "sm",
1245
+ status: "error"
1246
+ }), props.error));
1247
+ };
1248
+
1249
+ var LuiRadioInput = function LuiRadioInput(props) {
1250
+ var _props$inputProps;
1251
+
1252
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
1253
+ return React__default.createElement("fieldset", {
1254
+ className: 'LuiRadioInput'
1255
+ }, props.legend && React__default.createElement("legend", {
1256
+ className: "LuiRadioInput-legend"
1257
+ }, props.legend), props.options.map(function (option, index) {
1258
+ var radioId = id + "-" + index;
1259
+ var isChecked = props.selectedValue === option;
1260
+ var isDisabled = props.isOptionDisabled && props.isOptionDisabled(index);
1261
+ return React__default.createElement("div", {
1262
+ className: clsx('LuiRadioInput-option', {
1263
+ isDisabled: isDisabled
1264
+ }),
1265
+ key: radioId
1266
+ }, React__default.createElement("label", {
1267
+ htmlFor: radioId,
1268
+ className: "LuiRadioInput-option-label",
1269
+ key: radioId
1270
+ }, React__default.createElement("input", Object.assign({
1271
+ disabled: isDisabled,
1272
+ className: "LuiRadioInput-option-button",
1273
+ type: "radio",
1274
+ id: radioId,
1275
+ name: option,
1276
+ value: option,
1277
+ checked: isChecked,
1278
+ onChange: props.onChange
1279
+ }, props.inputProps)), React__default.createElement("span", {
1280
+ className: clsx('LuiRadioInput-option-check', {
1281
+ isChecked: isChecked
1282
+ })
1283
+ }), props.renderLabelFor ? props.renderLabelFor(option) : option));
1284
+ }), props.error && React__default.createElement("div", {
1285
+ className: "LuiRadioInput-error"
1286
+ }, React__default.createElement(LuiIcon, {
1287
+ alt: 'error',
1288
+ name: "ic_error",
1289
+ size: "sm",
1290
+ status: "error"
1291
+ }), React__default.createElement("span", null, props.error)));
1292
+ };
1293
+
1294
+ function LuiFormikCheckbox(props) {
1295
+ var ctx = formik.useFormikContext();
1296
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(formik.Field, {
1297
+ name: props.name
1298
+ }, function (_ref) {
1299
+ var field = _ref.field;
1300
+ var showError = formik.getIn(ctx == null ? void 0 : ctx.errors, props.name);
1301
+ return React__default.createElement("div", {
1302
+ className: clsx(showError && 'lui-input-error')
1303
+ }, React__default.createElement("div", {
1304
+ className: "lui-input-group-wrapper "
1305
+ }, showError && React__default.createElement("i", {
1306
+ className: "lui-form-status-icon material-icons-round"
1307
+ }, "error"), React__default.createElement("div", {
1308
+ className: clsx('lui-checkbox-container', props.className)
1309
+ }, React__default.createElement("input", Object.assign({}, props.inputProps, {
1310
+ type: "checkbox",
1311
+ id: props.value,
1312
+ disabled: !!props.disabled,
1313
+ checked: field.value
1314
+ }, field)), typeof props.label === 'string' ? React__default.createElement("label", {
1315
+ htmlFor: props.value
1316
+ }, props.label) : props.label)));
1317
+ }));
1318
+ }
1319
+
1320
+ var LuiFormikFormLabel = function LuiFormikFormLabel(props) {
1321
+ return React__default.createElement("div", {
1322
+ className: clsx('LuiFormLabel-wrapper', props.className && "" + props.className)
1323
+ }, props.children, React__default.createElement("label", {
1324
+ className: "LuiFormLabel",
1325
+ htmlFor: props["for"]
1326
+ }, props.required && React__default.createElement("span", {
1327
+ className: "lui-required-input-icon"
1328
+ }, "*"), props.label), props.tooltip && React__default.createElement("i", {
1329
+ className: "material-icons-round"
1330
+ }, "help"));
1331
+ };
1332
+
1333
+ var LuiFormikTextInput = /*#__PURE__*/formik.connect(function (props) {
1334
+ var error = formik.getIn(props.formik.errors, props.name);
1335
+ var touch = formik.getIn(props.formik.touched, props.name);
1336
+ var showError = touch && error;
1337
+
1338
+ var _useFormikContext = formik.useFormikContext(),
1339
+ setFieldValue = _useFormikContext.setFieldValue;
1340
+
1341
+ var multiLineToggle = function multiLineToggle(field) {
1342
+ return !props.multiLine ? React__default.createElement("input", Object.assign({
1343
+ id: props.name,
1344
+ "data-testid": props.name
1345
+ }, field, {
1346
+ type: "text"
1347
+ }, props.inputProps, {
1348
+ onChange: function onChange(event) {
1349
+ var _props$validateOnChan;
1350
+
1351
+ setFieldValue(props.name, event.target.value, (_props$validateOnChan = props.validateOnChange) != null ? _props$validateOnChan : true);
1352
+
1353
+ if (props.onValueChange) {
1354
+ props.onValueChange({
1355
+ value: event.target.value,
1356
+ formik: props.formik
1357
+ });
1358
+ }
1359
+ }
1360
+ })) : React__default.createElement("textarea", Object.assign({
1361
+ id: props.name,
1362
+ "data-testid": props.name
1363
+ }, field, {
1364
+ rows: 1
1365
+ }, props.inputProps, {
1366
+ onChange: function onChange(event) {
1367
+ var _props$validateOnChan2;
1368
+
1369
+ setFieldValue(props.name, event.target.value, (_props$validateOnChan2 = props.validateOnChange) != null ? _props$validateOnChan2 : true);
1370
+
1371
+ if (props.onValueChange) {
1372
+ props.onValueChange({
1373
+ value: event.target.value,
1374
+ formik: props.formik
1375
+ });
1376
+ }
1377
+ }
1378
+ }));
1379
+ };
1380
+
1381
+ return React__default.createElement("div", {
1382
+ className: clsx(props.className && "" + props.className)
1383
+ }, props.label && React__default.createElement(LuiFormikFormLabel, {
1384
+ required: props.required,
1385
+ label: props.label,
1386
+ "for": props.name,
1387
+ tooltip: props.tooltip
1388
+ }), props.helperInfo, React__default.createElement(formik.Field, {
1389
+ name: props.name,
1390
+ validate: props.validate
1391
+ }, function (_ref) {
1392
+ var field = _ref.field;
1393
+ return React__default.createElement("div", {
1394
+ className: clsx(showError && 'lui-input-error')
1395
+ }, React__default.createElement(formik.ErrorMessage, {
1396
+ name: props.name,
1397
+ render: function render() {
1398
+ return React__default.createElement("i", {
1399
+ className: "lui-form-status-icon material-icons-round"
1400
+ }, "error");
1401
+ }
1402
+ }), multiLineToggle(field), React__default.createElement(formik.ErrorMessage, {
1403
+ name: props.name,
1404
+ className: 'lui-error-msg',
1405
+ component: "p"
1406
+ }));
1407
+ }));
1408
+ });
1409
+
1410
+ var LuiFormikRadioButton = function LuiFormikRadioButton(props) {
1411
+ var _useField = formik.useField(props),
1412
+ field = _useField[0],
1413
+ meta = _useField[1];
1414
+
1415
+ return React__default.createElement("div", {
1416
+ className: props.className
1417
+ }, meta.touched && meta.error && React__default.createElement("i", {
1418
+ className: "lui-form-status-icon material-icons-round"
1419
+ }, "error"), React__default.createElement("div", {
1420
+ className: 'lui-radio-container'
1421
+ }, React__default.createElement("input", Object.assign({
1422
+ disabled: !!props.disabled
1423
+ }, field, {
1424
+ checked: props.value === field.value,
1425
+ value: props.value,
1426
+ id: props.value,
1427
+ type: "radio"
1428
+ }, props.inputProps)), React__default.createElement("label", {
1429
+ htmlFor: props.value
1430
+ }, props.label)));
1431
+ };
1432
+
1433
+ var LuiFormikRadioGroup = function LuiFormikRadioGroup(props) {
1434
+ var ctx = formik.useFormikContext();
1435
+ var error = formik.getIn(ctx.errors, props.name);
1436
+ var touch = formik.getIn(ctx.touched, props.name);
1437
+ var showError = touch && error;
1438
+ var describedby = props.hint && camelcase(props == null ? void 0 : props.hint) + 'Id';
1439
+ var errorDescribedBy = error && camelcase(error) + 'Id';
1440
+ return React__default.createElement("div", {
1441
+ className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error')
1442
+ }, React__default.createElement("fieldset", {
1443
+ "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy)
1444
+ }, React__default.createElement("legend", null, props.required && React__default.createElement("span", {
1445
+ className: "lui-required-input-icon"
1446
+ }, "*"), props.legend), showError && React__default.createElement("p", {
1447
+ id: errorDescribedBy
1448
+ }, React__default.createElement("span", {
1449
+ className: "LuiScreenReadersOnly"
1450
+ }, " Error: "), error), props.hint && React__default.createElement("p", {
1451
+ className: "lui-fieldset-support-txt small",
1452
+ id: describedby
1453
+ }, props.hint), React__default.createElement("div", {
1454
+ className: "lui-input-group-wrapper"
1455
+ }, props.children)));
1144
1456
  };
1145
- var LuiIcon = function LuiIcon(_ref) {
1146
- var name = _ref.name,
1147
- className = _ref.className,
1148
- _ref$size = _ref.size,
1149
- size = _ref$size === void 0 ? 'ns' : _ref$size,
1150
- title = _ref.title,
1151
- alt = _ref.alt,
1152
- _ref$status = _ref.status,
1153
- status = _ref$status === void 0 ? 'none' : _ref$status,
1154
- spanProps = _ref.spanProps;
1155
- var iconSVG = ICONS[name];
1156
1457
 
1157
- if (!iconSVG) {
1158
- console.warn("No icon found for: " + iconSVG);
1159
- return null;
1160
- }
1458
+ var LuiFormikFormSubmitButton = /*#__PURE__*/formik.connect(function (props) {
1459
+ return React__default.createElement(LuiButton, {
1460
+ type: "submit",
1461
+ className: props.className,
1462
+ level: "primary",
1463
+ "data-testid": props['data-testid'],
1464
+ disabled: !!props.disabled
1465
+ }, props.children);
1466
+ });
1161
1467
 
1162
- return React.createElement("span", Object.assign({
1163
- className: clsx('LuiIcon', className, size && ICON_SIZES[size], status && ICON_STATUS[status]),
1164
- "data-icon": name,
1165
- title: title,
1166
- "aria-label": alt
1167
- }, spanProps), iconSVG);
1168
- };
1468
+ var LuiFormikSelect = /*#__PURE__*/formik.connect(function (props) {
1469
+ var error = formik.getIn(props.formik.errors, props.name);
1470
+ var touch = formik.getIn(props.formik.touched, props.name);
1471
+ var showError = touch && error;
1472
+ return React__default.createElement("div", {
1473
+ className: props.className
1474
+ }, props.label && React__default.createElement(LuiFormikFormLabel, {
1475
+ className: 'lui-margin-bottom-xxs',
1476
+ "for": props.name,
1477
+ label: props.label,
1478
+ required: !!props.required,
1479
+ tooltip: props.tooltip
1480
+ }), props.helperInfo, React__default.createElement("div", {
1481
+ className: clsx('lui-input-wrapper', showError && 'lui-input-error')
1482
+ }, React__default.createElement(formik.ErrorMessage, {
1483
+ name: props.name,
1484
+ render: function render() {
1485
+ return React__default.createElement("i", {
1486
+ className: "lui-form-status-icon material-icons-round"
1487
+ }, "error");
1488
+ }
1489
+ }), React__default.createElement(formik.Field, Object.assign({
1490
+ disabled: props.disabled,
1491
+ defaultValue: props.defaultValue,
1492
+ name: props.name,
1493
+ id: props.name,
1494
+ validate: props.validate,
1495
+ as: "select"
1496
+ }, props.inputProps), props.children), React__default.createElement(formik.ErrorMessage, {
1497
+ name: props.name,
1498
+ className: 'lui-error-msg',
1499
+ component: "p"
1500
+ })));
1501
+ });
1169
1502
 
1170
1503
  var LuiBearingInput = function LuiBearingInput(props) {
1171
1504
  var maxDecimal = 1;
@@ -4666,9 +4999,9 @@ function isChromatic() {
4666
4999
  return !!(window.navigator.userAgent.match(/Chromatic/) || window.location.href.match(/chromatic=true/));
4667
5000
  }
4668
5001
 
4669
- var css$4 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}";
5002
+ var css$6 = ":root {\n --grey-80: #2a292c;\n --grey-60: #6b6966;\n --$gray: #989189;\n --grey-20: #beb9b4;\n --grey-10: #eaeaea;\n --grey-05: #f9f9f9;\n --teal: #00425d;\n --sea: #007198;\n --electric: #0096cc;\n --spray: #73c8e1;\n --polar: #e2f3f7;\n --sherpa: #004b50;\n --surfie: #017a76;\n --persian: #00a599;\n --downy: #73cdc8;\n --iceberg: #dcf5f0;\n --sacramento: #004e32;\n --salem: #08814d;\n --pigment: #0aa245;\n --granny: #9bd79b;\n --panache: #e9fae7;\n --brand-primary: #004b50;\n --brand-secondary: #017a76;\n --success: #0aa245;\n --success-bg: #e9fae7;\n --info: #3a7cdf;\n --info-bg: #d8e5f9;\n --warning: #ea6a2e;\n --warning-bg: #fbdfd2;\n --error: #cc0000;\n --error-focus: #5a0000;\n --error-bg: #f5cccc;\n --visited: #00425d;\n --green-hover: #08814d;\n --color-green-active: #004e32;\n --green-btn: #0aa245;\n --txt-link: #0096cc;\n --color-primary-hover-btn: #007198;\n --color-selection: #c7e9f3;\n --heading-color: #017a76;\n --heading-color--secondary: #2a292c;\n --base-type-color: #2a292c;\n --base-icon-color: #007198;\n --disabled-color: #989189;\n --disabled-color-dark: #6b6966;\n --linz-color-primary: #023d48;\n --linz-color-primary-hover: #01818a;\n --linz-color-tertiary: #e1e44a;\n --linz-color-tertiary-hover: #cdcf59;\n --color-test-pink: #f09;\n --linz-linear-gradient-blue: linear-gradient(70deg, #00425d 12%, #007198 100%);\n --linz-linear-gradient-teal: linear-gradient(270deg, #00a599 1%, #73cdc8 100%);\n}";
4670
5003
  var modules_5b17bb95 = {"charcoal":"#2a292c","fuscous":"#6b6966","gray":"#989189","silver":"#beb9b4","lily":"#eaeaea","hint":"#f9f9f9","snow":"#ffffff","white":"#ffffff","teal":"#00425d","sea":"#007198","electric":"#0096cc","spray":"#73c8e1","polar":"#e2f3f7","sherpa":"#004b50","surfie":"#017a76","persian":"#00a599","downy":"#73cdc8","iceberg":"#dcf5f0","sacramento":"#004e32","salem":"#08814d","pigment":"#0aa245","granny":"#9bd79b","panache":"#e9fae7","brand-primary":"#004b50","brand-secondary":"#017a76","error":"#cc0000","error-bg":"#f5cccc","error-focus":"#5a0000","warning":"#ea6a2e","warning-bg":"#fbdfd2","warning-focus":"#b33a01","success":"#0aa245","success-bg":"#e9fae7","info":"#3a7cdf","info-bg":"#d8e5f9","visited":"#00425d","green-hover":"#08814d","green-active":"#004e32","green-btn":"#0aa245","txt-link":"#0096cc","primary-hover-btn":"#007198","selection":"#c7e9f3","heading-color":"#017a76","heading-color--secondary":"#2a292c","base-type-color":"#2a292c","base-icon-color":"#007198","disabled-color":"#989189","disabled-color-dark":"#6b6966","linz-color-primary":"#023d48","linz-color-primary-hover":"#01818a","linz-color-tertiary":"#e1e44a","linz-color-tertiary-hover":"#cdcf59","color-test-pink":"#f09","linz-linear-gradient-blue":"linear-gradient(70deg, #00425d 12%, #007198 100%)","linz-linear-gradient-teal":"linear-gradient(270deg, #00a599 1%, #73cdc8 100%)"};
4671
- n(css$4,{});
5004
+ n(css$6,{});
4672
5005
 
4673
5006
  /**
4674
5007
  * A wrapper around React Select with Lui styling
@@ -6872,137 +7205,6 @@ var LuiTooltip = function LuiTooltip(props) {
6872
7205
  }, children);
6873
7206
  };
6874
7207
 
6875
- var LuiFileInputBox = function LuiFileInputBox(props) {
6876
- var _useState = React.useState(),
6877
- file = _useState[0],
6878
- setFile = _useState[1];
6879
-
6880
- var _useState2 = React.useState(false),
6881
- hasFileFormatError = _useState2[0],
6882
- setHasFileFormatError = _useState2[1];
6883
-
6884
- var onChange = function onChange(e) {
6885
- // Logic to go here to check extensions and setHasFileFormatError
6886
- setHasFileFormatError(false);
6887
- var files = e.target.files; // File upload box is configured to only accept 1 file, we can't have more than one here
6888
-
6889
- if (files && files.length === 1) {
6890
- var selectedFile = files[0];
6891
- var supportedFileTypes = props.acceptedExtensions.map(function (ext) {
6892
- return ext.toUpperCase();
6893
- });
6894
- var fileName = selectedFile.name;
6895
-
6896
- if (!supportedFileTypes.includes(getFileNameExtension(fileName))) {
6897
- setHasFileFormatError(true);
6898
- setFile(undefined);
6899
- } else {
6900
- setFile(selectedFile);
6901
- props.onValidFileSelected(selectedFile);
6902
- }
6903
- }
6904
- };
6905
-
6906
- var FileFormatErrorDetails = function FileFormatErrorDetails() {
6907
- return React__default.createElement("div", {
6908
- className: "LuiFileInputBox-upload-container"
6909
- }, React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
6910
- className: 'LuiFileInputBox-upload-icon-error'
6911
- }, React__default.createElement(LuiIcon, {
6912
- name: "ic_error_outline",
6913
- size: 'ns',
6914
- alt: "Error"
6915
- })), React__default.createElement("p", {
6916
- className: "LuiFileInputBox-upload-text"
6917
- }, "You must select a file with extension of", ' ', extensionsAsHumanReadableList(props.acceptedExtensions), ".")));
6918
- };
6919
-
6920
- var hasError = hasFileFormatError || props.showMustSelectFileError === true;
6921
- return React__default.createElement("div", {
6922
- className: clsx('LuiFileInputBox-upload', hasError && 'LuiFileInputBox-upload-error'),
6923
- style: {
6924
- width: props.width || 320,
6925
- height: props.height || 320
6926
- }
6927
- }, React__default.createElement("input", {
6928
- role: "button",
6929
- "aria-label": "File Upload",
6930
- type: "file",
6931
- className: "LuiFileInputBox-upload-input",
6932
- accept: props.acceptedExtensions.map(function (extension) {
6933
- return "." + extension;
6934
- }).join(','),
6935
- onChange: onChange
6936
- }), React__default.createElement(React__default.Fragment, null, hasError ? React__default.createElement(FileFormatErrorDetails, null) : React__default.createElement(FileUploadInfo, {
6937
- fileName: file == null ? void 0 : file.name,
6938
- fileFormatText: props.fileFormatText,
6939
- fileDescription: props.fileDescription
6940
- })));
6941
- }; // Only exported for chromatic
6942
-
6943
- var FileUploadInfo = function FileUploadInfo(props) {
6944
- var DragAndDropInstruction = function DragAndDropInstruction() {
6945
- return React__default.createElement("p", {
6946
- className: "LuiFileInputBox-upload-text"
6947
- }, "Drag and drop your ", props.fileDescription, " into the box", React__default.createElement("br", null), React__default.createElement("span", null, "(or upload file manually)"));
6948
- };
6949
-
6950
- var WaitingForFileSelection = function WaitingForFileSelection() {
6951
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
6952
- className: 'LuiFileInputBox-upload-icon-upload'
6953
- }, React__default.createElement(LuiIcon, {
6954
- name: "ic_publish",
6955
- size: 'ns',
6956
- alt: "Upload"
6957
- })), React__default.createElement(DragAndDropInstruction, null), props.fileFormatText && React__default.createElement("p", {
6958
- className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding"
6959
- }, props.fileFormatText));
6960
- };
6961
-
6962
- var UploadSuccess = function UploadSuccess() {
6963
- return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
6964
- className: 'LuiFileInputBox-upload-icon-success'
6965
- }, React__default.createElement(LuiIcon, {
6966
- name: "ic_check_circle_outline",
6967
- size: 'ns',
6968
- alt: "Success"
6969
- })), React__default.createElement("p", {
6970
- className: "LuiFileInputBox-upload-file-name"
6971
- }, props.fileName), React__default.createElement(DragAndDropInstruction, null));
6972
- };
6973
-
6974
- return React__default.createElement("div", {
6975
- className: "LuiFileInputBox-upload-container"
6976
- }, props.fileName ? React__default.createElement(UploadSuccess, null) : React__default.createElement(WaitingForFileSelection, null));
6977
- };
6978
- /**
6979
- * Get the extension from a filename in upper-case.
6980
- *
6981
- * @param fileName File-name to get extension from.
6982
- * @return fileName extension in upper-case if found else empty string.
6983
- */
6984
-
6985
- var getFileNameExtension = function getFileNameExtension(fileName) {
6986
- var idx = fileName.lastIndexOf('.');
6987
- return idx === -1 ? '' : fileName.substr(idx + 1).toUpperCase();
6988
- };
6989
- /**
6990
- * Convert an array of extensions to a human readable string in upper-case.
6991
- * e.g. JPG, TIFF or BMP.
6992
- *
6993
- * @param extensions List of extensions to convert.
6994
- * @return Extensions in a human readable string in upper-case.
6995
- */
6996
-
6997
- var extensionsAsHumanReadableList = function extensionsAsHumanReadableList(extensions) {
6998
- var uppercaseExtensions = extensions.map(function (extension) {
6999
- return extension.toUpperCase();
7000
- });
7001
- if (!extensions.length) return '';
7002
- if (extensions.length === 1) return uppercaseExtensions[0];
7003
- return uppercaseExtensions.slice(0, -1).join(', ') + " or " + uppercaseExtensions[extensions.length - 1];
7004
- };
7005
-
7006
7208
  /**
7007
7209
  * This hook will callback with handleClickOutside() when "mousedown" dom event occurs off the refElement
7008
7210
  * usage:
@@ -7056,6 +7258,7 @@ exports.LuiBearingFormikInput = LuiBearingFormikInput;
7056
7258
  exports.LuiBearingInput = LuiBearingInput;
7057
7259
  exports.LuiButton = LuiButton;
7058
7260
  exports.LuiButtonGroup = LuiButtonGroup;
7261
+ exports.LuiCheckboxInput = LuiCheckboxInput;
7059
7262
  exports.LuiCloseableHeaderMenuContext = LuiCloseableHeaderMenuContext;
7060
7263
  exports.LuiCloseableHeaderMenuItem = LuiCloseableHeaderMenuItem;
7061
7264
  exports.LuiComboSelect = LuiComboSelect;
@@ -7092,6 +7295,8 @@ exports.LuiMenuItem = LuiMenuItem;
7092
7295
  exports.LuiMessagingContextProvider = LuiMessagingContextProvider;
7093
7296
  exports.LuiMiniSpinner = LuiMiniSpinner;
7094
7297
  exports.LuiModal = LuiModal;
7298
+ exports.LuiRadioInput = LuiRadioInput;
7299
+ exports.LuiSelectInput = LuiSelectInput;
7095
7300
  exports.LuiStaticMessage = LuiStaticMessage;
7096
7301
  exports.LuiStatusSpinner = LuiStatusSpinner;
7097
7302
  exports.LuiTab = LuiTab;
@@ -7100,6 +7305,8 @@ exports.LuiTabsContext = LuiTabsContext;
7100
7305
  exports.LuiTabsGroup = LuiTabsGroup;
7101
7306
  exports.LuiTabsPanel = LuiTabsPanel;
7102
7307
  exports.LuiTabsPanelSwitch = LuiTabsPanelSwitch;
7308
+ exports.LuiTextAreaInput = LuiTextAreaInput;
7309
+ exports.LuiTextInput = LuiTextInput;
7103
7310
  exports.LuiToastMessage = LuiToastMessage;
7104
7311
  exports.LuiTooltip = LuiTooltip;
7105
7312
  exports.LuiUpdatesSplashModal = LuiUpdatesSplashModal;