@linzjs/lui 10.11.5 → 11.1.2

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'));
@@ -629,218 +630,12 @@ function LuiFormikForm(props) {
629
630
  }, React__default.createElement(formik.Form, null, props.children, " ")));
630
631
  }
631
632
 
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
- });
805
-
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
- });
840
-
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}";
633
+ var css$3 = "/**\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}";
842
634
  n(css$3,{});
843
635
 
636
+ 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.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}";
637
+ n(css$4,{});
638
+
844
639
  // NOTE: This is a generated file, nothing you do here matters
845
640
 
846
641
  var ic_account_circle = /*#__PURE__*/React__default.createElement("svg", {
@@ -1134,38 +929,585 @@ var ICON_SIZES = {
1134
929
  xl: 'LuiIcon--xl',
1135
930
  ns: 'LuiIcon--noSize'
1136
931
  };
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'
932
+ var ICON_STATUS = {
933
+ none: '',
934
+ error: 'LuiIcon--error',
935
+ warning: 'LuiIcon--warning',
936
+ success: 'LuiIcon--success',
937
+ interactive: 'LuiIcon--interactive',
938
+ disabled: 'LuiIcon--disabled'
939
+ };
940
+ var LuiIcon = function LuiIcon(_ref) {
941
+ var name = _ref.name,
942
+ className = _ref.className,
943
+ _ref$size = _ref.size,
944
+ size = _ref$size === void 0 ? 'ns' : _ref$size,
945
+ title = _ref.title,
946
+ alt = _ref.alt,
947
+ _ref$status = _ref.status,
948
+ status = _ref$status === void 0 ? 'none' : _ref$status,
949
+ spanProps = _ref.spanProps;
950
+ var iconSVG = ICONS[name];
951
+
952
+ if (!iconSVG) {
953
+ console.warn("No icon found for: " + iconSVG);
954
+ return null;
955
+ }
956
+
957
+ return React.createElement("span", Object.assign({
958
+ className: clsx('LuiIcon', className, size && ICON_SIZES[size], status && ICON_STATUS[status]),
959
+ "data-icon": name,
960
+ title: title,
961
+ "aria-label": alt
962
+ }, spanProps), iconSVG);
963
+ };
964
+
965
+ var css$5 = "/**\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}";
966
+ n(css$5,{});
967
+
968
+ var LuiError = function LuiError(_ref) {
969
+ var error = _ref.error,
970
+ className = _ref.className;
971
+ return React__default.createElement("div", {
972
+ className: "LuiError " + className + "-error"
973
+ }, React__default.createElement(LuiIcon, {
974
+ className: "LuiError-errorIcon " + className + "-errorIcon",
975
+ alt: 'Error',
976
+ name: "ic_error",
977
+ size: "md",
978
+ status: "error"
979
+ }), error && React__default.createElement("span", {
980
+ className: "LuiError-errorText " + className + "-errorText"
981
+ }, error));
982
+ };
983
+
984
+ 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}\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}";
985
+ n(css$6,{});
986
+
987
+ function useGenerateOrDefaultId(idFromProps) {
988
+ var _useState = React.useState(idFromProps ? idFromProps : uuid.v4()),
989
+ id = _useState[0];
990
+
991
+ return id;
992
+ }
993
+ var LuiTextInput = function LuiTextInput(props) {
994
+ var _props$inputProps;
995
+
996
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
997
+ return React__default.createElement("div", {
998
+ className: clsx('LuiTextInput', props.error ? 'LuiTextInput-error' : '')
999
+ }, React__default.createElement("label", {
1000
+ className: 'LuiTextInput-label',
1001
+ htmlFor: id
1002
+ }, React__default.createElement("span", {
1003
+ className: clsx(props.hideLabel ? 'LuiScreenReadersOnly' : '')
1004
+ }, props.label), React__default.createElement("span", {
1005
+ className: "LuiTextInput-inputWrapper"
1006
+ }, React__default.createElement("input", Object.assign({
1007
+ type: 'text',
1008
+ className: clsx('LuiTextInput-input'),
1009
+ min: "0",
1010
+ value: props.value,
1011
+ onChange: props.onChange
1012
+ }, props.inputProps, {
1013
+ id: id
1014
+ }))), props.error && React__default.createElement("span", {
1015
+ className: "LuiTextInput-error"
1016
+ }, React__default.createElement(LuiIcon, {
1017
+ alt: "error",
1018
+ name: "ic_error",
1019
+ className: "LuiTextInput-error-icon",
1020
+ size: "sm",
1021
+ status: "error"
1022
+ }), props.error)));
1023
+ };
1024
+
1025
+ var LuiCheckboxInput = function LuiCheckboxInput(props) {
1026
+ var _props$inputProps;
1027
+
1028
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
1029
+ return React__default.createElement("div", {
1030
+ className: clsx('LuiCheckboxInput', {
1031
+ 'LuiCheckboxInput--isChecked': props.isChecked,
1032
+ 'LuiCheckboxInput--hasError': !!props.error
1033
+ })
1034
+ }, React__default.createElement("label", {
1035
+ htmlFor: id,
1036
+ className: "LuiCheckboxInput-group"
1037
+ }, React__default.createElement("input", Object.assign({
1038
+ className: clsx('LuiCheckboxInput-input'),
1039
+ id: id,
1040
+ type: "checkbox",
1041
+ value: props.value,
1042
+ onChange: props.onChange,
1043
+ checked: props.isChecked,
1044
+ disabled: props.isDisabled
1045
+ }, props.inputProps)), React__default.createElement("span", {
1046
+ className: "LuiCheckboxInput-label"
1047
+ }, props.label)), props.error && React__default.createElement(LuiError, {
1048
+ className: "LuiCheckboxInput",
1049
+ error: props.error
1050
+ }));
1051
+ };
1052
+
1053
+ var LuiFileInputBox = function LuiFileInputBox(props) {
1054
+ var _useState = React.useState(),
1055
+ file = _useState[0],
1056
+ setFile = _useState[1];
1057
+
1058
+ var _useState2 = React.useState(false),
1059
+ hasFileFormatError = _useState2[0],
1060
+ setHasFileFormatError = _useState2[1];
1061
+
1062
+ var onChange = function onChange(e) {
1063
+ // Logic to go here to check extensions and setHasFileFormatError
1064
+ setHasFileFormatError(false);
1065
+ var files = e.target.files; // File upload box is configured to only accept 1 file, we can't have more than one here
1066
+
1067
+ if (files && files.length === 1) {
1068
+ var selectedFile = files[0];
1069
+ var supportedFileTypes = props.acceptedExtensions.map(function (ext) {
1070
+ return ext.toUpperCase();
1071
+ });
1072
+ var fileName = selectedFile.name;
1073
+
1074
+ if (!supportedFileTypes.includes(getFileNameExtension(fileName))) {
1075
+ setHasFileFormatError(true);
1076
+ setFile(undefined);
1077
+ } else {
1078
+ setFile(selectedFile);
1079
+ props.onValidFileSelected(selectedFile);
1080
+ }
1081
+ }
1082
+ };
1083
+
1084
+ var FileFormatErrorDetails = function FileFormatErrorDetails() {
1085
+ return React__default.createElement("div", {
1086
+ className: "LuiFileInputBox-upload-container"
1087
+ }, React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1088
+ className: 'LuiFileInputBox-upload-icon-error'
1089
+ }, React__default.createElement(LuiIcon, {
1090
+ name: "ic_error_outline",
1091
+ size: 'ns',
1092
+ alt: "Error"
1093
+ })), props.customFileErrorMessage ? React__default.createElement("p", null, props.customFileErrorMessage) : React__default.createElement("p", {
1094
+ className: "LuiFileInputBox-upload-text"
1095
+ }, "You must select a file with extension of", ' ', extensionsAsHumanReadableList(props.acceptedExtensions), ".")));
1096
+ };
1097
+
1098
+ var hasError = hasFileFormatError || props.showMustSelectFileError === true;
1099
+ return React__default.createElement("div", {
1100
+ className: clsx('LuiFileInputBox-upload', hasError && 'LuiFileInputBox-upload-error'),
1101
+ style: {
1102
+ width: props.width || 320,
1103
+ height: props.height || 320
1104
+ }
1105
+ }, React__default.createElement("input", {
1106
+ role: "button",
1107
+ "aria-label": "File Upload",
1108
+ type: "file",
1109
+ className: "LuiFileInputBox-upload-input",
1110
+ accept: props.acceptedExtensions.map(function (extension) {
1111
+ return "." + extension;
1112
+ }).join(','),
1113
+ onChange: onChange
1114
+ }), React__default.createElement(React__default.Fragment, null, hasError ? React__default.createElement(FileFormatErrorDetails, null) : React__default.createElement(FileUploadInfo, {
1115
+ fileName: file == null ? void 0 : file.name,
1116
+ fileFormatText: props.fileFormatText,
1117
+ fileDescription: props.fileDescription
1118
+ })));
1119
+ }; // Only exported for chromatic
1120
+
1121
+ var FileUploadInfo = function FileUploadInfo(props) {
1122
+ var DragAndDropInstruction = function DragAndDropInstruction() {
1123
+ return React__default.createElement("p", {
1124
+ className: "LuiFileInputBox-upload-text"
1125
+ }, "Drag and drop your ", props.fileDescription, " into the box", React__default.createElement("br", null), React__default.createElement("span", null, "(or upload file manually)"));
1126
+ };
1127
+
1128
+ var WaitingForFileSelection = function WaitingForFileSelection() {
1129
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1130
+ className: 'LuiFileInputBox-upload-icon-upload'
1131
+ }, React__default.createElement(LuiIcon, {
1132
+ name: "ic_publish",
1133
+ size: 'ns',
1134
+ alt: "Upload"
1135
+ })), React__default.createElement(DragAndDropInstruction, null), props.fileFormatText && React__default.createElement("p", {
1136
+ className: "LuiFileInputBox-upload-text LuiFileInputBox-upload-text-no-padding"
1137
+ }, props.fileFormatText));
1138
+ };
1139
+
1140
+ var UploadSuccess = function UploadSuccess() {
1141
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
1142
+ className: 'LuiFileInputBox-upload-icon-success'
1143
+ }, React__default.createElement(LuiIcon, {
1144
+ name: "ic_check_circle_outline",
1145
+ size: 'ns',
1146
+ alt: "Success"
1147
+ })), React__default.createElement("p", {
1148
+ className: "LuiFileInputBox-upload-file-name"
1149
+ }, props.fileName), React__default.createElement(DragAndDropInstruction, null));
1150
+ };
1151
+
1152
+ return React__default.createElement("div", {
1153
+ className: "LuiFileInputBox-upload-container"
1154
+ }, props.fileName ? React__default.createElement(UploadSuccess, null) : React__default.createElement(WaitingForFileSelection, null));
1155
+ };
1156
+ /**
1157
+ * Get the extension from a filename in upper-case.
1158
+ *
1159
+ * @param fileName File-name to get extension from.
1160
+ * @return fileName extension in upper-case if found else empty string.
1161
+ */
1162
+
1163
+ var getFileNameExtension = function getFileNameExtension(fileName) {
1164
+ var idx = fileName.lastIndexOf('.');
1165
+ return idx === -1 ? '' : fileName.substr(idx + 1).toUpperCase();
1166
+ };
1167
+ /**
1168
+ * Convert an array of extensions to a human readable string in upper-case.
1169
+ * e.g. JPG, TIFF or BMP.
1170
+ *
1171
+ * @param extensions List of extensions to convert.
1172
+ * @return Extensions in a human readable string in upper-case.
1173
+ */
1174
+
1175
+ var extensionsAsHumanReadableList = function extensionsAsHumanReadableList(extensions) {
1176
+ var uppercaseExtensions = extensions.map(function (extension) {
1177
+ return extension.toUpperCase();
1178
+ });
1179
+ if (!extensions.length) return '';
1180
+ if (extensions.length === 1) return uppercaseExtensions[0];
1181
+ return uppercaseExtensions.slice(0, -1).join(', ') + " or " + uppercaseExtensions[extensions.length - 1];
1182
+ };
1183
+
1184
+ var css$7 = ":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}";
1185
+ n(css$7,{});
1186
+
1187
+ var LuiSelectInput = function LuiSelectInput(props) {
1188
+ var _props$selectProps;
1189
+
1190
+ var id = useGenerateOrDefaultId((_props$selectProps = props.selectProps) == null ? void 0 : _props$selectProps.id);
1191
+ return React__default.createElement("div", {
1192
+ className: 'LuiSelect'
1193
+ }, React__default.createElement("label", {
1194
+ htmlFor: id,
1195
+ className: "LuiSelect-label"
1196
+ }, React__default.createElement("span", {
1197
+ className: clsx('LuiSelect-label-text', props.hideLabel ? 'LuiScreenReadersOnly' : '')
1198
+ }, props.label), React__default.createElement("div", {
1199
+ className: "LuiSelect-wrapper"
1200
+ }, React__default.createElement("select", Object.assign({
1201
+ name: id,
1202
+ onChange: props.onChange,
1203
+ value: props.value,
1204
+ className: "LuiSelect-select"
1205
+ }, props.selectProps), props.placeholderText && React__default.createElement("option", {
1206
+ value: "",
1207
+ disabled: true
1208
+ }, props.placeholderText), props.options.map(function (selection) {
1209
+ return React__default.createElement("option", {
1210
+ key: selection.value,
1211
+ value: selection.value
1212
+ }, selection.label);
1213
+ })), React__default.createElement(LuiIcon, {
1214
+ alt: 'Error',
1215
+ name: "ic_arrow_drop_down",
1216
+ className: "LuiSelect-chevron-icon",
1217
+ size: "sm"
1218
+ })), props.error && React__default.createElement("span", {
1219
+ className: "LuiSelect-error"
1220
+ }, React__default.createElement(LuiIcon, {
1221
+ alt: 'Error',
1222
+ name: "ic_error",
1223
+ className: "LuiSelect-error-icon",
1224
+ size: "sm",
1225
+ status: "error"
1226
+ }), props.error)));
1227
+ };
1228
+
1229
+ var css$8 = ":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}";
1230
+ n(css$8,{});
1231
+
1232
+ var LuiTextAreaInput = function LuiTextAreaInput(props) {
1233
+ var _props$inputProps;
1234
+
1235
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
1236
+ return React__default.createElement("div", {
1237
+ className: clsx('LuiTextAreaInput')
1238
+ }, React__default.createElement("label", {
1239
+ htmlFor: id
1240
+ }, React__default.createElement("span", {
1241
+ className: "LuiTextAreaInput-label"
1242
+ }, props.label), React__default.createElement("textarea", Object.assign({
1243
+ id: id,
1244
+ value: props.value,
1245
+ onChange: props.onChange,
1246
+ rows: 5
1247
+ }, props.inputProps))), props.error && React__default.createElement("span", {
1248
+ className: "LuiTextAreaInput-error"
1249
+ }, React__default.createElement(LuiIcon, {
1250
+ alt: "error",
1251
+ name: "ic_error",
1252
+ className: "LuiTextAreaInput-error-icon",
1253
+ size: "sm",
1254
+ status: "error"
1255
+ }), props.error));
1256
+ };
1257
+
1258
+ var LuiRadioInput = function LuiRadioInput(props) {
1259
+ var _props$inputProps;
1260
+
1261
+ var id = useGenerateOrDefaultId((_props$inputProps = props.inputProps) == null ? void 0 : _props$inputProps.id);
1262
+ return React__default.createElement("fieldset", {
1263
+ className: 'LuiRadioInput'
1264
+ }, props.legend && React__default.createElement("legend", {
1265
+ className: "LuiRadioInput-legend"
1266
+ }, props.legend), props.options.map(function (option, index) {
1267
+ var radioId = id + "-" + index;
1268
+ var isChecked = props.selectedValue === option;
1269
+ var isDisabled = props.isOptionDisabled && props.isOptionDisabled(index);
1270
+ return React__default.createElement("div", {
1271
+ className: clsx('LuiRadioInput-option', {
1272
+ isDisabled: isDisabled
1273
+ }),
1274
+ key: radioId
1275
+ }, React__default.createElement("label", {
1276
+ htmlFor: radioId,
1277
+ className: "LuiRadioInput-option-label",
1278
+ key: radioId
1279
+ }, React__default.createElement("input", Object.assign({
1280
+ disabled: isDisabled,
1281
+ className: "LuiRadioInput-option-button",
1282
+ type: "radio",
1283
+ id: radioId,
1284
+ name: option,
1285
+ value: option,
1286
+ checked: isChecked,
1287
+ onChange: props.onChange
1288
+ }, props.inputProps)), React__default.createElement("span", {
1289
+ className: clsx('LuiRadioInput-option-check', {
1290
+ isChecked: isChecked
1291
+ })
1292
+ }), props.renderLabelFor ? props.renderLabelFor(option) : option));
1293
+ }), props.error && React__default.createElement("div", {
1294
+ className: "LuiRadioInput-error"
1295
+ }, React__default.createElement(LuiIcon, {
1296
+ alt: 'error',
1297
+ name: "ic_error",
1298
+ size: "sm",
1299
+ status: "error"
1300
+ }), React__default.createElement("span", null, props.error)));
1301
+ };
1302
+
1303
+ function LuiFormikCheckbox(props) {
1304
+ var ctx = formik.useFormikContext();
1305
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(formik.Field, {
1306
+ name: props.name
1307
+ }, function (_ref) {
1308
+ var field = _ref.field;
1309
+ var showError = formik.getIn(ctx == null ? void 0 : ctx.errors, props.name);
1310
+ return React__default.createElement("div", {
1311
+ className: clsx(showError && 'lui-input-error')
1312
+ }, React__default.createElement("div", {
1313
+ className: "lui-input-group-wrapper "
1314
+ }, showError && React__default.createElement("i", {
1315
+ className: "lui-form-status-icon material-icons-round"
1316
+ }, "error"), React__default.createElement("div", {
1317
+ className: clsx('lui-checkbox-container', props.className)
1318
+ }, React__default.createElement("input", Object.assign({}, props.inputProps, {
1319
+ type: "checkbox",
1320
+ id: props.value,
1321
+ disabled: !!props.disabled,
1322
+ checked: field.value
1323
+ }, field)), typeof props.label === 'string' ? React__default.createElement("label", {
1324
+ htmlFor: props.value
1325
+ }, props.label) : props.label)));
1326
+ }));
1327
+ }
1328
+
1329
+ var LuiFormikFormLabel = function LuiFormikFormLabel(props) {
1330
+ return React__default.createElement("div", {
1331
+ className: clsx('LuiFormLabel-wrapper', props.className && "" + props.className)
1332
+ }, props.children, React__default.createElement("label", {
1333
+ className: "LuiFormLabel",
1334
+ htmlFor: props["for"]
1335
+ }, props.required && React__default.createElement("span", {
1336
+ className: "lui-required-input-icon"
1337
+ }, "*"), props.label), props.tooltip && React__default.createElement("i", {
1338
+ className: "material-icons-round"
1339
+ }, "help"));
1340
+ };
1341
+
1342
+ var LuiFormikTextInput = /*#__PURE__*/formik.connect(function (props) {
1343
+ var error = formik.getIn(props.formik.errors, props.name);
1344
+ var touch = formik.getIn(props.formik.touched, props.name);
1345
+ var showError = touch && error;
1346
+
1347
+ var _useFormikContext = formik.useFormikContext(),
1348
+ setFieldValue = _useFormikContext.setFieldValue;
1349
+
1350
+ var multiLineToggle = function multiLineToggle(field) {
1351
+ return !props.multiLine ? React__default.createElement("input", Object.assign({
1352
+ id: props.name,
1353
+ "data-testid": props.name
1354
+ }, field, {
1355
+ type: "text"
1356
+ }, props.inputProps, {
1357
+ onChange: function onChange(event) {
1358
+ var _props$validateOnChan;
1359
+
1360
+ setFieldValue(props.name, event.target.value, (_props$validateOnChan = props.validateOnChange) != null ? _props$validateOnChan : true);
1361
+
1362
+ if (props.onValueChange) {
1363
+ props.onValueChange({
1364
+ value: event.target.value,
1365
+ formik: props.formik
1366
+ });
1367
+ }
1368
+ }
1369
+ })) : React__default.createElement("textarea", Object.assign({
1370
+ id: props.name,
1371
+ "data-testid": props.name
1372
+ }, field, {
1373
+ rows: 1
1374
+ }, props.inputProps, {
1375
+ onChange: function onChange(event) {
1376
+ var _props$validateOnChan2;
1377
+
1378
+ setFieldValue(props.name, event.target.value, (_props$validateOnChan2 = props.validateOnChange) != null ? _props$validateOnChan2 : true);
1379
+
1380
+ if (props.onValueChange) {
1381
+ props.onValueChange({
1382
+ value: event.target.value,
1383
+ formik: props.formik
1384
+ });
1385
+ }
1386
+ }
1387
+ }));
1388
+ };
1389
+
1390
+ return React__default.createElement("div", {
1391
+ className: clsx(props.className && "" + props.className)
1392
+ }, props.label && React__default.createElement(LuiFormikFormLabel, {
1393
+ required: props.required,
1394
+ label: props.label,
1395
+ "for": props.name,
1396
+ tooltip: props.tooltip
1397
+ }), props.helperInfo, React__default.createElement(formik.Field, {
1398
+ name: props.name,
1399
+ validate: props.validate
1400
+ }, function (_ref) {
1401
+ var field = _ref.field;
1402
+ return React__default.createElement("div", {
1403
+ className: clsx(showError && 'lui-input-error')
1404
+ }, React__default.createElement(formik.ErrorMessage, {
1405
+ name: props.name,
1406
+ render: function render() {
1407
+ return React__default.createElement("i", {
1408
+ className: "lui-form-status-icon material-icons-round"
1409
+ }, "error");
1410
+ }
1411
+ }), multiLineToggle(field), React__default.createElement(formik.ErrorMessage, {
1412
+ name: props.name,
1413
+ className: 'lui-error-msg',
1414
+ component: "p"
1415
+ }));
1416
+ }));
1417
+ });
1418
+
1419
+ var LuiFormikRadioButton = function LuiFormikRadioButton(props) {
1420
+ var _useField = formik.useField(props),
1421
+ field = _useField[0],
1422
+ meta = _useField[1];
1423
+
1424
+ return React__default.createElement("div", {
1425
+ className: props.className
1426
+ }, meta.touched && meta.error && React__default.createElement("i", {
1427
+ className: "lui-form-status-icon material-icons-round"
1428
+ }, "error"), React__default.createElement("div", {
1429
+ className: 'lui-radio-container'
1430
+ }, React__default.createElement("input", Object.assign({
1431
+ disabled: !!props.disabled
1432
+ }, field, {
1433
+ checked: props.value === field.value,
1434
+ value: props.value,
1435
+ id: props.value,
1436
+ type: "radio"
1437
+ }, props.inputProps)), React__default.createElement("label", {
1438
+ htmlFor: props.value
1439
+ }, props.label)));
1440
+ };
1441
+
1442
+ var LuiFormikRadioGroup = function LuiFormikRadioGroup(props) {
1443
+ var ctx = formik.useFormikContext();
1444
+ var error = formik.getIn(ctx.errors, props.name);
1445
+ var touch = formik.getIn(ctx.touched, props.name);
1446
+ var showError = touch && error;
1447
+ var describedby = props.hint && camelcase(props == null ? void 0 : props.hint) + 'Id';
1448
+ var errorDescribedBy = error && camelcase(error) + 'Id';
1449
+ return React__default.createElement("div", {
1450
+ className: clsx('lui-fieldsetBlock-form-group', showError && 'lui-input-error')
1451
+ }, React__default.createElement("fieldset", {
1452
+ "aria-describedby": clsx(props.hint && describedby + 'Id', showError && errorDescribedBy)
1453
+ }, React__default.createElement("legend", null, props.required && React__default.createElement("span", {
1454
+ className: "lui-required-input-icon"
1455
+ }, "*"), props.legend), showError && React__default.createElement("p", {
1456
+ id: errorDescribedBy
1457
+ }, React__default.createElement("span", {
1458
+ className: "LuiScreenReadersOnly"
1459
+ }, " Error: "), error), props.hint && React__default.createElement("p", {
1460
+ className: "lui-fieldset-support-txt small",
1461
+ id: describedby
1462
+ }, props.hint), React__default.createElement("div", {
1463
+ className: "lui-input-group-wrapper"
1464
+ }, props.children)));
1144
1465
  };
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
1466
 
