@hbuesing/ui-library 1.4.3 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,7 @@ interface IBaseModal {
5
5
  message: string | string[];
6
6
  title: string;
7
7
  type: ModalType;
8
+ callback?: (() => void) | undefined;
8
9
  cancelLabel?: string;
9
10
  closeLabel?: string;
10
11
  confirm?: () => void;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  export interface INotifyModal {
3
3
  closeLabel: string;
4
- isSuccess: boolean;
4
+ modalType: 'success' | 'warning' | 'error';
5
5
  message: string | string[];
6
6
  title: string;
7
+ callback?: (() => void) | undefined;
7
8
  timeout?: number;
8
9
  }
9
10
  export declare function NotifyModal(props: INotifyModal): React.JSX.Element;
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  export interface IQuestionModal {
3
+ cancel: () => void;
3
4
  cancelLabel: string;
4
5
  confirm: () => void;
5
6
  confirmLabel: string;
6
7
  message: string | string[];
7
8
  title: string;
8
- timeout?: number;
9
9
  }
10
10
  export declare function QuestionModal(props: IQuestionModal): React.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  export declare enum ModalType {
2
- error = 0,
3
- question = 1,
4
- success = 2
2
+ error = "error",
3
+ question = "question",
4
+ success = "success",
5
+ warning = "warning"
5
6
  }
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .uil-button{background-color:var(--uil-white);border:1px solid var(--uil-black);border-radius:2px;box-shadow:0 0 3px 0 var(--uil-black-alt);color:var(--uil-black);cursor:pointer;font-size:var(--uil-font-base);letter-spacing:1px;line-height:var(--uil-font-base);padding:var(--uil-xs) var(--uil-s);width:-moz-fit-content;width:fit-content}.uil-button.uil-disabled{background-color:var(--uil-grey-dark);border:transparent;color:var(--uil-grey)}.uil-button.uil-small{font-size:var(--uil-m);line-height:var(--uil-m);padding:var(--uil-xxs) var(--uil-xs)}@media (min-width:1025px){.uil-button.uil-small{font-size:1.125rem;line-height:1.125rem;padding:var(--uil-xs) var(--uil-s)}}.uil-check-wrapper{align-items:center;display:flex;font-size:var(--uil-font-base);gap:var(--uil-s);line-height:var(--uil-font-base)}.uil-check-wrapper .uil-checkbox{border:2px solid var(--uil-black-alt);border-radius:2px;cursor:pointer;display:block;font-size:var(--uil-m);min-height:var(--uil-m);min-width:var(--uil-m);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.uil-check-wrapper .uil-checkbox input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.uil-check-wrapper .uil-checkbox input:checked~.uil-checkmark{transform:scale(1)}.uil-check-wrapper .uil-checkbox .uil-checkmark{background-color:var(--uil-black-alt);height:var(--uil-xs);left:25%;position:absolute;top:25%;transform:scale(0);transition:.1s ease;width:var(--uil-xs)}.uil-svg{height:var(--uil-xxxl);width:var(--uil-xxxl)}.uil-input-wrapper{display:block;position:relative}.uil-input-wrapper .uil-label{background:linear-gradient(0deg,var(--uil-white) 9px,transparent 0);cursor:text;font-weight:700;left:var(--uil-xxs);opacity:.6;padding:0 var(--uil-xxxs);position:absolute;top:25%;transition:top .25s ease-in-out}.uil-input-wrapper .uil-input,.uil-input-wrapper .uil-label{color:var(--uil-black);font-size:var(--uil-font-base);line-height:var(--uil-font-base)}.uil-input-wrapper .uil-input{background-color:var(--uil-white);border:1px solid var(--uil-black);border-radius:0;box-sizing:border-box;padding:var(--uil-xs);width:100%}.uil-input-wrapper .uil-input::-moz-placeholder{color:transparent;height:0;width:0}.uil-input-wrapper .uil-input::placeholder{color:transparent;height:0;width:0}.uil-input-wrapper .uil-input:focus{outline:1px solid var(--uil-outline-focus)}.uil-input-wrapper .uil-input:disabled{background-color:var(--uil-grey);border:2px solid var(--uil-outline-disabled);color:var(--uil-grey-dark);cursor:not-allowed}.uil-input-wrapper .uil-input:disabled~.uil-label{background:transparent;color:var(--uil-grey-dark);cursor:not-allowed}.uil-input-wrapper .uil-input:disabled~.uil-icon{fill:var(--uil-grey-dark);cursor:not-allowed}.uil-input-wrapper .uil-input:disabled:not(:-moz-placeholder-shown)~.uil-label{background:linear-gradient(0deg,var(--uil-grey) 8px,transparent 0)}.uil-input-wrapper .uil-input:disabled:not(:placeholder-shown)~.uil-label{background:linear-gradient(0deg,var(--uil-grey) 8px,transparent 0)}.uil-input-wrapper .uil-icon{fill:var(--uil-black);opacity:.5;position:absolute;right:var(--uil-xs);top:50%;transform:translateY(-50%)}.uil-input-wrapper .uil-input:not(:-moz-placeholder-shown)~.uil-label{opacity:1;top:-30%}.uil-input-wrapper .uil-input:focus~.uil-label,.uil-input-wrapper .uil-input:not(:placeholder-shown)~.uil-label{opacity:1;top:-30%}.uil-input-wrapper .uil-input:not(:-moz-placeholder-shown)~.uil-icon{opacity:1}.uil-input-wrapper .uil-input:focus~.uil-icon,.uil-input-wrapper .uil-input:not(:placeholder-shown)~.uil-icon{opacity:1}.uil-tooltip-wrapper{position:relative}.uil-tooltip-wrapper .uil-tooltip-icon{fill:var(--uil-black-alt);cursor:pointer;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.uil-tooltip-wrapper .uil-tooltip-icon:has(~.uil-input-wrapper>.uil-input:not(:-moz-placeholder-shown),~.uil-input-wrapper:focus-within){visibility:hidden}.uil-tooltip-wrapper .uil-tooltip-icon:has(~.uil-input-wrapper>.uil-input:not(:placeholder-shown),~.uil-input-wrapper:focus-within){visibility:hidden}.uil-tooltip-wrapper .uil-tooltip{background-color:rgba(34,34,34,.9);border-radius:3px;box-sizing:border-box;color:var(--uil-white);font-size:var(--uil-font-small);left:0;line-height:var(--uil-font-small);padding:var(--uil-s);position:absolute;top:0;width:100%;z-index:1}.uil-tooltip-wrapper .uil-tooltip .uil-tooltip-button{background-color:transparent;border:none;border-bottom:1px solid var(--uil-white);color:var(--uil-white);cursor:pointer;display:block;margin-bottom:var(--uil-m);margin-left:auto;padding:0;width:-moz-fit-content;width:fit-content}.uil-password-rules{display:flex;flex-direction:column;gap:var(--uil-xs);margin-left:var(--uil-xs);margin-top:var(--uil-m)}.uil-password-rules .uil-password-rule{align-items:center;display:flex;font-size:var(--uil-font-small);gap:var(--uil-xxs);line-height:var(--uil-font-small)}:root{--uil-black:#000;--uil-black-alt:#222;--uil-white:#fff;--uil-grey:#f3f3f3;--uil-grey-alt:#cfcfcf;--uil-grey-dark:#878787;--uil-outline-focus:#1e90ff;--uil-outline-disabled:#8b0000;--uil-success:#006a4e;--uil-error:#800020;--uil-question:#00416a;--uil-xxxs:.125rem;--uil-xxs:.25rem;--uil-xs:.5rem;--uil-s:.75rem;--uil-m:1rem;--uil-l:1.25rem;--uil-xl:1.5rem;--uil-xxl:1.75rem;--uil-xxxl:2rem;--uil-font-base:var(--uil-l);--uil-font-small:var(--uil-m)}.uil-modal-wrapper{background-color:rgba(0,0,0,.5);height:100%;left:0;position:fixed;top:0;width:100%;z-index:99}.uil-modal-wrapper .uil-modal{border-radius:5px;box-shadow:0 0 6px 0 var(--uil-black);left:50%;position:absolute;top:30%;transform:translateX(-50%);width:95%;z-index:999}@media (min-width:1025px){.uil-modal-wrapper .uil-modal{width:75%}}@media (min-width:1250px){.uil-modal-wrapper .uil-modal{width:55%}}@media (min-width:1920px){.uil-modal-wrapper .uil-modal{width:35%}}.uil-modal-wrapper .uil-modal .uil-progress-wrapper{background-color:var(--uil-grey-alt)}.uil-modal-wrapper .uil-modal .uil-progress-wrapper .uil-progress-bar{animation-duration:2s;animation-iteration-count:1;animation-name:uil-progress;border:2px solid var(--uil-grey-dark)}@keyframes uil-progress{0%{width:100%}to{width:0}}.uil-modal-wrapper .uil-modal .uil-header{background-color:var(--uil-question);border-top-left-radius:3px;border-top-right-radius:3px;color:var(--uil-white);display:flex;font-size:var(--uil-xl);font-weight:700;justify-content:space-between;line-height:var(--uil-xl);margin:0;min-height:var(--uil-xl);padding:var(--uil-xs)}@media (min-width:1025px){.uil-modal-wrapper .uil-modal .uil-header{font-size:var(--uil-xxl);line-height:var(--uil-xxl);padding:var(--uil-s)}}.uil-modal-wrapper .uil-modal .uil-header.uil-success{background-color:var(--uil-success)}.uil-modal-wrapper .uil-modal .uil-header.uil-error{background-color:var(--uil-error)}.uil-modal-wrapper .uil-modal .uil-content{background-color:var(--uil-white);border-bottom-left-radius:3px;border-bottom-right-radius:3px;display:flex;flex-direction:column;gap:var(--uil-m);padding:var(--uil-m)}@media (min-width:1025px){.uil-modal-wrapper .uil-modal .uil-content{gap:var(--uil-xxxl);padding:var(--uil-l)}}.uil-modal-wrapper .uil-modal .uil-content .uil-modal-text{color:var(--uil-black);font-size:var(--uil-l);line-height:var(--uil-l);margin:var(--uil-s) 0}@media (min-width:1025px){.uil-modal-wrapper .uil-modal .uil-content .uil-modal-text{font-size:var(--uil-l);line-height:var(--uil-l)}}.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper{display:flex;justify-content:space-between}.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper.uil-single{justify-content:end}
1
+ .uil-button{background-color:var(--uil-white);border:1px solid var(--uil-black);border-radius:2px;box-shadow:0 0 3px 0 var(--uil-black-alt);color:var(--uil-black);cursor:pointer;font-size:var(--uil-font-base);letter-spacing:1px;line-height:var(--uil-font-base);padding:var(--uil-xs) var(--uil-s);width:-moz-fit-content;width:fit-content}.uil-button.uil-disabled{background-color:var(--uil-grey-dark);border:transparent;color:var(--uil-grey)}.uil-button.uil-small{font-size:var(--uil-m);line-height:var(--uil-m);padding:var(--uil-xxs) var(--uil-xs)}@media (min-width:1025px){.uil-button.uil-small{font-size:1.125rem;line-height:1.125rem;padding:var(--uil-xs) var(--uil-s)}}.uil-check-wrapper{align-items:center;display:flex;font-size:var(--uil-font-base);gap:var(--uil-s);line-height:var(--uil-font-base)}.uil-check-wrapper .uil-checkbox{border:2px solid var(--uil-black-alt);border-radius:2px;cursor:pointer;display:block;font-size:var(--uil-m);min-height:var(--uil-m);min-width:var(--uil-m);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.uil-check-wrapper .uil-checkbox input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.uil-check-wrapper .uil-checkbox input:checked~.uil-checkmark{transform:scale(1)}.uil-check-wrapper .uil-checkbox .uil-checkmark{background-color:var(--uil-black-alt);height:var(--uil-xs);left:25%;position:absolute;top:25%;transform:scale(0);transition:.1s ease;width:var(--uil-xs)}.uil-svg{height:var(--uil-xxxl);width:var(--uil-xxxl)}.uil-input-wrapper{display:block;position:relative}.uil-input-wrapper .uil-label{background:linear-gradient(0deg,var(--uil-white) 9px,transparent 0);cursor:text;font-weight:700;left:var(--uil-xxs);opacity:.6;padding:0 var(--uil-xxxs);position:absolute;top:25%;transition:top .25s ease-in-out}.uil-input-wrapper .uil-input,.uil-input-wrapper .uil-label{color:var(--uil-black);font-size:var(--uil-font-base);line-height:var(--uil-font-base)}.uil-input-wrapper .uil-input{background-color:var(--uil-white);border:1px solid var(--uil-black);border-radius:0;box-sizing:border-box;padding:var(--uil-xs);width:100%}.uil-input-wrapper .uil-input::-moz-placeholder{color:transparent;height:0;width:0}.uil-input-wrapper .uil-input::placeholder{color:transparent;height:0;width:0}.uil-input-wrapper .uil-input:focus{outline:1px solid var(--uil-outline-focus)}.uil-input-wrapper .uil-input:disabled{background-color:var(--uil-grey);border:2px solid var(--uil-outline-disabled);color:var(--uil-grey-dark);cursor:not-allowed}.uil-input-wrapper .uil-input:disabled~.uil-label{background:transparent;color:var(--uil-grey-dark);cursor:not-allowed}.uil-input-wrapper .uil-input:disabled~.uil-icon{fill:var(--uil-grey-dark);cursor:not-allowed}.uil-input-wrapper .uil-input:disabled:not(:-moz-placeholder-shown)~.uil-label{background:linear-gradient(0deg,var(--uil-grey) 8px,transparent 0)}.uil-input-wrapper .uil-input:disabled:not(:placeholder-shown)~.uil-label{background:linear-gradient(0deg,var(--uil-grey) 8px,transparent 0)}.uil-input-wrapper .uil-icon{fill:var(--uil-black);opacity:.5;position:absolute;right:var(--uil-xs);top:50%;transform:translateY(-50%)}.uil-input-wrapper .uil-input:not(:-moz-placeholder-shown)~.uil-label{opacity:1;top:-30%}.uil-input-wrapper .uil-input:focus~.uil-label,.uil-input-wrapper .uil-input:not(:placeholder-shown)~.uil-label{opacity:1;top:-30%}.uil-input-wrapper .uil-input:not(:-moz-placeholder-shown)~.uil-icon{opacity:1}.uil-input-wrapper .uil-input:focus~.uil-icon,.uil-input-wrapper .uil-input:not(:placeholder-shown)~.uil-icon{opacity:1}.uil-tooltip-wrapper{position:relative}.uil-tooltip-wrapper .uil-tooltip-icon{fill:var(--uil-black-alt);cursor:pointer;height:-moz-fit-content;height:fit-content;width:-moz-fit-content;width:fit-content}.uil-tooltip-wrapper .uil-tooltip-icon:has(~.uil-input-wrapper>.uil-input:not(:-moz-placeholder-shown),~.uil-input-wrapper:focus-within){visibility:hidden}.uil-tooltip-wrapper .uil-tooltip-icon:has(~.uil-input-wrapper>.uil-input:not(:placeholder-shown),~.uil-input-wrapper:focus-within){visibility:hidden}.uil-tooltip-wrapper .uil-tooltip{background-color:rgba(34,34,34,.9);border-radius:3px;box-sizing:border-box;color:var(--uil-white);font-size:var(--uil-font-small);left:0;line-height:var(--uil-font-small);padding:var(--uil-s);position:absolute;top:0;width:100%;z-index:1}.uil-tooltip-wrapper .uil-tooltip .uil-tooltip-button{background-color:transparent;border:none;border-bottom:1px solid var(--uil-white);color:var(--uil-white);cursor:pointer;display:block;margin-bottom:var(--uil-m);margin-left:auto;padding:0;width:-moz-fit-content;width:fit-content}.uil-password-rules{display:flex;flex-direction:column;gap:var(--uil-xs);margin-left:var(--uil-xs);margin-top:var(--uil-m)}.uil-password-rules .uil-password-rule{align-items:center;display:flex;font-size:var(--uil-font-small);gap:var(--uil-xxs);line-height:var(--uil-font-small)}:root{--uil-black:#000;--uil-black-alt:#222;--uil-white:#fff;--uil-grey:#f3f3f3;--uil-grey-alt:#cfcfcf;--uil-grey-dark:#878787;--uil-outline-focus:#1e90ff;--uil-outline-disabled:#8b0000;--uil-success:#006a4e;--uil-error:#800020;--uil-question:#00416a;--uil-warning:gold;--uil-xxxs:.125rem;--uil-xxs:.25rem;--uil-xs:.5rem;--uil-s:.75rem;--uil-m:1rem;--uil-l:1.25rem;--uil-xl:1.5rem;--uil-xxl:1.75rem;--uil-xxxl:2rem;--uil-font-base:var(--uil-l);--uil-font-small:var(--uil-m)}.uil-modal-wrapper{background-color:rgba(0,0,0,.5);height:100%;left:0;position:fixed;top:0;width:100%;z-index:99}.uil-modal-wrapper .uil-modal{border-radius:5px;box-shadow:0 0 6px 0 var(--uil-black);left:50%;position:absolute;top:30%;transform:translateX(-50%);width:95%;z-index:999}@media (min-width:1025px){.uil-modal-wrapper .uil-modal{width:75%}}@media (min-width:1250px){.uil-modal-wrapper .uil-modal{width:55%}}@media (min-width:1920px){.uil-modal-wrapper .uil-modal{width:35%}}.uil-modal-wrapper .uil-modal .uil-progress-wrapper{background-color:var(--uil-grey-alt)}.uil-modal-wrapper .uil-modal .uil-progress-wrapper .uil-progress-bar{animation-duration:2s;animation-iteration-count:1;animation-name:uil-progress;border:2px solid var(--uil-grey-dark)}@keyframes uil-progress{0%{width:100%}to{width:0}}.uil-modal-wrapper .uil-modal .uil-header{background-color:var(--uil-question);border-top-left-radius:3px;border-top-right-radius:3px;color:var(--uil-white);display:flex;font-size:var(--uil-xl);font-weight:700;justify-content:space-between;line-height:var(--uil-xl);margin:0;min-height:var(--uil-xl);padding:var(--uil-xs)}@media (min-width:1025px){.uil-modal-wrapper .uil-modal .uil-header{font-size:var(--uil-xxl);line-height:var(--uil-xxl);padding:var(--uil-s)}}.uil-modal-wrapper .uil-modal .uil-header.uil-success{background-color:var(--uil-success)}.uil-modal-wrapper .uil-modal .uil-header.uil-error{background-color:var(--uil-error)}.uil-modal-wrapper .uil-modal .uil-header.uil-warning{background-color:var(--uil-warning);color:var(--uil-black)}.uil-modal-wrapper .uil-modal .uil-content{background-color:var(--uil-white);border-bottom-left-radius:3px;border-bottom-right-radius:3px;display:flex;flex-direction:column;gap:var(--uil-m);padding:var(--uil-m)}@media (min-width:1025px){.uil-modal-wrapper .uil-modal .uil-content{gap:var(--uil-xxxl);padding:var(--uil-l)}}.uil-modal-wrapper .uil-modal .uil-content .uil-modal-text{color:var(--uil-black);font-size:var(--uil-l);line-height:var(--uil-l);margin:var(--uil-s) 0}@media (min-width:1025px){.uil-modal-wrapper .uil-modal .uil-content .uil-modal-text{font-size:var(--uil-l);line-height:var(--uil-l)}}.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper{display:flex;justify-content:space-between}.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper.uil-single{justify-content:end}
2
2
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["button.scss","checkbox.scss","images.scss","input.scss","modal.scss"],"names":[],"mappings":"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0BACE,8BACE,SACF,CACF,CACA,0BACE,8BACE,SACF,CACF,CACA,0BACE,8BACE,SACF,CACF,CACA,oDACE,oCACF,CACA,sEAEE,qBAAsB,CACtB,2BAAkC,CAClC,2BAA4B,CAH5B,qCAIF,CACA,wBACE,GACE,UACF,CACA,GACE,OACF,CACF,CACA,0CAEE,oCAAqC,CASrC,0BAA2B,CAC3B,2BAA4B,CAX5B,sBAAuB,CAEvB,YAAa,CAEb,uBAAwB,CAExB,eAAiB,CAHjB,6BAA8B,CAE9B,yBAA0B,CAG1B,QAAS,CADT,wBAAyB,CAEzB,qBAGF,CACA,0BACE,0CACE,wBAAyB,CACzB,0BAA2B,CAC3B,oBACF,CACF,CACA,sDACE,mCACF,CACA,oDACE,iCACF,CACA,2CACE,iCAAkC,CAElC,6BAA8B,CAC9B,8BAA+B,CAC/B,YAAa,CACb,qBAAsB,CACtB,gBAAiB,CALjB,oBAMF,CACA,0BACE,2CAEE,mBAAoB,CADpB,oBAEF,CACF,CACA,2DAGE,sBAAuB,CAFvB,sBAAuB,CACvB,wBAAyB,CAEzB,qBACF,CACA,0BACE,2DACE,sBAAuB,CACvB,wBACF,CACF,CACA,+DACE,YAAa,CACb,6BACF,CACA,0EACE,mBACF","file":"index.css","sourcesContent":[":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-button {\n font-size: var(--uil-font-base);\n line-height: var(--uil-font-base);\n letter-spacing: 1px;\n color: var(--uil-black);\n background-color: var(--uil-white);\n border: 1px solid var(--uil-black);\n border-radius: 2px;\n width: fit-content;\n cursor: pointer;\n padding: var(--uil-xs) var(--uil-s);\n -webkit-box-shadow: 0 0 3px 0 var(--uil-black-alt);\n box-shadow: 0 0 3px 0 var(--uil-black-alt);\n}\n.uil-button.uil-disabled {\n background-color: var(--uil-grey-dark);\n color: var(--uil-grey);\n border: transparent;\n}\n.uil-button.uil-small {\n font-size: var(--uil-m);\n line-height: var(--uil-m);\n padding: var(--uil-xxs) var(--uil-xs);\n}\n@media (min-width: 1025px) {\n .uil-button.uil-small {\n font-size: 1.125rem;\n line-height: 1.125rem;\n padding: var(--uil-xs) var(--uil-s);\n }\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-check-wrapper {\n display: flex;\n align-items: center;\n gap: var(--uil-s);\n font-size: var(--uil-font-base);\n line-height: var(--uil-font-base);\n}\n.uil-check-wrapper .uil-checkbox {\n position: relative;\n display: block;\n cursor: pointer;\n font-size: var(--uil-m);\n min-width: var(--uil-m);\n min-height: var(--uil-m);\n user-select: none;\n border: 2px solid var(--uil-black-alt);\n border-radius: 2px;\n}\n.uil-check-wrapper .uil-checkbox input {\n position: absolute;\n cursor: pointer;\n height: 0;\n width: 0;\n opacity: 0;\n}\n.uil-check-wrapper .uil-checkbox input:checked ~ .uil-checkmark {\n transform: scale(1);\n}\n.uil-check-wrapper .uil-checkbox .uil-checkmark {\n position: absolute;\n top: 25%;\n left: 25%;\n background-color: var(--uil-black-alt);\n width: var(--uil-xs);\n height: var(--uil-xs);\n transform: scale(0);\n transition: 0.1s ease;\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-svg {\n height: var(--uil-xxxl);\n width: var(--uil-xxxl);\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-input-wrapper {\n position: relative;\n display: block;\n}\n.uil-input-wrapper .uil-label {\n position: absolute;\n top: 25%;\n left: var(--uil-xxs);\n cursor: text;\n font-size: var(--uil-font-base);\n font-weight: bold;\n line-height: var(--uil-font-base);\n color: var(--uil-black);\n background: linear-gradient(0deg, var(--uil-white) 9px, rgba(0, 0, 0, 0) 0%);\n opacity: 0.6;\n padding: 0 var(--uil-xxxs);\n transition: top 0.25s ease-in-out;\n}\n.uil-input-wrapper .uil-input {\n box-sizing: border-box;\n font-size: var(--uil-font-base);\n line-height: var(--uil-font-base);\n width: 100%;\n color: var(--uil-black);\n background-color: var(--uil-white);\n border: 1px solid var(--uil-black);\n border-radius: 0;\n padding: var(--uil-xs);\n}\n.uil-input-wrapper .uil-input::placeholder {\n color: transparent;\n width: 0;\n height: 0;\n}\n.uil-input-wrapper .uil-input:focus {\n outline: 1px solid var(--uil-outline-focus);\n}\n.uil-input-wrapper .uil-input:disabled {\n cursor: not-allowed;\n border: 2px solid var(--uil-outline-disabled);\n background-color: var(--uil-grey);\n color: var(--uil-grey-dark);\n}\n.uil-input-wrapper .uil-input:disabled ~ .uil-label {\n cursor: not-allowed;\n background: transparent;\n color: var(--uil-grey-dark);\n}\n.uil-input-wrapper .uil-input:disabled ~ .uil-icon {\n cursor: not-allowed;\n fill: var(--uil-grey-dark);\n}\n.uil-input-wrapper .uil-input:disabled:not(:placeholder-shown) ~ .uil-label {\n background: linear-gradient(0deg, var(--uil-grey) 8px, rgba(0, 0, 0, 0) 0%);\n}\n.uil-input-wrapper .uil-icon {\n position: absolute;\n top: 50%;\n right: var(--uil-xs);\n transform: translate(0%, -50%);\n fill: var(--uil-black);\n opacity: 0.5;\n}\n.uil-input-wrapper .uil-input:focus ~ .uil-label, .uil-input-wrapper .uil-input:not(:placeholder-shown) ~ .uil-label {\n top: -30%;\n opacity: 1;\n}\n.uil-input-wrapper .uil-input:focus ~ .uil-icon, .uil-input-wrapper .uil-input:not(:placeholder-shown) ~ .uil-icon {\n opacity: 1;\n}\n\n.uil-tooltip-wrapper {\n position: relative;\n}\n.uil-tooltip-wrapper .uil-tooltip-icon {\n cursor: pointer;\n height: fit-content;\n width: fit-content;\n fill: var(--uil-black-alt);\n}\n.uil-tooltip-wrapper .uil-tooltip-icon:has(~ .uil-input-wrapper > .uil-input:not(:placeholder-shown), ~ .uil-input-wrapper:focus-within) {\n visibility: hidden;\n}\n.uil-tooltip-wrapper .uil-tooltip {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n box-sizing: border-box;\n z-index: 1;\n color: var(--uil-white);\n background-color: rgba(34, 34, 34, 0.9);\n padding: var(--uil-s);\n border-radius: 3px;\n font-size: var(--uil-font-small);\n line-height: var(--uil-font-small);\n}\n.uil-tooltip-wrapper .uil-tooltip .uil-tooltip-button {\n display: block;\n width: fit-content;\n margin-left: auto;\n margin-bottom: var(--uil-m);\n color: var(--uil-white);\n background-color: transparent;\n border: none;\n padding: 0;\n border-bottom: 1px solid var(--uil-white);\n cursor: pointer;\n}\n\n.uil-password-rules {\n margin-top: var(--uil-m);\n display: flex;\n flex-direction: column;\n gap: var(--uil-xs);\n margin-left: var(--uil-xs);\n}\n.uil-password-rules .uil-password-rule {\n display: flex;\n align-items: center;\n gap: var(--uil-xxs);\n font-size: var(--uil-font-small);\n line-height: var(--uil-font-small);\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-modal-wrapper {\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 99;\n}\n.uil-modal-wrapper .uil-modal {\n position: absolute;\n top: 30%;\n left: 50%;\n transform: translateX(-50%);\n width: 95%;\n -webkit-box-shadow: 0 0 6px 0 var(--uil-black);\n box-shadow: 0 0 6px 0 var(--uil-black);\n border-radius: 5px;\n z-index: 999;\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal {\n width: 75%;\n }\n}\n@media (min-width: 1250px) {\n .uil-modal-wrapper .uil-modal {\n width: 55%;\n }\n}\n@media (min-width: 1920px) {\n .uil-modal-wrapper .uil-modal {\n width: 35%;\n }\n}\n.uil-modal-wrapper .uil-modal .uil-progress-wrapper {\n background-color: var(--uil-grey-alt);\n}\n.uil-modal-wrapper .uil-modal .uil-progress-wrapper .uil-progress-bar {\n border: 2px solid var(--uil-grey-dark);\n animation-duration: 2s;\n animation-iteration-count: initial;\n animation-name: uil-progress;\n}\n@keyframes uil-progress {\n 0% {\n width: 100%;\n }\n 100% {\n width: 0;\n }\n}\n.uil-modal-wrapper .uil-modal .uil-header {\n color: var(--uil-white);\n background-color: var(--uil-question);\n display: flex;\n justify-content: space-between;\n font-size: var(--uil-xl);\n line-height: var(--uil-xl);\n font-weight: bold;\n min-height: var(--uil-xl);\n margin: 0;\n padding: var(--uil-xs);\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal .uil-header {\n font-size: var(--uil-xxl);\n line-height: var(--uil-xxl);\n padding: var(--uil-s);\n }\n}\n.uil-modal-wrapper .uil-modal .uil-header.uil-success {\n background-color: var(--uil-success);\n}\n.uil-modal-wrapper .uil-modal .uil-header.uil-error {\n background-color: var(--uil-error);\n}\n.uil-modal-wrapper .uil-modal .uil-content {\n background-color: var(--uil-white);\n padding: var(--uil-m);\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n display: flex;\n flex-direction: column;\n gap: var(--uil-m);\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal .uil-content {\n padding: var(--uil-l);\n gap: var(--uil-xxxl);\n }\n}\n.uil-modal-wrapper .uil-modal .uil-content .uil-modal-text {\n font-size: var(--uil-l);\n line-height: var(--uil-l);\n color: var(--uil-black);\n margin: var(--uil-s) 0;\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal .uil-content .uil-modal-text {\n font-size: var(--uil-l);\n line-height: var(--uil-l);\n }\n}\n.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper {\n display: flex;\n justify-content: space-between;\n}\n.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper.uil-single {\n justify-content: end;\n}"]}
1
+ {"version":3,"sources":["button.scss","checkbox.scss","images.scss","input.scss","modal.scss"],"names":[],"mappings":"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IV,WACF,CACA,0BACE,8BACE,SACF,CACF,CACA,0BACE,8BACE,SACF,CACF,CACA,0BACE,8BACE,SACF,CACF,CACA,oDACE,oCACF,CACA,sEAEE,qBAAsB,CACtB,2BAAkC,CAClC,2BAA4B,CAH5B,qCAIF,CACA,wBACE,GACE,UACF,CACA,GACE,OACF,CACF,CACA,0CAEE,oCAAqC,CASrC,0BAA2B,CAC3B,2BAA4B,CAX5B,sBAAuB,CAEvB,YAAa,CAEb,uBAAwB,CAExB,eAAiB,CAHjB,6BAA8B,CAE9B,yBAA0B,CAG1B,QAAS,CADT,wBAAyB,CAEzB,qBAGF,CACA,0BACE,0CACE,wBAAyB,CACzB,0BAA2B,CAC3B,oBACF,CACF,CACA,sDACE,mCACF,CACA,oDACE,iCACF,CACA,sDAEE,mCAAoC,CADpC,sBAEF,CACA,2CACE,iCAAkC,CAElC,6BAA8B,CAC9B,8BAA+B,CAC/B,YAAa,CACb,qBAAsB,CACtB,gBAAiB,CALjB,oBAMF,CACA,0BACE,2CAEE,mBAAoB,CADpB,oBAEF,CACF,CACA,2DAGE,sBAAuB,CAFvB,sBAAuB,CACvB,wBAAyB,CAEzB,qBACF,CACA,0BACE,2DACE,sBAAuB,CACvB,wBACF,CACF,CACA,+DACE,YAAa,CACb,6BACF,CACA,0EACE,mBACF","file":"index.css","sourcesContent":[":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-warning: #FFD700;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-button {\n font-size: var(--uil-font-base);\n line-height: var(--uil-font-base);\n letter-spacing: 1px;\n color: var(--uil-black);\n background-color: var(--uil-white);\n border: 1px solid var(--uil-black);\n border-radius: 2px;\n width: fit-content;\n cursor: pointer;\n padding: var(--uil-xs) var(--uil-s);\n -webkit-box-shadow: 0 0 3px 0 var(--uil-black-alt);\n box-shadow: 0 0 3px 0 var(--uil-black-alt);\n}\n.uil-button.uil-disabled {\n background-color: var(--uil-grey-dark);\n color: var(--uil-grey);\n border: transparent;\n}\n.uil-button.uil-small {\n font-size: var(--uil-m);\n line-height: var(--uil-m);\n padding: var(--uil-xxs) var(--uil-xs);\n}\n@media (min-width: 1025px) {\n .uil-button.uil-small {\n font-size: 1.125rem;\n line-height: 1.125rem;\n padding: var(--uil-xs) var(--uil-s);\n }\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-warning: #FFD700;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-check-wrapper {\n display: flex;\n align-items: center;\n gap: var(--uil-s);\n font-size: var(--uil-font-base);\n line-height: var(--uil-font-base);\n}\n.uil-check-wrapper .uil-checkbox {\n position: relative;\n display: block;\n cursor: pointer;\n font-size: var(--uil-m);\n min-width: var(--uil-m);\n min-height: var(--uil-m);\n user-select: none;\n border: 2px solid var(--uil-black-alt);\n border-radius: 2px;\n}\n.uil-check-wrapper .uil-checkbox input {\n position: absolute;\n cursor: pointer;\n height: 0;\n width: 0;\n opacity: 0;\n}\n.uil-check-wrapper .uil-checkbox input:checked ~ .uil-checkmark {\n transform: scale(1);\n}\n.uil-check-wrapper .uil-checkbox .uil-checkmark {\n position: absolute;\n top: 25%;\n left: 25%;\n background-color: var(--uil-black-alt);\n width: var(--uil-xs);\n height: var(--uil-xs);\n transform: scale(0);\n transition: 0.1s ease;\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-warning: #FFD700;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-svg {\n height: var(--uil-xxxl);\n width: var(--uil-xxxl);\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-warning: #FFD700;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-input-wrapper {\n position: relative;\n display: block;\n}\n.uil-input-wrapper .uil-label {\n position: absolute;\n top: 25%;\n left: var(--uil-xxs);\n cursor: text;\n font-size: var(--uil-font-base);\n font-weight: bold;\n line-height: var(--uil-font-base);\n color: var(--uil-black);\n background: linear-gradient(0deg, var(--uil-white) 9px, rgba(0, 0, 0, 0) 0%);\n opacity: 0.6;\n padding: 0 var(--uil-xxxs);\n transition: top 0.25s ease-in-out;\n}\n.uil-input-wrapper .uil-input {\n box-sizing: border-box;\n font-size: var(--uil-font-base);\n line-height: var(--uil-font-base);\n width: 100%;\n color: var(--uil-black);\n background-color: var(--uil-white);\n border: 1px solid var(--uil-black);\n border-radius: 0;\n padding: var(--uil-xs);\n}\n.uil-input-wrapper .uil-input::placeholder {\n color: transparent;\n width: 0;\n height: 0;\n}\n.uil-input-wrapper .uil-input:focus {\n outline: 1px solid var(--uil-outline-focus);\n}\n.uil-input-wrapper .uil-input:disabled {\n cursor: not-allowed;\n border: 2px solid var(--uil-outline-disabled);\n background-color: var(--uil-grey);\n color: var(--uil-grey-dark);\n}\n.uil-input-wrapper .uil-input:disabled ~ .uil-label {\n cursor: not-allowed;\n background: transparent;\n color: var(--uil-grey-dark);\n}\n.uil-input-wrapper .uil-input:disabled ~ .uil-icon {\n cursor: not-allowed;\n fill: var(--uil-grey-dark);\n}\n.uil-input-wrapper .uil-input:disabled:not(:placeholder-shown) ~ .uil-label {\n background: linear-gradient(0deg, var(--uil-grey) 8px, rgba(0, 0, 0, 0) 0%);\n}\n.uil-input-wrapper .uil-icon {\n position: absolute;\n top: 50%;\n right: var(--uil-xs);\n transform: translate(0%, -50%);\n fill: var(--uil-black);\n opacity: 0.5;\n}\n.uil-input-wrapper .uil-input:focus ~ .uil-label, .uil-input-wrapper .uil-input:not(:placeholder-shown) ~ .uil-label {\n top: -30%;\n opacity: 1;\n}\n.uil-input-wrapper .uil-input:focus ~ .uil-icon, .uil-input-wrapper .uil-input:not(:placeholder-shown) ~ .uil-icon {\n opacity: 1;\n}\n\n.uil-tooltip-wrapper {\n position: relative;\n}\n.uil-tooltip-wrapper .uil-tooltip-icon {\n cursor: pointer;\n height: fit-content;\n width: fit-content;\n fill: var(--uil-black-alt);\n}\n.uil-tooltip-wrapper .uil-tooltip-icon:has(~ .uil-input-wrapper > .uil-input:not(:placeholder-shown), ~ .uil-input-wrapper:focus-within) {\n visibility: hidden;\n}\n.uil-tooltip-wrapper .uil-tooltip {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n box-sizing: border-box;\n z-index: 1;\n color: var(--uil-white);\n background-color: rgba(34, 34, 34, 0.9);\n padding: var(--uil-s);\n border-radius: 3px;\n font-size: var(--uil-font-small);\n line-height: var(--uil-font-small);\n}\n.uil-tooltip-wrapper .uil-tooltip .uil-tooltip-button {\n display: block;\n width: fit-content;\n margin-left: auto;\n margin-bottom: var(--uil-m);\n color: var(--uil-white);\n background-color: transparent;\n border: none;\n padding: 0;\n border-bottom: 1px solid var(--uil-white);\n cursor: pointer;\n}\n\n.uil-password-rules {\n margin-top: var(--uil-m);\n display: flex;\n flex-direction: column;\n gap: var(--uil-xs);\n margin-left: var(--uil-xs);\n}\n.uil-password-rules .uil-password-rule {\n display: flex;\n align-items: center;\n gap: var(--uil-xxs);\n font-size: var(--uil-font-small);\n line-height: var(--uil-font-small);\n}",":root {\n --uil-black: #000000;\n --uil-black-alt: #222222;\n --uil-white: #ffffff;\n --uil-grey: #f3f3f3;\n --uil-grey-alt: #cfcfcf;\n --uil-grey-dark: #878787;\n --uil-outline-focus: #1E90FFFF;\n --uil-outline-disabled: #8B0000FF;\n --uil-success: #006A4E;\n --uil-error: #800020;\n --uil-question: #00416A;\n --uil-warning: #FFD700;\n --uil-xxxs: .125rem;\n --uil-xxs: .25rem;\n --uil-xs: .5rem;\n --uil-s: .75rem;\n --uil-m: 1rem;\n --uil-l: 1.25rem;\n --uil-xl: 1.5rem;\n --uil-xxl: 1.75rem;\n --uil-xxxl: 2rem;\n --uil-font-base: var(--uil-l);\n --uil-font-small: var(--uil-m);\n}\n\n.uil-modal-wrapper {\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(0, 0, 0, 0.5);\n z-index: 99;\n}\n.uil-modal-wrapper .uil-modal {\n position: absolute;\n top: 30%;\n left: 50%;\n transform: translateX(-50%);\n width: 95%;\n -webkit-box-shadow: 0 0 6px 0 var(--uil-black);\n box-shadow: 0 0 6px 0 var(--uil-black);\n border-radius: 5px;\n z-index: 999;\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal {\n width: 75%;\n }\n}\n@media (min-width: 1250px) {\n .uil-modal-wrapper .uil-modal {\n width: 55%;\n }\n}\n@media (min-width: 1920px) {\n .uil-modal-wrapper .uil-modal {\n width: 35%;\n }\n}\n.uil-modal-wrapper .uil-modal .uil-progress-wrapper {\n background-color: var(--uil-grey-alt);\n}\n.uil-modal-wrapper .uil-modal .uil-progress-wrapper .uil-progress-bar {\n border: 2px solid var(--uil-grey-dark);\n animation-duration: 2s;\n animation-iteration-count: initial;\n animation-name: uil-progress;\n}\n@keyframes uil-progress {\n 0% {\n width: 100%;\n }\n 100% {\n width: 0;\n }\n}\n.uil-modal-wrapper .uil-modal .uil-header {\n color: var(--uil-white);\n background-color: var(--uil-question);\n display: flex;\n justify-content: space-between;\n font-size: var(--uil-xl);\n line-height: var(--uil-xl);\n font-weight: bold;\n min-height: var(--uil-xl);\n margin: 0;\n padding: var(--uil-xs);\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal .uil-header {\n font-size: var(--uil-xxl);\n line-height: var(--uil-xxl);\n padding: var(--uil-s);\n }\n}\n.uil-modal-wrapper .uil-modal .uil-header.uil-success {\n background-color: var(--uil-success);\n}\n.uil-modal-wrapper .uil-modal .uil-header.uil-error {\n background-color: var(--uil-error);\n}\n.uil-modal-wrapper .uil-modal .uil-header.uil-warning {\n color: var(--uil-black);\n background-color: var(--uil-warning);\n}\n.uil-modal-wrapper .uil-modal .uil-content {\n background-color: var(--uil-white);\n padding: var(--uil-m);\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n display: flex;\n flex-direction: column;\n gap: var(--uil-m);\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal .uil-content {\n padding: var(--uil-l);\n gap: var(--uil-xxxl);\n }\n}\n.uil-modal-wrapper .uil-modal .uil-content .uil-modal-text {\n font-size: var(--uil-l);\n line-height: var(--uil-l);\n color: var(--uil-black);\n margin: var(--uil-s) 0;\n}\n@media (min-width: 1025px) {\n .uil-modal-wrapper .uil-modal .uil-content .uil-modal-text {\n font-size: var(--uil-l);\n line-height: var(--uil-l);\n }\n}\n.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper {\n display: flex;\n justify-content: space-between;\n}\n.uil-modal-wrapper .uil-modal .uil-content .uil-button-wrapper.uil-single {\n justify-content: end;\n}"]}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=/*#__PURE__*/t(e);function a(){return a=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var a in l)({}).hasOwnProperty.call(l,a)&&(e[a]=l[a])}return e},a.apply(null,arguments)}function n(e,t){if(null==e)return{};var l={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;l[a]=e[a]}return l}var r=["disabled","label","small","theme"];function u(e){var t=e.disabled,u=void 0!==t&&t,c=e.label,s=e.small,o=void 0!==s&&s,i=e.theme,d=n(e,r),f={color:function(){if(i&&!u){var e="#"===i.charAt(0)?i.substring(1,7):i,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(function(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}}(),backgroundColor:u?void 0:i,border:i?"none":void 0};return l.default.createElement("button",a({className:"uil-button "+(u?"uil-disabled":"")+" "+(o?"uil-small":""),style:f,disabled:u},d),c)}var c=["checkColor","checked","onCheck","label","children"];function s(e){var t=e.src,a=e.color,n=e.height,r=e.width;if(!t.includes(".svg"))throw new Error("Provided src is not an svg image");return l.default.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:a,height:n+"px",width:r+"px"}},l.default.createElement("use",{href:t}))}var o=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function i(e){var t=e.iconColor,r=e.iconSrc,u=e.inputColor,c=e.label,i=e.toggle,d=e.valueChanged,f=n(e,o);return l.default.createElement("label",{className:"uil-input-wrapper",htmlFor:f.id},l.default.createElement("input",a({className:"uil-input",onChange:function(e){return d(e.target.value)},placeholder:c,style:{color:u}},f)),r&&l.default.createElement("div",{className:"uil-icon",onClick:i},l.default.createElement(s,{src:r,width:24,height:24,color:t})),l.default.createElement("span",{className:"uil-label",style:{color:u}},c))}function d(t){var l=e.useRef(null);return e.useEffect(function(){function e(e){l.current&&!l.current.contains(e.target)&&t()}return document.addEventListener("click",e),document.addEventListener("touchend",e),function(){document.removeEventListener("click",e),document.removeEventListener("touchend",e)}},[t]),l}var f,m=["tooltipClose","tooltipIcon","tooltipText"];function p(t){var r=t.tooltipClose,u=t.tooltipIcon,c=t.tooltipText,o=n(t,m),f=e.useState(!1),p=f[0],v=f[1],h=d(E);function E(){v(!1)}return l.default.createElement(l.default.Fragment,null,u?l.default.createElement("div",{className:"uil-tooltip-wrapper"},p&&l.default.createElement("div",{className:"uil-tooltip",ref:h},r&&l.default.createElement("button",{className:"uil-tooltip-button",onClick:E},r),l.default.createElement("span",null,c)),l.default.createElement("div",{className:"uil-tooltip-icon",onClick:function(){return v(!p)}},l.default.createElement(s,{src:u,height:16,width:16})),l.default.createElement(i,a({},o))):l.default.createElement(i,a({},o)))}exports.PasswordRuleTypes=void 0,(f=exports.PasswordRuleTypes||(exports.PasswordRuleTypes={}))[f.minLength=0]="minLength",f[f.maxLength=1]="maxLength",f[f.letters=2]="letters",f[f.numbers=3]="numbers",f[f.special=4]="special",f[f.upper=5]="upper";var v,h=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function E(t){var a=t.cancelLabel,n=void 0===a?"":a,r=t.closeLabel,c=t.confirm,s=t.confirmLabel,o=void 0===s?"":s,i=t.message,d=t.timeout,f=t.title,m=t.type,p=e.useState(!0),h=p[0],E=p[1];return e.useEffect(function(){d&&setTimeout(function(){E(!1)},d)},[]),h?l.default.createElement("div",{className:"uil-modal-wrapper"},l.default.createElement("div",{className:"uil-modal"},l.default.createElement("div",{className:"uil-header "+(m==v.success?"uil-success":"")+" "+(m==v.error?"uil-error":"")},f),d&&l.default.createElement("div",{className:"uil-progress-wrapper"},l.default.createElement("div",{className:"uil-progress-bar",style:{animationDuration:d/1e3+1+"s"}})),l.default.createElement("div",{className:"uil-content"},l.default.createElement("div",null,Array.isArray(i)?i.map(function(e,t){return l.default.createElement("p",{key:t,className:"uil-modal-text"},e)}):l.default.createElement("p",{className:"uil-modal-text"},i)),l.default.createElement("div",{className:"uil-button-wrapper "+(m!==v.question?"uil-single":"")},m!==v.question&&l.default.createElement(u,{label:null!=r?r:"",small:!0,onClick:function(){return E(!1)},type:"button"}),m==v.question&&t.confirm&&l.default.createElement(l.default.Fragment,null,l.default.createElement(u,{label:o,theme:"#00416A",small:!0,onClick:function(){return c},type:"button"}),l.default.createElement(u,{label:n,small:!0,onClick:function(){return E(!1)},type:"button"})))))):l.default.createElement(l.default.Fragment,null)}!function(e){e[e.error=0]="error",e[e.question=1]="question",e[e.success=2]="success"}(v||(v={}));var b=["isSuccess"];exports.CustomButton=u,exports.CustomCheckBox=function(e){var t=e.checkColor,r=e.checked,u=e.onCheck,s=e.label,o=e.children,i=n(e,c);return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",{className:"uil-check-wrapper"},l.default.createElement("label",{className:"uil-checkbox"},l.default.createElement("input",a({type:"checkbox",checked:r,onChange:function(){u(!r)}},i)),l.default.createElement("div",{className:"uil-checkmark",style:{backgroundColor:t}})),o||l.default.createElement("span",null,s)))},exports.CustomInput=p,exports.NotifyModal=function(e){var t=e.isSuccess,r=n(e,b);return l.default.createElement(E,a({type:t?v.success:v.error},r))},exports.PasswordInput=function(t){var r=t.capsLockWarning,u=t.rules,c=t.ruleChecked,o=t.ruleUnchecked,i=t.setFailedRules,d=n(t,h),f=e.useState(!1),m=f[0],v=f[1];function E(e){var l;switch(e.type){case exports.PasswordRuleTypes.minLength:l="[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case exports.PasswordRuleTypes.maxLength:l="^[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,"+e.count+"}$";break;case exports.PasswordRuleTypes.letters:l="[a-zA-ZßÄäÖöÜü]{"+e.count+",}";break;case exports.PasswordRuleTypes.numbers:l="[0-9]{"+e.count+",}";break;case exports.PasswordRuleTypes.special:l="[._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case exports.PasswordRuleTypes.upper:l="[A-ZÄÖÜ]{"+e.count+",}";break;default:l=e.pattern?e.pattern:""}return""!==l&&new RegExp(l).test(t.value)}return e.useEffect(function(){var e;e=[],u.forEach(function(t){E(t)||e.push(t)}),i(e)},[t.value]),e.useEffect(function(){function e(e){v(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[]),l.default.createElement(l.default.Fragment,null,l.default.createElement("div",null,l.default.createElement(p,a({},d)),l.default.createElement("div",{className:"uil-password-rules"},m&&l.default.createElement("div",{className:"uil-password-rule"},r),u.map(function(e,t){return l.default.createElement("div",{key:t,className:"uil-password-rule"},l.default.createElement(s,{src:E(e)?c:o,height:12,width:12}),l.default.createElement("span",null,e.label))}))))},exports.QuestionModal=function(e){var t=a({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return l.default.createElement(E,a({type:v.question},t))},exports.SVG=s,exports.useOutsideClick=d;
1
+ var e=require("react");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=/*#__PURE__*/t(e);function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var l in a)({}).hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},l.apply(null,arguments)}function n(e,t){if(null==e)return{};var a={};for(var l in e)if({}.hasOwnProperty.call(e,l)){if(t.indexOf(l)>=0)continue;a[l]=e[l]}return a}var r=["disabled","label","small","theme"];function u(e){var t=e.disabled,u=void 0!==t&&t,c=e.label,o=e.small,s=void 0!==o&&o,i=e.theme,d=n(e,r),f={color:function(){if(i&&!u){var e="#"===i.charAt(0)?i.substring(1,7):i,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(function(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}}(),backgroundColor:u?void 0:i,border:i?"none":void 0};return a.default.createElement("button",l({className:"uil-button "+(u?"uil-disabled":"")+" "+(s?"uil-small":""),style:f,disabled:u},d),c)}var c=["checkColor","checked","onCheck","label","children"];function o(e){var t=e.src,l=e.color,n=e.height,r=e.width;if(!t.includes(".svg"))throw new Error("Provided src is not an svg image");return a.default.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:l,height:n+"px",width:r+"px"}},a.default.createElement("use",{href:t}))}var s=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function i(e){var t=e.iconColor,r=e.iconSrc,u=e.inputColor,c=e.label,i=e.toggle,d=e.valueChanged,f=n(e,s);return a.default.createElement("label",{className:"uil-input-wrapper",htmlFor:f.id},a.default.createElement("input",l({className:"uil-input",onChange:function(e){return d(e.target.value)},placeholder:c,style:{color:u}},f)),r&&a.default.createElement("div",{className:"uil-icon",onClick:i},a.default.createElement(o,{src:r,width:24,height:24,color:t})),a.default.createElement("span",{className:"uil-label",style:{color:u}},c))}function d(t){var a=e.useRef(null);return e.useEffect(function(){function e(e){a.current&&!a.current.contains(e.target)&&t()}return document.addEventListener("click",e),document.addEventListener("touchend",e),function(){document.removeEventListener("click",e),document.removeEventListener("touchend",e)}},[t]),a}var f,m=["tooltipClose","tooltipIcon","tooltipText"];function p(t){var r=t.tooltipClose,u=t.tooltipIcon,c=t.tooltipText,s=n(t,m),f=e.useState(!1),p=f[0],v=f[1],h=d(E);function E(){v(!1)}return a.default.createElement(a.default.Fragment,null,u?a.default.createElement("div",{className:"uil-tooltip-wrapper"},p&&a.default.createElement("div",{className:"uil-tooltip",ref:h},r&&a.default.createElement("button",{className:"uil-tooltip-button",onClick:E},r),a.default.createElement("span",null,c)),a.default.createElement("div",{className:"uil-tooltip-icon",onClick:function(){return v(!p)}},a.default.createElement(o,{src:u,height:16,width:16})),a.default.createElement(i,l({},s))):a.default.createElement(i,l({},s)))}exports.PasswordRuleTypes=void 0,(f=exports.PasswordRuleTypes||(exports.PasswordRuleTypes={}))[f.minLength=0]="minLength",f[f.maxLength=1]="maxLength",f[f.letters=2]="letters",f[f.numbers=3]="numbers",f[f.special=4]="special",f[f.upper=5]="upper";var v,h=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function E(t){var l=t.callback,n=t.cancelLabel,r=void 0===n?"":n,c=t.closeLabel,o=t.confirm,s=t.confirmLabel,i=void 0===s?"":s,d=t.message,f=t.timeout,m=t.title,p=t.type,h=e.useState(!0),E=h[0],b=h[1];return e.useEffect(function(){if(f&&E){var e=setTimeout(function(){l&&l(),b(!1)},f);return function(){return clearTimeout(e)}}},[]),E?a.default.createElement("div",{className:"uil-modal-wrapper"},a.default.createElement("div",{className:"uil-modal"},a.default.createElement("div",{className:function(){switch(p){case v.error:return"uil-header uil-error";case v.success:return"uil-header uil-success";case v.warning:return"uil-header uil-warning";default:return"uil-header"}}()},m),f&&a.default.createElement("div",{className:"uil-progress-wrapper"},a.default.createElement("div",{className:"uil-progress-bar",style:{animationDuration:f/1e3+1+"s"}})),a.default.createElement("div",{className:"uil-content"},a.default.createElement("div",null,Array.isArray(d)?d.map(function(e,t){return a.default.createElement("p",{key:t,className:"uil-modal-text"},e)}):a.default.createElement("p",{className:"uil-modal-text"},d)),a.default.createElement("div",{className:"uil-button-wrapper "+(p!==v.question?"uil-single":"")},p!==v.question&&a.default.createElement(u,{label:null!=c?c:"",small:!0,onClick:function(){return b(!1)},type:"button"}),p==v.question&&t.confirm&&a.default.createElement(a.default.Fragment,null,a.default.createElement(u,{label:i,theme:"#00416A",small:!0,onClick:function(){return o},type:"button"}),a.default.createElement(u,{label:r,small:!0,onClick:l,type:"button"})))))):a.default.createElement(a.default.Fragment,null)}!function(e){e.error="error",e.question="question",e.success="success",e.warning="warning"}(v||(v={}));var b=["callback","modalType"],g=["cancel"];exports.CustomButton=u,exports.CustomCheckBox=function(e){var t=e.checkColor,r=e.checked,u=e.onCheck,o=e.label,s=e.children,i=n(e,c);return a.default.createElement(a.default.Fragment,null,a.default.createElement("div",{className:"uil-check-wrapper"},a.default.createElement("label",{className:"uil-checkbox"},a.default.createElement("input",l({type:"checkbox",checked:r,onChange:function(){u(!r)}},i)),a.default.createElement("div",{className:"uil-checkmark",style:{backgroundColor:t}})),s||a.default.createElement("span",null,o)))},exports.CustomInput=p,exports.NotifyModal=function(e){var t=e.callback,r=e.modalType,u=n(e,b);return a.default.createElement(E,l({type:r},u,{callback:t}))},exports.PasswordInput=function(t){var r=t.capsLockWarning,u=t.rules,c=t.ruleChecked,s=t.ruleUnchecked,i=t.setFailedRules,d=n(t,h),f=e.useState(!1),m=f[0],v=f[1];function E(e){var a;switch(e.type){case exports.PasswordRuleTypes.minLength:a="[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case exports.PasswordRuleTypes.maxLength:a="^[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,"+e.count+"}$";break;case exports.PasswordRuleTypes.letters:a="[a-zA-ZßÄäÖöÜü]{"+e.count+",}";break;case exports.PasswordRuleTypes.numbers:a="[0-9]{"+e.count+",}";break;case exports.PasswordRuleTypes.special:a="[._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case exports.PasswordRuleTypes.upper:a="[A-ZÄÖÜ]{"+e.count+",}";break;default:a=e.pattern?e.pattern:""}if(""===a)throw new Error("pattern must not be an empty string. Checked rule: "+e);return new RegExp(a).test(t.value)}return e.useEffect(function(){var e;e=[],u.forEach(function(t){E(t)||e.push(t)}),i(e)},[t.value]),e.useEffect(function(){function e(e){v(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),function(){return document.removeEventListener("keydown",e)}},[]),a.default.createElement(a.default.Fragment,null,a.default.createElement("div",null,a.default.createElement(p,l({},d)),a.default.createElement("div",{className:"uil-password-rules"},m&&a.default.createElement("div",{className:"uil-password-rule"},r),u.map(function(e,t){return a.default.createElement("div",{key:t,className:"uil-password-rule"},a.default.createElement(o,{src:E(e)?c:s,height:12,width:12}),a.default.createElement("span",null,e.label))}))))},exports.QuestionModal=function(e){var t=e.cancel,r=n(e,g);return a.default.createElement(E,l({type:v.question,callback:t},r))},exports.SVG=o,exports.useOutsideClick=d;
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/enums/passwordRuleTypes.ts","../src/components/input/customInput.tsx","../src/enums/ModalType.ts","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/input/passwordInput.tsx","../src/components/modal/questionModal.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum ModalType {\n error,\n question,\n success\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout) return;\n\n setTimeout(() => {\n setVisible(false);\n }, timeout);\n },[]);\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={`uil-header ${type == ModalType.success ? 'uil-success' : ''} ${type == ModalType.error ? 'uil-error' : ''}`}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) =>\n <p key={idx} className={'uil-modal-text'}>{m}</p>\n ) : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={() => setVisible(false)} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n isSuccess : boolean;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n isSuccess,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={isSuccess? ModalType.success : ModalType.error} {...modalProps}/>\n );\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => {\n document.removeEventListener('keydown', setCapsLockState);\n };\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') return false;\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} {...modalProps}/>\n );\n}"],"names":["_excluded","CustomButton","props","_props$disabled","disabled","label","_props$small","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","onChange","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","PasswordRuleTypes","CustomInput","tooltipClose","tooltipIcon","tooltipText","_useState","useState","tooltipVisible","setTooltipVisible","closeTooltip","Fragment","ModalType","BaseModal","_props$cancelLabel","cancelLabel","closeLabel","confirm","_props$confirmLabel","confirmLabel","message","timeout","title","type","visible","setVisible","setTimeout","success","error","animationDuration","Array","isArray","m","idx","key","question","checkColor","checked","onCheck","children","checkProps","isSuccess","modalProps","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","setCapsLockState","getModifierState","_objectDestructuringEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/enums/passwordRuleTypes.ts","../src/components/input/customInput.tsx","../src/enums/ModalType.ts","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/modal/questionModal.tsx","../src/components/input/passwordInput.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum ModalType {\n error = 'error',\n question = 'question',\n success = 'success',\n warning = 'warning',\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n callback? : (() => void) | undefined;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n callback,\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout || !visible) return;\n\n const t = setTimeout(() => {\n callback && callback();\n\n setVisible(false);\n }, timeout);\n\n return () => clearTimeout(t);\n },[]);\n\n function setHeaderClass() {\n switch (type) {\n case ModalType.error:\n return 'uil-header uil-error';\n case ModalType.success:\n return 'uil-header uil-success';\n case ModalType.warning:\n return 'uil-header uil-warning';\n default:\n return 'uil-header';\n }\n }\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={setHeaderClass()}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) => <p key={idx} className={'uil-modal-text'}>{m}</p>)\n : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={callback} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n modalType : 'success' | 'warning' | 'error';\n message : string | string[];\n title : string;\n callback? : (() => void) | undefined;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n callback,\n modalType,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={modalType as ModalType} {...modalProps} callback={callback}/>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancel : () => void;\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n cancel,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} callback={cancel} {...modalProps}/>\n );\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => document.removeEventListener('keydown', setCapsLockState);\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern ? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') throw new Error(`pattern must not be an empty string. Checked rule: ${rule}`);\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}"],"names":["_excluded","CustomButton","props","_props$disabled","disabled","label","_props$small","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","onChange","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","PasswordRuleTypes","CustomInput","tooltipClose","tooltipIcon","tooltipText","_useState","useState","tooltipVisible","setTooltipVisible","closeTooltip","Fragment","ModalType","BaseModal","_props$cancelLabel","cancelLabel","closeLabel","confirm","_props$confirmLabel","confirmLabel","message","timeout","title","type","visible","setVisible","t","setTimeout","clearTimeout","error","success","warning","setHeaderClass","animationDuration","Array","isArray","m","idx","key","question","checkColor","checked","onCheck","children","checkProps","modalType","modalProps","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","setCapsLockState","getModifierState","cancel"],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import e,{useRef as t,useEffect as n,useState as r}from"react";function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}function a(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var c=["disabled","label","small","theme"];function i(t){var n=t.disabled,r=void 0!==n&&n,i=t.label,o=t.small,u=void 0!==o&&o,s=t.theme,m=a(t,c),d={color:function(){if(s&&!r){var e="#"===s.charAt(0)?s.substring(1,7):s,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(function(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}}(),backgroundColor:r?void 0:s,border:s?"none":void 0};return e.createElement("button",l({className:"uil-button "+(r?"uil-disabled":"")+" "+(u?"uil-small":""),style:d,disabled:r},m),i)}var o=["checkColor","checked","onCheck","label","children"];function u(t){var n=t.checkColor,r=t.checked,c=t.onCheck,i=t.label,u=t.children,s=a(t,o);return e.createElement(e.Fragment,null,e.createElement("div",{className:"uil-check-wrapper"},e.createElement("label",{className:"uil-checkbox"},e.createElement("input",l({type:"checkbox",checked:r,onChange:function(){c(!r)}},s)),e.createElement("div",{className:"uil-checkmark",style:{backgroundColor:n}})),u||e.createElement("span",null,i)))}function s(t){var n=t.src,r=t.color,l=t.height,a=t.width;if(!n.includes(".svg"))throw new Error("Provided src is not an svg image");return e.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:r,height:l+"px",width:a+"px"}},e.createElement("use",{href:n}))}var m=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function d(t){var n=t.iconColor,r=t.iconSrc,c=t.inputColor,i=t.label,o=t.toggle,u=t.valueChanged,d=a(t,m);return e.createElement("label",{className:"uil-input-wrapper",htmlFor:d.id},e.createElement("input",l({className:"uil-input",onChange:function(e){return u(e.target.value)},placeholder:i,style:{color:c}},d)),r&&e.createElement("div",{className:"uil-icon",onClick:o},e.createElement(s,{src:r,width:24,height:24,color:n})),e.createElement("span",{className:"uil-label",style:{color:c}},i))}function p(e){var r=t(null);return n(function(){function t(t){r.current&&!r.current.contains(t.target)&&e()}return document.addEventListener("click",t),document.addEventListener("touchend",t),function(){document.removeEventListener("click",t),document.removeEventListener("touchend",t)}},[e]),r}var v,f=["tooltipClose","tooltipIcon","tooltipText"];function h(t){var n=t.tooltipClose,c=t.tooltipIcon,i=t.tooltipText,o=a(t,f),u=r(!1),m=u[0],v=u[1],h=p(E);function E(){v(!1)}return e.createElement(e.Fragment,null,c?e.createElement("div",{className:"uil-tooltip-wrapper"},m&&e.createElement("div",{className:"uil-tooltip",ref:h},n&&e.createElement("button",{className:"uil-tooltip-button",onClick:E},n),e.createElement("span",null,i)),e.createElement("div",{className:"uil-tooltip-icon",onClick:function(){return v(!m)}},e.createElement(s,{src:c,height:16,width:16})),e.createElement(d,l({},o))):e.createElement(d,l({},o)))}!function(e){e[e.minLength=0]="minLength",e[e.maxLength=1]="maxLength",e[e.letters=2]="letters",e[e.numbers=3]="numbers",e[e.special=4]="special",e[e.upper=5]="upper"}(v||(v={}));var E,b=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function g(t){var c=t.capsLockWarning,i=t.rules,o=t.ruleChecked,u=t.ruleUnchecked,m=t.setFailedRules,d=a(t,b),p=r(!1),f=p[0],E=p[1];function g(e){var n;switch(e.type){case v.minLength:n="[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case v.maxLength:n="^[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,"+e.count+"}$";break;case v.letters:n="[a-zA-ZßÄäÖöÜü]{"+e.count+",}";break;case v.numbers:n="[0-9]{"+e.count+",}";break;case v.special:n="[._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case v.upper:n="[A-ZÄÖÜ]{"+e.count+",}";break;default:n=e.pattern?e.pattern:""}return""!==n&&new RegExp(n).test(t.value)}return n(function(){var e;e=[],i.forEach(function(t){g(t)||e.push(t)}),m(e)},[t.value]),n(function(){function e(e){E(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[]),e.createElement(e.Fragment,null,e.createElement("div",null,e.createElement(h,l({},d)),e.createElement("div",{className:"uil-password-rules"},f&&e.createElement("div",{className:"uil-password-rule"},c),i.map(function(t,n){return e.createElement("div",{key:n,className:"uil-password-rule"},e.createElement(s,{src:g(t)?o:u,height:12,width:12}),e.createElement("span",null,t.label))}))))}function k(t){var l=t.cancelLabel,a=void 0===l?"":l,c=t.closeLabel,o=t.confirm,u=t.confirmLabel,s=void 0===u?"":u,m=t.message,d=t.timeout,p=t.title,v=t.type,f=r(!0),h=f[0],b=f[1];return n(function(){d&&setTimeout(function(){b(!1)},d)},[]),h?e.createElement("div",{className:"uil-modal-wrapper"},e.createElement("div",{className:"uil-modal"},e.createElement("div",{className:"uil-header "+(v==E.success?"uil-success":"")+" "+(v==E.error?"uil-error":"")},p),d&&e.createElement("div",{className:"uil-progress-wrapper"},e.createElement("div",{className:"uil-progress-bar",style:{animationDuration:d/1e3+1+"s"}})),e.createElement("div",{className:"uil-content"},e.createElement("div",null,Array.isArray(m)?m.map(function(t,n){return e.createElement("p",{key:n,className:"uil-modal-text"},t)}):e.createElement("p",{className:"uil-modal-text"},m)),e.createElement("div",{className:"uil-button-wrapper "+(v!==E.question?"uil-single":"")},v!==E.question&&e.createElement(i,{label:null!=c?c:"",small:!0,onClick:function(){return b(!1)},type:"button"}),v==E.question&&t.confirm&&e.createElement(e.Fragment,null,e.createElement(i,{label:s,theme:"#00416A",small:!0,onClick:function(){return o},type:"button"}),e.createElement(i,{label:a,small:!0,onClick:function(){return b(!1)},type:"button"})))))):e.createElement(e.Fragment,null)}!function(e){e[e.error=0]="error",e[e.question=1]="question",e[e.success=2]="success"}(E||(E={}));var C=["isSuccess"];function w(t){var n=t.isSuccess,r=a(t,C);return e.createElement(k,l({type:n?E.success:E.error},r))}function N(t){var n=l({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(t),t));return e.createElement(k,l({type:E.question},n))}export{i as CustomButton,u as CustomCheckBox,h as CustomInput,w as NotifyModal,g as PasswordInput,v as PasswordRuleTypes,N as QuestionModal,s as SVG,p as useOutsideClick};
1
+ import e,{useRef as t,useEffect as n,useState as r}from"react";function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l.apply(null,arguments)}function a(e,t){if(null==e)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var c=["disabled","label","small","theme"];function i(t){var n=t.disabled,r=void 0!==n&&n,i=t.label,o=t.small,u=void 0!==o&&o,s=t.theme,m=a(t,c),d={color:function(){if(s&&!r){var e="#"===s.charAt(0)?s.substring(1,7):s,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(function(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}}(),backgroundColor:r?void 0:s,border:s?"none":void 0};return e.createElement("button",l({className:"uil-button "+(r?"uil-disabled":"")+" "+(u?"uil-small":""),style:d,disabled:r},m),i)}var o=["checkColor","checked","onCheck","label","children"];function u(t){var n=t.checkColor,r=t.checked,c=t.onCheck,i=t.label,u=t.children,s=a(t,o);return e.createElement(e.Fragment,null,e.createElement("div",{className:"uil-check-wrapper"},e.createElement("label",{className:"uil-checkbox"},e.createElement("input",l({type:"checkbox",checked:r,onChange:function(){c(!r)}},s)),e.createElement("div",{className:"uil-checkmark",style:{backgroundColor:n}})),u||e.createElement("span",null,i)))}function s(t){var n=t.src,r=t.color,l=t.height,a=t.width;if(!n.includes(".svg"))throw new Error("Provided src is not an svg image");return e.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:r,height:l+"px",width:a+"px"}},e.createElement("use",{href:n}))}var m=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function d(t){var n=t.iconColor,r=t.iconSrc,c=t.inputColor,i=t.label,o=t.toggle,u=t.valueChanged,d=a(t,m);return e.createElement("label",{className:"uil-input-wrapper",htmlFor:d.id},e.createElement("input",l({className:"uil-input",onChange:function(e){return u(e.target.value)},placeholder:i,style:{color:c}},d)),r&&e.createElement("div",{className:"uil-icon",onClick:o},e.createElement(s,{src:r,width:24,height:24,color:n})),e.createElement("span",{className:"uil-label",style:{color:c}},i))}function p(e){var r=t(null);return n(function(){function t(t){r.current&&!r.current.contains(t.target)&&e()}return document.addEventListener("click",t),document.addEventListener("touchend",t),function(){document.removeEventListener("click",t),document.removeEventListener("touchend",t)}},[e]),r}var v,f=["tooltipClose","tooltipIcon","tooltipText"];function h(t){var n=t.tooltipClose,c=t.tooltipIcon,i=t.tooltipText,o=a(t,f),u=r(!1),m=u[0],v=u[1],h=p(E);function E(){v(!1)}return e.createElement(e.Fragment,null,c?e.createElement("div",{className:"uil-tooltip-wrapper"},m&&e.createElement("div",{className:"uil-tooltip",ref:h},n&&e.createElement("button",{className:"uil-tooltip-button",onClick:E},n),e.createElement("span",null,i)),e.createElement("div",{className:"uil-tooltip-icon",onClick:function(){return v(!m)}},e.createElement(s,{src:c,height:16,width:16})),e.createElement(d,l({},o))):e.createElement(d,l({},o)))}!function(e){e[e.minLength=0]="minLength",e[e.maxLength=1]="maxLength",e[e.letters=2]="letters",e[e.numbers=3]="numbers",e[e.special=4]="special",e[e.upper=5]="upper"}(v||(v={}));var E,b=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function g(t){var c=t.capsLockWarning,i=t.rules,o=t.ruleChecked,u=t.ruleUnchecked,m=t.setFailedRules,d=a(t,b),p=r(!1),f=p[0],E=p[1];function g(e){var n;switch(e.type){case v.minLength:n="[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case v.maxLength:n="^[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,"+e.count+"}$";break;case v.letters:n="[a-zA-ZßÄäÖöÜü]{"+e.count+",}";break;case v.numbers:n="[0-9]{"+e.count+",}";break;case v.special:n="[._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+e.count+",}";break;case v.upper:n="[A-ZÄÖÜ]{"+e.count+",}";break;default:n=e.pattern?e.pattern:""}if(""===n)throw new Error("pattern must not be an empty string. Checked rule: "+e);return new RegExp(n).test(t.value)}return n(function(){var e;e=[],i.forEach(function(t){g(t)||e.push(t)}),m(e)},[t.value]),n(function(){function e(e){E(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),function(){return document.removeEventListener("keydown",e)}},[]),e.createElement(e.Fragment,null,e.createElement("div",null,e.createElement(h,l({},d)),e.createElement("div",{className:"uil-password-rules"},f&&e.createElement("div",{className:"uil-password-rule"},c),i.map(function(t,n){return e.createElement("div",{key:n,className:"uil-password-rule"},e.createElement(s,{src:g(t)?o:u,height:12,width:12}),e.createElement("span",null,t.label))}))))}function k(t){var l=t.callback,a=t.cancelLabel,c=void 0===a?"":a,o=t.closeLabel,u=t.confirm,s=t.confirmLabel,m=void 0===s?"":s,d=t.message,p=t.timeout,v=t.title,f=t.type,h=r(!0),b=h[0],g=h[1];return n(function(){if(p&&b){var e=setTimeout(function(){l&&l(),g(!1)},p);return function(){return clearTimeout(e)}}},[]),b?e.createElement("div",{className:"uil-modal-wrapper"},e.createElement("div",{className:"uil-modal"},e.createElement("div",{className:function(){switch(f){case E.error:return"uil-header uil-error";case E.success:return"uil-header uil-success";case E.warning:return"uil-header uil-warning";default:return"uil-header"}}()},v),p&&e.createElement("div",{className:"uil-progress-wrapper"},e.createElement("div",{className:"uil-progress-bar",style:{animationDuration:p/1e3+1+"s"}})),e.createElement("div",{className:"uil-content"},e.createElement("div",null,Array.isArray(d)?d.map(function(t,n){return e.createElement("p",{key:n,className:"uil-modal-text"},t)}):e.createElement("p",{className:"uil-modal-text"},d)),e.createElement("div",{className:"uil-button-wrapper "+(f!==E.question?"uil-single":"")},f!==E.question&&e.createElement(i,{label:null!=o?o:"",small:!0,onClick:function(){return g(!1)},type:"button"}),f==E.question&&t.confirm&&e.createElement(e.Fragment,null,e.createElement(i,{label:m,theme:"#00416A",small:!0,onClick:function(){return u},type:"button"}),e.createElement(i,{label:c,small:!0,onClick:l,type:"button"})))))):e.createElement(e.Fragment,null)}!function(e){e.error="error",e.question="question",e.success="success",e.warning="warning"}(E||(E={}));var w=["callback","modalType"];function y(t){var n=t.callback,r=t.modalType,c=a(t,w);return e.createElement(k,l({type:r},c,{callback:n}))}var C=["cancel"];function N(t){var n=t.cancel,r=a(t,C);return e.createElement(k,l({type:E.question,callback:n},r))}export{i as CustomButton,u as CustomCheckBox,h as CustomInput,y as NotifyModal,g as PasswordInput,v as PasswordRuleTypes,N as QuestionModal,s as SVG,p as useOutsideClick};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/enums/passwordRuleTypes.ts","../src/components/input/customInput.tsx","../src/enums/ModalType.ts","../src/components/input/passwordInput.tsx","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/modal/questionModal.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum ModalType {\n error,\n question,\n success\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => {\n document.removeEventListener('keydown', setCapsLockState);\n };\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') return false;\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout) return;\n\n setTimeout(() => {\n setVisible(false);\n }, timeout);\n },[]);\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={`uil-header ${type == ModalType.success ? 'uil-success' : ''} ${type == ModalType.error ? 'uil-error' : ''}`}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) =>\n <p key={idx} className={'uil-modal-text'}>{m}</p>\n ) : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={() => setVisible(false)} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n isSuccess : boolean;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n isSuccess,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={isSuccess? ModalType.success : ModalType.error} {...modalProps}/>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} {...modalProps}/>\n );\n}"],"names":["_excluded","CustomButton","props","_props$disabled","disabled","label","_props$small","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","CustomCheckBox","checkColor","checked","onCheck","children","checkProps","Fragment","type","onChange","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","PasswordRuleTypes","CustomInput","tooltipClose","tooltipIcon","tooltipText","_useState","useState","tooltipVisible","setTooltipVisible","closeTooltip","ModalType","PasswordInput","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","setCapsLockState","getModifierState","idx","key","BaseModal","_props$cancelLabel","cancelLabel","closeLabel","confirm","_props$confirmLabel","confirmLabel","message","timeout","title","visible","setVisible","setTimeout","success","error","animationDuration","Array","isArray","m","question","NotifyModal","isSuccess","modalProps","QuestionModal","_objectDestructuringEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/enums/passwordRuleTypes.ts","../src/components/input/customInput.tsx","../src/enums/ModalType.ts","../src/components/input/passwordInput.tsx","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/modal/questionModal.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum ModalType {\n error = 'error',\n question = 'question',\n success = 'success',\n warning = 'warning',\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => document.removeEventListener('keydown', setCapsLockState);\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern ? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') throw new Error(`pattern must not be an empty string. Checked rule: ${rule}`);\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n callback? : (() => void) | undefined;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n callback,\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout || !visible) return;\n\n const t = setTimeout(() => {\n callback && callback();\n\n setVisible(false);\n }, timeout);\n\n return () => clearTimeout(t);\n },[]);\n\n function setHeaderClass() {\n switch (type) {\n case ModalType.error:\n return 'uil-header uil-error';\n case ModalType.success:\n return 'uil-header uil-success';\n case ModalType.warning:\n return 'uil-header uil-warning';\n default:\n return 'uil-header';\n }\n }\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={setHeaderClass()}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) => <p key={idx} className={'uil-modal-text'}>{m}</p>)\n : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={callback} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n modalType : 'success' | 'warning' | 'error';\n message : string | string[];\n title : string;\n callback? : (() => void) | undefined;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n callback,\n modalType,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={modalType as ModalType} {...modalProps} callback={callback}/>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancel : () => void;\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n cancel,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} callback={cancel} {...modalProps}/>\n );\n}"],"names":["_excluded","CustomButton","props","_props$disabled","disabled","label","_props$small","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","CustomCheckBox","checkColor","checked","onCheck","children","checkProps","Fragment","type","onChange","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","PasswordRuleTypes","CustomInput","tooltipClose","tooltipIcon","tooltipText","_useState","useState","tooltipVisible","setTooltipVisible","closeTooltip","ModalType","PasswordInput","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","setCapsLockState","getModifierState","idx","key","BaseModal","_props$cancelLabel","cancelLabel","closeLabel","confirm","_props$confirmLabel","confirmLabel","message","timeout","title","visible","setVisible","t","setTimeout","clearTimeout","error","success","warning","setHeaderClass","animationDuration","Array","isArray","m","question","NotifyModal","modalType","modalProps","QuestionModal","cancel"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import e,{useRef as t,useEffect as n,useState as l}from"react";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},r.apply(null,arguments)}function c(e,t){if(null==e)return{};var n={};for(var l in e)if({}.hasOwnProperty.call(e,l)){if(t.indexOf(l)>=0)continue;n[l]=e[l]}return n}const a=["disabled","label","small","theme"];function s(t){const{disabled:n=!1,label:l,small:s=!1,theme:o}=t,i=c(t,a),u={color:function(){if(!o||n)return;const e="#"===o.charAt(0)?o.substring(1,7):o,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(e=>e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4));return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}(),backgroundColor:n?void 0:o,border:o?"none":void 0};return e.createElement("button",r({className:`uil-button ${n?"uil-disabled":""} ${s?"uil-small":""}`,style:u,disabled:n},i),l)}const o=["checkColor","checked","onCheck","label","children"];function i(t){const{checkColor:n,checked:l,onCheck:a,label:s,children:i}=t,u=c(t,o);return e.createElement(e.Fragment,null,e.createElement("div",{className:"uil-check-wrapper"},e.createElement("label",{className:"uil-checkbox"},e.createElement("input",r({type:"checkbox",checked:l,onChange:()=>{a(!l)}},u)),e.createElement("div",{className:"uil-checkmark",style:{backgroundColor:n}})),i||e.createElement("span",null,s)))}function u(t){const{src:n,color:l,height:r,width:c}=t;if(!n.includes(".svg"))throw new Error("Provided src is not an svg image");return e.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:l,height:`${r}px`,width:`${c}px`}},e.createElement("use",{href:n}))}const m=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function d(t){const{iconColor:n,iconSrc:l,inputColor:a,label:s,toggle:o,valueChanged:i}=t,d=c(t,m);return e.createElement("label",{className:"uil-input-wrapper",htmlFor:d.id},e.createElement("input",r({className:"uil-input",onChange:e=>i(e.target.value),placeholder:s,style:{color:a}},d)),l&&e.createElement("div",{className:"uil-icon",onClick:o},e.createElement(u,{src:l,width:24,height:24,color:n})),e.createElement("span",{className:"uil-label",style:{color:a}},s))}function p(e){const l=t(null);return n(()=>{function t(t){l.current&&!l.current.contains(t.target)&&e()}return document.addEventListener("click",t),document.addEventListener("touchend",t),()=>{document.removeEventListener("click",t),document.removeEventListener("touchend",t)}},[e]),l}const h=["tooltipClose","tooltipIcon","tooltipText"];function E(t){const{tooltipClose:n,tooltipIcon:a,tooltipText:s}=t,o=c(t,h),[i,m]=l(!1),E=p(b);function b(){m(!1)}return e.createElement(e.Fragment,null,a?e.createElement("div",{className:"uil-tooltip-wrapper"},i&&e.createElement("div",{className:"uil-tooltip",ref:E},n&&e.createElement("button",{className:"uil-tooltip-button",onClick:b},n),e.createElement("span",null,s)),e.createElement("div",{className:"uil-tooltip-icon",onClick:()=>m(!i)},e.createElement(u,{src:a,height:16,width:16})),e.createElement(d,r({},o))):e.createElement(d,r({},o)))}var b;!function(e){e[e.minLength=0]="minLength",e[e.maxLength=1]="maxLength",e[e.letters=2]="letters",e[e.numbers=3]="numbers",e[e.special=4]="special",e[e.upper=5]="upper"}(b||(b={}));const f=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function g(t){const{capsLockWarning:a,rules:s,ruleChecked:o,ruleUnchecked:i,setFailedRules:m}=t,d=c(t,f),[p,h]=l(!1);function g(e){let n;switch(e.type){case b.minLength:n=`[a-zA-Z0-9ßÄäÖöÜü._!"\`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{${e.count},}`;break;case b.maxLength:n=`^[a-zA-Z0-9ßÄäÖöÜü._!"\`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,${e.count}}$`;break;case b.letters:n=`[a-zA-ZßÄäÖöÜü]{${e.count},}`;break;case b.numbers:n=`[0-9]{${e.count},}`;break;case b.special:n=`[._!"\`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{${e.count},}`;break;case b.upper:n=`[A-ZÄÖÜ]{${e.count},}`;break;default:n=e.pattern?e.pattern:""}return""!==n&&new RegExp(n).test(t.value)}return n(()=>{!function(){const e=[];s.forEach(t=>{g(t)||e.push(t)}),m(e)}()},[t.value]),n(()=>{function e(e){h(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[]),e.createElement(e.Fragment,null,e.createElement("div",null,e.createElement(E,r({},d)),e.createElement("div",{className:"uil-password-rules"},p&&e.createElement("div",{className:"uil-password-rule"},a),s.map((t,n)=>e.createElement("div",{key:n,className:"uil-password-rule"},e.createElement(u,{src:g(t)?o:i,height:12,width:12}),e.createElement("span",null,t.label))))))}var v;function k(t){const{cancelLabel:r="",closeLabel:c,confirm:a,confirmLabel:o="",message:i,timeout:u,title:m,type:d}=t,[p,h]=l(!0);return n(()=>{u&&setTimeout(()=>{h(!1)},u)},[]),p?e.createElement("div",{className:"uil-modal-wrapper"},e.createElement("div",{className:"uil-modal"},e.createElement("div",{className:`uil-header ${d==v.success?"uil-success":""} ${d==v.error?"uil-error":""}`},m),u&&e.createElement("div",{className:"uil-progress-wrapper"},e.createElement("div",{className:"uil-progress-bar",style:{animationDuration:u/1e3+1+"s"}})),e.createElement("div",{className:"uil-content"},e.createElement("div",null,Array.isArray(i)?i.map((t,n)=>e.createElement("p",{key:n,className:"uil-modal-text"},t)):e.createElement("p",{className:"uil-modal-text"},i)),e.createElement("div",{className:"uil-button-wrapper "+(d!==v.question?"uil-single":"")},d!==v.question&&e.createElement(s,{label:null!=c?c:"",small:!0,onClick:()=>h(!1),type:"button"}),d==v.question&&t.confirm&&e.createElement(e.Fragment,null,e.createElement(s,{label:o,theme:"#00416A",small:!0,onClick:()=>a,type:"button"}),e.createElement(s,{label:r,small:!0,onClick:()=>h(!1),type:"button"})))))):e.createElement(e.Fragment,null)}!function(e){e[e.error=0]="error",e[e.question=1]="question",e[e.success=2]="success"}(v||(v={}));const C=["isSuccess"];function w(t){const{isSuccess:n}=t,l=c(t,C);return e.createElement(k,r({type:n?v.success:v.error},l))}function N(t){const n=r({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(t),t));return e.createElement(k,r({type:v.question},n))}export{s as CustomButton,i as CustomCheckBox,E as CustomInput,w as NotifyModal,g as PasswordInput,b as PasswordRuleTypes,N as QuestionModal,u as SVG,p as useOutsideClick};
1
+ import e,{useRef as t,useEffect as n,useState as l}from"react";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)({}).hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},r.apply(null,arguments)}function a(e,t){if(null==e)return{};var n={};for(var l in e)if({}.hasOwnProperty.call(e,l)){if(t.indexOf(l)>=0)continue;n[l]=e[l]}return n}const c=["disabled","label","small","theme"];function o(t){const{disabled:n=!1,label:l,small:o=!1,theme:s}=t,i=a(t,c),u={color:function(){if(!s||n)return;const e="#"===s.charAt(0)?s.substring(1,7):s,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(e=>e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4));return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}(),backgroundColor:n?void 0:s,border:s?"none":void 0};return e.createElement("button",r({className:`uil-button ${n?"uil-disabled":""} ${o?"uil-small":""}`,style:u,disabled:n},i),l)}const s=["checkColor","checked","onCheck","label","children"];function i(t){const{checkColor:n,checked:l,onCheck:c,label:o,children:i}=t,u=a(t,s);return e.createElement(e.Fragment,null,e.createElement("div",{className:"uil-check-wrapper"},e.createElement("label",{className:"uil-checkbox"},e.createElement("input",r({type:"checkbox",checked:l,onChange:()=>{c(!l)}},u)),e.createElement("div",{className:"uil-checkmark",style:{backgroundColor:n}})),i||e.createElement("span",null,o)))}function u(t){const{src:n,color:l,height:r,width:a}=t;if(!n.includes(".svg"))throw new Error("Provided src is not an svg image");return e.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:l,height:`${r}px`,width:`${a}px`}},e.createElement("use",{href:n}))}const m=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function d(t){const{iconColor:n,iconSrc:l,inputColor:c,label:o,toggle:s,valueChanged:i}=t,d=a(t,m);return e.createElement("label",{className:"uil-input-wrapper",htmlFor:d.id},e.createElement("input",r({className:"uil-input",onChange:e=>i(e.target.value),placeholder:o,style:{color:c}},d)),l&&e.createElement("div",{className:"uil-icon",onClick:s},e.createElement(u,{src:l,width:24,height:24,color:n})),e.createElement("span",{className:"uil-label",style:{color:c}},o))}function p(e){const l=t(null);return n(()=>{function t(t){l.current&&!l.current.contains(t.target)&&e()}return document.addEventListener("click",t),document.addEventListener("touchend",t),()=>{document.removeEventListener("click",t),document.removeEventListener("touchend",t)}},[e]),l}const h=["tooltipClose","tooltipIcon","tooltipText"];function E(t){const{tooltipClose:n,tooltipIcon:c,tooltipText:o}=t,s=a(t,h),[i,m]=l(!1),E=p(b);function b(){m(!1)}return e.createElement(e.Fragment,null,c?e.createElement("div",{className:"uil-tooltip-wrapper"},i&&e.createElement("div",{className:"uil-tooltip",ref:E},n&&e.createElement("button",{className:"uil-tooltip-button",onClick:b},n),e.createElement("span",null,o)),e.createElement("div",{className:"uil-tooltip-icon",onClick:()=>m(!i)},e.createElement(u,{src:c,height:16,width:16})),e.createElement(d,r({},s))):e.createElement(d,r({},s)))}var b;!function(e){e[e.minLength=0]="minLength",e[e.maxLength=1]="maxLength",e[e.letters=2]="letters",e[e.numbers=3]="numbers",e[e.special=4]="special",e[e.upper=5]="upper"}(b||(b={}));const g=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function f(t){const{capsLockWarning:c,rules:o,ruleChecked:s,ruleUnchecked:i,setFailedRules:m}=t,d=a(t,g),[p,h]=l(!1);function f(e){let n;switch(e.type){case b.minLength:n=`[a-zA-Z0-9ßÄäÖöÜü._!"\`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{${e.count},}`;break;case b.maxLength:n=`^[a-zA-Z0-9ßÄäÖöÜü._!"\`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,${e.count}}$`;break;case b.letters:n=`[a-zA-ZßÄäÖöÜü]{${e.count},}`;break;case b.numbers:n=`[0-9]{${e.count},}`;break;case b.special:n=`[._!"\`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{${e.count},}`;break;case b.upper:n=`[A-ZÄÖÜ]{${e.count},}`;break;default:n=e.pattern?e.pattern:""}if(""===n)throw new Error(`pattern must not be an empty string. Checked rule: ${e}`);return new RegExp(n).test(t.value)}return n(()=>{!function(){const e=[];o.forEach(t=>{f(t)||e.push(t)}),m(e)}()},[t.value]),n(()=>{function e(e){h(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]),e.createElement(e.Fragment,null,e.createElement("div",null,e.createElement(E,r({},d)),e.createElement("div",{className:"uil-password-rules"},p&&e.createElement("div",{className:"uil-password-rule"},c),o.map((t,n)=>e.createElement("div",{key:n,className:"uil-password-rule"},e.createElement(u,{src:f(t)?s:i,height:12,width:12}),e.createElement("span",null,t.label))))))}var v;function k(t){const{callback:r,cancelLabel:a="",closeLabel:c,confirm:s,confirmLabel:i="",message:u,timeout:m,title:d,type:p}=t,[h,E]=l(!0);return n(()=>{if(!m||!h)return;const e=setTimeout(()=>{r&&r(),E(!1)},m);return()=>clearTimeout(e)},[]),h?e.createElement("div",{className:"uil-modal-wrapper"},e.createElement("div",{className:"uil-modal"},e.createElement("div",{className:function(){switch(p){case v.error:return"uil-header uil-error";case v.success:return"uil-header uil-success";case v.warning:return"uil-header uil-warning";default:return"uil-header"}}()},d),m&&e.createElement("div",{className:"uil-progress-wrapper"},e.createElement("div",{className:"uil-progress-bar",style:{animationDuration:m/1e3+1+"s"}})),e.createElement("div",{className:"uil-content"},e.createElement("div",null,Array.isArray(u)?u.map((t,n)=>e.createElement("p",{key:n,className:"uil-modal-text"},t)):e.createElement("p",{className:"uil-modal-text"},u)),e.createElement("div",{className:"uil-button-wrapper "+(p!==v.question?"uil-single":"")},p!==v.question&&e.createElement(o,{label:null!=c?c:"",small:!0,onClick:()=>E(!1),type:"button"}),p==v.question&&t.confirm&&e.createElement(e.Fragment,null,e.createElement(o,{label:i,theme:"#00416A",small:!0,onClick:()=>s,type:"button"}),e.createElement(o,{label:a,small:!0,onClick:r,type:"button"})))))):e.createElement(e.Fragment,null)}!function(e){e.error="error",e.question="question",e.success="success",e.warning="warning"}(v||(v={}));const w=["callback","modalType"];function y(t){const{callback:n,modalType:l}=t,c=a(t,w);return e.createElement(k,r({type:l},c,{callback:n}))}const C=["cancel"];function N(t){const{cancel:n}=t,l=a(t,C);return e.createElement(k,r({type:v.question,callback:n},l))}export{o as CustomButton,i as CustomCheckBox,E as CustomInput,y as NotifyModal,f as PasswordInput,b as PasswordRuleTypes,N as QuestionModal,u as SVG,p as useOutsideClick};
2
2
  //# sourceMappingURL=index.modern.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.modern.mjs","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/components/input/customInput.tsx","../src/enums/passwordRuleTypes.ts","../src/components/input/passwordInput.tsx","../src/enums/ModalType.ts","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/modal/questionModal.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => {\n document.removeEventListener('keydown', setCapsLockState);\n };\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') return false;\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}","export enum ModalType {\n error,\n question,\n success\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout) return;\n\n setTimeout(() => {\n setVisible(false);\n }, timeout);\n },[]);\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={`uil-header ${type == ModalType.success ? 'uil-success' : ''} ${type == ModalType.error ? 'uil-error' : ''}`}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) =>\n <p key={idx} className={'uil-modal-text'}>{m}</p>\n ) : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={() => setVisible(false)} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n isSuccess : boolean;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n isSuccess,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={isSuccess? ModalType.success : ModalType.error} {...modalProps}/>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} {...modalProps}/>\n );\n}"],"names":["_excluded","CustomButton","props","disabled","label","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","CustomCheckBox","checkColor","checked","onCheck","children","checkProps","Fragment","type","onChange","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","CustomInput","tooltipClose","tooltipIcon","tooltipText","tooltipVisible","setTooltipVisible","useState","closeTooltip","PasswordRuleTypes","PasswordInput","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","validateInput","setCapsLockState","getModifierState","idx","key","ModalType","BaseModal","cancelLabel","closeLabel","confirm","confirmLabel","message","timeout","title","visible","setVisible","setTimeout","success","error","animationDuration","Array","isArray","m","question","NotifyModal","isSuccess","modalProps","QuestionModal","_objectDestructuringEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"index.modern.mjs","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/components/input/customInput.tsx","../src/enums/passwordRuleTypes.ts","../src/components/input/passwordInput.tsx","../src/enums/ModalType.ts","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/modal/questionModal.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => document.removeEventListener('keydown', setCapsLockState);\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern ? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') throw new Error(`pattern must not be an empty string. Checked rule: ${rule}`);\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}","export enum ModalType {\n error = 'error',\n question = 'question',\n success = 'success',\n warning = 'warning',\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n callback? : (() => void) | undefined;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n callback,\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout || !visible) return;\n\n const t = setTimeout(() => {\n callback && callback();\n\n setVisible(false);\n }, timeout);\n\n return () => clearTimeout(t);\n },[]);\n\n function setHeaderClass() {\n switch (type) {\n case ModalType.error:\n return 'uil-header uil-error';\n case ModalType.success:\n return 'uil-header uil-success';\n case ModalType.warning:\n return 'uil-header uil-warning';\n default:\n return 'uil-header';\n }\n }\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={setHeaderClass()}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) => <p key={idx} className={'uil-modal-text'}>{m}</p>)\n : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={callback} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n modalType : 'success' | 'warning' | 'error';\n message : string | string[];\n title : string;\n callback? : (() => void) | undefined;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n callback,\n modalType,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={modalType as ModalType} {...modalProps} callback={callback}/>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancel : () => void;\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n cancel,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} callback={cancel} {...modalProps}/>\n );\n}"],"names":["_excluded","CustomButton","props","disabled","label","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","CustomCheckBox","checkColor","checked","onCheck","children","checkProps","Fragment","type","onChange","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","CustomInput","tooltipClose","tooltipIcon","tooltipText","tooltipVisible","setTooltipVisible","useState","closeTooltip","PasswordRuleTypes","PasswordInput","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","validateInput","setCapsLockState","getModifierState","idx","key","ModalType","BaseModal","cancelLabel","closeLabel","confirm","confirmLabel","message","timeout","title","visible","setVisible","t","setTimeout","clearTimeout","error","success","warning","setHeaderClass","animationDuration","Array","isArray","m","question","NotifyModal","modalType","modalProps","QuestionModal","cancel"],"mappings":"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"}
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e||self).uiLibrary={},e.react)}(this,function(e,t){function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=/*#__PURE__*/l(t);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var l=arguments[t];for(var a in l)({}).hasOwnProperty.call(l,a)&&(e[a]=l[a])}return e},n.apply(null,arguments)}function r(e,t){if(null==e)return{};var l={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.indexOf(a)>=0)continue;l[a]=e[a]}return l}var u=["disabled","label","small","theme"];function c(e){var t=e.disabled,l=void 0!==t&&t,c=e.label,o=e.small,s=void 0!==o&&o,i=e.theme,d=r(e,u),f={color:function(){if(i&&!l){var e="#"===i.charAt(0)?i.substring(1,7):i,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(function(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}}(),backgroundColor:l?void 0:i,border:i?"none":void 0};return a.default.createElement("button",n({className:"uil-button "+(l?"uil-disabled":"")+" "+(s?"uil-small":""),style:f,disabled:l},d),c)}var o=["checkColor","checked","onCheck","label","children"];function s(e){var t=e.src,l=e.color,n=e.height,r=e.width;if(!t.includes(".svg"))throw new Error("Provided src is not an svg image");return a.default.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:l,height:n+"px",width:r+"px"}},a.default.createElement("use",{href:t}))}var i=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function d(e){var t=e.iconColor,l=e.iconSrc,u=e.inputColor,c=e.label,o=e.toggle,d=e.valueChanged,f=r(e,i);return a.default.createElement("label",{className:"uil-input-wrapper",htmlFor:f.id},a.default.createElement("input",n({className:"uil-input",onChange:function(e){return d(e.target.value)},placeholder:c,style:{color:u}},f)),l&&a.default.createElement("div",{className:"uil-icon",onClick:o},a.default.createElement(s,{src:l,width:24,height:24,color:t})),a.default.createElement("span",{className:"uil-label",style:{color:u}},c))}function f(e){var l=t.useRef(null);return t.useEffect(function(){function t(t){l.current&&!l.current.contains(t.target)&&e()}return document.addEventListener("click",t),document.addEventListener("touchend",t),function(){document.removeEventListener("click",t),document.removeEventListener("touchend",t)}},[e]),l}var m,p=["tooltipClose","tooltipIcon","tooltipText"];function v(e){var l=e.tooltipClose,u=e.tooltipIcon,c=e.tooltipText,o=r(e,p),i=t.useState(!1),m=i[0],v=i[1],h=f(E);function E(){v(!1)}return a.default.createElement(a.default.Fragment,null,u?a.default.createElement("div",{className:"uil-tooltip-wrapper"},m&&a.default.createElement("div",{className:"uil-tooltip",ref:h},l&&a.default.createElement("button",{className:"uil-tooltip-button",onClick:E},l),a.default.createElement("span",null,c)),a.default.createElement("div",{className:"uil-tooltip-icon",onClick:function(){return v(!m)}},a.default.createElement(s,{src:u,height:16,width:16})),a.default.createElement(d,n({},o))):a.default.createElement(d,n({},o)))}e.PasswordRuleTypes=void 0,(m=e.PasswordRuleTypes||(e.PasswordRuleTypes={}))[m.minLength=0]="minLength",m[m.maxLength=1]="maxLength",m[m.letters=2]="letters",m[m.numbers=3]="numbers",m[m.special=4]="special",m[m.upper=5]="upper";var h,E=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function b(e){var l=e.cancelLabel,n=void 0===l?"":l,r=e.closeLabel,u=e.confirm,o=e.confirmLabel,s=void 0===o?"":o,i=e.message,d=e.timeout,f=e.title,m=e.type,p=t.useState(!0),v=p[0],E=p[1];return t.useEffect(function(){d&&setTimeout(function(){E(!1)},d)},[]),v?a.default.createElement("div",{className:"uil-modal-wrapper"},a.default.createElement("div",{className:"uil-modal"},a.default.createElement("div",{className:"uil-header "+(m==h.success?"uil-success":"")+" "+(m==h.error?"uil-error":"")},f),d&&a.default.createElement("div",{className:"uil-progress-wrapper"},a.default.createElement("div",{className:"uil-progress-bar",style:{animationDuration:d/1e3+1+"s"}})),a.default.createElement("div",{className:"uil-content"},a.default.createElement("div",null,Array.isArray(i)?i.map(function(e,t){return a.default.createElement("p",{key:t,className:"uil-modal-text"},e)}):a.default.createElement("p",{className:"uil-modal-text"},i)),a.default.createElement("div",{className:"uil-button-wrapper "+(m!==h.question?"uil-single":"")},m!==h.question&&a.default.createElement(c,{label:null!=r?r:"",small:!0,onClick:function(){return E(!1)},type:"button"}),m==h.question&&e.confirm&&a.default.createElement(a.default.Fragment,null,a.default.createElement(c,{label:s,theme:"#00416A",small:!0,onClick:function(){return u},type:"button"}),a.default.createElement(c,{label:n,small:!0,onClick:function(){return E(!1)},type:"button"})))))):a.default.createElement(a.default.Fragment,null)}!function(e){e[e.error=0]="error",e[e.question=1]="question",e[e.success=2]="success"}(h||(h={}));var g=["isSuccess"];e.CustomButton=c,e.CustomCheckBox=function(e){var t=e.checkColor,l=e.checked,u=e.onCheck,c=e.label,s=e.children,i=r(e,o);return a.default.createElement(a.default.Fragment,null,a.default.createElement("div",{className:"uil-check-wrapper"},a.default.createElement("label",{className:"uil-checkbox"},a.default.createElement("input",n({type:"checkbox",checked:l,onChange:function(){u(!l)}},i)),a.default.createElement("div",{className:"uil-checkmark",style:{backgroundColor:t}})),s||a.default.createElement("span",null,c)))},e.CustomInput=v,e.NotifyModal=function(e){var t=e.isSuccess,l=r(e,g);return a.default.createElement(b,n({type:t?h.success:h.error},l))},e.PasswordInput=function(l){var u=l.capsLockWarning,c=l.rules,o=l.ruleChecked,i=l.ruleUnchecked,d=l.setFailedRules,f=r(l,E),m=t.useState(!1),p=m[0],h=m[1];function b(t){var a;switch(t.type){case e.PasswordRuleTypes.minLength:a="[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+t.count+",}";break;case e.PasswordRuleTypes.maxLength:a="^[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,"+t.count+"}$";break;case e.PasswordRuleTypes.letters:a="[a-zA-ZßÄäÖöÜü]{"+t.count+",}";break;case e.PasswordRuleTypes.numbers:a="[0-9]{"+t.count+",}";break;case e.PasswordRuleTypes.special:a="[._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+t.count+",}";break;case e.PasswordRuleTypes.upper:a="[A-ZÄÖÜ]{"+t.count+",}";break;default:a=t.pattern?t.pattern:""}return""!==a&&new RegExp(a).test(l.value)}return t.useEffect(function(){var e;e=[],c.forEach(function(t){b(t)||e.push(t)}),d(e)},[l.value]),t.useEffect(function(){function e(e){h(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}},[]),a.default.createElement(a.default.Fragment,null,a.default.createElement("div",null,a.default.createElement(v,n({},f)),a.default.createElement("div",{className:"uil-password-rules"},p&&a.default.createElement("div",{className:"uil-password-rule"},u),c.map(function(e,t){return a.default.createElement("div",{key:t,className:"uil-password-rule"},a.default.createElement(s,{src:b(e)?o:i,height:12,width:12}),a.default.createElement("span",null,e.label))}))))},e.QuestionModal=function(e){var t=n({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e));return a.default.createElement(b,n({type:h.question},t))},e.SVG=s,e.useOutsideClick=f});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e||self).uiLibrary={},e.react)}(this,function(e,t){function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=/*#__PURE__*/a(t);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var l in a)({}).hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},n.apply(null,arguments)}function r(e,t){if(null==e)return{};var a={};for(var l in e)if({}.hasOwnProperty.call(e,l)){if(t.indexOf(l)>=0)continue;a[l]=e[l]}return a}var u=["disabled","label","small","theme"];function c(e){var t=e.disabled,a=void 0!==t&&t,c=e.label,o=e.small,i=void 0!==o&&o,s=e.theme,d=r(e,u),f={color:function(){if(s&&!a){var e="#"===s.charAt(0)?s.substring(1,7):s,t=[parseInt(e.substring(0,2),16)/255,parseInt(e.substring(2,4),16)/255,parseInt(e.substring(4,6),16)/255].map(function(e){return e<=.03928?e/12.92:Math.pow((e+.055)/1.055,2.4)});return.2126*t[0]+.7152*t[1]+.0722*t[2]>.179?"#000000":"#ffffff"}}(),backgroundColor:a?void 0:s,border:s?"none":void 0};return l.default.createElement("button",n({className:"uil-button "+(a?"uil-disabled":"")+" "+(i?"uil-small":""),style:f,disabled:a},d),c)}var o=["checkColor","checked","onCheck","label","children"];function i(e){var t=e.src,a=e.color,n=e.height,r=e.width;if(!t.includes(".svg"))throw new Error("Provided src is not an svg image");return l.default.createElement("svg",{"aria-hidden":!0,className:"uil-svg",style:{fill:a,height:n+"px",width:r+"px"}},l.default.createElement("use",{href:t}))}var s=["iconColor","iconSrc","inputColor","label","toggle","valueChanged"];function d(e){var t=e.iconColor,a=e.iconSrc,u=e.inputColor,c=e.label,o=e.toggle,d=e.valueChanged,f=r(e,s);return l.default.createElement("label",{className:"uil-input-wrapper",htmlFor:f.id},l.default.createElement("input",n({className:"uil-input",onChange:function(e){return d(e.target.value)},placeholder:c,style:{color:u}},f)),a&&l.default.createElement("div",{className:"uil-icon",onClick:o},l.default.createElement(i,{src:a,width:24,height:24,color:t})),l.default.createElement("span",{className:"uil-label",style:{color:u}},c))}function f(e){var a=t.useRef(null);return t.useEffect(function(){function t(t){a.current&&!a.current.contains(t.target)&&e()}return document.addEventListener("click",t),document.addEventListener("touchend",t),function(){document.removeEventListener("click",t),document.removeEventListener("touchend",t)}},[e]),a}var m,p=["tooltipClose","tooltipIcon","tooltipText"];function h(e){var a=e.tooltipClose,u=e.tooltipIcon,c=e.tooltipText,o=r(e,p),s=t.useState(!1),m=s[0],h=s[1],v=f(E);function E(){h(!1)}return l.default.createElement(l.default.Fragment,null,u?l.default.createElement("div",{className:"uil-tooltip-wrapper"},m&&l.default.createElement("div",{className:"uil-tooltip",ref:v},a&&l.default.createElement("button",{className:"uil-tooltip-button",onClick:E},a),l.default.createElement("span",null,c)),l.default.createElement("div",{className:"uil-tooltip-icon",onClick:function(){return h(!m)}},l.default.createElement(i,{src:u,height:16,width:16})),l.default.createElement(d,n({},o))):l.default.createElement(d,n({},o)))}e.PasswordRuleTypes=void 0,(m=e.PasswordRuleTypes||(e.PasswordRuleTypes={}))[m.minLength=0]="minLength",m[m.maxLength=1]="maxLength",m[m.letters=2]="letters",m[m.numbers=3]="numbers",m[m.special=4]="special",m[m.upper=5]="upper";var v,E=["capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules"];function b(e){var a=e.callback,n=e.cancelLabel,r=void 0===n?"":n,u=e.closeLabel,o=e.confirm,i=e.confirmLabel,s=void 0===i?"":i,d=e.message,f=e.timeout,m=e.title,p=e.type,h=t.useState(!0),E=h[0],b=h[1];return t.useEffect(function(){if(f&&E){var e=setTimeout(function(){a&&a(),b(!1)},f);return function(){return clearTimeout(e)}}},[]),E?l.default.createElement("div",{className:"uil-modal-wrapper"},l.default.createElement("div",{className:"uil-modal"},l.default.createElement("div",{className:function(){switch(p){case v.error:return"uil-header uil-error";case v.success:return"uil-header uil-success";case v.warning:return"uil-header uil-warning";default:return"uil-header"}}()},m),f&&l.default.createElement("div",{className:"uil-progress-wrapper"},l.default.createElement("div",{className:"uil-progress-bar",style:{animationDuration:f/1e3+1+"s"}})),l.default.createElement("div",{className:"uil-content"},l.default.createElement("div",null,Array.isArray(d)?d.map(function(e,t){return l.default.createElement("p",{key:t,className:"uil-modal-text"},e)}):l.default.createElement("p",{className:"uil-modal-text"},d)),l.default.createElement("div",{className:"uil-button-wrapper "+(p!==v.question?"uil-single":"")},p!==v.question&&l.default.createElement(c,{label:null!=u?u:"",small:!0,onClick:function(){return b(!1)},type:"button"}),p==v.question&&e.confirm&&l.default.createElement(l.default.Fragment,null,l.default.createElement(c,{label:s,theme:"#00416A",small:!0,onClick:function(){return o},type:"button"}),l.default.createElement(c,{label:r,small:!0,onClick:a,type:"button"})))))):l.default.createElement(l.default.Fragment,null)}!function(e){e.error="error",e.question="question",e.success="success",e.warning="warning"}(v||(v={}));var g=["callback","modalType"],k=["cancel"];e.CustomButton=c,e.CustomCheckBox=function(e){var t=e.checkColor,a=e.checked,u=e.onCheck,c=e.label,i=e.children,s=r(e,o);return l.default.createElement(l.default.Fragment,null,l.default.createElement("div",{className:"uil-check-wrapper"},l.default.createElement("label",{className:"uil-checkbox"},l.default.createElement("input",n({type:"checkbox",checked:a,onChange:function(){u(!a)}},s)),l.default.createElement("div",{className:"uil-checkmark",style:{backgroundColor:t}})),i||l.default.createElement("span",null,c)))},e.CustomInput=h,e.NotifyModal=function(e){var t=e.callback,a=e.modalType,u=r(e,g);return l.default.createElement(b,n({type:a},u,{callback:t}))},e.PasswordInput=function(a){var u=a.capsLockWarning,c=a.rules,o=a.ruleChecked,s=a.ruleUnchecked,d=a.setFailedRules,f=r(a,E),m=t.useState(!1),p=m[0],v=m[1];function b(t){var l;switch(t.type){case e.PasswordRuleTypes.minLength:l="[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+t.count+",}";break;case e.PasswordRuleTypes.maxLength:l="^[a-zA-Z0-9ßÄäÖöÜü._!\"`'#%&,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{0,"+t.count+"}$";break;case e.PasswordRuleTypes.letters:l="[a-zA-ZßÄäÖöÜü]{"+t.count+",}";break;case e.PasswordRuleTypes.numbers:l="[0-9]{"+t.count+",}";break;case e.PasswordRuleTypes.special:l="[._!\"`'#%&§,:;<>=@{}~\\$\\(\\)\\*\\+\\/\\\\\\?\\[\\]\\^\\|\\-]{"+t.count+",}";break;case e.PasswordRuleTypes.upper:l="[A-ZÄÖÜ]{"+t.count+",}";break;default:l=t.pattern?t.pattern:""}if(""===l)throw new Error("pattern must not be an empty string. Checked rule: "+t);return new RegExp(l).test(a.value)}return t.useEffect(function(){var e;e=[],c.forEach(function(t){b(t)||e.push(t)}),d(e)},[a.value]),t.useEffect(function(){function e(e){v(e.getModifierState&&e.getModifierState("CapsLock"))}return document.addEventListener("keydown",e),function(){return document.removeEventListener("keydown",e)}},[]),l.default.createElement(l.default.Fragment,null,l.default.createElement("div",null,l.default.createElement(h,n({},f)),l.default.createElement("div",{className:"uil-password-rules"},p&&l.default.createElement("div",{className:"uil-password-rule"},u),c.map(function(e,t){return l.default.createElement("div",{key:t,className:"uil-password-rule"},l.default.createElement(i,{src:b(e)?o:s,height:12,width:12}),l.default.createElement("span",null,e.label))}))))},e.QuestionModal=function(e){var t=e.cancel,a=r(e,k);return l.default.createElement(b,n({type:v.question,callback:t},a))},e.SVG=i,e.useOutsideClick=f});
2
2
  //# sourceMappingURL=index.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.umd.js","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/enums/passwordRuleTypes.ts","../src/components/input/customInput.tsx","../src/enums/ModalType.ts","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/input/passwordInput.tsx","../src/components/modal/questionModal.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum ModalType {\n error,\n question,\n success\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout) return;\n\n setTimeout(() => {\n setVisible(false);\n }, timeout);\n },[]);\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={`uil-header ${type == ModalType.success ? 'uil-success' : ''} ${type == ModalType.error ? 'uil-error' : ''}`}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) =>\n <p key={idx} className={'uil-modal-text'}>{m}</p>\n ) : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={() => setVisible(false)} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n isSuccess : boolean;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n isSuccess,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={isSuccess? ModalType.success : ModalType.error} {...modalProps}/>\n );\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => {\n document.removeEventListener('keydown', setCapsLockState);\n };\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') return false;\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n timeout? : number;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} {...modalProps}/>\n );\n}"],"names":["_excluded","CustomButton","props","_props$disabled","disabled","label","_props$small","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","onChange","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","PasswordRuleTypes","CustomInput","tooltipClose","tooltipIcon","tooltipText","_useState","useState","tooltipVisible","setTooltipVisible","closeTooltip","Fragment","ModalType","BaseModal","_props$cancelLabel","cancelLabel","closeLabel","confirm","_props$confirmLabel","confirmLabel","message","timeout","title","type","visible","setVisible","setTimeout","success","error","animationDuration","Array","isArray","m","idx","key","question","checkColor","checked","onCheck","children","checkProps","isSuccess","modalProps","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","setCapsLockState","getModifierState","_objectDestructuringEmpty"],"mappings":"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"}
