jb-select 4.5.2 → 4.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -157,6 +157,7 @@ if you want to set a custom style to this web-component all you need is to set c
157
157
  | --jb-select-input-color | color of input value |
158
158
  | --jb-select-bgcolor-selected | set background color for selected status |
159
159
  | --jb-select-selected-value-color | selected value text color default is `#1f1735` |
160
+ | --jb-select-selected-value-font-size | font-size of selected value default is `1.1rem` |
160
161
  | --jb-select-message-color | message text color default is `#929292` |
161
162
  | --jb-select-message-font-size | font size of message default is `0.7em` |
162
163
  | --jb-select-message-font-weight | font weight of message box default is `normal` |
package/dist/JBSelect.js CHANGED
@@ -28,7 +28,7 @@ function __classPrivateFieldSet(receiver, state, value, kind, f) {
28
28
 
29
29
  var HTML = "<div class=\"jb-select-web-component\">\r\n <div class=\"label-wrapper\">\r\n <label class=\"--hide\"><span class=\"label-value\"></span></label>\r\n <!-- close button will be visible on mobile modal -->\r\n <div class=\"close-button\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path class=\"close-btn-svg-bg\" opacity=\"0.4\" d=\"M16.3399 1.9998H7.66988C4.27988 1.9998 1.99988 4.3798 1.99988 7.9198V16.0898C1.99988 19.6198 4.27988 21.9998 7.66988 21.9998H16.3399C19.7299 21.9998 21.9999 19.6198 21.9999 16.0898V7.9198C21.9999 4.3798 19.7299 1.9998 16.3399 1.9998Z\"/>\r\n <path class=\"close-btn-svg-path\" d=\"M15.0156 13.7703L13.2366 11.9923L15.0146 10.2143C15.3566 9.8733 15.3566 9.3183 15.0146 8.9773C14.6726 8.6333 14.1196 8.6343 13.7776 8.9763L11.9986 10.7543L10.2196 8.9743C9.87758 8.6323 9.32358 8.6343 8.98158 8.9743C8.64058 9.3163 8.64058 9.8713 8.98158 10.2123L10.7616 11.9923L8.98558 13.7673C8.64358 14.1093 8.64358 14.6643 8.98558 15.0043C9.15658 15.1763 9.37958 15.2613 9.60358 15.2613C9.82858 15.2613 10.0516 15.1763 10.2226 15.0053L11.9986 13.2293L13.7786 15.0083C13.9496 15.1793 14.1726 15.2643 14.3966 15.2643C14.6206 15.2643 14.8446 15.1783 15.0156 15.0083C15.3576 14.6663 15.3576 14.1123 15.0156 13.7703Z\" fill=\"#200E32\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"select-box\">\r\n <div class=\"selected-value-wrapper\">\r\n\r\n </div>\r\n <div class=\"front-box\">\r\n <input class=\"input\">\r\n <div class=\"arrow-icon\" tabindex=\"-1\">\r\n <slot name=\"select-arrow-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"8\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"Layer_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 494.1 371.1\" style=\"enable-background:new 0 0 494.1 371.1;\" xml:space=\"preserve\"><path d=\"M293,343.8L480.9,69.3c8.7-12.7,13.3-25.4,13.3-36.1c0-20.5-16.5-33.2-44-33.2H44C16.4,0,0,12.7,0,33.2 c0,10.6,4.6,23.2,13.3,35.9l187.9,274.6c12.1,17.7,28.4,27.4,45.9,27.4C264.6,371.1,280.9,361.4,293,343.8z\"/></svg>\r\n </slot>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"middle-divider\">\r\n <!-- middle line between input box and list (hidden by default but user may need it sometimes) -->\r\n </div>\r\n <div class=\"select-list-wrapper\">\r\n <div class=\"select-list\" tabindex=\"-1\">\r\n\r\n </div>\r\n <div class=\"empty-list-placeholder\">\r\n <slot name=\"empty-list-message\">no item available</slot>\r\n </div>\r\n </div>\r\n <div class=\"message-box\"></div>\r\n</div>";
30
30
 
31
- var css_248z = ":host {\n --p-middle-div-height: var(--jb-select-middle-div-height, 0px);\n --p-p-color: #1e2832;\n --p-border-bottom-width: var(--jb-select-border-bottom-width, var(--jb-select-border-width, 3px));\n --p-base-z-index: 1;\n --p-mobile-modal-z-index: 900; }\n\n.jb-select-web-component {\n width: var(--jb-select-width, 100%);\n margin: var(--jb-select-margin, 0 0);\n position: relative;\n box-sizing: border-box; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused {\n position: fixed;\n top: 0;\n left: 0;\n background-color: var(--jb-select-overlay-bgcolor, #0008);\n width: 100vw;\n height: 100vh;\n margin: 0;\n padding: 16px 8px;\n z-index: var(--p-mobile-modal-z-index); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box {\n height: var(--jb-select-mobile-search-input-height, var(--jb-select-height, 40px));\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6);\n border-width: var(--jb-select-mobile-search-border-width, var(--jb-select-border-width, 1px));\n border-color: var(--jb-select-mobile-search-border-color, var(--jb-select-border-color, #f7f6f6));\n border-bottom-width: var(--jb-select-mobile-search-border-bottom-width, var(--p-border-bottom-width));\n border-bottom-color: var(--jb-select-mobile-search-border-bottom-color, var(--jb-select-border-bottom-color, var(--jb-select-border-color, #f7f6f6)));\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .front-box .arrow-icon {\n display: none; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .selected-value-wrapper {\n opacity: 0;\n transition: none; } }\n .jb-select-web-component.--focused .middle-divider {\n display: block; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .middle-divider {\n margin: var(--jb-select-middle-div-mobile-margin, 16px 0 0 0); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-list-wrapper {\n position: initial;\n margin: var(--jb-select-mobile-item-list-margin, 16px 0);\n border-radius: var(--jb-select-border-radius, 16px); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper {\n display: flex; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper label {\n color: #fff;\n font-size: 1.5em;\n display: flex;\n align-items: center; } }\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: none; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: flex;\n width: 48px;\n height: 48px;\n justify-content: center;\n align-items: center;\n color: #fff; }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-bg {\n opacity: var(--jb-select-close-bg-opacity, 0.4);\n fill: var(--jb-select-close-bg-color, #1f1735); }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-path {\n fill: var(--jb-select-close-x-color, #fff); } }\n .jb-select-web-component.--has-value .select-box {\n border-color: var(--jb-select-border-color-selected, #c3ff14);\n background-color: var(--jb-select-bgcolor-selected, #f7f6f6); }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--has-value .select-box:focus-within {\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6); } }\n .jb-select-web-component .label-wrapper label {\n width: 100%;\n margin: 4px 0px;\n display: block;\n font-size: var(--jb-select-label-font-size, 0.8em);\n font-weight: var(--jb-select-label-font-weight, normal);\n color: var(--jb-select-label-color, #1f1735); }\n .jb-select-web-component .label-wrapper label.--hide {\n display: none; }\n .jb-select-web-component .label-wrapper .close-button {\n display: none; }\n .jb-select-web-component .select-box {\n width: 100%;\n box-sizing: border-box;\n height: var(--jb-select-height, 40px);\n border: solid var(--jb-select-border-width, 1px) var(--jb-select-border-color, #f7f6f6);\n border-bottom: solid var(--p-border-bottom-width) var(--jb-select-border-color, #f7f6f6);\n border-radius: var(--jb-select-border-radius, 16px);\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n margin: var(--jb-select-select-box-margin, 4px 0px 0px 0px);\n overflow: hidden;\n display: flex;\n justify-content: space-between;\n padding-inline-end: var(--jb-select-box-padding-end, 16px);\n gap: 8px;\n position: relative; }\n .jb-select-web-component .select-box:focus-within {\n border-color: var(--jb-select-border-color, var(--p-p-color));\n border-bottom-color: var(--jb-select-border-color, var(--p-p-color));\n border-radius: var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px) 0 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-box:focus-within {\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n .jb-select-web-component .select-box .selected-value-wrapper {\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 1; }\n .jb-select-web-component .select-box .selected-value-wrapper.--search-typed {\n opacity: 0; }\n .jb-select-web-component .select-box .selected-value-wrapper .selected-value {\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: 1.1em;\n color: var(--jb-select-selected-value-color, #1f1735);\n margin: 0;\n border-radius: 0;\n display: flex;\n align-items: center; }\n .jb-select-web-component .select-box:focus-within .selected-value {\n opacity: 0.7;\n transition: all 0.3s ease; }\n .jb-select-web-component .select-box .front-box {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 2;\n display: grid;\n grid-template-columns: 1fr auto;\n justify-content: center;\n align-items: center; }\n .jb-select-web-component .select-box .front-box input {\n border: none;\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: 1.1em;\n color: var(--jb-select-input-color, #1f1735);\n margin: 0;\n border-radius: 0; }\n .jb-select-web-component .select-box .front-box input:focus {\n outline: none; }\n .jb-select-web-component .select-box .front-box input::placeholder {\n color: var(--jb-select-placeholder-color, initial);\n font-size: var(--jb-select-placeholder-font-size, 1.1em); }\n .jb-select-web-component .select-box .front-box .arrow-icon {\n margin: var(--jb-select-arrow-icon-margin, 0 16px 0 0); }\n .jb-select-web-component .middle-divider {\n display: none;\n position: relative;\n z-index: calc(var(--p-base-z-index) + 2);\n width: 100%;\n height: var(--p-middle-div-height);\n background-color: var(--jb-select-middle-div-color, var(--p-p-color));\n margin: var(--jb-select-middle-div-margin, calc(-1 * var(--p-border-bottom-width)) 0);\n border-radius: var(--jb-select-middle-div-radius, 0px); }\n .jb-select-web-component .message-box {\n font-size: var(--jb-select-message-font-size, 0.7em);\n font-weight: var(--jb-select-message-font-weight, normal);\n padding: 4px 8px;\n color: var(--jb-select-message-color, #929292); }\n .jb-select-web-component .message-box:empty {\n padding: 0; }\n .jb-select-web-component .message-box.--error {\n color: red; }\n .jb-select-web-component .select-list-wrapper {\n display: none;\n position: absolute;\n margin: calc(-1 * var(--p-border-bottom-width)) 0;\n height: auto;\n overflow: hidden;\n width: 100%;\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n border-radius: 0 0 var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px);\n border: solid 1px var(--jb-select-border-color, var(--p-p-color));\n border-top: none;\n border-bottom: solid 3px var(--jb-select-border-color, var(--p-p-color));\n box-shadow: var(--jb-select-list-box-shadow);\n box-sizing: border-box;\n z-index: calc(var(--p-base-z-index) + 1); }\n .jb-select-web-component .select-list-wrapper.--show {\n display: block; }\n .jb-select-web-component .select-list-wrapper .select-list {\n width: 100%;\n max-height: var(--jb-select-list-max-height, 400px);\n overflow-y: auto;\n padding: var(--jb-select-list-padding, 16px 0); }\n .jb-select-web-component .select-list-wrapper .select-list:empty {\n padding: 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-list-wrapper .select-list {\n max-height: calc(100vh - 240px); } }\n .jb-select-web-component .select-list-wrapper .select-list .select-option {\n min-height: 36px;\n padding: 4px 16px;\n display: flex;\n align-items: center;\n font-size: 0.9em;\n color: var(--jb-select-option-color, inherit);\n background-color: var(--jb-select-option-background-color, transparent); }\n .jb-select-web-component .select-list-wrapper .select-list .select-option:hover {\n background-color: var(--jb-select-option-background-color-hover, #1073db);\n color: var(--jb-select-option-color-hover, #fff);\n cursor: pointer; }\n .jb-select-web-component .select-list-wrapper .select-list .select-option.--selected-option {\n font-weight: 900; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar {\n width: 9px;\n background-color: transparent; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar-thumb {\n background-color: var(--jb-select-list-scroll-color, #c3c3c3);\n border-radius: var(--jb-select-list-scroll-border-radius, 4px); }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder {\n display: none;\n text-align: center;\n color: #838383;\n font-style: italic;\n padding: 8px 0; }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder.--show {\n display: block; }\n";
31
+ var css_248z = ":host {\n --p-middle-div-height: var(--jb-select-middle-div-height, 0px);\n --p-p-color: #1e2832;\n --p-border-bottom-width: var(--jb-select-border-bottom-width, var(--jb-select-border-width, 3px));\n --p-base-z-index: 1;\n --p-mobile-modal-z-index: 900; }\n\n.jb-select-web-component {\n width: var(--jb-select-width, 100%);\n margin: var(--jb-select-margin, 0 0);\n position: relative;\n box-sizing: border-box; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused {\n position: fixed;\n top: 0;\n left: 0;\n background-color: var(--jb-select-overlay-bgcolor, #0008);\n width: 100vw;\n height: 100vh;\n margin: 0;\n padding: 16px 8px;\n z-index: var(--p-mobile-modal-z-index); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box {\n height: var(--jb-select-mobile-search-input-height, var(--jb-select-height, 40px));\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6);\n border-width: var(--jb-select-mobile-search-border-width, var(--jb-select-border-width, 1px));\n border-color: var(--jb-select-mobile-search-border-color, var(--jb-select-border-color, #f7f6f6));\n border-bottom-width: var(--jb-select-mobile-search-border-bottom-width, var(--p-border-bottom-width));\n border-bottom-color: var(--jb-select-mobile-search-border-bottom-color, var(--jb-select-border-bottom-color, var(--jb-select-border-color, #f7f6f6)));\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .front-box .arrow-icon {\n display: none; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .selected-value-wrapper {\n opacity: 0;\n transition: none; } }\n .jb-select-web-component.--focused .middle-divider {\n display: block; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .middle-divider {\n margin: var(--jb-select-middle-div-mobile-margin, 16px 0 0 0); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-list-wrapper {\n position: initial;\n margin: var(--jb-select-mobile-item-list-margin, 16px 0);\n border-radius: var(--jb-select-border-radius, 16px); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper {\n display: flex; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper label {\n color: #fff;\n font-size: 1.5em;\n display: flex;\n align-items: center; } }\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: none; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: flex;\n width: 48px;\n height: 48px;\n justify-content: center;\n align-items: center;\n color: #fff; }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-bg {\n opacity: var(--jb-select-close-bg-opacity, 0.4);\n fill: var(--jb-select-close-bg-color, #1f1735); }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-path {\n fill: var(--jb-select-close-x-color, #fff); } }\n .jb-select-web-component.--has-value .select-box {\n border-color: var(--jb-select-border-color-selected, #c3ff14);\n background-color: var(--jb-select-bgcolor-selected, #f7f6f6); }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--has-value .select-box:focus-within {\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6); } }\n .jb-select-web-component .label-wrapper label {\n width: 100%;\n margin: 4px 0px;\n display: block;\n font-size: var(--jb-select-label-font-size, 0.8em);\n font-weight: var(--jb-select-label-font-weight, normal);\n color: var(--jb-select-label-color, #1f1735); }\n .jb-select-web-component .label-wrapper label.--hide {\n display: none; }\n .jb-select-web-component .label-wrapper .close-button {\n display: none; }\n .jb-select-web-component .select-box {\n width: 100%;\n box-sizing: border-box;\n height: var(--jb-select-height, 40px);\n border: solid var(--jb-select-border-width, 1px) var(--jb-select-border-color, #f7f6f6);\n border-bottom: solid var(--p-border-bottom-width) var(--jb-select-border-color, #f7f6f6);\n border-radius: var(--jb-select-border-radius, 16px);\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n margin: var(--jb-select-select-box-margin, 4px 0px 0px 0px);\n overflow: hidden;\n display: flex;\n justify-content: space-between;\n padding-inline-end: var(--jb-select-box-padding-end, 16px);\n gap: 8px;\n position: relative; }\n .jb-select-web-component .select-box:focus-within {\n border-color: var(--jb-select-border-color, var(--p-p-color));\n border-bottom-color: var(--jb-select-border-color, var(--p-p-color));\n border-radius: var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px) 0 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-box:focus-within {\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n .jb-select-web-component .select-box .selected-value-wrapper {\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 1; }\n .jb-select-web-component .select-box .selected-value-wrapper.--search-typed {\n opacity: 0; }\n .jb-select-web-component .select-box .selected-value-wrapper .selected-value {\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: var(--jb-select-selected-value-font-size, 1.1em);\n color: var(--jb-select-selected-value-color, #1f1735);\n margin: 0;\n border-radius: 0;\n display: flex;\n align-items: center; }\n .jb-select-web-component .select-box:focus-within .selected-value {\n opacity: 0.7;\n transition: all 0.3s ease; }\n .jb-select-web-component .select-box .front-box {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 2;\n display: grid;\n grid-template-columns: 1fr auto;\n justify-content: center;\n align-items: center; }\n .jb-select-web-component .select-box .front-box input {\n border: none;\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: 1.1em;\n color: var(--jb-select-input-color, #1f1735);\n margin: 0;\n border-radius: 0; }\n .jb-select-web-component .select-box .front-box input:focus {\n outline: none; }\n .jb-select-web-component .select-box .front-box input::placeholder {\n color: var(--jb-select-placeholder-color, initial);\n font-size: var(--jb-select-placeholder-font-size, 1.1em); }\n .jb-select-web-component .select-box .front-box .arrow-icon {\n margin: var(--jb-select-arrow-icon-margin, 0 16px 0 0); }\n .jb-select-web-component .middle-divider {\n display: none;\n position: relative;\n z-index: calc(var(--p-base-z-index) + 2);\n width: 100%;\n height: var(--p-middle-div-height);\n background-color: var(--jb-select-middle-div-color, var(--p-p-color));\n margin: var(--jb-select-middle-div-margin, calc(-1 * var(--p-border-bottom-width)) 0);\n border-radius: var(--jb-select-middle-div-radius, 0px); }\n .jb-select-web-component .message-box {\n font-size: var(--jb-select-message-font-size, 0.7em);\n font-weight: var(--jb-select-message-font-weight, normal);\n padding: 4px 8px;\n color: var(--jb-select-message-color, #929292); }\n .jb-select-web-component .message-box:empty {\n padding: 0; }\n .jb-select-web-component .message-box.--error {\n color: red; }\n .jb-select-web-component .select-list-wrapper {\n display: none;\n position: absolute;\n margin: calc(-1 * var(--p-border-bottom-width)) 0;\n height: auto;\n overflow: hidden;\n width: 100%;\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n border-radius: 0 0 var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px);\n border: solid 1px var(--jb-select-border-color, var(--p-p-color));\n border-top: none;\n border-bottom: solid 3px var(--jb-select-border-color, var(--p-p-color));\n box-shadow: var(--jb-select-list-box-shadow);\n box-sizing: border-box;\n z-index: calc(var(--p-base-z-index) + 1); }\n .jb-select-web-component .select-list-wrapper.--show {\n display: block; }\n .jb-select-web-component .select-list-wrapper .select-list {\n width: 100%;\n max-height: var(--jb-select-list-max-height, 400px);\n overflow-y: auto;\n padding: var(--jb-select-list-padding, 16px 0); }\n .jb-select-web-component .select-list-wrapper .select-list:empty {\n padding: 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-list-wrapper .select-list {\n max-height: calc(100vh - 240px); } }\n .jb-select-web-component .select-list-wrapper .select-list .select-option {\n min-height: 36px;\n padding: 4px 16px;\n display: flex;\n align-items: center;\n font-size: 0.9em;\n color: var(--jb-select-option-color, inherit);\n background-color: var(--jb-select-option-background-color, transparent); }\n .jb-select-web-component .select-list-wrapper .select-list .select-option:hover {\n background-color: var(--jb-select-option-background-color-hover, #1073db);\n color: var(--jb-select-option-color-hover, #fff);\n cursor: pointer; }\n .jb-select-web-component .select-list-wrapper .select-list .select-option.--selected-option {\n font-weight: 900; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar {\n width: 9px;\n background-color: transparent; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar-thumb {\n background-color: var(--jb-select-list-scroll-color, #c3c3c3);\n border-radius: var(--jb-select-list-scroll-border-radius, 4px); }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder {\n display: none;\n text-align: center;\n color: #838383;\n font-style: italic;\n padding: 8px 0; }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder.--show {\n display: block; }\n";
32
32
 
33
33
  var _JBSelectWebComponent_instances, _JBSelectWebComponent_value, _JBSelectWebComponent_textValue, _JBSelectWebComponent_notFindedValue, _JBSelectWebComponent_optionList, _JBSelectWebComponent_displayOptionList, _JBSelectWebComponent_placeholder, _JBSelectWebComponent_searchPlaceholder, _JBSelectWebComponent_setValueFromOutside, _JBSelectWebComponent_createSelectedValueDom;
34
34
  class JBSelectWebComponent extends HTMLElement {
@@ -217,10 +217,17 @@ class JBSelectWebComponent extends HTMLElement {
217
217
  _setValueOnOptionListChanged() {
218
218
  //when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.
219
219
  //in some scenario value is setted before otionList attached so we store it on this._notFindedValue and after option list setted we set value from this._notFindedValue
220
- if (this.value || __classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f")) {
220
+ if (__classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f")) {
221
221
  //if select has no prev value or pending not finded value we dont set it becuase user may input some search terms in input box and developer-user update list base on that value
222
222
  //if we set it to null the search term and this.textvalue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it
223
- __classPrivateFieldGet(this, _JBSelectWebComponent_instances, "m", _JBSelectWebComponent_setValueFromOutside).call(this, this.value || __classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f"));
223
+ const isSetted = __classPrivateFieldGet(this, _JBSelectWebComponent_instances, "m", _JBSelectWebComponent_setValueFromOutside).call(this, __classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f"));
224
+ if (isSetted) {
225
+ //after list update and when not founded value is found in new option list we clear old not finded value
226
+ __classPrivateFieldSet(this, _JBSelectWebComponent_notFindedValue, null, "f");
227
+ }
228
+ }
229
+ else if (this.value) {
230
+ __classPrivateFieldGet(this, _JBSelectWebComponent_instances, "m", _JBSelectWebComponent_setValueFromOutside).call(this, this.value);
224
231
  }
225
232
  }
226
233
  _setValue(value) {
@@ -469,9 +476,11 @@ _JBSelectWebComponent_value = new WeakMap(), _JBSelectWebComponent_textValue = n
469
476
  });
470
477
  if (matchedOption || value == null) {
471
478
  this._setValue(matchedOption);
479
+ return true;
472
480
  }
473
481
  else {
474
482
  __classPrivateFieldSet(this, _JBSelectWebComponent_notFindedValue, value, "f");
483
+ return false;
475
484
  }
476
485
  }, _JBSelectWebComponent_createSelectedValueDom = function _JBSelectWebComponent_createSelectedValueDom(value) {
477
486
  const valueText = this.callbacks.getOptionTitle(value);
@@ -1 +1 @@
1
- {"version":3,"file":"JBSelect.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/JBSelect.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { es } from 'date-fns/locale';\r\nimport HTML from './JBSelect.html';\r\nimport CSS from './JBSelect.scss';\r\nimport { JBSelectCallbacks, JBSelectElements, JBSelectOptionElement } from './Types';\r\nexport class JBSelectWebComponent extends HTMLElement {\r\n #value: any;\r\n #textValue = \"\";\r\n // if user set value and current option list is not contain the option. \r\n // we hold it in _notFindedValue and select value when option value get updated\r\n #notFindedValue: any = null;\r\n required = false;\r\n callbacks: JBSelectCallbacks = {\r\n getOptionTitle: (option) => { return option; },\r\n getOptionValue: (option) => { return option; },\r\n getOptionDOM: null,\r\n getSelectedValueDOM: null,\r\n };\r\n elements!: JBSelectElements;\r\n get value() {\r\n if (this.#value) {\r\n return this.callbacks.getOptionValue(this.#value);\r\n } else {\r\n return null;\r\n }\r\n }\r\n set value(value) {\r\n this.#setValueFromOutside(value);\r\n }\r\n get textValue() {\r\n return this.#textValue;\r\n\r\n }\r\n set textValue(value) {\r\n this.#textValue = value;\r\n this.elements.input.value = value;\r\n this.updateOptionList(value);\r\n }\r\n get selectedOptionTitle() {\r\n if (this.value) {\r\n return this.callbacks.getOptionTitle(this.#value);\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n #optionList:any[] = [];\r\n #displayOptionList:any[] = [];\r\n get optionList() {\r\n return this.#optionList || [];\r\n }\r\n set optionList(value) {\r\n if (!Array.isArray(value)) {\r\n console.error('your provided option list to jb-select is not a array. you must provide array value', { value });\r\n return;\r\n }\r\n this.#optionList = value;\r\n //every time optionList get updated we set our value base on current option list we use _notFindedValue in case of value provided to component before optionList\r\n this.displayOptionList = this.filterOptionList(this.textValue);\r\n this._setValueOnOptionListChanged();\r\n }\r\n #placeholder = \"\";\r\n get placeholder() {\r\n return this.#placeholder;\r\n }\r\n set placeholder(value:string) {\r\n this.#placeholder = value;\r\n this.elements.input.placeholder = value;\r\n }\r\n //on mobile device when search modla open this will appear on searchbox\r\n #searchPlaceholder = \"search\"\r\n get searchPlaceholder(){\r\n return this.#searchPlaceholder;\r\n }\r\n set searchPlaceholder(value){\r\n this.#searchPlaceholder = value;\r\n }\r\n get displayOptionList() {\r\n return this.#displayOptionList;\r\n }\r\n set displayOptionList(value:any[]){\r\n if(Array.isArray(value) && value.length == 0){\r\n this.elements.emptyListPlaceholder.classList.add('--show');\r\n }else if(Array.isArray(value)){\r\n this.elements.emptyListPlaceholder.classList.remove('--show');\r\n }\r\n this.#displayOptionList = value;\r\n this.updateOptionListDOM();\r\n }\r\n get isMobileDevice() { return /Mobi/i.test(window.navigator.userAgent); }\r\n get isOpen(){ return this.elements.componentWrapper.classList.contains('--focused');}\r\n\r\n constructor() {\r\n\r\n super();\r\n this.initWebComponent();\r\n this.initProp();\r\n\r\n }\r\n connectedCallback() {\r\n // standard web component event that called when all of dom is binded\r\n this.callOnLoadEvent();\r\n this.callOnInitEvent();\r\n }\r\n callOnInitEvent() {\r\n const event = new CustomEvent('init', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n callOnLoadEvent() {\r\n const event = new CustomEvent('load', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n initWebComponent() {\r\n const shadowRoot = this.attachShadow({\r\n mode: 'open'\r\n });\r\n const html = `<style>${CSS}</style>` + '\\n' + HTML;\r\n const element = document.createElement('template');\r\n element.innerHTML = html;\r\n shadowRoot.appendChild(element.content.cloneNode(true));\r\n this.elements = {\r\n input: shadowRoot.querySelector('.select-box input')!,\r\n componentWrapper: shadowRoot.querySelector('.jb-select-web-component')!,\r\n selectedValueWrapper: shadowRoot.querySelector('.selected-value-wrapper')!,\r\n messageBox: shadowRoot.querySelector('.message-box')!,\r\n optionList: shadowRoot.querySelector('.select-list')!,\r\n optionListWrapper: shadowRoot.querySelector('.select-list-wrapper')!,\r\n arrowIcon: shadowRoot.querySelector('.arrow-icon')!,\r\n label:{\r\n wrapper: shadowRoot.querySelector('label')!,\r\n text: shadowRoot.querySelector('label .label-value')!,\r\n },\r\n emptyListPlaceholder: shadowRoot.querySelector('.empty-list-placeholder')!,\r\n };\r\n this.registerEventListener();\r\n\r\n }\r\n registerEventListener() {\r\n this.elements.input.addEventListener('change', (e)=>{this.onInputChange(e);});\r\n this.elements.input.addEventListener('keypress', this.onInputKeyPress.bind(this));\r\n this.elements.input.addEventListener('keyup', this.onInputKeyup.bind(this));\r\n this.elements.input.addEventListener('beforeinput', this.onInputBeforeInput.bind(this));\r\n this.elements.input.addEventListener('input', (e)=>{this.onInputInput(e as unknown as InputEvent);});\r\n this.elements.input.addEventListener('focus', this.onInputFocus.bind(this));\r\n this.elements.input.addEventListener('blur', this.onInputBlur.bind(this));\r\n this.elements.arrowIcon.addEventListener('click', this.onArrowKeyClick.bind(this));\r\n }\r\n initProp() {\r\n this.textValue = '';\r\n this.value = this.getAttribute('value') || null;\r\n }\r\n static get observedAttributes() {\r\n return ['label', 'message', 'value', 'required', 'placeholder', 'search-placeholder'];\r\n }\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // do something when an attribute has changed\r\n this.onAttributeChange(name, newValue);\r\n }\r\n onAttributeChange(name, value) {\r\n switch (name) {\r\n case 'label':\r\n this.elements.label.text.innerHTML = value;\r\n if (value == null || value == undefined || value == \"\") {\r\n this.elements.label.wrapper.classList.add('--hide');\r\n } else {\r\n this.elements.label.wrapper.classList.remove('--hide');\r\n }\r\n break;\r\n case 'message':\r\n this.elements.messageBox.innerHTML = value;\r\n break;\r\n case 'value':\r\n this.#setValueFromOutside(value);\r\n break;\r\n case 'required':\r\n if (value === \"\" || value == \"true\" || value == true) {\r\n this.required = true;\r\n } else {\r\n this.required = false;\r\n }\r\n break;\r\n case 'placeholder':\r\n this.placeholder = value;\r\n break;\r\n case 'search-placeholder':\r\n this.searchPlaceholder = value;\r\n break;\r\n }\r\n\r\n }\r\n _setValueOnOptionListChanged() {\r\n //when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.\r\n //in some scenario value is setted before otionList attached so we store it on this._notFindedValue and after option list setted we set value from this._notFindedValue\r\n if (this.value || this.#notFindedValue) {\r\n //if select has no prev value or pending not finded value we dont set it becuase user may input some search terms in input box and developer-user update list base on that value\r\n //if we set it to null the search term and this.textvalue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it\r\n this.#setValueFromOutside(this.value || this.#notFindedValue);\r\n }\r\n }\r\n #setValueFromOutside(value:any) {\r\n //when user set value by attribute or value prop directly we call this function\r\n const matchedOption = this.optionList.find((option) => { // if we have value mapper we set selected value by object that match mapper\r\n if (this.callbacks.getOptionValue(option) == value) {\r\n return option;\r\n }\r\n });\r\n if (matchedOption || value == null) {\r\n this._setValue(matchedOption);\r\n } else {\r\n this.#notFindedValue = value;\r\n }\r\n\r\n }\r\n _setValue(value:any) {\r\n this.#notFindedValue = null;\r\n this.#value = value;\r\n if ((value == null || value == undefined)) {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(null);\r\n this.elements.componentWrapper.classList.remove('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.placeholder);\r\n }\r\n } else {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(value);\r\n this.elements.componentWrapper.classList.add('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', '');\r\n }\r\n }\r\n //if user select an option we rest filter so user see all option again when open a select\r\n this.updateOptionList('');\r\n }\r\n onArrowKeyClick() {\r\n if (this.isOpen) {\r\n this.blur();\r\n } else {\r\n this.focus();\r\n }\r\n }\r\n onInputKeyPress() {\r\n //TODO: raise keypress event\r\n }\r\n onInputBeforeInput(e:InputEvent) {\r\n const inputedText = e.data || '';\r\n }\r\n onInputInput(e:InputEvent) {\r\n const inputedText = (e.target as HTMLInputElement).value;\r\n this.textValue = inputedText;\r\n this.handleSelectedValueDisplay(inputedText);\r\n }\r\n onInputKeyup(e:KeyboardEvent) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update #value directly becuase we want trigger event that may read value directly from dom\r\n if (e.key === \"Backspace\" || e.key === \"Delete\") {\r\n //becuase on keyprees dont recieve backspace key press\r\n this.handleSelectedValueDisplay(inputText);\r\n }\r\n\r\n this.triggerOnInputKeyup(e);\r\n\r\n }\r\n handleSelectedValueDisplay(inputValue:string) {\r\n if (inputValue !== \"\") {\r\n this.elements.selectedValueWrapper.classList.add('--search-typed');\r\n } else {\r\n this.elements.selectedValueWrapper.classList.remove('--search-typed');\r\n }\r\n }\r\n triggerOnInputKeyup(e:KeyboardEvent) {\r\n const event = new KeyboardEvent('keyup', {\r\n altKey: e.altKey,\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n code: e.code,\r\n ctrlKey: e.ctrlKey,\r\n detail: e.detail,\r\n key: e.key,\r\n shiftKey: e.shiftKey,\r\n charCode: e.charCode,\r\n location: e.location,\r\n composed: e.composed,\r\n isComposing: e.isComposing,\r\n metaKey: e.metaKey,\r\n repeat: e.repeat,\r\n keyCode: e.keyCode,\r\n view: e.view\r\n });\r\n this.dispatchEvent(event);\r\n }\r\n onInputChange(e: Event) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update _text_value directly becuase we want trigger event that may read value directly from dom\r\n this.#textValue = inputText;\r\n }\r\n onInputFocus() {\r\n this.focus();\r\n }\r\n onInputBlur(e: FocusEvent) {\r\n const focusedElement = <Node>(e.relatedTarget);\r\n if (this.elements.optionListWrapper.contains(focusedElement) || this.elements.arrowIcon.contains(focusedElement)) {\r\n //user click on a menu item\r\n } else {\r\n this.blur();\r\n }\r\n }\r\n focus() {\r\n this.elements.input.focus();\r\n this.showOptionList();\r\n this.elements.componentWrapper.classList.add('--focused');\r\n if(this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.#searchPlaceholder);\r\n }\r\n\r\n }\r\n blur() {\r\n this.elements.componentWrapper.classList.remove('--focused');\r\n this.textValue = \"\";\r\n this.handleSelectedValueDisplay('');\r\n this.hideOptionList();\r\n this.triggerInputValidation();\r\n if(this.isMobileDevice){\r\n if(this.value){\r\n this.elements.input.placeholder = \"\";\r\n }else{\r\n this.elements.input.placeholder = this.placeholder;\r\n }\r\n }\r\n this.elements.input.blur();\r\n }\r\n showOptionList() {\r\n this.elements.optionListWrapper.classList.add('--show');\r\n }\r\n hideOptionList() {\r\n this.elements.optionListWrapper.classList.remove('--show');\r\n }\r\n updateOptionList(filterText:string) {\r\n this.displayOptionList = this.filterOptionList(filterText);\r\n }\r\n updateOptionListDOM() {\r\n const optionDomList: HTMLElement[] = [];\r\n this.displayOptionList.forEach((item) => {\r\n const optionDOM = this.createOptionDOM(item);\r\n optionDomList.push(optionDOM);\r\n });\r\n this.elements.optionList.innerHTML = '';\r\n optionDomList.forEach(optionElement => { this.elements.optionList.appendChild(optionElement); });\r\n\r\n\r\n }\r\n createOptionDOM(item:any):JBSelectOptionElement{\r\n let optionDOM: JBSelectOptionElement | null = null;\r\n const isSelected = this.callbacks.getOptionValue(this.value) == this.callbacks.getOptionValue(item);\r\n if (typeof this.callbacks.getOptionDOM == 'function') {\r\n optionDOM = this.callbacks.getOptionDOM(item, this.onOptionClicked.bind(this),isSelected);\r\n } else {\r\n optionDOM = this._createOptionDom(item, isSelected);\r\n }\r\n optionDOM.value = item;\r\n return optionDOM;\r\n }\r\n\r\n _createOptionDom(item:any, isSelected:boolean):JBSelectOptionElement{\r\n const optionElement = document.createElement('div');\r\n optionElement.classList.add('select-option');\r\n if(isSelected){\r\n optionElement.classList.add('--selected-option'); \r\n }\r\n //it has defualt function who return wxact same input\r\n optionElement.innerHTML = this.callbacks.getOptionTitle(item);\r\n optionElement.addEventListener('click', this.onOptionClicked.bind(this));\r\n return optionElement;\r\n }\r\n onOptionClicked(e:MouseEvent) {\r\n const value = (e.currentTarget as JBSelectOptionElement).value;\r\n this.selectOption(value);\r\n this.blur();\r\n this._triggerOnChangeEvent();\r\n }\r\n selectOption(value:any) {\r\n this._setValue(value);\r\n this.triggerInputValidation();\r\n }\r\n filterOptionList(filterString:string):any[] {\r\n const displayOptionList: any[] = [];\r\n this.optionList.filter((option) => {\r\n const optionTitle = this.callbacks.getOptionTitle(option);\r\n const isString = typeof optionTitle == 'string';\r\n if (isString && optionTitle.includes(filterString)) {\r\n displayOptionList.push(option);\r\n }\r\n if (!isString) {\r\n console.warn(\"the provided values for optionsList is not of type string.\", { option, title: optionTitle });\r\n }\r\n });\r\n return displayOptionList;\r\n }\r\n triggerInputValidation(showError = true) {\r\n // this method is public and used outside of component to check if field validity param are met\r\n let errorType = '';\r\n let requiredValid = true;\r\n if (this.required) {\r\n\r\n requiredValid = this.value != null;\r\n if (!requiredValid) {\r\n errorType = 'REQUIRED';\r\n }\r\n }\r\n const isAllValid = requiredValid; //& other validation if they added\r\n if (isAllValid) {\r\n this.clearValidationError();\r\n } else if (showError) {\r\n this.showValidationError(errorType);\r\n }\r\n return {\r\n isAllValid\r\n };\r\n }\r\n showValidationError(errorType) {\r\n if (errorType == 'REQUIRED') {\r\n const label = this.getAttribute('label');\r\n this.elements.messageBox.innerHTML = `${label} حتما باید انتخاب شود`;\r\n this.elements.messageBox.classList.add('--error');\r\n }\r\n }\r\n clearValidationError() {\r\n this.elements.messageBox.innerHTML = this.getAttribute('message') || '';\r\n this.elements.messageBox.classList.remove('--error');\r\n\r\n }\r\n _triggerOnChangeEvent() {\r\n const event = new Event(\"change\");\r\n this.dispatchEvent(event);\r\n }\r\n setSelectedOptionDom(value:any) {\r\n //when user select option or value changed in any condition we set selected option DOM\r\n this.elements.selectedValueWrapper.innerHTML = '';\r\n //if value was null or undifined it remain empty\r\n if (value !== null && value !== undefined) {\r\n const selectedOptionDom = this.createSelectedValueDom(value);\r\n this.elements.selectedValueWrapper.appendChild(selectedOptionDom);\r\n }\r\n }\r\n private createSelectedValueDom(value:any) {\r\n if (typeof this.callbacks.getSelectedValueDOM == 'function') {\r\n return this.callbacks.getSelectedValueDOM(value);\r\n } else {\r\n return this.#createSelectedValueDom(value);\r\n }\r\n }\r\n #createSelectedValueDom(value:any) {\r\n const valueText = this.callbacks.getOptionTitle(value);\r\n const selectedOptionDom = document.createElement('div');\r\n selectedOptionDom.classList.add('selected-value');\r\n selectedOptionDom.innerHTML = valueText;\r\n return selectedOptionDom;\r\n }\r\n}\r\nconst myElementNotExists = !customElements.get('jb-select');\r\nif (myElementNotExists) {\r\n //prevent duplicate registering\r\n window.customElements.define('jb-select', JBSelectWebComponent);\r\n}\r\n"],"names":["CSS"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAsQA;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;AACjE,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;AACjG,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;AACvL,IAAI,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAClG,CAAC;AACD;AACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;AACxE,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;AAC5E,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;AACjG,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;AACtL,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;AAC9G;;;;;;;AC3RM,MAAO,oBAAqB,SAAQ,WAAW,CAAA;AAcjD,IAAA,IAAI,KAAK,GAAA;QACL,IAAI,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAO,EAAE;YACb,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,sBAAA,CAAA,IAAI,EAAO,2BAAA,EAAA,GAAA,CAAA,CAAC,CAAC;AACrD,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;KACJ;IACD,IAAI,KAAK,CAAC,KAAK,EAAA;AACX,QAAA,sBAAA,CAAA,IAAI,EAAqB,+BAAA,EAAA,GAAA,EAAA,yCAAA,CAAA,CAAA,IAAA,CAAzB,IAAI,EAAsB,KAAK,CAAC,CAAC;KACpC;AACD,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAA,GAAA,CAAW,CAAC;KAE1B;IACD,IAAI,SAAS,CAAC,KAAK,EAAA;AACf,QAAA,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAc,KAAK,EAAA,GAAA,CAAA,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;AAClC,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;KAChC;AACD,IAAA,IAAI,mBAAmB,GAAA;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,sBAAA,CAAA,IAAI,EAAO,2BAAA,EAAA,GAAA,CAAA,CAAC,CAAC;AACrD,SAAA;AAAM,aAAA;AACH,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;KACJ;AAGD,IAAA,IAAI,UAAU,GAAA;AACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAY,gCAAA,EAAA,GAAA,CAAA,IAAI,EAAE,CAAC;KACjC;IACD,IAAI,UAAU,CAAC,KAAK,EAAA;AAChB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,qFAAqF,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChH,OAAO;AACV,SAAA;AACD,QAAA,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAe,KAAK,EAAA,GAAA,CAAA,CAAC;;QAEzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,4BAA4B,EAAE,CAAC;KACvC;AAED,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,CAAa,CAAC;KAC5B;IACD,IAAI,WAAW,CAAC,KAAY,EAAA;AACxB,QAAA,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAgB,KAAK,EAAA,GAAA,CAAA,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;KAC3C;AAGD,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAA,GAAA,CAAmB,CAAC;KAClC;IACD,IAAI,iBAAiB,CAAC,KAAK,EAAA;AACvB,QAAA,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAsB,KAAK,EAAA,GAAA,CAAA,CAAC;KACnC;AACD,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAA,GAAA,CAAmB,CAAC;KAClC;IACD,IAAI,iBAAiB,CAAC,KAAW,EAAA;AAC7B,QAAA,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC9D,SAAA;AAAK,aAAA,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACjE,SAAA;AACD,QAAA,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAsB,KAAK,EAAA,GAAA,CAAA,CAAC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC9B;AACD,IAAA,IAAI,cAAc,GAAA,EAAK,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE;AACzE,IAAA,IAAI,MAAM,GAAI,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAC;AAErF,IAAA,WAAA,GAAA;AAEI,QAAA,KAAK,EAAE,CAAC;;QAvFZ,2BAAY,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AACZ,QAAA,+BAAA,CAAA,GAAA,CAAA,IAAA,EAAa,EAAE,CAAC,CAAA;;;AAGhB,QAAA,oCAAA,CAAA,GAAA,CAAA,IAAA,EAAuB,IAAI,CAAC,CAAA;QAC5B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAA,CAAA,SAAS,GAAsB;YAC3B,cAAc,EAAE,CAAC,MAAM,OAAO,OAAO,MAAM,CAAC,EAAE;YAC9C,cAAc,EAAE,CAAC,MAAM,OAAO,OAAO,MAAM,CAAC,EAAE;AAC9C,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,mBAAmB,EAAE,IAAI;SAC5B,CAAC;AA4BF,QAAA,gCAAA,CAAA,GAAA,CAAA,IAAA,EAAoB,EAAE,CAAC,CAAA;AACvB,QAAA,uCAAA,CAAA,GAAA,CAAA,IAAA,EAA2B,EAAE,CAAC,CAAA;AAc9B,QAAA,iCAAA,CAAA,GAAA,CAAA,IAAA,EAAe,EAAE,CAAC,CAAA;;AASlB,QAAA,uCAAA,CAAA,GAAA,CAAA,IAAA,EAAqB,QAAQ,CAAA,CAAA;QAyBzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;KAEnB;IACD,iBAAiB,GAAA;;QAEb,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;IACD,eAAe,GAAA;AACX,QAAA,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;IACD,eAAe,GAAA;AACX,QAAA,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACzE,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;IACD,gBAAgB,GAAA;AACZ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;AACjC,YAAA,IAAI,EAAE,MAAM;AACf,SAAA,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,CAAU,OAAA,EAAAA,QAAG,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AACnD,QAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;AACzB,QAAA,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG;AACZ,YAAA,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAE;AACrD,YAAA,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,0BAA0B,CAAE;AACvE,YAAA,oBAAoB,EAAE,UAAU,CAAC,aAAa,CAAC,yBAAyB,CAAE;AAC1E,YAAA,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc,CAAE;AACrD,YAAA,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc,CAAE;AACrD,YAAA,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAE;AACpE,YAAA,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC,aAAa,CAAE;AACnD,YAAA,KAAK,EAAC;AACF,gBAAA,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO,CAAE;AAC3C,gBAAA,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAE;AACxD,aAAA;AACD,YAAA,oBAAoB,EAAE,UAAU,CAAC,aAAa,CAAC,yBAAyB,CAAE;SAC7E,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAEhC;IACD,qBAAqB,GAAA;QACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAI,EAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AAC9E,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI,EAAA,IAAI,CAAC,YAAY,CAAC,CAA0B,CAAC,CAAC,EAAC,CAAC,CAAC;AACrG,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1E,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;KACtF;IACD,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;KACnD;AACD,IAAA,WAAW,kBAAkB,GAAA;AACzB,QAAA,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;KACzF;AACD,IAAA,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAA;;AAE7C,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAC1C;IACD,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAA;AACzB,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,OAAO;gBACR,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE,EAAE;AACpD,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACvD,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1D,iBAAA;gBACD,MAAM;AACV,YAAA,KAAK,SAAS;gBACV,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC3C,MAAM;AACV,YAAA,KAAK,OAAO;AACR,gBAAA,sBAAA,CAAA,IAAI,EAAqB,+BAAA,EAAA,GAAA,EAAA,yCAAA,CAAA,CAAA,IAAA,CAAzB,IAAI,EAAsB,KAAK,CAAC,CAAC;gBACjC,MAAM;AACV,YAAA,KAAK,UAAU;gBACX,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE;AAClD,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACxB,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACzB,iBAAA;gBACD,MAAM;AACV,YAAA,KAAK,aAAa;AACd,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzB,MAAM;AACV,YAAA,KAAK,oBAAoB;AACrB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,MAAM;AACb,SAAA;KAEJ;IACD,4BAA4B,GAAA;;;AAGxB,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,sBAAA,CAAA,IAAI,4CAAgB,EAAE;;;AAGpC,YAAA,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAA,GAAA,EAAA,yCAAA,CAAqB,CAAzB,IAAA,CAAA,IAAI,EAAsB,IAAI,CAAC,KAAK,IAAI,sBAAA,CAAA,IAAI,EAAA,oCAAA,EAAA,GAAA,CAAgB,CAAC,CAAC;AACjE,SAAA;KACJ;AAeD,IAAA,SAAS,CAAC,KAAS,EAAA;AACf,QAAA,sBAAA,CAAA,IAAI,EAAA,oCAAA,EAAmB,IAAI,EAAA,GAAA,CAAA,CAAC;AAC5B,QAAA,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAU,KAAK,EAAA,GAAA,CAAA,CAAC;QACpB,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,GAAG;AACvC,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC/D,YAAA,IAAG,CAAC,IAAI,CAAC,cAAc,EAAC;AACpB,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;AACrE,aAAA;AACJ,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC5D,YAAA,IAAG,CAAC,IAAI,CAAC,cAAc,EAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AACvD,aAAA;AACJ,SAAA;;AAED,QAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;KAC7B;IACD,eAAe,GAAA;QACX,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,IAAI,CAAC,IAAI,EAAE,CAAC;AACf,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;AAChB,SAAA;KACJ;IACD,eAAe,GAAA;;KAEd;AACD,IAAA,kBAAkB,CAAC,CAAY,EAAA;AAC3B,QAAoB,CAAC,CAAC,IAAI,IAAI,GAAG;KACpC;AACD,IAAA,YAAY,CAAC,CAAY,EAAA;AACrB,QAAA,MAAM,WAAW,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;AACzD,QAAA,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;AAC7B,QAAA,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;KAChD;AACD,IAAA,YAAY,CAAC,CAAe,EAAA;AACxB,QAAA,MAAM,SAAS,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;;QAEvD,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;;AAE7C,YAAA,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAC9C,SAAA;AAED,QAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;KAE/B;AACD,IAAA,0BAA0B,CAAC,UAAiB,EAAA;QACxC,IAAI,UAAU,KAAK,EAAE,EAAE;YACnB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACtE,SAAA;AAAM,aAAA;YACH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;AACzE,SAAA;KACJ;AACD,IAAA,mBAAmB,CAAC,CAAe,EAAA;AAC/B,QAAA,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE;YACrC,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;AACf,SAAA,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;AACD,IAAA,aAAa,CAAC,CAAQ,EAAA;AAClB,QAAA,MAAM,SAAS,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;;AAEvD,QAAA,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAc,SAAS,EAAA,GAAA,CAAA,CAAC;KAC/B;IACD,YAAY,GAAA;QACR,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;AACD,IAAA,WAAW,CAAC,CAAa,EAAA;AACrB,QAAA,MAAM,cAAc,IAAU,CAAC,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAEjH;AAAM,aAAA;YACH,IAAI,CAAC,IAAI,EAAE,CAAC;AACf,SAAA;KACJ;IACD,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAG,IAAI,CAAC,cAAc,EAAC;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAA,GAAA,CAAmB,CAAC,CAAC;AAC5E,SAAA;KAEJ;IACD,IAAI,GAAA;QACA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC7D,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAG,IAAI,CAAC,cAAc,EAAC;YACnB,IAAG,IAAI,CAAC,KAAK,EAAC;gBACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;AACxC,aAAA;AAAI,iBAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;AACtD,aAAA;AACJ,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAC9B;IACD,cAAc,GAAA;QACV,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC3D;IACD,cAAc,GAAA;QACV,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC9D;AACD,IAAA,gBAAgB,CAAC,UAAiB,EAAA;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;KAC9D;IACD,mBAAmB,GAAA;QACf,MAAM,aAAa,GAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAC7C,YAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;QACxC,aAAa,CAAC,OAAO,CAAC,aAAa,IAAG,EAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;KAGpG;AACD,IAAA,eAAe,CAAC,IAAQ,EAAA;QACpB,IAAI,SAAS,GAAiC,IAAI,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpG,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,UAAU,EAAE;YAClD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,UAAU,CAAC,CAAC;AAC7F,SAAA;AAAM,aAAA;YACH,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACvD,SAAA;AACD,QAAA,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;AACvB,QAAA,OAAO,SAAS,CAAC;KACpB;IAED,gBAAgB,CAAC,IAAQ,EAAE,UAAkB,EAAA;QACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACpD,QAAA,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC7C,QAAA,IAAG,UAAU,EAAC;AACV,YAAA,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACpD,SAAA;;QAED,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AAC9D,QAAA,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACzE,QAAA,OAAO,aAAa,CAAC;KACxB;AACD,IAAA,eAAe,CAAC,CAAY,EAAA;AACxB,QAAA,MAAM,KAAK,GAAI,CAAC,CAAC,aAAuC,CAAC,KAAK,CAAC;AAC/D,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAChC;AACD,IAAA,YAAY,CAAC,KAAS,EAAA;AAClB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;KACjC;AACD,IAAA,gBAAgB,CAAC,YAAmB,EAAA;QAChC,MAAM,iBAAiB,GAAU,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAI;YAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC1D,YAAA,MAAM,QAAQ,GAAG,OAAO,WAAW,IAAI,QAAQ,CAAC;YAChD,IAAI,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAChD,gBAAA,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAClC,aAAA;YACD,IAAI,CAAC,QAAQ,EAAE;AACX,gBAAA,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AAC9G,aAAA;AACL,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,iBAAiB,CAAC;KAC5B;IACD,sBAAsB,CAAC,SAAS,GAAG,IAAI,EAAA;;QAEnC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,aAAa,GAAG,IAAI,CAAC;QACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;AAEf,YAAA,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;YACnC,IAAI,CAAC,aAAa,EAAE;gBAChB,SAAS,GAAG,UAAU,CAAC;AAC1B,aAAA;AACJ,SAAA;AACD,QAAA,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC,QAAA,IAAI,UAAU,EAAE;YACZ,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,SAAS,EAAE;AAClB,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;AACvC,SAAA;QACD,OAAO;YACH,UAAU;SACb,CAAC;KACL;AACD,IAAA,mBAAmB,CAAC,SAAS,EAAA;QACzB,IAAI,SAAS,IAAI,UAAU,EAAE;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,CAAA,EAAG,KAAK,CAAA,qBAAA,CAAuB,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACrD,SAAA;KACJ;IACD,oBAAoB,GAAA;AAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAExD;IACD,qBAAqB,GAAA;AACjB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC7B;AACD,IAAA,oBAAoB,CAAC,KAAS,EAAA;;QAE1B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,GAAG,EAAE,CAAC;;AAElD,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;YACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;AACrE,SAAA;KACJ;AACO,IAAA,sBAAsB,CAAC,KAAS,EAAA;QACpC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,IAAI,UAAU,EAAE;YACzD,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpD,SAAA;AAAM,aAAA;YACH,OAAO,sBAAA,CAAA,IAAI,EAAwB,+BAAA,EAAA,GAAA,EAAA,4CAAA,CAAA,CAAA,IAAA,CAA5B,IAAI,EAAyB,KAAK,CAAC,CAAC;AAC9C,SAAA;KACJ;AAQJ,CAAA;2fAnQwB,KAAS,EAAA;;IAE1B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;QAClD,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;AAChD,YAAA,OAAO,MAAM,CAAC;AACjB,SAAA;AACL,KAAC,CAAC,CAAC;AACH,IAAA,IAAI,aAAa,IAAI,KAAK,IAAI,IAAI,EAAE;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;AACjC,KAAA;AAAM,SAAA;AACH,QAAA,sBAAA,CAAA,IAAI,EAAA,oCAAA,EAAmB,KAAK,EAAA,GAAA,CAAA,CAAC;AAChC,KAAA;AAEL,CAAC,uGA+OuB,KAAS,EAAA;IAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACxD,IAAA,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAClD,IAAA,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;AACxC,IAAA,OAAO,iBAAiB,CAAC;AAC7B,CAAC,CAAA;AAEL,MAAM,kBAAkB,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC5D,IAAI,kBAAkB,EAAE;;IAEpB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;AACnE;;;;"}
1
+ {"version":3,"file":"JBSelect.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/JBSelect.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { es } from 'date-fns/locale';\r\nimport HTML from './JBSelect.html';\r\nimport CSS from './JBSelect.scss';\r\nimport { JBSelectCallbacks, JBSelectElements, JBSelectOptionElement } from './Types';\r\nexport class JBSelectWebComponent extends HTMLElement {\r\n #value: any;\r\n #textValue = \"\";\r\n // if user set value and current option list is not contain the option. \r\n // we hold it in _notFindedValue and select value when option value get updated\r\n #notFindedValue: any = null;\r\n required = false;\r\n callbacks: JBSelectCallbacks = {\r\n getOptionTitle: (option) => { return option; },\r\n getOptionValue: (option) => { return option; },\r\n getOptionDOM: null,\r\n getSelectedValueDOM: null,\r\n };\r\n elements!: JBSelectElements;\r\n get value() {\r\n if (this.#value) {\r\n return this.callbacks.getOptionValue(this.#value);\r\n } else {\r\n return null;\r\n }\r\n }\r\n set value(value) {\r\n this.#setValueFromOutside(value);\r\n }\r\n get textValue() {\r\n return this.#textValue;\r\n\r\n }\r\n set textValue(value) {\r\n this.#textValue = value;\r\n this.elements.input.value = value;\r\n this.updateOptionList(value);\r\n }\r\n get selectedOptionTitle() {\r\n if (this.value) {\r\n return this.callbacks.getOptionTitle(this.#value);\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n #optionList:any[] = [];\r\n #displayOptionList:any[] = [];\r\n get optionList() {\r\n return this.#optionList || [];\r\n }\r\n set optionList(value) {\r\n if (!Array.isArray(value)) {\r\n console.error('your provided option list to jb-select is not a array. you must provide array value', { value });\r\n return;\r\n }\r\n this.#optionList = value;\r\n //every time optionList get updated we set our value base on current option list we use _notFindedValue in case of value provided to component before optionList\r\n this.displayOptionList = this.filterOptionList(this.textValue);\r\n this._setValueOnOptionListChanged();\r\n }\r\n #placeholder = \"\";\r\n get placeholder() {\r\n return this.#placeholder;\r\n }\r\n set placeholder(value:string) {\r\n this.#placeholder = value;\r\n this.elements.input.placeholder = value;\r\n }\r\n //on mobile device when search modla open this will appear on searchbox\r\n #searchPlaceholder = \"search\"\r\n get searchPlaceholder(){\r\n return this.#searchPlaceholder;\r\n }\r\n set searchPlaceholder(value){\r\n this.#searchPlaceholder = value;\r\n }\r\n get displayOptionList() {\r\n return this.#displayOptionList;\r\n }\r\n set displayOptionList(value:any[]){\r\n if(Array.isArray(value) && value.length == 0){\r\n this.elements.emptyListPlaceholder.classList.add('--show');\r\n }else if(Array.isArray(value)){\r\n this.elements.emptyListPlaceholder.classList.remove('--show');\r\n }\r\n this.#displayOptionList = value;\r\n this.updateOptionListDOM();\r\n }\r\n get isMobileDevice() { return /Mobi/i.test(window.navigator.userAgent); }\r\n get isOpen(){ return this.elements.componentWrapper.classList.contains('--focused');}\r\n\r\n constructor() {\r\n\r\n super();\r\n this.initWebComponent();\r\n this.initProp();\r\n\r\n }\r\n connectedCallback() {\r\n // standard web component event that called when all of dom is binded\r\n this.callOnLoadEvent();\r\n this.callOnInitEvent();\r\n }\r\n callOnInitEvent() {\r\n const event = new CustomEvent('init', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n callOnLoadEvent() {\r\n const event = new CustomEvent('load', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n initWebComponent() {\r\n const shadowRoot = this.attachShadow({\r\n mode: 'open'\r\n });\r\n const html = `<style>${CSS}</style>` + '\\n' + HTML;\r\n const element = document.createElement('template');\r\n element.innerHTML = html;\r\n shadowRoot.appendChild(element.content.cloneNode(true));\r\n this.elements = {\r\n input: shadowRoot.querySelector('.select-box input')!,\r\n componentWrapper: shadowRoot.querySelector('.jb-select-web-component')!,\r\n selectedValueWrapper: shadowRoot.querySelector('.selected-value-wrapper')!,\r\n messageBox: shadowRoot.querySelector('.message-box')!,\r\n optionList: shadowRoot.querySelector('.select-list')!,\r\n optionListWrapper: shadowRoot.querySelector('.select-list-wrapper')!,\r\n arrowIcon: shadowRoot.querySelector('.arrow-icon')!,\r\n label:{\r\n wrapper: shadowRoot.querySelector('label')!,\r\n text: shadowRoot.querySelector('label .label-value')!,\r\n },\r\n emptyListPlaceholder: shadowRoot.querySelector('.empty-list-placeholder')!,\r\n };\r\n this.registerEventListener();\r\n\r\n }\r\n registerEventListener() {\r\n this.elements.input.addEventListener('change', (e)=>{this.onInputChange(e);});\r\n this.elements.input.addEventListener('keypress', this.onInputKeyPress.bind(this));\r\n this.elements.input.addEventListener('keyup', this.onInputKeyup.bind(this));\r\n this.elements.input.addEventListener('beforeinput', this.onInputBeforeInput.bind(this));\r\n this.elements.input.addEventListener('input', (e)=>{this.onInputInput(e as unknown as InputEvent);});\r\n this.elements.input.addEventListener('focus', this.onInputFocus.bind(this));\r\n this.elements.input.addEventListener('blur', this.onInputBlur.bind(this));\r\n this.elements.arrowIcon.addEventListener('click', this.onArrowKeyClick.bind(this));\r\n }\r\n initProp() {\r\n this.textValue = '';\r\n this.value = this.getAttribute('value') || null;\r\n }\r\n static get observedAttributes() {\r\n return ['label', 'message', 'value', 'required', 'placeholder', 'search-placeholder'];\r\n }\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // do something when an attribute has changed\r\n this.onAttributeChange(name, newValue);\r\n }\r\n onAttributeChange(name, value) {\r\n switch (name) {\r\n case 'label':\r\n this.elements.label.text.innerHTML = value;\r\n if (value == null || value == undefined || value == \"\") {\r\n this.elements.label.wrapper.classList.add('--hide');\r\n } else {\r\n this.elements.label.wrapper.classList.remove('--hide');\r\n }\r\n break;\r\n case 'message':\r\n this.elements.messageBox.innerHTML = value;\r\n break;\r\n case 'value':\r\n this.#setValueFromOutside(value);\r\n break;\r\n case 'required':\r\n if (value === \"\" || value == \"true\" || value == true) {\r\n this.required = true;\r\n } else {\r\n this.required = false;\r\n }\r\n break;\r\n case 'placeholder':\r\n this.placeholder = value;\r\n break;\r\n case 'search-placeholder':\r\n this.searchPlaceholder = value;\r\n break;\r\n }\r\n\r\n }\r\n _setValueOnOptionListChanged() {\r\n //when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.\r\n //in some scenario value is setted before otionList attached so we store it on this._notFindedValue and after option list setted we set value from this._notFindedValue\r\n if (this.#notFindedValue) {\r\n //if select has no prev value or pending not finded value we dont set it becuase user may input some search terms in input box and developer-user update list base on that value\r\n //if we set it to null the search term and this.textvalue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it\r\n const isSetted = this.#setValueFromOutside(this.#notFindedValue);\r\n if(isSetted){\r\n //after list update and when not founded value is found in new option list we clear old not finded value\r\n this.#notFindedValue = null;\r\n }\r\n }else if(this.value){\r\n this.#setValueFromOutside(this.value);\r\n }\r\n }\r\n #setValueFromOutside(value:any):boolean{\r\n //when user set value by attribute or value prop directly we call this function\r\n const matchedOption = this.optionList.find((option) => { // if we have value mapper we set selected value by object that match mapper\r\n if (this.callbacks.getOptionValue(option) == value) {\r\n return option;\r\n }\r\n });\r\n if (matchedOption || value == null) {\r\n this._setValue(matchedOption);\r\n return true;\r\n } else {\r\n this.#notFindedValue = value;\r\n return false;\r\n }\r\n\r\n }\r\n _setValue(value:any) {\r\n this.#notFindedValue = null;\r\n this.#value = value;\r\n if ((value == null || value == undefined)) {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(null);\r\n this.elements.componentWrapper.classList.remove('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.placeholder);\r\n }\r\n } else {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(value);\r\n this.elements.componentWrapper.classList.add('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', '');\r\n }\r\n }\r\n //if user select an option we rest filter so user see all option again when open a select\r\n this.updateOptionList('');\r\n }\r\n onArrowKeyClick() {\r\n if (this.isOpen) {\r\n this.blur();\r\n } else {\r\n this.focus();\r\n }\r\n }\r\n onInputKeyPress() {\r\n //TODO: raise keypress event\r\n }\r\n onInputBeforeInput(e:InputEvent) {\r\n const inputedText = e.data || '';\r\n }\r\n onInputInput(e:InputEvent) {\r\n const inputedText = (e.target as HTMLInputElement).value;\r\n this.textValue = inputedText;\r\n this.handleSelectedValueDisplay(inputedText);\r\n }\r\n onInputKeyup(e:KeyboardEvent) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update #value directly becuase we want trigger event that may read value directly from dom\r\n if (e.key === \"Backspace\" || e.key === \"Delete\") {\r\n //becuase on keyprees dont recieve backspace key press\r\n this.handleSelectedValueDisplay(inputText);\r\n }\r\n\r\n this.triggerOnInputKeyup(e);\r\n\r\n }\r\n handleSelectedValueDisplay(inputValue:string) {\r\n if (inputValue !== \"\") {\r\n this.elements.selectedValueWrapper.classList.add('--search-typed');\r\n } else {\r\n this.elements.selectedValueWrapper.classList.remove('--search-typed');\r\n }\r\n }\r\n triggerOnInputKeyup(e:KeyboardEvent) {\r\n const event = new KeyboardEvent('keyup', {\r\n altKey: e.altKey,\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n code: e.code,\r\n ctrlKey: e.ctrlKey,\r\n detail: e.detail,\r\n key: e.key,\r\n shiftKey: e.shiftKey,\r\n charCode: e.charCode,\r\n location: e.location,\r\n composed: e.composed,\r\n isComposing: e.isComposing,\r\n metaKey: e.metaKey,\r\n repeat: e.repeat,\r\n keyCode: e.keyCode,\r\n view: e.view\r\n });\r\n this.dispatchEvent(event);\r\n }\r\n onInputChange(e: Event) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update _text_value directly becuase we want trigger event that may read value directly from dom\r\n this.#textValue = inputText;\r\n }\r\n onInputFocus() {\r\n this.focus();\r\n }\r\n onInputBlur(e: FocusEvent) {\r\n const focusedElement = <Node>(e.relatedTarget);\r\n if (this.elements.optionListWrapper.contains(focusedElement) || this.elements.arrowIcon.contains(focusedElement)) {\r\n //user click on a menu item\r\n } else {\r\n this.blur();\r\n }\r\n }\r\n focus() {\r\n this.elements.input.focus();\r\n this.showOptionList();\r\n this.elements.componentWrapper.classList.add('--focused');\r\n if(this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.#searchPlaceholder);\r\n }\r\n\r\n }\r\n blur() {\r\n this.elements.componentWrapper.classList.remove('--focused');\r\n this.textValue = \"\";\r\n this.handleSelectedValueDisplay('');\r\n this.hideOptionList();\r\n this.triggerInputValidation();\r\n if(this.isMobileDevice){\r\n if(this.value){\r\n this.elements.input.placeholder = \"\";\r\n }else{\r\n this.elements.input.placeholder = this.placeholder;\r\n }\r\n }\r\n this.elements.input.blur();\r\n }\r\n showOptionList() {\r\n this.elements.optionListWrapper.classList.add('--show');\r\n }\r\n hideOptionList() {\r\n this.elements.optionListWrapper.classList.remove('--show');\r\n }\r\n updateOptionList(filterText:string) {\r\n this.displayOptionList = this.filterOptionList(filterText);\r\n }\r\n updateOptionListDOM() {\r\n const optionDomList: HTMLElement[] = [];\r\n this.displayOptionList.forEach((item) => {\r\n const optionDOM = this.createOptionDOM(item);\r\n optionDomList.push(optionDOM);\r\n });\r\n this.elements.optionList.innerHTML = '';\r\n optionDomList.forEach(optionElement => { this.elements.optionList.appendChild(optionElement); });\r\n\r\n\r\n }\r\n createOptionDOM(item:any):JBSelectOptionElement{\r\n let optionDOM: JBSelectOptionElement | null = null;\r\n const isSelected = this.callbacks.getOptionValue(this.value) == this.callbacks.getOptionValue(item);\r\n if (typeof this.callbacks.getOptionDOM == 'function') {\r\n optionDOM = this.callbacks.getOptionDOM(item, this.onOptionClicked.bind(this),isSelected);\r\n } else {\r\n optionDOM = this._createOptionDom(item, isSelected);\r\n }\r\n optionDOM.value = item;\r\n return optionDOM;\r\n }\r\n\r\n _createOptionDom(item:any, isSelected:boolean):JBSelectOptionElement{\r\n const optionElement = document.createElement('div');\r\n optionElement.classList.add('select-option');\r\n if(isSelected){\r\n optionElement.classList.add('--selected-option'); \r\n }\r\n //it has defualt function who return wxact same input\r\n optionElement.innerHTML = this.callbacks.getOptionTitle(item);\r\n optionElement.addEventListener('click', this.onOptionClicked.bind(this));\r\n return optionElement;\r\n }\r\n onOptionClicked(e:MouseEvent) {\r\n const value = (e.currentTarget as JBSelectOptionElement).value;\r\n this.selectOption(value);\r\n this.blur();\r\n this._triggerOnChangeEvent();\r\n }\r\n selectOption(value:any) {\r\n this._setValue(value);\r\n this.triggerInputValidation();\r\n }\r\n filterOptionList(filterString:string):any[] {\r\n const displayOptionList: any[] = [];\r\n this.optionList.filter((option) => {\r\n const optionTitle = this.callbacks.getOptionTitle(option);\r\n const isString = typeof optionTitle == 'string';\r\n if (isString && optionTitle.includes(filterString)) {\r\n displayOptionList.push(option);\r\n }\r\n if (!isString) {\r\n console.warn(\"the provided values for optionsList is not of type string.\", { option, title: optionTitle });\r\n }\r\n });\r\n return displayOptionList;\r\n }\r\n triggerInputValidation(showError = true) {\r\n // this method is public and used outside of component to check if field validity param are met\r\n let errorType = '';\r\n let requiredValid = true;\r\n if (this.required) {\r\n\r\n requiredValid = this.value != null;\r\n if (!requiredValid) {\r\n errorType = 'REQUIRED';\r\n }\r\n }\r\n const isAllValid = requiredValid; //& other validation if they added\r\n if (isAllValid) {\r\n this.clearValidationError();\r\n } else if (showError) {\r\n this.showValidationError(errorType);\r\n }\r\n return {\r\n isAllValid\r\n };\r\n }\r\n showValidationError(errorType) {\r\n if (errorType == 'REQUIRED') {\r\n const label = this.getAttribute('label');\r\n this.elements.messageBox.innerHTML = `${label} حتما باید انتخاب شود`;\r\n this.elements.messageBox.classList.add('--error');\r\n }\r\n }\r\n clearValidationError() {\r\n this.elements.messageBox.innerHTML = this.getAttribute('message') || '';\r\n this.elements.messageBox.classList.remove('--error');\r\n\r\n }\r\n _triggerOnChangeEvent() {\r\n const event = new Event(\"change\");\r\n this.dispatchEvent(event);\r\n }\r\n setSelectedOptionDom(value:any) {\r\n //when user select option or value changed in any condition we set selected option DOM\r\n this.elements.selectedValueWrapper.innerHTML = '';\r\n //if value was null or undifined it remain empty\r\n if (value !== null && value !== undefined) {\r\n const selectedOptionDom = this.createSelectedValueDom(value);\r\n this.elements.selectedValueWrapper.appendChild(selectedOptionDom);\r\n }\r\n }\r\n private createSelectedValueDom(value:any) {\r\n if (typeof this.callbacks.getSelectedValueDOM == 'function') {\r\n return this.callbacks.getSelectedValueDOM(value);\r\n } else {\r\n return this.#createSelectedValueDom(value);\r\n }\r\n }\r\n #createSelectedValueDom(value:any) {\r\n const valueText = this.callbacks.getOptionTitle(value);\r\n const selectedOptionDom = document.createElement('div');\r\n selectedOptionDom.classList.add('selected-value');\r\n selectedOptionDom.innerHTML = valueText;\r\n return selectedOptionDom;\r\n }\r\n}\r\nconst myElementNotExists = !customElements.get('jb-select');\r\nif (myElementNotExists) {\r\n //prevent duplicate registering\r\n window.customElements.define('jb-select', JBSelectWebComponent);\r\n}\r\n"],"names":["CSS"],"mappings":"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"}
@@ -34,7 +34,7 @@
34
34
 
35
35
  var HTML = "<div class=\"jb-select-web-component\">\r\n <div class=\"label-wrapper\">\r\n <label class=\"--hide\"><span class=\"label-value\"></span></label>\r\n <!-- close button will be visible on mobile modal -->\r\n <div class=\"close-button\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <path class=\"close-btn-svg-bg\" opacity=\"0.4\" d=\"M16.3399 1.9998H7.66988C4.27988 1.9998 1.99988 4.3798 1.99988 7.9198V16.0898C1.99988 19.6198 4.27988 21.9998 7.66988 21.9998H16.3399C19.7299 21.9998 21.9999 19.6198 21.9999 16.0898V7.9198C21.9999 4.3798 19.7299 1.9998 16.3399 1.9998Z\"/>\r\n <path class=\"close-btn-svg-path\" d=\"M15.0156 13.7703L13.2366 11.9923L15.0146 10.2143C15.3566 9.8733 15.3566 9.3183 15.0146 8.9773C14.6726 8.6333 14.1196 8.6343 13.7776 8.9763L11.9986 10.7543L10.2196 8.9743C9.87758 8.6323 9.32358 8.6343 8.98158 8.9743C8.64058 9.3163 8.64058 9.8713 8.98158 10.2123L10.7616 11.9923L8.98558 13.7673C8.64358 14.1093 8.64358 14.6643 8.98558 15.0043C9.15658 15.1763 9.37958 15.2613 9.60358 15.2613C9.82858 15.2613 10.0516 15.1763 10.2226 15.0053L11.9986 13.2293L13.7786 15.0083C13.9496 15.1793 14.1726 15.2643 14.3966 15.2643C14.6206 15.2643 14.8446 15.1783 15.0156 15.0083C15.3576 14.6663 15.3576 14.1123 15.0156 13.7703Z\" fill=\"#200E32\"/>\r\n </svg>\r\n </div>\r\n </div>\r\n <div class=\"select-box\">\r\n <div class=\"selected-value-wrapper\">\r\n\r\n </div>\r\n <div class=\"front-box\">\r\n <input class=\"input\">\r\n <div class=\"arrow-icon\" tabindex=\"-1\">\r\n <slot name=\"select-arrow-icon\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"8\" height=\"8\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" version=\"1.1\" id=\"Layer_1\" x=\"0px\" y=\"0px\" viewBox=\"0 0 494.1 371.1\" style=\"enable-background:new 0 0 494.1 371.1;\" xml:space=\"preserve\"><path d=\"M293,343.8L480.9,69.3c8.7-12.7,13.3-25.4,13.3-36.1c0-20.5-16.5-33.2-44-33.2H44C16.4,0,0,12.7,0,33.2 c0,10.6,4.6,23.2,13.3,35.9l187.9,274.6c12.1,17.7,28.4,27.4,45.9,27.4C264.6,371.1,280.9,361.4,293,343.8z\"/></svg>\r\n </slot>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"middle-divider\">\r\n <!-- middle line between input box and list (hidden by default but user may need it sometimes) -->\r\n </div>\r\n <div class=\"select-list-wrapper\">\r\n <div class=\"select-list\" tabindex=\"-1\">\r\n\r\n </div>\r\n <div class=\"empty-list-placeholder\">\r\n <slot name=\"empty-list-message\">no item available</slot>\r\n </div>\r\n </div>\r\n <div class=\"message-box\"></div>\r\n</div>";
36
36
 
37
- var css_248z = ":host {\n --p-middle-div-height: var(--jb-select-middle-div-height, 0px);\n --p-p-color: #1e2832;\n --p-border-bottom-width: var(--jb-select-border-bottom-width, var(--jb-select-border-width, 3px));\n --p-base-z-index: 1;\n --p-mobile-modal-z-index: 900; }\n\n.jb-select-web-component {\n width: var(--jb-select-width, 100%);\n margin: var(--jb-select-margin, 0 0);\n position: relative;\n box-sizing: border-box; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused {\n position: fixed;\n top: 0;\n left: 0;\n background-color: var(--jb-select-overlay-bgcolor, #0008);\n width: 100vw;\n height: 100vh;\n margin: 0;\n padding: 16px 8px;\n z-index: var(--p-mobile-modal-z-index); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box {\n height: var(--jb-select-mobile-search-input-height, var(--jb-select-height, 40px));\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6);\n border-width: var(--jb-select-mobile-search-border-width, var(--jb-select-border-width, 1px));\n border-color: var(--jb-select-mobile-search-border-color, var(--jb-select-border-color, #f7f6f6));\n border-bottom-width: var(--jb-select-mobile-search-border-bottom-width, var(--p-border-bottom-width));\n border-bottom-color: var(--jb-select-mobile-search-border-bottom-color, var(--jb-select-border-bottom-color, var(--jb-select-border-color, #f7f6f6)));\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .front-box .arrow-icon {\n display: none; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .selected-value-wrapper {\n opacity: 0;\n transition: none; } }\n .jb-select-web-component.--focused .middle-divider {\n display: block; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .middle-divider {\n margin: var(--jb-select-middle-div-mobile-margin, 16px 0 0 0); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-list-wrapper {\n position: initial;\n margin: var(--jb-select-mobile-item-list-margin, 16px 0);\n border-radius: var(--jb-select-border-radius, 16px); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper {\n display: flex; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper label {\n color: #fff;\n font-size: 1.5em;\n display: flex;\n align-items: center; } }\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: none; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: flex;\n width: 48px;\n height: 48px;\n justify-content: center;\n align-items: center;\n color: #fff; }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-bg {\n opacity: var(--jb-select-close-bg-opacity, 0.4);\n fill: var(--jb-select-close-bg-color, #1f1735); }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-path {\n fill: var(--jb-select-close-x-color, #fff); } }\n .jb-select-web-component.--has-value .select-box {\n border-color: var(--jb-select-border-color-selected, #c3ff14);\n background-color: var(--jb-select-bgcolor-selected, #f7f6f6); }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--has-value .select-box:focus-within {\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6); } }\n .jb-select-web-component .label-wrapper label {\n width: 100%;\n margin: 4px 0px;\n display: block;\n font-size: var(--jb-select-label-font-size, 0.8em);\n font-weight: var(--jb-select-label-font-weight, normal);\n color: var(--jb-select-label-color, #1f1735); }\n .jb-select-web-component .label-wrapper label.--hide {\n display: none; }\n .jb-select-web-component .label-wrapper .close-button {\n display: none; }\n .jb-select-web-component .select-box {\n width: 100%;\n box-sizing: border-box;\n height: var(--jb-select-height, 40px);\n border: solid var(--jb-select-border-width, 1px) var(--jb-select-border-color, #f7f6f6);\n border-bottom: solid var(--p-border-bottom-width) var(--jb-select-border-color, #f7f6f6);\n border-radius: var(--jb-select-border-radius, 16px);\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n margin: var(--jb-select-select-box-margin, 4px 0px 0px 0px);\n overflow: hidden;\n display: flex;\n justify-content: space-between;\n padding-inline-end: var(--jb-select-box-padding-end, 16px);\n gap: 8px;\n position: relative; }\n .jb-select-web-component .select-box:focus-within {\n border-color: var(--jb-select-border-color, var(--p-p-color));\n border-bottom-color: var(--jb-select-border-color, var(--p-p-color));\n border-radius: var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px) 0 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-box:focus-within {\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n .jb-select-web-component .select-box .selected-value-wrapper {\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 1; }\n .jb-select-web-component .select-box .selected-value-wrapper.--search-typed {\n opacity: 0; }\n .jb-select-web-component .select-box .selected-value-wrapper .selected-value {\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: 1.1em;\n color: var(--jb-select-selected-value-color, #1f1735);\n margin: 0;\n border-radius: 0;\n display: flex;\n align-items: center; }\n .jb-select-web-component .select-box:focus-within .selected-value {\n opacity: 0.7;\n transition: all 0.3s ease; }\n .jb-select-web-component .select-box .front-box {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 2;\n display: grid;\n grid-template-columns: 1fr auto;\n justify-content: center;\n align-items: center; }\n .jb-select-web-component .select-box .front-box input {\n border: none;\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: 1.1em;\n color: var(--jb-select-input-color, #1f1735);\n margin: 0;\n border-radius: 0; }\n .jb-select-web-component .select-box .front-box input:focus {\n outline: none; }\n .jb-select-web-component .select-box .front-box input::placeholder {\n color: var(--jb-select-placeholder-color, initial);\n font-size: var(--jb-select-placeholder-font-size, 1.1em); }\n .jb-select-web-component .select-box .front-box .arrow-icon {\n margin: var(--jb-select-arrow-icon-margin, 0 16px 0 0); }\n .jb-select-web-component .middle-divider {\n display: none;\n position: relative;\n z-index: calc(var(--p-base-z-index) + 2);\n width: 100%;\n height: var(--p-middle-div-height);\n background-color: var(--jb-select-middle-div-color, var(--p-p-color));\n margin: var(--jb-select-middle-div-margin, calc(-1 * var(--p-border-bottom-width)) 0);\n border-radius: var(--jb-select-middle-div-radius, 0px); }\n .jb-select-web-component .message-box {\n font-size: var(--jb-select-message-font-size, 0.7em);\n font-weight: var(--jb-select-message-font-weight, normal);\n padding: 4px 8px;\n color: var(--jb-select-message-color, #929292); }\n .jb-select-web-component .message-box:empty {\n padding: 0; }\n .jb-select-web-component .message-box.--error {\n color: red; }\n .jb-select-web-component .select-list-wrapper {\n display: none;\n position: absolute;\n margin: calc(-1 * var(--p-border-bottom-width)) 0;\n height: auto;\n overflow: hidden;\n width: 100%;\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n border-radius: 0 0 var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px);\n border: solid 1px var(--jb-select-border-color, var(--p-p-color));\n border-top: none;\n border-bottom: solid 3px var(--jb-select-border-color, var(--p-p-color));\n box-shadow: var(--jb-select-list-box-shadow);\n box-sizing: border-box;\n z-index: calc(var(--p-base-z-index) + 1); }\n .jb-select-web-component .select-list-wrapper.--show {\n display: block; }\n .jb-select-web-component .select-list-wrapper .select-list {\n width: 100%;\n max-height: var(--jb-select-list-max-height, 400px);\n overflow-y: auto;\n padding: var(--jb-select-list-padding, 16px 0); }\n .jb-select-web-component .select-list-wrapper .select-list:empty {\n padding: 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-list-wrapper .select-list {\n max-height: calc(100vh - 240px); } }\n .jb-select-web-component .select-list-wrapper .select-list .select-option {\n min-height: 36px;\n padding: 4px 16px;\n display: flex;\n align-items: center;\n font-size: 0.9em;\n color: var(--jb-select-option-color, inherit);\n background-color: var(--jb-select-option-background-color, transparent); }\n .jb-select-web-component .select-list-wrapper .select-list .select-option:hover {\n background-color: var(--jb-select-option-background-color-hover, #1073db);\n color: var(--jb-select-option-color-hover, #fff);\n cursor: pointer; }\n .jb-select-web-component .select-list-wrapper .select-list .select-option.--selected-option {\n font-weight: 900; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar {\n width: 9px;\n background-color: transparent; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar-thumb {\n background-color: var(--jb-select-list-scroll-color, #c3c3c3);\n border-radius: var(--jb-select-list-scroll-border-radius, 4px); }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder {\n display: none;\n text-align: center;\n color: #838383;\n font-style: italic;\n padding: 8px 0; }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder.--show {\n display: block; }\n";
37
+ var css_248z = ":host {\n --p-middle-div-height: var(--jb-select-middle-div-height, 0px);\n --p-p-color: #1e2832;\n --p-border-bottom-width: var(--jb-select-border-bottom-width, var(--jb-select-border-width, 3px));\n --p-base-z-index: 1;\n --p-mobile-modal-z-index: 900; }\n\n.jb-select-web-component {\n width: var(--jb-select-width, 100%);\n margin: var(--jb-select-margin, 0 0);\n position: relative;\n box-sizing: border-box; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused {\n position: fixed;\n top: 0;\n left: 0;\n background-color: var(--jb-select-overlay-bgcolor, #0008);\n width: 100vw;\n height: 100vh;\n margin: 0;\n padding: 16px 8px;\n z-index: var(--p-mobile-modal-z-index); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box {\n height: var(--jb-select-mobile-search-input-height, var(--jb-select-height, 40px));\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6);\n border-width: var(--jb-select-mobile-search-border-width, var(--jb-select-border-width, 1px));\n border-color: var(--jb-select-mobile-search-border-color, var(--jb-select-border-color, #f7f6f6));\n border-bottom-width: var(--jb-select-mobile-search-border-bottom-width, var(--p-border-bottom-width));\n border-bottom-color: var(--jb-select-mobile-search-border-bottom-color, var(--jb-select-border-bottom-color, var(--jb-select-border-color, #f7f6f6)));\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .front-box .arrow-icon {\n display: none; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-box .selected-value-wrapper {\n opacity: 0;\n transition: none; } }\n .jb-select-web-component.--focused .middle-divider {\n display: block; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .middle-divider {\n margin: var(--jb-select-middle-div-mobile-margin, 16px 0 0 0); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .select-list-wrapper {\n position: initial;\n margin: var(--jb-select-mobile-item-list-margin, 16px 0);\n border-radius: var(--jb-select-border-radius, 16px); } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper {\n display: flex; } }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper label {\n color: #fff;\n font-size: 1.5em;\n display: flex;\n align-items: center; } }\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: none; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--focused .label-wrapper .close-button {\n display: flex;\n width: 48px;\n height: 48px;\n justify-content: center;\n align-items: center;\n color: #fff; }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-bg {\n opacity: var(--jb-select-close-bg-opacity, 0.4);\n fill: var(--jb-select-close-bg-color, #1f1735); }\n .jb-select-web-component.--focused .label-wrapper .close-button .close-btn-svg-path {\n fill: var(--jb-select-close-x-color, #fff); } }\n .jb-select-web-component.--has-value .select-box {\n border-color: var(--jb-select-border-color-selected, #c3ff14);\n background-color: var(--jb-select-bgcolor-selected, #f7f6f6); }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component.--has-value .select-box:focus-within {\n background-color: var(--jb-select-mobile-input-bgcolor, #f7f6f6); } }\n .jb-select-web-component .label-wrapper label {\n width: 100%;\n margin: 4px 0px;\n display: block;\n font-size: var(--jb-select-label-font-size, 0.8em);\n font-weight: var(--jb-select-label-font-weight, normal);\n color: var(--jb-select-label-color, #1f1735); }\n .jb-select-web-component .label-wrapper label.--hide {\n display: none; }\n .jb-select-web-component .label-wrapper .close-button {\n display: none; }\n .jb-select-web-component .select-box {\n width: 100%;\n box-sizing: border-box;\n height: var(--jb-select-height, 40px);\n border: solid var(--jb-select-border-width, 1px) var(--jb-select-border-color, #f7f6f6);\n border-bottom: solid var(--p-border-bottom-width) var(--jb-select-border-color, #f7f6f6);\n border-radius: var(--jb-select-border-radius, 16px);\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n margin: var(--jb-select-select-box-margin, 4px 0px 0px 0px);\n overflow: hidden;\n display: flex;\n justify-content: space-between;\n padding-inline-end: var(--jb-select-box-padding-end, 16px);\n gap: 8px;\n position: relative; }\n .jb-select-web-component .select-box:focus-within {\n border-color: var(--jb-select-border-color, var(--p-p-color));\n border-bottom-color: var(--jb-select-border-color, var(--p-p-color));\n border-radius: var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px) 0 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-box:focus-within {\n border-radius: var(--jb-select-mobile-search-border-radius, var(--jb-select-border-radius, 16px)); } }\n .jb-select-web-component .select-box .selected-value-wrapper {\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 1; }\n .jb-select-web-component .select-box .selected-value-wrapper.--search-typed {\n opacity: 0; }\n .jb-select-web-component .select-box .selected-value-wrapper .selected-value {\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: var(--jb-select-selected-value-font-size, 1.1em);\n color: var(--jb-select-selected-value-color, #1f1735);\n margin: 0;\n border-radius: 0;\n display: flex;\n align-items: center; }\n .jb-select-web-component .select-box:focus-within .selected-value {\n opacity: 0.7;\n transition: all 0.3s ease; }\n .jb-select-web-component .select-box .front-box {\n width: 100%;\n height: 100%;\n border-radius: inherit;\n overflow: hidden;\n z-index: 2;\n display: grid;\n grid-template-columns: 1fr auto;\n justify-content: center;\n align-items: center; }\n .jb-select-web-component .select-box .front-box input {\n border: none;\n width: 100%;\n box-sizing: border-box;\n height: 100%;\n background-color: transparent;\n padding: 2px 12px 0 12px;\n display: block;\n font-family: inherit;\n font-size: 1.1em;\n color: var(--jb-select-input-color, #1f1735);\n margin: 0;\n border-radius: 0; }\n .jb-select-web-component .select-box .front-box input:focus {\n outline: none; }\n .jb-select-web-component .select-box .front-box input::placeholder {\n color: var(--jb-select-placeholder-color, initial);\n font-size: var(--jb-select-placeholder-font-size, 1.1em); }\n .jb-select-web-component .select-box .front-box .arrow-icon {\n margin: var(--jb-select-arrow-icon-margin, 0 16px 0 0); }\n .jb-select-web-component .middle-divider {\n display: none;\n position: relative;\n z-index: calc(var(--p-base-z-index) + 2);\n width: 100%;\n height: var(--p-middle-div-height);\n background-color: var(--jb-select-middle-div-color, var(--p-p-color));\n margin: var(--jb-select-middle-div-margin, calc(-1 * var(--p-border-bottom-width)) 0);\n border-radius: var(--jb-select-middle-div-radius, 0px); }\n .jb-select-web-component .message-box {\n font-size: var(--jb-select-message-font-size, 0.7em);\n font-weight: var(--jb-select-message-font-weight, normal);\n padding: 4px 8px;\n color: var(--jb-select-message-color, #929292); }\n .jb-select-web-component .message-box:empty {\n padding: 0; }\n .jb-select-web-component .message-box.--error {\n color: red; }\n .jb-select-web-component .select-list-wrapper {\n display: none;\n position: absolute;\n margin: calc(-1 * var(--p-border-bottom-width)) 0;\n height: auto;\n overflow: hidden;\n width: 100%;\n background-color: var(--jb-select-bgcolor, #f7f6f6);\n border-radius: 0 0 var(--jb-select-border-radius, 16px) var(--jb-select-border-radius, 16px);\n border: solid 1px var(--jb-select-border-color, var(--p-p-color));\n border-top: none;\n border-bottom: solid 3px var(--jb-select-border-color, var(--p-p-color));\n box-shadow: var(--jb-select-list-box-shadow);\n box-sizing: border-box;\n z-index: calc(var(--p-base-z-index) + 1); }\n .jb-select-web-component .select-list-wrapper.--show {\n display: block; }\n .jb-select-web-component .select-list-wrapper .select-list {\n width: 100%;\n max-height: var(--jb-select-list-max-height, 400px);\n overflow-y: auto;\n padding: var(--jb-select-list-padding, 16px 0); }\n .jb-select-web-component .select-list-wrapper .select-list:empty {\n padding: 0; }\n @media (min-width: 320px) and (max-width: 767px) {\n .jb-select-web-component .select-list-wrapper .select-list {\n max-height: calc(100vh - 240px); } }\n .jb-select-web-component .select-list-wrapper .select-list .select-option {\n min-height: 36px;\n padding: 4px 16px;\n display: flex;\n align-items: center;\n font-size: 0.9em;\n color: var(--jb-select-option-color, inherit);\n background-color: var(--jb-select-option-background-color, transparent); }\n .jb-select-web-component .select-list-wrapper .select-list .select-option:hover {\n background-color: var(--jb-select-option-background-color-hover, #1073db);\n color: var(--jb-select-option-color-hover, #fff);\n cursor: pointer; }\n .jb-select-web-component .select-list-wrapper .select-list .select-option.--selected-option {\n font-weight: 900; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar {\n width: 9px;\n background-color: transparent; }\n .jb-select-web-component .select-list-wrapper .select-list::-webkit-scrollbar-thumb {\n background-color: var(--jb-select-list-scroll-color, #c3c3c3);\n border-radius: var(--jb-select-list-scroll-border-radius, 4px); }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder {\n display: none;\n text-align: center;\n color: #838383;\n font-style: italic;\n padding: 8px 0; }\n .jb-select-web-component .select-list-wrapper .empty-list-placeholder.--show {\n display: block; }\n";
38
38
 
39
39
  var _JBSelectWebComponent_instances, _JBSelectWebComponent_value, _JBSelectWebComponent_textValue, _JBSelectWebComponent_notFindedValue, _JBSelectWebComponent_optionList, _JBSelectWebComponent_displayOptionList, _JBSelectWebComponent_placeholder, _JBSelectWebComponent_searchPlaceholder, _JBSelectWebComponent_setValueFromOutside, _JBSelectWebComponent_createSelectedValueDom;
40
40
  class JBSelectWebComponent extends HTMLElement {
@@ -223,10 +223,17 @@
223
223
  _setValueOnOptionListChanged() {
224
224
  //when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.
225
225
  //in some scenario value is setted before otionList attached so we store it on this._notFindedValue and after option list setted we set value from this._notFindedValue
226
- if (this.value || __classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f")) {
226
+ if (__classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f")) {
227
227
  //if select has no prev value or pending not finded value we dont set it becuase user may input some search terms in input box and developer-user update list base on that value
228
228
  //if we set it to null the search term and this.textvalue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it
229
- __classPrivateFieldGet(this, _JBSelectWebComponent_instances, "m", _JBSelectWebComponent_setValueFromOutside).call(this, this.value || __classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f"));
229
+ const isSetted = __classPrivateFieldGet(this, _JBSelectWebComponent_instances, "m", _JBSelectWebComponent_setValueFromOutside).call(this, __classPrivateFieldGet(this, _JBSelectWebComponent_notFindedValue, "f"));
230
+ if (isSetted) {
231
+ //after list update and when not founded value is found in new option list we clear old not finded value
232
+ __classPrivateFieldSet(this, _JBSelectWebComponent_notFindedValue, null, "f");
233
+ }
234
+ }
235
+ else if (this.value) {
236
+ __classPrivateFieldGet(this, _JBSelectWebComponent_instances, "m", _JBSelectWebComponent_setValueFromOutside).call(this, this.value);
230
237
  }
231
238
  }
232
239
  _setValue(value) {
@@ -475,9 +482,11 @@
475
482
  });
476
483
  if (matchedOption || value == null) {
477
484
  this._setValue(matchedOption);
485
+ return true;
478
486
  }
479
487
  else {
480
488
  __classPrivateFieldSet(this, _JBSelectWebComponent_notFindedValue, value, "f");
489
+ return false;
481
490
  }
482
491
  }, _JBSelectWebComponent_createSelectedValueDom = function _JBSelectWebComponent_createSelectedValueDom(value) {
483
492
  const valueText = this.callbacks.getOptionTitle(value);
@@ -1 +1 @@
1
- {"version":3,"file":"JBSelect.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/JBSelect.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { es } from 'date-fns/locale';\r\nimport HTML from './JBSelect.html';\r\nimport CSS from './JBSelect.scss';\r\nimport { JBSelectCallbacks, JBSelectElements, JBSelectOptionElement } from './Types';\r\nexport class JBSelectWebComponent extends HTMLElement {\r\n #value: any;\r\n #textValue = \"\";\r\n // if user set value and current option list is not contain the option. \r\n // we hold it in _notFindedValue and select value when option value get updated\r\n #notFindedValue: any = null;\r\n required = false;\r\n callbacks: JBSelectCallbacks = {\r\n getOptionTitle: (option) => { return option; },\r\n getOptionValue: (option) => { return option; },\r\n getOptionDOM: null,\r\n getSelectedValueDOM: null,\r\n };\r\n elements!: JBSelectElements;\r\n get value() {\r\n if (this.#value) {\r\n return this.callbacks.getOptionValue(this.#value);\r\n } else {\r\n return null;\r\n }\r\n }\r\n set value(value) {\r\n this.#setValueFromOutside(value);\r\n }\r\n get textValue() {\r\n return this.#textValue;\r\n\r\n }\r\n set textValue(value) {\r\n this.#textValue = value;\r\n this.elements.input.value = value;\r\n this.updateOptionList(value);\r\n }\r\n get selectedOptionTitle() {\r\n if (this.value) {\r\n return this.callbacks.getOptionTitle(this.#value);\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n #optionList:any[] = [];\r\n #displayOptionList:any[] = [];\r\n get optionList() {\r\n return this.#optionList || [];\r\n }\r\n set optionList(value) {\r\n if (!Array.isArray(value)) {\r\n console.error('your provided option list to jb-select is not a array. you must provide array value', { value });\r\n return;\r\n }\r\n this.#optionList = value;\r\n //every time optionList get updated we set our value base on current option list we use _notFindedValue in case of value provided to component before optionList\r\n this.displayOptionList = this.filterOptionList(this.textValue);\r\n this._setValueOnOptionListChanged();\r\n }\r\n #placeholder = \"\";\r\n get placeholder() {\r\n return this.#placeholder;\r\n }\r\n set placeholder(value:string) {\r\n this.#placeholder = value;\r\n this.elements.input.placeholder = value;\r\n }\r\n //on mobile device when search modla open this will appear on searchbox\r\n #searchPlaceholder = \"search\"\r\n get searchPlaceholder(){\r\n return this.#searchPlaceholder;\r\n }\r\n set searchPlaceholder(value){\r\n this.#searchPlaceholder = value;\r\n }\r\n get displayOptionList() {\r\n return this.#displayOptionList;\r\n }\r\n set displayOptionList(value:any[]){\r\n if(Array.isArray(value) && value.length == 0){\r\n this.elements.emptyListPlaceholder.classList.add('--show');\r\n }else if(Array.isArray(value)){\r\n this.elements.emptyListPlaceholder.classList.remove('--show');\r\n }\r\n this.#displayOptionList = value;\r\n this.updateOptionListDOM();\r\n }\r\n get isMobileDevice() { return /Mobi/i.test(window.navigator.userAgent); }\r\n get isOpen(){ return this.elements.componentWrapper.classList.contains('--focused');}\r\n\r\n constructor() {\r\n\r\n super();\r\n this.initWebComponent();\r\n this.initProp();\r\n\r\n }\r\n connectedCallback() {\r\n // standard web component event that called when all of dom is binded\r\n this.callOnLoadEvent();\r\n this.callOnInitEvent();\r\n }\r\n callOnInitEvent() {\r\n const event = new CustomEvent('init', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n callOnLoadEvent() {\r\n const event = new CustomEvent('load', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n initWebComponent() {\r\n const shadowRoot = this.attachShadow({\r\n mode: 'open'\r\n });\r\n const html = `<style>${CSS}</style>` + '\\n' + HTML;\r\n const element = document.createElement('template');\r\n element.innerHTML = html;\r\n shadowRoot.appendChild(element.content.cloneNode(true));\r\n this.elements = {\r\n input: shadowRoot.querySelector('.select-box input')!,\r\n componentWrapper: shadowRoot.querySelector('.jb-select-web-component')!,\r\n selectedValueWrapper: shadowRoot.querySelector('.selected-value-wrapper')!,\r\n messageBox: shadowRoot.querySelector('.message-box')!,\r\n optionList: shadowRoot.querySelector('.select-list')!,\r\n optionListWrapper: shadowRoot.querySelector('.select-list-wrapper')!,\r\n arrowIcon: shadowRoot.querySelector('.arrow-icon')!,\r\n label:{\r\n wrapper: shadowRoot.querySelector('label')!,\r\n text: shadowRoot.querySelector('label .label-value')!,\r\n },\r\n emptyListPlaceholder: shadowRoot.querySelector('.empty-list-placeholder')!,\r\n };\r\n this.registerEventListener();\r\n\r\n }\r\n registerEventListener() {\r\n this.elements.input.addEventListener('change', (e)=>{this.onInputChange(e);});\r\n this.elements.input.addEventListener('keypress', this.onInputKeyPress.bind(this));\r\n this.elements.input.addEventListener('keyup', this.onInputKeyup.bind(this));\r\n this.elements.input.addEventListener('beforeinput', this.onInputBeforeInput.bind(this));\r\n this.elements.input.addEventListener('input', (e)=>{this.onInputInput(e as unknown as InputEvent);});\r\n this.elements.input.addEventListener('focus', this.onInputFocus.bind(this));\r\n this.elements.input.addEventListener('blur', this.onInputBlur.bind(this));\r\n this.elements.arrowIcon.addEventListener('click', this.onArrowKeyClick.bind(this));\r\n }\r\n initProp() {\r\n this.textValue = '';\r\n this.value = this.getAttribute('value') || null;\r\n }\r\n static get observedAttributes() {\r\n return ['label', 'message', 'value', 'required', 'placeholder', 'search-placeholder'];\r\n }\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // do something when an attribute has changed\r\n this.onAttributeChange(name, newValue);\r\n }\r\n onAttributeChange(name, value) {\r\n switch (name) {\r\n case 'label':\r\n this.elements.label.text.innerHTML = value;\r\n if (value == null || value == undefined || value == \"\") {\r\n this.elements.label.wrapper.classList.add('--hide');\r\n } else {\r\n this.elements.label.wrapper.classList.remove('--hide');\r\n }\r\n break;\r\n case 'message':\r\n this.elements.messageBox.innerHTML = value;\r\n break;\r\n case 'value':\r\n this.#setValueFromOutside(value);\r\n break;\r\n case 'required':\r\n if (value === \"\" || value == \"true\" || value == true) {\r\n this.required = true;\r\n } else {\r\n this.required = false;\r\n }\r\n break;\r\n case 'placeholder':\r\n this.placeholder = value;\r\n break;\r\n case 'search-placeholder':\r\n this.searchPlaceholder = value;\r\n break;\r\n }\r\n\r\n }\r\n _setValueOnOptionListChanged() {\r\n //when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.\r\n //in some scenario value is setted before otionList attached so we store it on this._notFindedValue and after option list setted we set value from this._notFindedValue\r\n if (this.value || this.#notFindedValue) {\r\n //if select has no prev value or pending not finded value we dont set it becuase user may input some search terms in input box and developer-user update list base on that value\r\n //if we set it to null the search term and this.textvalue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it\r\n this.#setValueFromOutside(this.value || this.#notFindedValue);\r\n }\r\n }\r\n #setValueFromOutside(value:any) {\r\n //when user set value by attribute or value prop directly we call this function\r\n const matchedOption = this.optionList.find((option) => { // if we have value mapper we set selected value by object that match mapper\r\n if (this.callbacks.getOptionValue(option) == value) {\r\n return option;\r\n }\r\n });\r\n if (matchedOption || value == null) {\r\n this._setValue(matchedOption);\r\n } else {\r\n this.#notFindedValue = value;\r\n }\r\n\r\n }\r\n _setValue(value:any) {\r\n this.#notFindedValue = null;\r\n this.#value = value;\r\n if ((value == null || value == undefined)) {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(null);\r\n this.elements.componentWrapper.classList.remove('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.placeholder);\r\n }\r\n } else {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(value);\r\n this.elements.componentWrapper.classList.add('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', '');\r\n }\r\n }\r\n //if user select an option we rest filter so user see all option again when open a select\r\n this.updateOptionList('');\r\n }\r\n onArrowKeyClick() {\r\n if (this.isOpen) {\r\n this.blur();\r\n } else {\r\n this.focus();\r\n }\r\n }\r\n onInputKeyPress() {\r\n //TODO: raise keypress event\r\n }\r\n onInputBeforeInput(e:InputEvent) {\r\n const inputedText = e.data || '';\r\n }\r\n onInputInput(e:InputEvent) {\r\n const inputedText = (e.target as HTMLInputElement).value;\r\n this.textValue = inputedText;\r\n this.handleSelectedValueDisplay(inputedText);\r\n }\r\n onInputKeyup(e:KeyboardEvent) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update #value directly becuase we want trigger event that may read value directly from dom\r\n if (e.key === \"Backspace\" || e.key === \"Delete\") {\r\n //becuase on keyprees dont recieve backspace key press\r\n this.handleSelectedValueDisplay(inputText);\r\n }\r\n\r\n this.triggerOnInputKeyup(e);\r\n\r\n }\r\n handleSelectedValueDisplay(inputValue:string) {\r\n if (inputValue !== \"\") {\r\n this.elements.selectedValueWrapper.classList.add('--search-typed');\r\n } else {\r\n this.elements.selectedValueWrapper.classList.remove('--search-typed');\r\n }\r\n }\r\n triggerOnInputKeyup(e:KeyboardEvent) {\r\n const event = new KeyboardEvent('keyup', {\r\n altKey: e.altKey,\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n code: e.code,\r\n ctrlKey: e.ctrlKey,\r\n detail: e.detail,\r\n key: e.key,\r\n shiftKey: e.shiftKey,\r\n charCode: e.charCode,\r\n location: e.location,\r\n composed: e.composed,\r\n isComposing: e.isComposing,\r\n metaKey: e.metaKey,\r\n repeat: e.repeat,\r\n keyCode: e.keyCode,\r\n view: e.view\r\n });\r\n this.dispatchEvent(event);\r\n }\r\n onInputChange(e: Event) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update _text_value directly becuase we want trigger event that may read value directly from dom\r\n this.#textValue = inputText;\r\n }\r\n onInputFocus() {\r\n this.focus();\r\n }\r\n onInputBlur(e: FocusEvent) {\r\n const focusedElement = <Node>(e.relatedTarget);\r\n if (this.elements.optionListWrapper.contains(focusedElement) || this.elements.arrowIcon.contains(focusedElement)) {\r\n //user click on a menu item\r\n } else {\r\n this.blur();\r\n }\r\n }\r\n focus() {\r\n this.elements.input.focus();\r\n this.showOptionList();\r\n this.elements.componentWrapper.classList.add('--focused');\r\n if(this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.#searchPlaceholder);\r\n }\r\n\r\n }\r\n blur() {\r\n this.elements.componentWrapper.classList.remove('--focused');\r\n this.textValue = \"\";\r\n this.handleSelectedValueDisplay('');\r\n this.hideOptionList();\r\n this.triggerInputValidation();\r\n if(this.isMobileDevice){\r\n if(this.value){\r\n this.elements.input.placeholder = \"\";\r\n }else{\r\n this.elements.input.placeholder = this.placeholder;\r\n }\r\n }\r\n this.elements.input.blur();\r\n }\r\n showOptionList() {\r\n this.elements.optionListWrapper.classList.add('--show');\r\n }\r\n hideOptionList() {\r\n this.elements.optionListWrapper.classList.remove('--show');\r\n }\r\n updateOptionList(filterText:string) {\r\n this.displayOptionList = this.filterOptionList(filterText);\r\n }\r\n updateOptionListDOM() {\r\n const optionDomList: HTMLElement[] = [];\r\n this.displayOptionList.forEach((item) => {\r\n const optionDOM = this.createOptionDOM(item);\r\n optionDomList.push(optionDOM);\r\n });\r\n this.elements.optionList.innerHTML = '';\r\n optionDomList.forEach(optionElement => { this.elements.optionList.appendChild(optionElement); });\r\n\r\n\r\n }\r\n createOptionDOM(item:any):JBSelectOptionElement{\r\n let optionDOM: JBSelectOptionElement | null = null;\r\n const isSelected = this.callbacks.getOptionValue(this.value) == this.callbacks.getOptionValue(item);\r\n if (typeof this.callbacks.getOptionDOM == 'function') {\r\n optionDOM = this.callbacks.getOptionDOM(item, this.onOptionClicked.bind(this),isSelected);\r\n } else {\r\n optionDOM = this._createOptionDom(item, isSelected);\r\n }\r\n optionDOM.value = item;\r\n return optionDOM;\r\n }\r\n\r\n _createOptionDom(item:any, isSelected:boolean):JBSelectOptionElement{\r\n const optionElement = document.createElement('div');\r\n optionElement.classList.add('select-option');\r\n if(isSelected){\r\n optionElement.classList.add('--selected-option'); \r\n }\r\n //it has defualt function who return wxact same input\r\n optionElement.innerHTML = this.callbacks.getOptionTitle(item);\r\n optionElement.addEventListener('click', this.onOptionClicked.bind(this));\r\n return optionElement;\r\n }\r\n onOptionClicked(e:MouseEvent) {\r\n const value = (e.currentTarget as JBSelectOptionElement).value;\r\n this.selectOption(value);\r\n this.blur();\r\n this._triggerOnChangeEvent();\r\n }\r\n selectOption(value:any) {\r\n this._setValue(value);\r\n this.triggerInputValidation();\r\n }\r\n filterOptionList(filterString:string):any[] {\r\n const displayOptionList: any[] = [];\r\n this.optionList.filter((option) => {\r\n const optionTitle = this.callbacks.getOptionTitle(option);\r\n const isString = typeof optionTitle == 'string';\r\n if (isString && optionTitle.includes(filterString)) {\r\n displayOptionList.push(option);\r\n }\r\n if (!isString) {\r\n console.warn(\"the provided values for optionsList is not of type string.\", { option, title: optionTitle });\r\n }\r\n });\r\n return displayOptionList;\r\n }\r\n triggerInputValidation(showError = true) {\r\n // this method is public and used outside of component to check if field validity param are met\r\n let errorType = '';\r\n let requiredValid = true;\r\n if (this.required) {\r\n\r\n requiredValid = this.value != null;\r\n if (!requiredValid) {\r\n errorType = 'REQUIRED';\r\n }\r\n }\r\n const isAllValid = requiredValid; //& other validation if they added\r\n if (isAllValid) {\r\n this.clearValidationError();\r\n } else if (showError) {\r\n this.showValidationError(errorType);\r\n }\r\n return {\r\n isAllValid\r\n };\r\n }\r\n showValidationError(errorType) {\r\n if (errorType == 'REQUIRED') {\r\n const label = this.getAttribute('label');\r\n this.elements.messageBox.innerHTML = `${label} حتما باید انتخاب شود`;\r\n this.elements.messageBox.classList.add('--error');\r\n }\r\n }\r\n clearValidationError() {\r\n this.elements.messageBox.innerHTML = this.getAttribute('message') || '';\r\n this.elements.messageBox.classList.remove('--error');\r\n\r\n }\r\n _triggerOnChangeEvent() {\r\n const event = new Event(\"change\");\r\n this.dispatchEvent(event);\r\n }\r\n setSelectedOptionDom(value:any) {\r\n //when user select option or value changed in any condition we set selected option DOM\r\n this.elements.selectedValueWrapper.innerHTML = '';\r\n //if value was null or undifined it remain empty\r\n if (value !== null && value !== undefined) {\r\n const selectedOptionDom = this.createSelectedValueDom(value);\r\n this.elements.selectedValueWrapper.appendChild(selectedOptionDom);\r\n }\r\n }\r\n private createSelectedValueDom(value:any) {\r\n if (typeof this.callbacks.getSelectedValueDOM == 'function') {\r\n return this.callbacks.getSelectedValueDOM(value);\r\n } else {\r\n return this.#createSelectedValueDom(value);\r\n }\r\n }\r\n #createSelectedValueDom(value:any) {\r\n const valueText = this.callbacks.getOptionTitle(value);\r\n const selectedOptionDom = document.createElement('div');\r\n selectedOptionDom.classList.add('selected-value');\r\n selectedOptionDom.innerHTML = valueText;\r\n return selectedOptionDom;\r\n }\r\n}\r\nconst myElementNotExists = !customElements.get('jb-select');\r\nif (myElementNotExists) {\r\n //prevent duplicate registering\r\n window.customElements.define('jb-select', JBSelectWebComponent);\r\n}\r\n"],"names":["CSS"],"mappings":";;;;;;IAAA;IACA;AACA;IACA;IACA;AACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;AAsQA;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;IACjE,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACjG,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;IACvL,IAAI,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,CAAC;AACD;IACO,SAAS,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE;IACxE,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAC5E,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;IACjG,IAAI,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;IACtL,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;IAC9G;;;;;;;IC3RM,MAAO,oBAAqB,SAAQ,WAAW,CAAA;IAcjD,IAAA,IAAI,KAAK,GAAA;YACL,IAAI,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAA,GAAA,CAAO,EAAE;gBACb,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,sBAAA,CAAA,IAAI,EAAO,2BAAA,EAAA,GAAA,CAAA,CAAC,CAAC;IACrD,SAAA;IAAM,aAAA;IACH,YAAA,OAAO,IAAI,CAAC;IACf,SAAA;SACJ;QACD,IAAI,KAAK,CAAC,KAAK,EAAA;IACX,QAAA,sBAAA,CAAA,IAAI,EAAqB,+BAAA,EAAA,GAAA,EAAA,yCAAA,CAAA,CAAA,IAAA,CAAzB,IAAI,EAAsB,KAAK,CAAC,CAAC;SACpC;IACD,IAAA,IAAI,SAAS,GAAA;YACT,OAAO,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAA,GAAA,CAAW,CAAC;SAE1B;QACD,IAAI,SAAS,CAAC,KAAK,EAAA;IACf,QAAA,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAc,KAAK,EAAA,GAAA,CAAA,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,QAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAChC;IACD,IAAA,IAAI,mBAAmB,GAAA;YACnB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,sBAAA,CAAA,IAAI,EAAO,2BAAA,EAAA,GAAA,CAAA,CAAC,CAAC;IACrD,SAAA;IAAM,aAAA;IACH,YAAA,OAAO,EAAE,CAAC;IACb,SAAA;SACJ;IAGD,IAAA,IAAI,UAAU,GAAA;IACV,QAAA,OAAO,sBAAA,CAAA,IAAI,EAAY,gCAAA,EAAA,GAAA,CAAA,IAAI,EAAE,CAAC;SACjC;QACD,IAAI,UAAU,CAAC,KAAK,EAAA;IAChB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACvB,OAAO,CAAC,KAAK,CAAC,qFAAqF,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChH,OAAO;IACV,SAAA;IACD,QAAA,sBAAA,CAAA,IAAI,EAAA,gCAAA,EAAe,KAAK,EAAA,GAAA,CAAA,CAAC;;YAEzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,4BAA4B,EAAE,CAAC;SACvC;IAED,IAAA,IAAI,WAAW,GAAA;YACX,OAAO,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAA,GAAA,CAAa,CAAC;SAC5B;QACD,IAAI,WAAW,CAAC,KAAY,EAAA;IACxB,QAAA,sBAAA,CAAA,IAAI,EAAA,iCAAA,EAAgB,KAAK,EAAA,GAAA,CAAA,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;SAC3C;IAGD,IAAA,IAAI,iBAAiB,GAAA;YACjB,OAAO,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAA,GAAA,CAAmB,CAAC;SAClC;QACD,IAAI,iBAAiB,CAAC,KAAK,EAAA;IACvB,QAAA,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAsB,KAAK,EAAA,GAAA,CAAA,CAAC;SACnC;IACD,IAAA,IAAI,iBAAiB,GAAA;YACjB,OAAO,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAA,GAAA,CAAmB,CAAC;SAClC;QACD,IAAI,iBAAiB,CAAC,KAAW,EAAA;IAC7B,QAAA,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9D,SAAA;IAAK,aAAA,IAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjE,SAAA;IACD,QAAA,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAsB,KAAK,EAAA,GAAA,CAAA,CAAC;YAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC9B;IACD,IAAA,IAAI,cAAc,GAAA,EAAK,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE;IACzE,IAAA,IAAI,MAAM,GAAI,EAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EAAC;IAErF,IAAA,WAAA,GAAA;IAEI,QAAA,KAAK,EAAE,CAAC;;YAvFZ,2BAAY,CAAA,GAAA,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IACZ,QAAA,+BAAA,CAAA,GAAA,CAAA,IAAA,EAAa,EAAE,CAAC,CAAA;;;IAGhB,QAAA,oCAAA,CAAA,GAAA,CAAA,IAAA,EAAuB,IAAI,CAAC,CAAA;YAC5B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;IACjB,QAAA,IAAA,CAAA,SAAS,GAAsB;gBAC3B,cAAc,EAAE,CAAC,MAAM,OAAO,OAAO,MAAM,CAAC,EAAE;gBAC9C,cAAc,EAAE,CAAC,MAAM,OAAO,OAAO,MAAM,CAAC,EAAE;IAC9C,YAAA,YAAY,EAAE,IAAI;IAClB,YAAA,mBAAmB,EAAE,IAAI;aAC5B,CAAC;IA4BF,QAAA,gCAAA,CAAA,GAAA,CAAA,IAAA,EAAoB,EAAE,CAAC,CAAA;IACvB,QAAA,uCAAA,CAAA,GAAA,CAAA,IAAA,EAA2B,EAAE,CAAC,CAAA;IAc9B,QAAA,iCAAA,CAAA,GAAA,CAAA,IAAA,EAAe,EAAE,CAAC,CAAA;;IASlB,QAAA,uCAAA,CAAA,GAAA,CAAA,IAAA,EAAqB,QAAQ,CAAA,CAAA;YAyBzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;SAEnB;QACD,iBAAiB,GAAA;;YAEb,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;QACD,eAAe,GAAA;IACX,QAAA,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,eAAe,GAAA;IACX,QAAA,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,gBAAgB,GAAA;IACZ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;IACjC,YAAA,IAAI,EAAE,MAAM;IACf,SAAA,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAU,OAAA,EAAAA,QAAG,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;YACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,QAAA,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IACzB,QAAA,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,GAAG;IACZ,YAAA,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,mBAAmB,CAAE;IACrD,YAAA,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,0BAA0B,CAAE;IACvE,YAAA,oBAAoB,EAAE,UAAU,CAAC,aAAa,CAAC,yBAAyB,CAAE;IAC1E,YAAA,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc,CAAE;IACrD,YAAA,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc,CAAE;IACrD,YAAA,iBAAiB,EAAE,UAAU,CAAC,aAAa,CAAC,sBAAsB,CAAE;IACpE,YAAA,SAAS,EAAE,UAAU,CAAC,aAAa,CAAC,aAAa,CAAE;IACnD,YAAA,KAAK,EAAC;IACF,gBAAA,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,OAAO,CAAE;IAC3C,gBAAA,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAE;IACxD,aAAA;IACD,YAAA,oBAAoB,EAAE,UAAU,CAAC,aAAa,CAAC,yBAAyB,CAAE;aAC7E,CAAC;YACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAEhC;QACD,qBAAqB,GAAA;YACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAI,EAAA,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;IAC9E,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI,EAAA,IAAI,CAAC,YAAY,CAAC,CAA0B,CAAC,CAAC,EAAC,CAAC,CAAC;IACrG,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACtF;QACD,QAAQ,GAAA;IACJ,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;SACnD;IACD,IAAA,WAAW,kBAAkB,GAAA;IACzB,QAAA,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,oBAAoB,CAAC,CAAC;SACzF;IACD,IAAA,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAA;;IAE7C,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;SAC1C;QACD,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAA;IACzB,QAAA,QAAQ,IAAI;IACR,YAAA,KAAK,OAAO;oBACR,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBAC3C,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE,EAAE;IACpD,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvD,iBAAA;IAAM,qBAAA;IACH,oBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1D,iBAAA;oBACD,MAAM;IACV,YAAA,KAAK,SAAS;oBACV,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,KAAK,CAAC;oBAC3C,MAAM;IACV,YAAA,KAAK,OAAO;IACR,gBAAA,sBAAA,CAAA,IAAI,EAAqB,+BAAA,EAAA,GAAA,EAAA,yCAAA,CAAA,CAAA,IAAA,CAAzB,IAAI,EAAsB,KAAK,CAAC,CAAC;oBACjC,MAAM;IACV,YAAA,KAAK,UAAU;oBACX,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,IAAI,EAAE;IAClD,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACxB,iBAAA;IAAM,qBAAA;IACH,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACzB,iBAAA;oBACD,MAAM;IACV,YAAA,KAAK,aAAa;IACd,gBAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;oBACzB,MAAM;IACV,YAAA,KAAK,oBAAoB;IACrB,gBAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;oBAC/B,MAAM;IACb,SAAA;SAEJ;QACD,4BAA4B,GAAA;;;IAGxB,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,sBAAA,CAAA,IAAI,4CAAgB,EAAE;;;IAGpC,YAAA,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAA,GAAA,EAAA,yCAAA,CAAqB,CAAzB,IAAA,CAAA,IAAI,EAAsB,IAAI,CAAC,KAAK,IAAI,sBAAA,CAAA,IAAI,EAAA,oCAAA,EAAA,GAAA,CAAgB,CAAC,CAAC;IACjE,SAAA;SACJ;IAeD,IAAA,SAAS,CAAC,KAAS,EAAA;IACf,QAAA,sBAAA,CAAA,IAAI,EAAA,oCAAA,EAAmB,IAAI,EAAA,GAAA,CAAA,CAAC;IAC5B,QAAA,sBAAA,CAAA,IAAI,EAAA,2BAAA,EAAU,KAAK,EAAA,GAAA,CAAA,CAAC;YACpB,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,GAAG;IACvC,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACpB,YAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/D,YAAA,IAAG,CAAC,IAAI,CAAC,cAAc,EAAC;IACpB,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACrE,aAAA;IACJ,SAAA;IAAM,aAAA;IACH,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACpB,YAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5D,YAAA,IAAG,CAAC,IAAI,CAAC,cAAc,EAAC;oBACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACvD,aAAA;IACJ,SAAA;;IAED,QAAA,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;SAC7B;QACD,eAAe,GAAA;YACX,IAAI,IAAI,CAAC,MAAM,EAAE;gBACb,IAAI,CAAC,IAAI,EAAE,CAAC;IACf,SAAA;IAAM,aAAA;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;IAChB,SAAA;SACJ;QACD,eAAe,GAAA;;SAEd;IACD,IAAA,kBAAkB,CAAC,CAAY,EAAA;IAC3B,QAAoB,CAAC,CAAC,IAAI,IAAI,GAAG;SACpC;IACD,IAAA,YAAY,CAAC,CAAY,EAAA;IACrB,QAAA,MAAM,WAAW,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;IACzD,QAAA,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;IAC7B,QAAA,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,CAAC;SAChD;IACD,IAAA,YAAY,CAAC,CAAe,EAAA;IACxB,QAAA,MAAM,SAAS,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;;YAEvD,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE;;IAE7C,YAAA,IAAI,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;IAC9C,SAAA;IAED,QAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;SAE/B;IACD,IAAA,0BAA0B,CAAC,UAAiB,EAAA;YACxC,IAAI,UAAU,KAAK,EAAE,EAAE;gBACnB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACtE,SAAA;IAAM,aAAA;gBACH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACzE,SAAA;SACJ;IACD,IAAA,mBAAmB,CAAC,CAAe,EAAA;IAC/B,QAAA,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE;gBACrC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;IACf,SAAA,CAAC,CAAC;IACH,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7B;IACD,IAAA,aAAa,CAAC,CAAQ,EAAA;IAClB,QAAA,MAAM,SAAS,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;;IAEvD,QAAA,sBAAA,CAAA,IAAI,EAAA,+BAAA,EAAc,SAAS,EAAA,GAAA,CAAA,CAAC;SAC/B;QACD,YAAY,GAAA;YACR,IAAI,CAAC,KAAK,EAAE,CAAC;SAChB;IACD,IAAA,WAAW,CAAC,CAAa,EAAA;IACrB,QAAA,MAAM,cAAc,IAAU,CAAC,CAAC,aAAa,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAEjH;IAAM,aAAA;gBACH,IAAI,CAAC,IAAI,EAAE,CAAC;IACf,SAAA;SACJ;QACD,KAAK,GAAA;IACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAG,IAAI,CAAC,cAAc,EAAC;IACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,sBAAA,CAAA,IAAI,EAAA,uCAAA,EAAA,GAAA,CAAmB,CAAC,CAAC;IAC5E,SAAA;SAEJ;QACD,IAAI,GAAA;YACA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7D,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACpB,QAAA,IAAI,CAAC,0BAA0B,CAAC,EAAE,CAAC,CAAC;YACpC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAG,IAAI,CAAC,cAAc,EAAC;gBACnB,IAAG,IAAI,CAAC,KAAK,EAAC;oBACV,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;IACxC,aAAA;IAAI,iBAAA;oBACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACtD,aAAA;IACJ,SAAA;IACD,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC9B;QACD,cAAc,GAAA;YACV,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC3D;QACD,cAAc,GAAA;YACV,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC9D;IACD,IAAA,gBAAgB,CAAC,UAAiB,EAAA;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;SAC9D;QACD,mBAAmB,GAAA;YACf,MAAM,aAAa,GAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;gBACpC,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7C,YAAA,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,SAAC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,EAAE,CAAC;YACxC,aAAa,CAAC,OAAO,CAAC,aAAa,IAAG,EAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;SAGpG;IACD,IAAA,eAAe,CAAC,IAAQ,EAAA;YACpB,IAAI,SAAS,GAAiC,IAAI,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACpG,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,UAAU,EAAE;gBAClD,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,UAAU,CAAC,CAAC;IAC7F,SAAA;IAAM,aAAA;gBACH,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACvD,SAAA;IACD,QAAA,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;IACvB,QAAA,OAAO,SAAS,CAAC;SACpB;QAED,gBAAgB,CAAC,IAAQ,EAAE,UAAkB,EAAA;YACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpD,QAAA,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC7C,QAAA,IAAG,UAAU,EAAC;IACV,YAAA,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACpD,SAAA;;YAED,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9D,QAAA,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,QAAA,OAAO,aAAa,CAAC;SACxB;IACD,IAAA,eAAe,CAAC,CAAY,EAAA;IACxB,QAAA,MAAM,KAAK,GAAI,CAAC,CAAC,aAAuC,CAAC,KAAK,CAAC;IAC/D,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAChC;IACD,IAAA,YAAY,CAAC,KAAS,EAAA;IAClB,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;SACjC;IACD,IAAA,gBAAgB,CAAC,YAAmB,EAAA;YAChC,MAAM,iBAAiB,GAAU,EAAE,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,KAAI;gBAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1D,YAAA,MAAM,QAAQ,GAAG,OAAO,WAAW,IAAI,QAAQ,CAAC;gBAChD,IAAI,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;IAChD,gBAAA,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,aAAA;gBACD,IAAI,CAAC,QAAQ,EAAE;IACX,gBAAA,OAAO,CAAC,IAAI,CAAC,4DAA4D,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9G,aAAA;IACL,SAAC,CAAC,CAAC;IACH,QAAA,OAAO,iBAAiB,CAAC;SAC5B;QACD,sBAAsB,CAAC,SAAS,GAAG,IAAI,EAAA;;YAEnC,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,IAAI,aAAa,GAAG,IAAI,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE;IAEf,YAAA,aAAa,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;gBACnC,IAAI,CAAC,aAAa,EAAE;oBAChB,SAAS,GAAG,UAAU,CAAC;IAC1B,aAAA;IACJ,SAAA;IACD,QAAA,MAAM,UAAU,GAAG,aAAa,CAAC;IACjC,QAAA,IAAI,UAAU,EAAE;gBACZ,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC/B,SAAA;IAAM,aAAA,IAAI,SAAS,EAAE;IAClB,YAAA,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACvC,SAAA;YACD,OAAO;gBACH,UAAU;aACb,CAAC;SACL;IACD,IAAA,mBAAmB,CAAC,SAAS,EAAA;YACzB,IAAI,SAAS,IAAI,UAAU,EAAE;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,CAAA,EAAG,KAAK,CAAA,qBAAA,CAAuB,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACrD,SAAA;SACJ;QACD,oBAAoB,GAAA;IAChB,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;SAExD;QACD,qBAAqB,GAAA;IACjB,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC7B;IACD,IAAA,oBAAoB,CAAC,KAAS,EAAA;;YAE1B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,GAAG,EAAE,CAAC;;IAElD,QAAA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvC,MAAM,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACrE,SAAA;SACJ;IACO,IAAA,sBAAsB,CAAC,KAAS,EAAA;YACpC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,IAAI,UAAU,EAAE;gBACzD,OAAO,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACpD,SAAA;IAAM,aAAA;gBACH,OAAO,sBAAA,CAAA,IAAI,EAAwB,+BAAA,EAAA,GAAA,EAAA,4CAAA,CAAA,CAAA,IAAA,CAA5B,IAAI,EAAyB,KAAK,CAAC,CAAC;IAC9C,SAAA;SACJ;IAQJ,CAAA;+fAnQwB,KAAS,EAAA;;QAE1B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,KAAI;YAClD,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE;IAChD,YAAA,OAAO,MAAM,CAAC;IACjB,SAAA;IACL,KAAC,CAAC,CAAC;IACH,IAAA,IAAI,aAAa,IAAI,KAAK,IAAI,IAAI,EAAE;IAChC,QAAA,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IACjC,KAAA;IAAM,SAAA;IACH,QAAA,sBAAA,CAAA,IAAI,EAAA,oCAAA,EAAmB,KAAK,EAAA,GAAA,CAAA,CAAC;IAChC,KAAA;IAEL,CAAC,uGA+OuB,KAAS,EAAA;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACvD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,IAAA,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClD,IAAA,iBAAiB,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,IAAA,OAAO,iBAAiB,CAAC;IAC7B,CAAC,CAAA;IAEL,MAAM,kBAAkB,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5D,IAAI,kBAAkB,EAAE;;QAEpB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;IACnE;;;;;;;;;;"}
1
+ {"version":3,"file":"JBSelect.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/JBSelect.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { es } from 'date-fns/locale';\r\nimport HTML from './JBSelect.html';\r\nimport CSS from './JBSelect.scss';\r\nimport { JBSelectCallbacks, JBSelectElements, JBSelectOptionElement } from './Types';\r\nexport class JBSelectWebComponent extends HTMLElement {\r\n #value: any;\r\n #textValue = \"\";\r\n // if user set value and current option list is not contain the option. \r\n // we hold it in _notFindedValue and select value when option value get updated\r\n #notFindedValue: any = null;\r\n required = false;\r\n callbacks: JBSelectCallbacks = {\r\n getOptionTitle: (option) => { return option; },\r\n getOptionValue: (option) => { return option; },\r\n getOptionDOM: null,\r\n getSelectedValueDOM: null,\r\n };\r\n elements!: JBSelectElements;\r\n get value() {\r\n if (this.#value) {\r\n return this.callbacks.getOptionValue(this.#value);\r\n } else {\r\n return null;\r\n }\r\n }\r\n set value(value) {\r\n this.#setValueFromOutside(value);\r\n }\r\n get textValue() {\r\n return this.#textValue;\r\n\r\n }\r\n set textValue(value) {\r\n this.#textValue = value;\r\n this.elements.input.value = value;\r\n this.updateOptionList(value);\r\n }\r\n get selectedOptionTitle() {\r\n if (this.value) {\r\n return this.callbacks.getOptionTitle(this.#value);\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n #optionList:any[] = [];\r\n #displayOptionList:any[] = [];\r\n get optionList() {\r\n return this.#optionList || [];\r\n }\r\n set optionList(value) {\r\n if (!Array.isArray(value)) {\r\n console.error('your provided option list to jb-select is not a array. you must provide array value', { value });\r\n return;\r\n }\r\n this.#optionList = value;\r\n //every time optionList get updated we set our value base on current option list we use _notFindedValue in case of value provided to component before optionList\r\n this.displayOptionList = this.filterOptionList(this.textValue);\r\n this._setValueOnOptionListChanged();\r\n }\r\n #placeholder = \"\";\r\n get placeholder() {\r\n return this.#placeholder;\r\n }\r\n set placeholder(value:string) {\r\n this.#placeholder = value;\r\n this.elements.input.placeholder = value;\r\n }\r\n //on mobile device when search modla open this will appear on searchbox\r\n #searchPlaceholder = \"search\"\r\n get searchPlaceholder(){\r\n return this.#searchPlaceholder;\r\n }\r\n set searchPlaceholder(value){\r\n this.#searchPlaceholder = value;\r\n }\r\n get displayOptionList() {\r\n return this.#displayOptionList;\r\n }\r\n set displayOptionList(value:any[]){\r\n if(Array.isArray(value) && value.length == 0){\r\n this.elements.emptyListPlaceholder.classList.add('--show');\r\n }else if(Array.isArray(value)){\r\n this.elements.emptyListPlaceholder.classList.remove('--show');\r\n }\r\n this.#displayOptionList = value;\r\n this.updateOptionListDOM();\r\n }\r\n get isMobileDevice() { return /Mobi/i.test(window.navigator.userAgent); }\r\n get isOpen(){ return this.elements.componentWrapper.classList.contains('--focused');}\r\n\r\n constructor() {\r\n\r\n super();\r\n this.initWebComponent();\r\n this.initProp();\r\n\r\n }\r\n connectedCallback() {\r\n // standard web component event that called when all of dom is binded\r\n this.callOnLoadEvent();\r\n this.callOnInitEvent();\r\n }\r\n callOnInitEvent() {\r\n const event = new CustomEvent('init', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n callOnLoadEvent() {\r\n const event = new CustomEvent('load', { bubbles: true, composed: true });\r\n this.dispatchEvent(event);\r\n }\r\n initWebComponent() {\r\n const shadowRoot = this.attachShadow({\r\n mode: 'open'\r\n });\r\n const html = `<style>${CSS}</style>` + '\\n' + HTML;\r\n const element = document.createElement('template');\r\n element.innerHTML = html;\r\n shadowRoot.appendChild(element.content.cloneNode(true));\r\n this.elements = {\r\n input: shadowRoot.querySelector('.select-box input')!,\r\n componentWrapper: shadowRoot.querySelector('.jb-select-web-component')!,\r\n selectedValueWrapper: shadowRoot.querySelector('.selected-value-wrapper')!,\r\n messageBox: shadowRoot.querySelector('.message-box')!,\r\n optionList: shadowRoot.querySelector('.select-list')!,\r\n optionListWrapper: shadowRoot.querySelector('.select-list-wrapper')!,\r\n arrowIcon: shadowRoot.querySelector('.arrow-icon')!,\r\n label:{\r\n wrapper: shadowRoot.querySelector('label')!,\r\n text: shadowRoot.querySelector('label .label-value')!,\r\n },\r\n emptyListPlaceholder: shadowRoot.querySelector('.empty-list-placeholder')!,\r\n };\r\n this.registerEventListener();\r\n\r\n }\r\n registerEventListener() {\r\n this.elements.input.addEventListener('change', (e)=>{this.onInputChange(e);});\r\n this.elements.input.addEventListener('keypress', this.onInputKeyPress.bind(this));\r\n this.elements.input.addEventListener('keyup', this.onInputKeyup.bind(this));\r\n this.elements.input.addEventListener('beforeinput', this.onInputBeforeInput.bind(this));\r\n this.elements.input.addEventListener('input', (e)=>{this.onInputInput(e as unknown as InputEvent);});\r\n this.elements.input.addEventListener('focus', this.onInputFocus.bind(this));\r\n this.elements.input.addEventListener('blur', this.onInputBlur.bind(this));\r\n this.elements.arrowIcon.addEventListener('click', this.onArrowKeyClick.bind(this));\r\n }\r\n initProp() {\r\n this.textValue = '';\r\n this.value = this.getAttribute('value') || null;\r\n }\r\n static get observedAttributes() {\r\n return ['label', 'message', 'value', 'required', 'placeholder', 'search-placeholder'];\r\n }\r\n attributeChangedCallback(name, oldValue, newValue) {\r\n // do something when an attribute has changed\r\n this.onAttributeChange(name, newValue);\r\n }\r\n onAttributeChange(name, value) {\r\n switch (name) {\r\n case 'label':\r\n this.elements.label.text.innerHTML = value;\r\n if (value == null || value == undefined || value == \"\") {\r\n this.elements.label.wrapper.classList.add('--hide');\r\n } else {\r\n this.elements.label.wrapper.classList.remove('--hide');\r\n }\r\n break;\r\n case 'message':\r\n this.elements.messageBox.innerHTML = value;\r\n break;\r\n case 'value':\r\n this.#setValueFromOutside(value);\r\n break;\r\n case 'required':\r\n if (value === \"\" || value == \"true\" || value == true) {\r\n this.required = true;\r\n } else {\r\n this.required = false;\r\n }\r\n break;\r\n case 'placeholder':\r\n this.placeholder = value;\r\n break;\r\n case 'search-placeholder':\r\n this.searchPlaceholder = value;\r\n break;\r\n }\r\n\r\n }\r\n _setValueOnOptionListChanged() {\r\n //when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.\r\n //in some scenario value is setted before otionList attached so we store it on this._notFindedValue and after option list setted we set value from this._notFindedValue\r\n if (this.#notFindedValue) {\r\n //if select has no prev value or pending not finded value we dont set it becuase user may input some search terms in input box and developer-user update list base on that value\r\n //if we set it to null the search term and this.textvalue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it\r\n const isSetted = this.#setValueFromOutside(this.#notFindedValue);\r\n if(isSetted){\r\n //after list update and when not founded value is found in new option list we clear old not finded value\r\n this.#notFindedValue = null;\r\n }\r\n }else if(this.value){\r\n this.#setValueFromOutside(this.value);\r\n }\r\n }\r\n #setValueFromOutside(value:any):boolean{\r\n //when user set value by attribute or value prop directly we call this function\r\n const matchedOption = this.optionList.find((option) => { // if we have value mapper we set selected value by object that match mapper\r\n if (this.callbacks.getOptionValue(option) == value) {\r\n return option;\r\n }\r\n });\r\n if (matchedOption || value == null) {\r\n this._setValue(matchedOption);\r\n return true;\r\n } else {\r\n this.#notFindedValue = value;\r\n return false;\r\n }\r\n\r\n }\r\n _setValue(value:any) {\r\n this.#notFindedValue = null;\r\n this.#value = value;\r\n if ((value == null || value == undefined)) {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(null);\r\n this.elements.componentWrapper.classList.remove('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.placeholder);\r\n }\r\n } else {\r\n this.textValue = '';\r\n this.setSelectedOptionDom(value);\r\n this.elements.componentWrapper.classList.add('--has-value');\r\n if(!this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', '');\r\n }\r\n }\r\n //if user select an option we rest filter so user see all option again when open a select\r\n this.updateOptionList('');\r\n }\r\n onArrowKeyClick() {\r\n if (this.isOpen) {\r\n this.blur();\r\n } else {\r\n this.focus();\r\n }\r\n }\r\n onInputKeyPress() {\r\n //TODO: raise keypress event\r\n }\r\n onInputBeforeInput(e:InputEvent) {\r\n const inputedText = e.data || '';\r\n }\r\n onInputInput(e:InputEvent) {\r\n const inputedText = (e.target as HTMLInputElement).value;\r\n this.textValue = inputedText;\r\n this.handleSelectedValueDisplay(inputedText);\r\n }\r\n onInputKeyup(e:KeyboardEvent) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update #value directly becuase we want trigger event that may read value directly from dom\r\n if (e.key === \"Backspace\" || e.key === \"Delete\") {\r\n //becuase on keyprees dont recieve backspace key press\r\n this.handleSelectedValueDisplay(inputText);\r\n }\r\n\r\n this.triggerOnInputKeyup(e);\r\n\r\n }\r\n handleSelectedValueDisplay(inputValue:string) {\r\n if (inputValue !== \"\") {\r\n this.elements.selectedValueWrapper.classList.add('--search-typed');\r\n } else {\r\n this.elements.selectedValueWrapper.classList.remove('--search-typed');\r\n }\r\n }\r\n triggerOnInputKeyup(e:KeyboardEvent) {\r\n const event = new KeyboardEvent('keyup', {\r\n altKey: e.altKey,\r\n bubbles: e.bubbles,\r\n cancelable: e.cancelable,\r\n code: e.code,\r\n ctrlKey: e.ctrlKey,\r\n detail: e.detail,\r\n key: e.key,\r\n shiftKey: e.shiftKey,\r\n charCode: e.charCode,\r\n location: e.location,\r\n composed: e.composed,\r\n isComposing: e.isComposing,\r\n metaKey: e.metaKey,\r\n repeat: e.repeat,\r\n keyCode: e.keyCode,\r\n view: e.view\r\n });\r\n this.dispatchEvent(event);\r\n }\r\n onInputChange(e: Event) {\r\n const inputText = (e.target as HTMLInputElement).value;\r\n //here is the rare time we update _text_value directly becuase we want trigger event that may read value directly from dom\r\n this.#textValue = inputText;\r\n }\r\n onInputFocus() {\r\n this.focus();\r\n }\r\n onInputBlur(e: FocusEvent) {\r\n const focusedElement = <Node>(e.relatedTarget);\r\n if (this.elements.optionListWrapper.contains(focusedElement) || this.elements.arrowIcon.contains(focusedElement)) {\r\n //user click on a menu item\r\n } else {\r\n this.blur();\r\n }\r\n }\r\n focus() {\r\n this.elements.input.focus();\r\n this.showOptionList();\r\n this.elements.componentWrapper.classList.add('--focused');\r\n if(this.isMobileDevice){\r\n this.elements.input.setAttribute('placeholder', this.#searchPlaceholder);\r\n }\r\n\r\n }\r\n blur() {\r\n this.elements.componentWrapper.classList.remove('--focused');\r\n this.textValue = \"\";\r\n this.handleSelectedValueDisplay('');\r\n this.hideOptionList();\r\n this.triggerInputValidation();\r\n if(this.isMobileDevice){\r\n if(this.value){\r\n this.elements.input.placeholder = \"\";\r\n }else{\r\n this.elements.input.placeholder = this.placeholder;\r\n }\r\n }\r\n this.elements.input.blur();\r\n }\r\n showOptionList() {\r\n this.elements.optionListWrapper.classList.add('--show');\r\n }\r\n hideOptionList() {\r\n this.elements.optionListWrapper.classList.remove('--show');\r\n }\r\n updateOptionList(filterText:string) {\r\n this.displayOptionList = this.filterOptionList(filterText);\r\n }\r\n updateOptionListDOM() {\r\n const optionDomList: HTMLElement[] = [];\r\n this.displayOptionList.forEach((item) => {\r\n const optionDOM = this.createOptionDOM(item);\r\n optionDomList.push(optionDOM);\r\n });\r\n this.elements.optionList.innerHTML = '';\r\n optionDomList.forEach(optionElement => { this.elements.optionList.appendChild(optionElement); });\r\n\r\n\r\n }\r\n createOptionDOM(item:any):JBSelectOptionElement{\r\n let optionDOM: JBSelectOptionElement | null = null;\r\n const isSelected = this.callbacks.getOptionValue(this.value) == this.callbacks.getOptionValue(item);\r\n if (typeof this.callbacks.getOptionDOM == 'function') {\r\n optionDOM = this.callbacks.getOptionDOM(item, this.onOptionClicked.bind(this),isSelected);\r\n } else {\r\n optionDOM = this._createOptionDom(item, isSelected);\r\n }\r\n optionDOM.value = item;\r\n return optionDOM;\r\n }\r\n\r\n _createOptionDom(item:any, isSelected:boolean):JBSelectOptionElement{\r\n const optionElement = document.createElement('div');\r\n optionElement.classList.add('select-option');\r\n if(isSelected){\r\n optionElement.classList.add('--selected-option'); \r\n }\r\n //it has defualt function who return wxact same input\r\n optionElement.innerHTML = this.callbacks.getOptionTitle(item);\r\n optionElement.addEventListener('click', this.onOptionClicked.bind(this));\r\n return optionElement;\r\n }\r\n onOptionClicked(e:MouseEvent) {\r\n const value = (e.currentTarget as JBSelectOptionElement).value;\r\n this.selectOption(value);\r\n this.blur();\r\n this._triggerOnChangeEvent();\r\n }\r\n selectOption(value:any) {\r\n this._setValue(value);\r\n this.triggerInputValidation();\r\n }\r\n filterOptionList(filterString:string):any[] {\r\n const displayOptionList: any[] = [];\r\n this.optionList.filter((option) => {\r\n const optionTitle = this.callbacks.getOptionTitle(option);\r\n const isString = typeof optionTitle == 'string';\r\n if (isString && optionTitle.includes(filterString)) {\r\n displayOptionList.push(option);\r\n }\r\n if (!isString) {\r\n console.warn(\"the provided values for optionsList is not of type string.\", { option, title: optionTitle });\r\n }\r\n });\r\n return displayOptionList;\r\n }\r\n triggerInputValidation(showError = true) {\r\n // this method is public and used outside of component to check if field validity param are met\r\n let errorType = '';\r\n let requiredValid = true;\r\n if (this.required) {\r\n\r\n requiredValid = this.value != null;\r\n if (!requiredValid) {\r\n errorType = 'REQUIRED';\r\n }\r\n }\r\n const isAllValid = requiredValid; //& other validation if they added\r\n if (isAllValid) {\r\n this.clearValidationError();\r\n } else if (showError) {\r\n this.showValidationError(errorType);\r\n }\r\n return {\r\n isAllValid\r\n };\r\n }\r\n showValidationError(errorType) {\r\n if (errorType == 'REQUIRED') {\r\n const label = this.getAttribute('label');\r\n this.elements.messageBox.innerHTML = `${label} حتما باید انتخاب شود`;\r\n this.elements.messageBox.classList.add('--error');\r\n }\r\n }\r\n clearValidationError() {\r\n this.elements.messageBox.innerHTML = this.getAttribute('message') || '';\r\n this.elements.messageBox.classList.remove('--error');\r\n\r\n }\r\n _triggerOnChangeEvent() {\r\n const event = new Event(\"change\");\r\n this.dispatchEvent(event);\r\n }\r\n setSelectedOptionDom(value:any) {\r\n //when user select option or value changed in any condition we set selected option DOM\r\n this.elements.selectedValueWrapper.innerHTML = '';\r\n //if value was null or undifined it remain empty\r\n if (value !== null && value !== undefined) {\r\n const selectedOptionDom = this.createSelectedValueDom(value);\r\n this.elements.selectedValueWrapper.appendChild(selectedOptionDom);\r\n }\r\n }\r\n private createSelectedValueDom(value:any) {\r\n if (typeof this.callbacks.getSelectedValueDOM == 'function') {\r\n return this.callbacks.getSelectedValueDOM(value);\r\n } else {\r\n return this.#createSelectedValueDom(value);\r\n }\r\n }\r\n #createSelectedValueDom(value:any) {\r\n const valueText = this.callbacks.getOptionTitle(value);\r\n const selectedOptionDom = document.createElement('div');\r\n selectedOptionDom.classList.add('selected-value');\r\n selectedOptionDom.innerHTML = valueText;\r\n return selectedOptionDom;\r\n }\r\n}\r\nconst myElementNotExists = !customElements.get('jb-select');\r\nif (myElementNotExists) {\r\n //prevent duplicate registering\r\n window.customElements.define('jb-select', JBSelectWebComponent);\r\n}\r\n"],"names":["CSS"],"mappings":"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"}
package/lib/JBSelect.scss CHANGED
@@ -194,7 +194,7 @@
194
194
  padding: 2px 12px 0 12px;
195
195
  display: block;
196
196
  font-family: inherit;
197
- font-size: 1.1em;
197
+ font-size: var(--jb-select-selected-value-font-size, 1.1em);
198
198
  color: var(--jb-select-selected-value-color, #1f1735);
199
199
  margin: 0;
200
200
  border-radius: 0;
package/lib/JBSelect.ts CHANGED
@@ -189,13 +189,19 @@ export class JBSelectWebComponent extends HTMLElement {
189
189
  _setValueOnOptionListChanged() {
190
190
  //when option list changed we see if current value is valid for new optionlist we set it if not we reset value to null.
191
191
  //in some scenario value is setted before otionList attached so we store it on this._notFindedValue and after option list setted we set value from this._notFindedValue
192
- if (this.value || this.#notFindedValue) {
192
+ if (this.#notFindedValue) {
193
193
  //if select has no prev value or pending not finded value we dont set it becuase user may input some search terms in input box and developer-user update list base on that value
194
194
  //if we set it to null the search term and this.textvalue will become null and empty too and it make impossible for user to search in dynamic back-end provided searchable list so we put this condition to prevent it
195
- this.#setValueFromOutside(this.value || this.#notFindedValue);
195
+ const isSetted = this.#setValueFromOutside(this.#notFindedValue);
196
+ if(isSetted){
197
+ //after list update and when not founded value is found in new option list we clear old not finded value
198
+ this.#notFindedValue = null;
199
+ }
200
+ }else if(this.value){
201
+ this.#setValueFromOutside(this.value);
196
202
  }
197
203
  }
198
- #setValueFromOutside(value:any) {
204
+ #setValueFromOutside(value:any):boolean{
199
205
  //when user set value by attribute or value prop directly we call this function
200
206
  const matchedOption = this.optionList.find((option) => { // if we have value mapper we set selected value by object that match mapper
201
207
  if (this.callbacks.getOptionValue(option) == value) {
@@ -204,8 +210,10 @@ export class JBSelectWebComponent extends HTMLElement {
204
210
  });
205
211
  if (matchedOption || value == null) {
206
212
  this._setValue(matchedOption);
213
+ return true;
207
214
  } else {
208
215
  this.#notFindedValue = value;
216
+ return false;
209
217
  }
210
218
 
211
219
  }
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "select",
13
13
  "web component"
14
14
  ],
15
- "version": "4.5.2",
15
+ "version": "4.5.4",
16
16
  "bugs": "https://github.com/javadbat/jb-select/issues",
17
17
  "license": "MIT",
18
18
  "files": [