1157
- if (!iconSVG) {
1158
- console.warn("No icon found for: " + iconSVG);
1159
- return null;
1160
- }
1467
+ var LuiFormikFormSubmitButton = /*#__PURE__*/formik.connect(function (props) {
1468
+ return React__default.createElement(LuiButton, {
1469
+ type: "submit",
1470
+ className: props.className,
1471
+ level: "primary",
1472
+ "data-testid": props['data-testid'],
1473
+ disabled: !!props.disabled
1474
+ }, props.children);
1475
+ });
1161
1476
 
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
- };
1477
+ var LuiFormikSelect = /*#__PURE__*/formik.connect(function (props) {
1478
+ var error = formik.getIn(props.formik.errors, props.name);
1479
+ var touch = formik.getIn(props.formik.touched, props.name);
1480
+ var showError = touch && error;
1481
+ return React__default.createElement("div", {
1482
+ className: props.className
1483
+ }, props.label && React__default.createElement(LuiFormikFormLabel, {
1484
+ className: 'lui-margin-bottom-xxs',
1485
+ "for": props.name,
1486
+ label: props.label,
1487
+ required: !!props.required,
1488
+ tooltip: props.tooltip
1489
+ }), props.helperInfo, React__default.createElement("div", {
1490
+ className: clsx('lui-input-wrapper', showError && 'lui-input-error')
1491
+ }, React__default.createElement(formik.ErrorMessage, {
1492
+ name: props.name,
1493
+ render: function render() {
1494
+ return React__default.createElement("i", {
1495
+ className: "lui-form-status-icon material-icons-round"
1496
+ }, "error");
1497
+ }
1498
+ }), React__default.createElement(formik.Field, Object.assign({
1499
+ disabled: props.disabled,
1500
+ defaultValue: props.defaultValue,
1501
+ name: props.name,
1502
+ id: props.name,
1503
+ validate: props.validate,
1504
+ as: "select"
1505
+ }, props.inputProps), props.children), React__default.createElement(formik.ErrorMessage, {
1506
+ name: props.name,
1507
+ className: 'lui-error-msg',
1508
+ component: "p"
1509
+ })));
1510
+ });
1169
1511
 