1
+ {"version":3,"file":"index.umd.js","sources":["../src/components/button/customButton.tsx","../src/components/checkbox/customCheckBox.tsx","../src/components/images/svgIcon.tsx","../src/components/input/baseInput.tsx","../src/hooks/clickOutside.ts","../src/enums/passwordRuleTypes.ts","../src/components/input/customInput.tsx","../src/enums/ModalType.ts","../src/components/modal/baseModal.tsx","../src/components/modal/notifyModal.tsx","../src/components/modal/questionModal.tsx","../src/components/input/passwordInput.tsx"],"sourcesContent":["import React, {ComponentPropsWithoutRef, CSSProperties} from 'react';\nimport './button.scss';\n\ninterface ICustomButton extends ComponentPropsWithoutRef<'button'> {\n label : string;\n disabled?: boolean;\n small? : boolean;\n theme? : string;\n}\n\nexport function CustomButton(props: ICustomButton) {\n const {\n disabled = false,\n label,\n small = false,\n theme,\n ...buttonProps\n } = props;\n\n function setColor() {\n if (!theme || disabled) return undefined;\n\n const color = (theme.charAt(0) === '#') ? theme.substring(1, 7) : theme;\n const uiColors = [\n parseInt(color.substring(0, 2), 16) / 255,\n parseInt(color.substring(2, 4), 16) / 255,\n parseInt(color.substring(4, 6), 16) / 255\n ];\n const c = uiColors.map(col => {\n return col <= 0.03928? (col / 12.92) : Math.pow((col + 0.055) / 1.055, 2.4);\n });\n const L = (0.2126 * c[0]) + (0.7152 * c[1]) + (0.0722 * c[2]);\n\n return L > 0.179 ? '#000000' : '#ffffff';\n }\n\n const style: CSSProperties = {\n color: setColor(),\n backgroundColor: disabled? undefined : theme,\n border: theme? 'none': undefined,\n }\n\n return (\n <button className={`uil-button ${disabled ? 'uil-disabled' : ''} ${small ? 'uil-small' : ''}`} style={style} disabled={disabled} {...buttonProps}>\n {label}\n </button>\n );\n}","import React, {ComponentPropsWithoutRef, ReactNode} from 'react';\nimport './checkbox.scss';\n\ninterface ICustomCheckbox extends ComponentPropsWithoutRef<'input'> {\n checked : boolean;\n label? : string;\n onCheck : (value: boolean) => void;\n checkColor? : string;\n children? : ReactNode;\n}\n\nexport function CustomCheckBox(props: ICustomCheckbox) {\n const {\n checkColor,\n checked,\n onCheck,\n label,\n children,\n ...checkProps\n } = props;\n\n return (\n <>\n <div className={'uil-check-wrapper'}>\n <label className={'uil-checkbox'}>\n <input type={'checkbox'} checked={checked} onChange={() => {onCheck(!checked)}} {...checkProps}/>\n <div className={'uil-checkmark'} style={{backgroundColor: checkColor}}/>\n </label>\n\n {children ? children : <span>{label}</span>}\n </div>\n </>\n );\n}","import React, {CSSProperties} from 'react';\nimport './images.scss';\n\ninterface ISvgIcon {\n src : string;\n color? : string | undefined;\n height?: number;\n width? : number;\n}\n\nexport function SVG(props: ISvgIcon) {\n const {\n src,\n color,\n height,\n width\n } = props;\n\n if (!src.includes('.svg')) {\n throw new Error('Provided src is not an svg image');\n }\n\n const style: CSSProperties = {\n fill: color,\n height: `${height}px`,\n width: `${width}px`\n }\n\n return (\n <svg aria-hidden={true} className={'uil-svg'} style={style}>\n <use href={src}/>\n </svg>\n );\n}","import React, {ComponentPropsWithoutRef} from 'react';\nimport {SVG} from 'components/images/svgIcon';\nimport './input.scss';\n\nexport interface IBaseInput extends ComponentPropsWithoutRef<'input'> {\n label : string;\n value : string;\n valueChanged: (value: string) => void;\n iconColor? : string;\n iconSrc? : string;\n inputColor? : string;\n toggle? : () => void;\n}\n\nexport function BaseInput(props: IBaseInput) {\n const {\n iconColor,\n iconSrc,\n inputColor,\n label,\n toggle,\n valueChanged,\n ...inputProps\n } = props;\n\n return (\n <label className={'uil-input-wrapper'} htmlFor={inputProps.id}>\n <input\n className={'uil-input'}\n onChange={(e) => valueChanged(e.target.value)}\n placeholder={label}\n style={{color: inputColor}}\n {...inputProps}\n />\n\n {iconSrc &&\n <div className={'uil-icon'} onClick={toggle}>\n <SVG src={iconSrc} width={24} height={24} color={iconColor}/>\n </div>\n }\n\n <span className={'uil-label'} style={{color: inputColor}}>{label}</span>\n </label>\n );\n}","import {useEffect, useRef} from 'react';\n\nexport function useOutsideClick (callback: () => void) {\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n function handleClickOutside (event: MouseEvent | TouchEvent) {\n if (ref.current && !ref.current.contains(event.target as Node)) {\n callback();\n }\n }\n\n document.addEventListener('click', handleClickOutside);\n document.addEventListener('touchend', handleClickOutside);\n\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n document.removeEventListener('touchend', handleClickOutside);\n };\n }, [callback]);\n\n return ref;\n}","export enum PasswordRuleTypes {\n minLength,\n maxLength,\n letters,\n numbers,\n special,\n upper\n}","import React, {useState} from 'react';\nimport {BaseInput, IBaseInput} from './baseInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {useOutsideClick} from 'hooks/clickOutside';\nimport './input.scss';\n\nexport interface ICustomInput extends IBaseInput {\n tooltipClose?: string;\n tooltipIcon? : string;\n tooltipText? : string;\n}\n\nexport function CustomInput(props: ICustomInput) {\n const {\n tooltipClose,\n tooltipIcon,\n tooltipText,\n ...inputProps\n } = props;\n\n const [tooltipVisible, setTooltipVisible] = useState(false);\n const ref = useOutsideClick(closeTooltip);\n\n function closeTooltip() {\n setTooltipVisible(false);\n }\n\n return (\n <>\n {tooltipIcon ?\n <div className={'uil-tooltip-wrapper'}>\n {tooltipVisible &&\n <div className={'uil-tooltip'} ref={ref}>\n {tooltipClose &&\n <button className={'uil-tooltip-button'} onClick={closeTooltip}>\n {tooltipClose}\n </button>\n }\n\n <span>{tooltipText}</span>\n </div>\n }\n\n <div className={'uil-tooltip-icon'} onClick={() => setTooltipVisible(!tooltipVisible)}>\n <SVG src={tooltipIcon} height={16} width={16}/>\n </div>\n\n <BaseInput {...inputProps}/>\n </div> :\n\n <BaseInput {...inputProps}/>\n }\n </>\n );\n}","export enum ModalType {\n error = 'error',\n question = 'question',\n success = 'success',\n warning = 'warning',\n}","import React, {useEffect, useState} from 'react';\nimport {ModalType} from 'enums/ModalType';\nimport {CustomButton} from 'components/button/customButton';\nimport './modal.scss';\n\ninterface IBaseModal {\n message : string | string[];\n title : string;\n type : ModalType;\n callback? : (() => void) | undefined;\n cancelLabel? : string;\n closeLabel? : string;\n confirm? : () => void;\n confirmLabel?: string;\n timeout? : number;\n}\n\nexport function BaseModal(props: IBaseModal) {\n const {\n callback,\n cancelLabel = '',\n closeLabel,\n confirm,\n confirmLabel = '',\n message,\n timeout,\n title,\n type\n } = props;\n\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (!timeout || !visible) return;\n\n const t = setTimeout(() => {\n callback && callback();\n\n setVisible(false);\n }, timeout);\n\n return () => clearTimeout(t);\n },[]);\n\n function setHeaderClass() {\n switch (type) {\n case ModalType.error:\n return 'uil-header uil-error';\n case ModalType.success:\n return 'uil-header uil-success';\n case ModalType.warning:\n return 'uil-header uil-warning';\n default:\n return 'uil-header';\n }\n }\n\n return (visible ?\n <div className={'uil-modal-wrapper'}>\n <div className={'uil-modal'}>\n <div className={setHeaderClass()}>\n {title}\n </div>\n\n {timeout &&\n <div className={'uil-progress-wrapper'}>\n <div className={'uil-progress-bar'} style={{animationDuration: `${(timeout / 1000) + 1}s`}}/>\n </div>\n }\n\n <div className={'uil-content'}>\n <div>\n {Array.isArray(message) ?\n message.map((m, idx) => <p key={idx} className={'uil-modal-text'}>{m}</p>)\n : <p className={'uil-modal-text'}>{message}</p>\n }\n </div>\n\n <div className={`uil-button-wrapper ${type !== ModalType.question ? 'uil-single' : ''}`}>\n {type !== ModalType.question &&\n <CustomButton label={closeLabel?? ''} small={true} onClick={() => setVisible(false)} type={'button'}/>\n }\n\n {type == ModalType.question && props.confirm &&\n <>\n <CustomButton label={confirmLabel} theme={'#00416A'} small={true} onClick={() => confirm} type={'button'}/>\n <CustomButton label={cancelLabel} small={true} onClick={callback} type={'button'}/>\n </>\n }\n </div>\n </div>\n </div>\n </div> : <></>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface INotifyModal {\n closeLabel: string;\n modalType : 'success' | 'warning' | 'error';\n message : string | string[];\n title : string;\n callback? : (() => void) | undefined;\n timeout? : number;\n}\n\nexport function NotifyModal(props: INotifyModal) {\n const {\n callback,\n modalType,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={modalType as ModalType} {...modalProps} callback={callback}/>\n );\n}","import React from 'react';\nimport {BaseModal} from './baseModal';\nimport {ModalType} from 'enums/ModalType';\n\nexport interface IQuestionModal {\n cancel : () => void;\n cancelLabel : string;\n confirm : () => void;\n confirmLabel: string;\n message : string | string[];\n title : string;\n}\n\nexport function QuestionModal(props: IQuestionModal) {\n const {\n cancel,\n ...modalProps\n } = props;\n\n return (\n <BaseModal type={ModalType.question} callback={cancel} {...modalProps}/>\n );\n}","import React, {useEffect, useState} from 'react';\nimport {CustomInput, ICustomInput} from './customInput';\nimport {SVG} from 'components/images/svgIcon';\nimport {PasswordRuleTypes} from 'enums/passwordRuleTypes';\nimport './input.scss';\n\ninterface IPasswordInput extends ICustomInput {\n capsLockWarning: string;\n setFailedRules : (value: PasswordRule[]) => void;\n ruleChecked : string;\n rules : PasswordRule[];\n ruleUnchecked : string;\n}\n\nexport interface PasswordRule {\n count : number;\n label : string;\n type : PasswordRuleTypes | string;\n pattern?: string;\n}\n\nexport function PasswordInput(props: IPasswordInput) {\n const {\n capsLockWarning,\n rules,\n ruleChecked,\n ruleUnchecked,\n setFailedRules,\n ...inputProps\n } = props;\n\n const [capsLock, setCapsLock] = useState(false);\n\n useEffect(() => {\n validateInput();\n },[props.value]);\n\n useEffect(() => {\n function setCapsLockState(event: globalThis.KeyboardEvent) {\n setCapsLock(event.getModifierState && event.getModifierState('CapsLock'));\n }\n\n document.addEventListener('keydown', setCapsLockState);\n\n return () => document.removeEventListener('keydown', setCapsLockState);\n },[]);\n\n function validateInput() {\n const failedRules: PasswordRule[] = [];\n \n rules.forEach(rule => {\n if (!checkRule(rule)) {\n failedRules.push(rule);\n }\n });\n\n setFailedRules(failedRules);\n }\n\n function checkRule(rule: PasswordRule): boolean {\n let pattern: string;\n\n switch (rule.type) {\n case PasswordRuleTypes.minLength:\n pattern = `[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.maxLength:\n pattern = `^[a-zA-Z0-9ßÄäÖöÜü._!\"\\`'#%&,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{0,${rule.count}}$`;\n break;\n case PasswordRuleTypes.letters:\n pattern = `[a-zA-ZßÄäÖöÜü]{${rule.count},}`;\n break;\n case PasswordRuleTypes.numbers:\n pattern = `[0-9]{${rule.count},}`;\n break;\n case PasswordRuleTypes.special:\n pattern = `[._!\"\\`'#%&§,:;<>=@{}~\\\\$\\\\(\\\\)\\\\*\\\\+\\\\/\\\\\\\\\\\\?\\\\[\\\\]\\\\^\\\\|\\\\-]{${rule.count},}`;\n break;\n case PasswordRuleTypes.upper:\n pattern = `[A-ZÄÖÜ]{${rule.count},}`;\n break;\n default:\n rule.pattern ? pattern = rule.pattern : pattern = '';\n }\n\n if (pattern === '') throw new Error(`pattern must not be an empty string. Checked rule: ${rule}`);\n\n const reg = new RegExp(pattern);\n return reg.test(props.value);\n }\n\n return (\n <>\n <div>\n <CustomInput {...inputProps}/>\n\n <div className={'uil-password-rules'}>\n {capsLock &&\n <div className={'uil-password-rule'}>{capsLockWarning}</div>\n }\n\n {rules.map((rule, idx) =>\n <div key={idx} className={'uil-password-rule'}>\n <SVG src={checkRule(rule)? ruleChecked : ruleUnchecked} height={12} width={12}/>\n\n <span>{rule.label}</span>\n </div>\n )}\n </div>\n </div>\n </>\n );\n}"],"names":["_excluded","CustomButton","props","_props$disabled","disabled","label","_props$small","small","theme","buttonProps","_objectWithoutPropertiesLoose","style","color","charAt","substring","c","parseInt","map","col","Math","pow","setColor","backgroundColor","undefined","border","React","createElement","_extends","className","SVG","src","height","width","includes","Error","fill","href","BaseInput","iconColor","iconSrc","inputColor","toggle","valueChanged","inputProps","htmlFor","id","onChange","e","target","value","placeholder","onClick","useOutsideClick","callback","ref","useRef","useEffect","handleClickOutside","event","current","contains","document","addEventListener","removeEventListener","PasswordRuleTypes","CustomInput","tooltipClose","tooltipIcon","tooltipText","_useState","useState","tooltipVisible","setTooltipVisible","closeTooltip","Fragment","ModalType","BaseModal","_props$cancelLabel","cancelLabel","closeLabel","confirm","_props$confirmLabel","confirmLabel","message","timeout","title","type","visible","setVisible","t","setTimeout","clearTimeout","error","success","warning","setHeaderClass","animationDuration","Array","isArray","m","idx","key","question","checkColor","checked","onCheck","children","checkProps","modalType","modalProps","capsLockWarning","rules","ruleChecked","ruleUnchecked","setFailedRules","capsLock","setCapsLock","checkRule","rule","pattern","minLength","count","maxLength","letters","numbers","special","upper","RegExp","test","failedRules","forEach","push","setCapsLockState","getModifierState","cancel"],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,12 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@hbuesing/ui-library",
4
- "version": "1.4.3",
4
+ "version": "1.6.0",
5
5
  "description": "Collection of reusable ui components for react based applications",
6
- "keywords": [
7
- "react",
8
- "react-component",
9
- "ui"
10
- ],
11
6
  "source": "src/index.ts",
12
7
  "main": "dist/index.js",
13
8
  "module": "dist/index.mjs",
9
+ "types": "dist/index.d.ts",
14
10
  "exports": {
15
11
  ".": {
16
12
  "require": "./dist/index.js",
@@ -22,14 +18,14 @@
22
18
  "require": "./dist/index.css"
23
19
  }
24
20
  },
25
- "types": "dist/index.d.ts",
26
21
  "files": [
27
22
  "dist/*"
28
23
  ],
29
24
  "scripts": {
30
25
  "clean": "rimraf ./dist && mkdir dist",
31
- "lint": "npx eslint src",
32
- "build": "npm run lint && microbundle build --jsx react --globals react/jsx-runtime=jsxRuntime",
26
+ "lint": "eslint src",
27
+ "lint:prod": "eslint src --max-warnings 0",
28
+ "build": "microbundle build --jsx react --globals react/jsx-runtime=jsxRuntime",
33
29
  "dev": "microbundle -w --jsx react",
34
30
  "stats": "microbundle --visualize"
35
31
  },
@@ -46,7 +42,7 @@
46
42
  },
47
43
  "devDependencies": {
48
44
  "@eslint/compat": "^1.0.3",
49
- "@eslint/js": "^9.4.0",
45
+ "@eslint/js": "^9.5.0",
50
46
  "@types/react": "^18.3.3",
51
47
  "eslint": "^8.57.0",
52
48
  "eslint-plugin-react": "^7.34.3",
@@ -56,6 +52,12 @@
56
52
  "rimraf": "^5.0.7",
57
53
  "sass": "^1.77.6",
58
54
  "typescript": "^5.5.2",
59
- "typescript-eslint": "^7.13.1"
60
- }
55
+ "typescript-eslint": "^7.14.1"
56
+ },
57
+ "keywords": [
58
+ "next",
59
+ "react",
60
+ "ui",
61
+ "ui-library"
62
+ ]
61
63
  }