1170
1512
  var LuiBearingInput = function LuiBearingInput(props) {
1171
1513
  var maxDecimal = 1;
@@ -4666,9 +5008,9 @@ function isChromatic() {
4666
5008
  return !!(window.navigator.userAgent.match(/Chromatic/) || window.location.href.match(/chromatic=true/));
4667
5009
  }
4668
5010
 
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}";
5011
+ var css$9 = ":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
5012
  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,{});
5013
+ n(css$9,{});
4672
5014
 
4673
5015
  /**
4674
5016
  * A wrapper around React Select with Lui styling
@@ -6872,137 +7214,6 @@ var LuiTooltip = function LuiTooltip(props) {
6872
7214
  }, children);
6873
7215
  };
6874
7216
 
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
7217
  /**
7007
7218
  * This hook will callback with handleClickOutside() when "mousedown" dom event occurs off the refElement
7008
7219
  * usage:
@@ -7056,6 +7267,7 @@ exports.LuiBearingFormikInput = LuiBearingFormikInput;
7056
7267
  exports.LuiBearingInput = LuiBearingInput;
7057
7268
  exports.LuiButton = LuiButton;
7058
7269
  exports.LuiButtonGroup = LuiButtonGroup;
7270
+ exports.LuiCheckboxInput = LuiCheckboxInput;
7059
7271
  exports.LuiCloseableHeaderMenuContext = LuiCloseableHeaderMenuContext;
7060
7272
  exports.LuiCloseableHeaderMenuItem = LuiCloseableHeaderMenuItem;
7061
7273
  exports.LuiComboSelect = LuiComboSelect;
@@ -7092,6 +7304,8 @@ exports.LuiMenuItem = LuiMenuItem;
7092
7304
  exports.LuiMessagingContextProvider = LuiMessagingContextProvider;
7093
7305
  exports.LuiMiniSpinner = LuiMiniSpinner;
7094
7306
  exports.LuiModal = LuiModal;
7307
+ exports.LuiRadioInput = LuiRadioInput;
7308
+ exports.LuiSelectInput = LuiSelectInput;
7095
7309
  exports.LuiStaticMessage = LuiStaticMessage;
7096
7310
  exports.LuiStatusSpinner = LuiStatusSpinner;
7097
7311
  exports.LuiTab = LuiTab;
@@ -7100,6 +7314,8 @@ exports.LuiTabsContext = LuiTabsContext;
7100
7314
  exports.LuiTabsGroup = LuiTabsGroup;
7101
7315
  exports.LuiTabsPanel = LuiTabsPanel;
7102
7316
  exports.LuiTabsPanelSwitch = LuiTabsPanelSwitch;
7317
+ exports.LuiTextAreaInput = LuiTextAreaInput;
7318
+ exports.LuiTextInput = LuiTextInput;
7103
7319
  exports.LuiToastMessage = LuiToastMessage;
7104
7320
  exports.LuiTooltip = LuiTooltip;
7105
7321
  exports.LuiUpdatesSplashModal = LuiUpdatesSplashModal;