{"version":3,"file":"@route-login-confirm-e1c56b8c5cea1f48118a.bundle.js","mappings":"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","sources":["webpack://tiltid-modern/./packages/ui-components/src/menu/menu.module.css","webpack://tiltid-modern/./packages/ui-components/src/search/search.module.css","webpack://tiltid-modern/./packages/ui-components/src/select/select-dropdown.module.css","webpack://tiltid-modern/./packages/ui-components/src/select/select.module.css","webpack://tiltid-modern/./packages/ui-components/src/search/search.module.css?7e08","webpack://tiltid-modern/./packages/ui-components/src/search/search.tsx","webpack://tiltid-modern/./packages/ui-components/src/select/select-dropdown.module.css?b502","webpack://tiltid-modern/./packages/ui-components/src/select/select-dropdown.tsx","webpack://tiltid-modern/./packages/ui-components/src/menu/menu.module.css?9e26","webpack://tiltid-modern/./packages/ui-components/src/menu/menu.tsx","webpack://tiltid-modern/./packages/ui-components/src/select/select.module.css?0228","webpack://tiltid-modern/./packages/ui-components/src/select/select.tsx","webpack://tiltid-modern/./packages/lib/lazy-load-error-boundary.tsx","webpack://tiltid-modern/./packages/auth-portal/src/routes/login/login-confirm.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".menu-module__menuRoot--_8PDn6DJxJTpjsLIYbxX{background:var(--layer-primary);border:1px solid var(--border-primary);border-radius:var(--spacing-03);display:flex;flex-flow:column;height:auto;max-height:100dvh;max-width:100dvw;position:fixed;width:-moz-max-content;width:max-content;z-index:10000}.menu-module__menu--WUs1zWXFG8jJF3QJVJYC{flex:1 1 auto;list-style-type:none;margin:0;max-height:100%;max-width:100%;overflow:auto;padding:var(--spacing-01) var(--spacing-03)}.menu-module__item--ef6WUhrI8DfUzLXwXIMl{align-items:center;border-radius:var(--spacing-03);color:var(--text-primary);cursor:default;display:flex;gap:var(--spacing-03);margin:var(--spacing-02) 0;outline:none;padding:var(--spacing-02);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu-module__item--ef6WUhrI8DfUzLXwXIMl.menu-module__action--CHby__qn_7aLQzxIaC2S{color:var(--background-brand)}.menu-module__selected--zgYWROcr0btz2U4X21qA{color:var(--focus-primary)}.menu-module__focused--lInsFqC3emZceIqj0Dc3:not(.menu-module__disabled--cLstQiNzUJFofIjCc6KH),.menu-module__item--ef6WUhrI8DfUzLXwXIMl:hover{background-color:var(--layer-primary-hover)}.menu-module__separator--SksIUqyyCt5F4raOs5aV{border-top:1px solid var(--border-primary);height:0;margin:0 auto;padding-bottom:0;padding-top:0;pointer-events:none;width:calc(100% - var(--spacing-05))}.menu-module__disabled--cLstQiNzUJFofIjCc6KH{color:var(--text-disabled);pointer-events:painted}.menu-module__disabled--cLstQiNzUJFofIjCc6KH:hover{background-color:var(--layer-secondary)}.menu-module__submenuIcon--xwPmg0EexW7nWTKSsloD{position:absolute;right:4px}.menu-module__menuText--Gx_ToCFBF8GUSN2jG7XX{flex:1 1 auto;padding-right:var(--spacing-16)}.menu-module__shortcut--bhWEPCbuCkGVviHmXNID{flex:0 1 auto;padding-right:var(--spacing-05)}.menu-module__icon--lHWOQWHneVC1MLTRhK_R{display:flex;width:1.5em}\", \"\",{\"version\":3,\"sources\":[\"webpack://./packages/ui-components/src/menu/menu.module.css\"],\"names\":[],\"mappings\":\"AAAA,6CAQE,+BAAgC,CAChC,sCAAuC,CACvC,+BAAgC,CAThC,YAAa,CACb,gBAAiB,CAEjB,WAAY,CAEZ,iBAAkB,CADlB,gBAAiB,CAEjB,cAAe,CAJf,sBAAkB,CAAlB,iBAAkB,CAQlB,aACF,CAEA,yCACE,aAAc,CAKd,oBAAqB,CACrB,QAAS,CALT,eAAgB,CAChB,cAAe,CACf,aAAc,CAId,2CACF,CAEA,yCASE,kBAAmB,CAHnB,+BAAgC,CAKhC,yBAA0B,CAP1B,cAAe,CAIf,YAAa,CAEb,qBAAsB,CARtB,0BAA2B,CAK3B,YAAa,CAJb,yBAA0B,CAF1B,iBAAkB,CAIlB,wBAAiB,CAAjB,qBAAiB,CAAjB,gBAOF,CAEA,mFACE,6BACF,CAEA,6CACE,0BACF,CAEA,6IAEE,2CACF,CAEA,8CAME,0CAA2C,CAF3C,QAAS,CADT,aAAc,CADd,gBAAiB,CADjB,aAAc,CAMd,mBAAoB,CAFpB,oCAGF,CAEA,6CACE,0BAA2B,CAC3B,sBACF,CAEA,mDACE,uCACF,CAEA,gDACE,iBAAkB,CAClB,SACF,CAEA,6CACE,aAAc,CACd,+BACF,CAEA,6CACE,aAAc,CACd,+BACF,CAEA,yCACE,YAAa,CACb,WACF\",\"sourcesContent\":[\".menuRoot {\\r\\n display: flex;\\r\\n flex-flow: column;\\r\\n width: max-content;\\r\\n height: auto;\\r\\n max-width: 100dvw;\\r\\n max-height: 100dvh;\\r\\n position: fixed;\\r\\n background: var(--layer-primary);\\r\\n border: 1px solid var(--border-primary);\\r\\n border-radius: var(--spacing-03);\\r\\n z-index: 10000;\\r\\n}\\r\\n\\r\\n.menu {\\r\\n flex: 1 1 auto;\\r\\n max-height: 100%;\\r\\n max-width: 100%;\\r\\n overflow: auto;\\r\\n\\r\\n list-style-type: none;\\r\\n margin: 0;\\r\\n padding: var(--spacing-01) var(--spacing-03);\\r\\n}\\r\\n\\r\\n.item {\\r\\n position: relative;\\r\\n margin: var(--spacing-02) 0;\\r\\n padding: var(--spacing-02);\\r\\n cursor: default;\\r\\n user-select: none;\\r\\n border-radius: var(--spacing-03);\\r\\n outline: none;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n gap: var(--spacing-03);\\r\\n color: var(--text-primary);\\r\\n}\\r\\n\\r\\n.item.action {\\r\\n color: var(--background-brand);\\r\\n}\\r\\n\\r\\n.selected {\\r\\n color: var(--focus-primary);\\r\\n}\\r\\n\\r\\n.focused:not(.disabled),\\r\\n.item:hover {\\r\\n background-color: var(--layer-primary-hover);\\r\\n}\\r\\n\\r\\n.separator {\\r\\n padding-top: 0;\\r\\n padding-bottom: 0;\\r\\n margin: 0 auto;\\r\\n height: 0;\\r\\n width: calc(100% - var(--spacing-05));\\r\\n border-top: 1px solid var(--border-primary);\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.disabled {\\r\\n color: var(--text-disabled);\\r\\n pointer-events: painted;\\r\\n}\\r\\n\\r\\n.disabled:hover {\\r\\n background-color: var(--layer-secondary);\\r\\n}\\r\\n\\r\\n.submenuIcon {\\r\\n position: absolute;\\r\\n right: 4px;\\r\\n}\\r\\n\\r\\n.menuText {\\r\\n flex: 1 1 auto;\\r\\n padding-right: var(--spacing-16);\\r\\n}\\r\\n\\r\\n.shortcut {\\r\\n flex: 0 1 auto;\\r\\n padding-right: var(--spacing-05);\\r\\n}\\r\\n\\r\\n.icon {\\r\\n display: flex;\\r\\n width: 1.5em;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"menuRoot\": \"menu-module__menuRoot--_8PDn6DJxJTpjsLIYbxX\",\n\t\"menu\": \"menu-module__menu--WUs1zWXFG8jJF3QJVJYC\",\n\t\"item\": \"menu-module__item--ef6WUhrI8DfUzLXwXIMl\",\n\t\"action\": \"menu-module__action--CHby__qn_7aLQzxIaC2S\",\n\t\"selected\": \"menu-module__selected--zgYWROcr0btz2U4X21qA\",\n\t\"focused\": \"menu-module__focused--lInsFqC3emZceIqj0Dc3\",\n\t\"disabled\": \"menu-module__disabled--cLstQiNzUJFofIjCc6KH\",\n\t\"separator\": \"menu-module__separator--SksIUqyyCt5F4raOs5aV\",\n\t\"submenuIcon\": \"menu-module__submenuIcon--xwPmg0EexW7nWTKSsloD\",\n\t\"menuText\": \"menu-module__menuText--Gx_ToCFBF8GUSN2jG7XX\",\n\t\"shortcut\": \"menu-module__shortcut--bhWEPCbuCkGVviHmXNID\",\n\t\"icon\": \"menu-module__icon--lHWOQWHneVC1MLTRhK_R\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".search-module__root--gDt4zQaGWM2HHZR1tLOS{position:relative}.search-module__search--pJXz2LGSTKxL18HYTDy4{background-color:var(--field-primary);border:1px solid var(--border-secondary);border-radius:var(--spacing-03);color:var(--text-primary);display:block;font-size:var(--font-size-sm);font-weight:inherit;line-height:20px;padding:var(--spacing-03) var(--spacing-02);padding-left:var(--spacing-17);padding-right:var(--spacing-06);width:100%}.search-module__search--pJXz2LGSTKxL18HYTDy4.search-module__sm--VnUEEYXJShNlZubLIhhl{padding:var(--spacing-02) var(--spacing-16)}.search-module__search--pJXz2LGSTKxL18HYTDy4::-moz-placeholder{color:var(--text-placeholder)}.search-module__search--pJXz2LGSTKxL18HYTDy4::placeholder{color:var(--text-placeholder)}.search-module__search--pJXz2LGSTKxL18HYTDy4:hover{background-color:var(--field-primary-hover)}.search-module__search--pJXz2LGSTKxL18HYTDy4.search-module__sm--VnUEEYXJShNlZubLIhhl:hover,.search-module__search--pJXz2LGSTKxL18HYTDy4:hover{border-color:var(--border-interactive)}.search-module__search--pJXz2LGSTKxL18HYTDy4:focus,.search-module__search--pJXz2LGSTKxL18HYTDy4:focus-visible{background:var(--layer-primary);border-color:var(--border-interactive);box-shadow:var(--shadow-field-primary);outline:2px solid var(--border-outline)}.search-module__iconSearch--k89GZHOFHjX9RzxA6VGb{color:var(--icon-primary);height:24px;left:var(--spacing-04);position:absolute;top:50%;transform:translateY(-50%);width:24px}.search-module__search--pJXz2LGSTKxL18HYTDy4.search-module__sm--VnUEEYXJShNlZubLIhhl+.search-module__iconSearch--k89GZHOFHjX9RzxA6VGb{left:var(--spacing-03)}.search-module__closeBtn--Bq_lIQ2WPdC3AmdT3Jf_{background:transparent;border:none;display:flex;opacity:0;padding:0;position:absolute;right:var(--spacing-04);top:50%;transform:translateY(-50%)}.search-module__iconClose--m_CX51YxDFYK0XEin9ZG{color:var(--button-danger);height:24px;width:24px}.search-module__closeBtn--Bq_lIQ2WPdC3AmdT3Jf_.search-module__visible--dKJsK1hWB0tC5OjZOgfV{opacity:1}.search-module__search--pJXz2LGSTKxL18HYTDy4::-moz-placeholder+.search-module__iconSearch--k89GZHOFHjX9RzxA6VGb{color:var(--icon-primary)}.search-module__search--pJXz2LGSTKxL18HYTDy4::placeholder+.search-module__iconSearch--k89GZHOFHjX9RzxA6VGb{color:var(--icon-primary)}.search-module__search--pJXz2LGSTKxL18HYTDy4:hover+.search-module__iconSearch--k89GZHOFHjX9RzxA6VGb{color:var(--icon-brand)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./packages/ui-components/src/search/search.module.css\"],\"names\":[],\"mappings\":\"AAAA,2CACE,iBACF,CAEA,6CAME,qCAAsC,CACtC,wCAAyC,CAIzC,+BAAgC,CAChC,yBAA0B,CAX1B,aAAc,CAGd,6BAA8B,CAD9B,mBAAoB,CAEpB,gBAAiB,CAGjB,2CAA4C,CAC5C,8BAA+B,CAC/B,+BAAgC,CARhC,UAWF,CAEA,qFACE,2CACF,CAEA,+DACE,6BACF,CAFA,0DACE,6BACF,CAEA,mDACE,2CAEF,CAEA,8IAHE,sCAKF,CAEA,8GAEE,+BAAgC,CAEhC,sCAAuC,CACvC,sCAAuC,CAFvC,uCAGF,CAEA,iDAKE,yBAA0B,CAE1B,WAAY,CAJZ,sBAAuB,CAFvB,iBAAkB,CAClB,OAAQ,CAER,0BAA2B,CAE3B,UAEF,CAEA,sIACE,sBACF,CAEA,+CAOE,sBAAuB,CADvB,WAAY,CAEZ,YAAa,CACb,SAAU,CALV,SAAU,CAHV,iBAAkB,CAClB,uBAAwB,CACxB,OAAQ,CAER,0BAKF,CAEA,gDAGE,0BAA2B,CAD3B,WAAY,CADZ,UAGF,CAEA,4FACE,SACF,CAEA,gHACE,yBACF,CAFA,2GACE,yBACF,CAEA,oGACE,uBACF\",\"sourcesContent\":[\".root {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.search {\\r\\n display: block;\\r\\n width: 100%;\\r\\n font-weight: inherit;\\r\\n font-size: var(--font-size-sm);\\r\\n line-height: 20px;\\r\\n background-color: var(--field-primary);\\r\\n border: 1px solid var(--border-secondary);\\r\\n padding: var(--spacing-03) var(--spacing-02);\\r\\n padding-left: var(--spacing-17);\\r\\n padding-right: var(--spacing-06);\\r\\n border-radius: var(--spacing-03);\\r\\n color: var(--text-primary);\\r\\n}\\r\\n\\r\\n.search.sm {\\r\\n padding: var(--spacing-02) var(--spacing-16);\\r\\n}\\r\\n\\r\\n.search::placeholder {\\r\\n color: var(--text-placeholder);\\r\\n}\\r\\n\\r\\n.search:hover {\\r\\n background-color: var(--field-primary-hover);\\r\\n border-color: var(--border-interactive);\\r\\n}\\r\\n\\r\\n.search.sm:hover {\\r\\n border-color: var(--border-interactive);\\r\\n}\\r\\n\\r\\n.search:focus,\\r\\n.search:focus-visible {\\r\\n background: var(--layer-primary);\\r\\n outline: 2px solid var(--border-outline);\\r\\n border-color: var(--border-interactive);\\r\\n box-shadow: var(--shadow-field-primary);\\r\\n}\\r\\n\\r\\n.iconSearch {\\r\\n position: absolute;\\r\\n top: 50%;\\r\\n left: var(--spacing-04);\\r\\n transform: translateY(-50%);\\r\\n color: var(--icon-primary);\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n}\\r\\n\\r\\n.search.sm + .iconSearch {\\r\\n left: var(--spacing-03);\\r\\n}\\r\\n\\r\\n.closeBtn {\\r\\n position: absolute;\\r\\n right: var(--spacing-04);\\r\\n top: 50%;\\r\\n padding: 0;\\r\\n transform: translate(0%, -50%);\\r\\n border: none;\\r\\n background: transparent;\\r\\n display: flex;\\r\\n opacity: 0;\\r\\n}\\r\\n\\r\\n.iconClose {\\r\\n width: 24px;\\r\\n height: 24px;\\r\\n color: var(--button-danger);\\r\\n}\\r\\n\\r\\n.closeBtn.visible {\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n.search::placeholder + .iconSearch {\\r\\n color: var(--icon-primary);\\r\\n}\\r\\n\\r\\n.search:hover + .iconSearch {\\r\\n color: var(--icon-brand);\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"search-module__root--gDt4zQaGWM2HHZR1tLOS\",\n\t\"search\": \"search-module__search--pJXz2LGSTKxL18HYTDy4\",\n\t\"sm\": \"search-module__sm--VnUEEYXJShNlZubLIhhl\",\n\t\"iconSearch\": \"search-module__iconSearch--k89GZHOFHjX9RzxA6VGb\",\n\t\"closeBtn\": \"search-module__closeBtn--Bq_lIQ2WPdC3AmdT3Jf_\",\n\t\"iconClose\": \"search-module__iconClose--m_CX51YxDFYK0XEin9ZG\",\n\t\"visible\": \"search-module__visible--dKJsK1hWB0tC5OjZOgfV\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".select-dropdown-module__dropDownRoot--uSqStHKcIr96URasY3Pb{display:flex;flex-flow:column;max-height:100px;position:fixed;width:-moz-fit-content;width:fit-content;z-index:9999}.select-dropdown-module__dropDown--AqyHRK_XkorZiE0tQ2e2{background-color:var(--layer-background);border:1px solid var(--border-interactive);border-radius:var(--spacing-03);display:flex;flex:1 1 auto;flex-flow:column;height:100%;overflow-y:hidden}.select-dropdown-module__searchContainer--mFdmatzcCPypMM9OaYgc{flex:0 1 auto;font-size:var(--font-size-sm);padding:var(--spacing-02);width:100%}.select-dropdown-module__list--StLOmZzDsqLxfMmcZzC6{flex:1 1 auto;margin:0 var(--spacing-02);overflow-x:hidden;overflow-y:auto}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ{color:var(--text-primary);cursor:pointer;display:flex;flex-flow:row;flex-direction:column;font-size:var(--font-size-default);font-weight:400;padding:var(--spacing-02) 0;position:relative;white-space:nowrap}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ:not(:first-child){padding-top:0}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ>div:first-child{border-radius:var(--spacing-03);padding:var(--spacing-03)}.select-dropdown-module__smallDropdown--VYgucQL4kwLL_4hwLekq .select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ{padding:var(--spacing-02) 0}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ.select-dropdown-module__selected--THZ562FOcIbipGbPo4C3>div:first-child{color:var(--background-brand)}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ.select-dropdown-module__hasCursor--fKINZlDJjagW6W68626Q>div:first-child{background-color:var(--layer-primary-hover);color:var(--text-primary)}.select-dropdown-module__selectCheckbox--Dkd5a8q0MvI0paTMQeQ1{font-size:var(--font-size-default);font-weight:400}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ.select-dropdown-module__disabled--AaaijkLKIY5z99oGB5o_>div:first-child{color:var(--text-disabled);cursor:not-allowed}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ .select-dropdown-module__divider--TtkE40T6SYdA9tAC430y{background:var(--border-primary);height:1px;margin:var(--spacing-02) var(--spacing-03) 0}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ:last-child .select-dropdown-module__divider--TtkE40T6SYdA9tAC430y{display:none}.select-dropdown-module__smallDropdown--VYgucQL4kwLL_4hwLekq .select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ>div:first-child{padding:var(--spacing-02) var(--spacing-03)}.select-dropdown-module__smallDropdown--VYgucQL4kwLL_4hwLekq .select-dropdown-module__searchContainer--mFdmatzcCPypMM9OaYgc{padding:var(--spacing-03)}.select-dropdown-module__smallDropdown--VYgucQL4kwLL_4hwLekq .select-dropdown-module__searchIcon--vnphr5eDsL8_unPefFZA{left:var(--spacing-04)}.select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ.select-dropdown-module__selectAll--AwksKuT_aw3Gu2mR3qEe{margin:0 var(--spacing-02)}.select-dropdown-module__searchDropdown--gDsSrhuHSK3wkNUr9zXA .select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ{padding-top:0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./packages/ui-components/src/select/select-dropdown.module.css\"],\"names\":[],\"mappings\":\"AAAA,4DAIE,YAAa,CACb,gBAAiB,CAEjB,gBAAiB,CANjB,cAAe,CACf,sBAAkB,CAAlB,iBAAkB,CAClB,YAKF,CAEA,wDAGE,wCAAyC,CAFzC,0CAA2C,CAC3C,+BAAgC,CAKhC,YAAa,CADb,aAAc,CAEd,gBAAiB,CAJjB,WAAY,CACZ,iBAIF,CAEA,+DACE,aAAc,CAGd,6BAA8B,CAD9B,yBAA0B,CAD1B,UAGF,CAEA,oDACE,aAAc,CAGd,0BAA2B,CAF3B,iBAAkB,CAClB,eAEF,CAEA,sDAOE,yBAA0B,CAJ1B,cAAe,CAFf,YAAa,CACb,aAAc,CAOd,qBAAsB,CAHtB,kCAAmC,CADnC,eAAgB,CAKhB,2BAA4B,CAF5B,iBAAkB,CAJlB,kBAOF,CAEA,wEACE,aACF,CAEA,sEAEE,+BAAgC,CADhC,yBAEF,CAEA,mHACE,2BACF,CAEA,6HACE,6BACF,CAEA,8HACE,2CAA4C,CAC5C,yBACF,CAEA,8DACE,kCAAmC,CACnC,eACF,CAEA,6HACE,0BAA2B,CAC3B,kBACF,CAEA,6GACE,gCAAiC,CACjC,UAAW,CACX,4CACF,CAEA,wHACE,YACF,CAEA,mIACE,2CACF,CAEA,4HACE,yBACF,CAEA,uHACE,sBACF,CAEA,8GACE,0BACF,CAEA,oHACE,aACF\",\"sourcesContent\":[\".dropDownRoot {\\r\\n position: fixed;\\r\\n width: fit-content;\\r\\n z-index: 9999;\\r\\n display: flex;\\r\\n flex-flow: column;\\r\\n /* need to have a default value, would be correctly overridden by @floating-ui */\\r\\n max-height: 100px;\\r\\n}\\r\\n\\r\\n.dropDown {\\r\\n border: 1px solid var(--border-interactive);\\r\\n border-radius: var(--spacing-03);\\r\\n background-color: var(--layer-background);\\r\\n height: 100%;\\r\\n overflow-y: hidden;\\r\\n flex: 1 1 auto;\\r\\n display: flex;\\r\\n flex-flow: column;\\r\\n}\\r\\n\\r\\n.searchContainer {\\r\\n flex: 0 1 auto;\\r\\n width: 100%;\\r\\n padding: var(--spacing-02);\\r\\n font-size: var(--font-size-sm);\\r\\n}\\r\\n\\r\\n.list {\\r\\n flex: 1 1 auto;\\r\\n overflow-x: hidden;\\r\\n overflow-y: auto;\\r\\n margin: 0 var(--spacing-02);\\r\\n}\\r\\n\\r\\n.option {\\r\\n display: flex;\\r\\n flex-flow: row;\\r\\n cursor: pointer;\\r\\n white-space: nowrap;\\r\\n font-weight: 400;\\r\\n font-size: var(--font-size-default);\\r\\n color: var(--text-primary);\\r\\n position: relative;\\r\\n flex-direction: column;\\r\\n padding: var(--spacing-02) 0;\\r\\n}\\r\\n\\r\\n.option:not(:first-child) {\\r\\n padding-top: 0;\\r\\n}\\r\\n\\r\\n.option > div:first-child {\\r\\n padding: var(--spacing-03);\\r\\n border-radius: var(--spacing-03);\\r\\n}\\r\\n\\r\\n.smallDropdown .option {\\r\\n padding: var(--spacing-02) 0;\\r\\n}\\r\\n\\r\\n.option.selected > div:first-child {\\r\\n color: var(--background-brand);\\r\\n}\\r\\n\\r\\n.option.hasCursor > div:first-child {\\r\\n background-color: var(--layer-primary-hover);\\r\\n color: var(--text-primary);\\r\\n}\\r\\n\\r\\n.selectCheckbox {\\r\\n font-size: var(--font-size-default);\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.option.disabled > div:first-child {\\r\\n color: var(--text-disabled);\\r\\n cursor: not-allowed;\\r\\n}\\r\\n\\r\\n.option .divider {\\r\\n background: var(--border-primary);\\r\\n height: 1px;\\r\\n margin: var(--spacing-02) var(--spacing-03) 0;\\r\\n}\\r\\n\\r\\n.option:last-child .divider {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.smallDropdown .option > div:first-child {\\r\\n padding: var(--spacing-02) var(--spacing-03);\\r\\n}\\r\\n\\r\\n.smallDropdown .searchContainer {\\r\\n padding: var(--spacing-03);\\r\\n}\\r\\n\\r\\n.smallDropdown .searchIcon {\\r\\n left: var(--spacing-04);\\r\\n}\\r\\n\\r\\n.option.selectAll {\\r\\n margin: 0 var(--spacing-02);\\r\\n}\\r\\n\\r\\n.searchDropdown .option {\\r\\n padding-top: 0;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"dropDownRoot\": \"select-dropdown-module__dropDownRoot--uSqStHKcIr96URasY3Pb\",\n\t\"dropDown\": \"select-dropdown-module__dropDown--AqyHRK_XkorZiE0tQ2e2\",\n\t\"searchContainer\": \"select-dropdown-module__searchContainer--mFdmatzcCPypMM9OaYgc\",\n\t\"list\": \"select-dropdown-module__list--StLOmZzDsqLxfMmcZzC6\",\n\t\"option\": \"select-dropdown-module__option--G19GELQ_HBHvRcE8TJNJ\",\n\t\"smallDropdown\": \"select-dropdown-module__smallDropdown--VYgucQL4kwLL_4hwLekq\",\n\t\"selected\": \"select-dropdown-module__selected--THZ562FOcIbipGbPo4C3\",\n\t\"hasCursor\": \"select-dropdown-module__hasCursor--fKINZlDJjagW6W68626Q\",\n\t\"selectCheckbox\": \"select-dropdown-module__selectCheckbox--Dkd5a8q0MvI0paTMQeQ1\",\n\t\"disabled\": \"select-dropdown-module__disabled--AaaijkLKIY5z99oGB5o_\",\n\t\"divider\": \"select-dropdown-module__divider--TtkE40T6SYdA9tAC430y\",\n\t\"searchIcon\": \"select-dropdown-module__searchIcon--vnphr5eDsL8_unPefFZA\",\n\t\"selectAll\": \"select-dropdown-module__selectAll--AwksKuT_aw3Gu2mR3qEe\",\n\t\"searchDropdown\": \"select-dropdown-module__searchDropdown--gDsSrhuHSK3wkNUr9zXA\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".select-module__root--rl0eLk74hTEL5Gu64Pq5{color:var(--text-placeholder);cursor:pointer;display:flex;flex-flow:column;min-width:4em;outline:none}.select-module__root--rl0eLk74hTEL5Gu64Pq5.select-module__disabled--Pj9hY1XqXdhQeMIMyie6{color:var(--layer-disabled);pointer-events:none}.select-module__stretch--UJwZnpKgnggdIpynNNOQ{width:100%}.select-module__wrapper--z0WdVHH9B_gN6M5DRO6J{flex-flow:column;position:relative;width:100%}.select-module__container--qE6zuZIkmPOTbLCO4EB1,.select-module__wrapper--z0WdVHH9B_gN6M5DRO6J{display:flex;flex:1 1 auto}.select-module__container--qE6zuZIkmPOTbLCO4EB1{align-items:center;flex-flow:row}.select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{align-items:center;background-color:var(--field-primary);background-color:var(--layer-quart);border:1px solid var(--border-primary);border-radius:var(--spacing-03);box-shadow:var(--shadow-field-primary);display:flex;gap:var(--spacing-02);padding:var(--spacing-02) var(--spacing-03) var(--spacing-02) var(--spacing-04);transition:background-color .1s cubic-bezier(.4,0,.2,1),border-color .1s cubic-bezier(.4,0,.2,1);width:100%}.select-module__disabled--Pj9hY1XqXdhQeMIMyie6 .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{background-color:var(--layer-disabled);border:1px solid var(--border-disabled)}.select-module__container--qE6zuZIkmPOTbLCO4EB1:hover .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{background-color:var(--field-primary-hover)}.select-module__container--qE6zuZIkmPOTbLCO4EB1.select-module__active--RZOqT_l_IBJ5O0uD4lA6 .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{border-color:var(--focus-primary);outline:2px solid var(--border-outline)}.select-module__open--OM8MGC3FmWtVbwJFCWBj.select-module__bottom--h2zi3SVdg8W7JNBUzyGC .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{border-bottom-color:transparent;border-radius:var(--spacing-03) var(--spacing-03) 0 0}.select-module__open--OM8MGC3FmWtVbwJFCWBj.select-module__top--lMpxzgNyIVUlr8DBYYEt .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{border-radius:0 0 var(--spacing-03) var(--spacing-03);border-top-color:transparent}.select-module__required--blWljbXUBX1PAEsSR2nr .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{border-color:var(--support-error)}.select-module__open--OM8MGC3FmWtVbwJFCWBj .select-module__glyph--gBq0jqHWjxgya6XMURbY{color:var(--icon-brand)}.select-module__inputWrapper--Qb8exWM2sWpP7S4cqMzL{align-items:center;display:flex;flex:1 1 auto;flex-flow:row;height:100%;position:relative}.select-module__inputWrapper--Qb8exWM2sWpP7S4cqMzL,.select-module__root--rl0eLk74hTEL5Gu64Pq5 .select-module__input--hclSMwCOHLjIDh8Q6ZrQ{cursor:pointer;overflow:hidden}.select-module__root--rl0eLk74hTEL5Gu64Pq5 .select-module__input--hclSMwCOHLjIDh8Q6ZrQ{background-color:inherit;border:none;color:var(--text-primary);flex:1 1 auto;font-size:var(--font-size-sm);font-weight:500;line-height:16px;outline:none;padding:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.select-module__root--rl0eLk74hTEL5Gu64Pq5 .select-module__input--hclSMwCOHLjIDh8Q6ZrQ:disabled{background-color:var(--layer-disabled);border-color:var(--border-disabled);color:var(--text-on-color-disabled)}.select-module__root--rl0eLk74hTEL5Gu64Pq5 .select-module__input--hclSMwCOHLjIDh8Q6ZrQ::-moz-placeholder{color:var(--text-placeholder)}.select-module__root--rl0eLk74hTEL5Gu64Pq5 .select-module__input--hclSMwCOHLjIDh8Q6ZrQ.select-module__placeholder--FMeTQa9Cj8lXh_sLkX3n,.select-module__root--rl0eLk74hTEL5Gu64Pq5 .select-module__input--hclSMwCOHLjIDh8Q6ZrQ::placeholder{color:var(--text-placeholder)}.select-module__root--rl0eLk74hTEL5Gu64Pq5 .select-module__input--hclSMwCOHLjIDh8Q6ZrQ.select-module__placeholder--FMeTQa9Cj8lXh_sLkX3n.select-module__disabled--Pj9hY1XqXdhQeMIMyie6{color:var(--text-disabled)}.select-module__glyph--gBq0jqHWjxgya6XMURbY{align-items:center;color:var(--icon-brand);display:flex;height:var(--spacing-12);justify-content:center;width:var(--spacing-12)}.select-module__disabled--Pj9hY1XqXdhQeMIMyie6 .select-module__glyph--gBq0jqHWjxgya6XMURbY{color:var(--icon-on-color-disabled)}.select-module__hidden--p4Ad8W11wZSARHdXxuZt{visibility:collapse}.select-module__clearButton--Os44RMB4oRL4Elk3qKJn,.select-module__clearButton--Os44RMB4oRL4Elk3qKJn:active:not(.select-module__disabled--Pj9hY1XqXdhQeMIMyie6),.select-module__clearButton--Os44RMB4oRL4Elk3qKJn:hover:not(.select-module__disabled--Pj9hY1XqXdhQeMIMyie6),.select-module__open--OM8MGC3FmWtVbwJFCWBj .select-module__glyph--gBq0jqHWjxgya6XMURbY.select-module__clearButton--Os44RMB4oRL4Elk3qKJn{color:var(--button-danger)}.select-module__menuButton--jNHmuExXLP1xwiTlsmhX{min-width:1.15em;position:relative;visibility:collapse}.select-module__container--qE6zuZIkmPOTbLCO4EB1:hover:not(.select-module__disabled--Pj9hY1XqXdhQeMIMyie6) .select-module__menuButton--jNHmuExXLP1xwiTlsmhX,.select-module__menuButton--jNHmuExXLP1xwiTlsmhX.select-module__visible--Oard__UzVlVcqYur5UQd,.select-module__open--OM8MGC3FmWtVbwJFCWBj .select-module__menuButton--jNHmuExXLP1xwiTlsmhX{visibility:visible}.select-module__container--qE6zuZIkmPOTbLCO4EB1:not(.select-module__disabled--Pj9hY1XqXdhQeMIMyie6) .select-module__menuButton--jNHmuExXLP1xwiTlsmhX:active,.select-module__container--qE6zuZIkmPOTbLCO4EB1:not(.select-module__disabled--Pj9hY1XqXdhQeMIMyie6) .select-module__menuButton--jNHmuExXLP1xwiTlsmhX:hover{color:var(--icon-brand)}.select-module__container--qE6zuZIkmPOTbLCO4EB1:not(.select-module__disabled--Pj9hY1XqXdhQeMIMyie6) .select-module__clearButton--Os44RMB4oRL4Elk3qKJn:active,.select-module__container--qE6zuZIkmPOTbLCO4EB1:not(.select-module__disabled--Pj9hY1XqXdhQeMIMyie6) .select-module__clearButton--Os44RMB4oRL4Elk3qKJn:hover{color:var(--button-danger)}.select-module__md--D8jR4tHWHxDMMXnCaktV .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{padding:var(--spacing-02) var(--spacing-04)}.select-module__md--D8jR4tHWHxDMMXnCaktV .select-module__input--hclSMwCOHLjIDh8Q6ZrQ,.select-module__sm--RSEDmDW7oMo5ZKBJBKjP .select-module__input--hclSMwCOHLjIDh8Q6ZrQ{font-weight:400}.select-module__sm--RSEDmDW7oMo5ZKBJBKjP .select-module__innerContainer--rzg8xxKucOIJX8xqNDcd{padding:var(--spacing-01) var(--spacing-03)}.select-module__sm--RSEDmDW7oMo5ZKBJBKjP .select-module__input--hclSMwCOHLjIDh8Q6ZrQ{font-size:var(--font-size-sm)}.select-module__dropDownTop--t2tjyjXfrZ2RpUt5ih95>div{border-bottom-left-radius:0;border-bottom-right-radius:0}.select-module__dropDownBottom--dP6rsVoOkJlusCZADqI5>div{border-top-left-radius:0;border-top-right-radius:0}.select-module__borderless--btQHgI3qcbZ8Ytd73NuS{border:0;box-shadow:none;padding-right:0}.select-module__borderless--btQHgI3qcbZ8Ytd73NuS,.select-module__container--qE6zuZIkmPOTbLCO4EB1:hover .select-module__borderless--btQHgI3qcbZ8Ytd73NuS{background:none}.select-module__borderless--btQHgI3qcbZ8Ytd73NuS .select-module__input--hclSMwCOHLjIDh8Q6ZrQ{text-overflow:clip}\", \"\",{\"version\":3,\"sources\":[\"webpack://./packages/ui-components/src/select/select.module.css\"],\"names\":[],\"mappings\":\"AAAA,2CAIE,6BAA8B,CAC9B,cAAe,CAJf,YAAa,CACb,gBAAiB,CACjB,aAAc,CAGd,YACF,CAEA,yFACE,2BAA4B,CAC5B,mBACF,CAEA,8CACE,UACF,CAEA,8CAGE,gBAAiB,CAFjB,iBAAkB,CAIlB,UACF,CAEA,8FANE,YAAa,CAEb,aASF,CALA,gDAIE,kBAAmB,CADnB,aAEF,CAEA,qDAME,kBAAmB,CALnB,qCAAsC,CAStC,mCAAoC,CARpC,sCAAuC,CACvC,+BAAgC,CAMhC,sCAAuC,CAJvC,YAAa,CAGb,qBAAsB,CAJtB,+EAAgF,CAOhF,gGACiD,CALjD,UAMF,CAEA,oGACE,sCAAuC,CACvC,uCACF,CAEA,2GACE,2CACF,CAEA,iJACE,iCAAkC,CAClC,uCACF,CAEA,4IAEE,+BAAgC,CADhC,qDAEF,CAEA,yIACE,qDAAsD,CACtD,4BACF,CAEA,oGACE,iCACF,CAEA,uFACE,uBACF,CAEA,mDAQE,kBAAmB,CAFnB,YAAa,CAJb,aAAc,CAKd,aAAc,CAJd,WAAY,CAFZ,iBAQF,CAEA,0IANE,cAAe,CADf,eAsBF,CAfA,uFAQE,wBAAyB,CANzB,WAAY,CAOZ,yBAA0B,CAR1B,aAAc,CAUd,6BAA8B,CAD9B,eAAgB,CAEhB,gBAAiB,CANjB,YAAa,CAOb,SAAU,CATV,sBAAuB,CACvB,kBAAmB,CASnB,UACF,CAEA,gGAEE,sCAAuC,CACvC,mCAAoC,CAFpC,mCAGF,CAEA,yGAEE,6BACF,CAHA,4OAEE,6BACF,CAEA,sLACE,0BACF,CAEA,4CAEE,kBAAmB,CAEnB,uBAAwB,CAHxB,YAAa,CAIb,wBAAyB,CAFzB,sBAAuB,CAGvB,uBACF,CAEA,2FACE,mCACF,CAEA,6CACE,mBACF,CAMA,mZAGE,0BACF,CAEA,iDAEE,gBAAiB,CADjB,iBAAkB,CAElB,mBACF,CAEA,qVAGE,kBACF,CAEA,uTAEE,uBACF,CAEA,yTAEE,0BACF,CAEA,8FACE,2CACF,CAEA,0KAEE,eACF,CAEA,8FACE,2CACF,CAEA,qFACE,6BACF,CAEA,sDACE,2BAA4B,CAC5B,4BACF,CAEA,yDACE,wBAAyB,CACzB,yBACF,CAEA,iDACE,QAAS,CACT,eAAgB,CAEhB,eACF,CAEA,wJAJE,eAMF,CAGA,6FACE,kBACF\",\"sourcesContent\":[\".root {\\r\\n display: flex;\\r\\n flex-flow: column;\\r\\n min-width: 4em;\\r\\n color: var(--text-placeholder);\\r\\n cursor: pointer;\\r\\n outline: none;\\r\\n}\\r\\n\\r\\n.root.disabled {\\r\\n color: var(--layer-disabled);\\r\\n pointer-events: none;\\r\\n}\\r\\n\\r\\n.stretch {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.wrapper {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-flow: column;\\r\\n flex: 1 1 auto;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.container {\\r\\n flex: 1 1 auto;\\r\\n display: flex;\\r\\n flex-flow: row;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.innerContainer {\\r\\n background-color: var(--field-primary);\\r\\n border: 1px solid var(--border-primary);\\r\\n border-radius: var(--spacing-03);\\r\\n padding: var(--spacing-02) var(--spacing-03) var(--spacing-02) var(--spacing-04);\\r\\n display: flex;\\r\\n align-items: center;\\r\\n width: 100%;\\r\\n gap: var(--spacing-02);\\r\\n box-shadow: var(--shadow-field-primary);\\r\\n background-color: var(--layer-quart);\\r\\n transition: background-color 100ms cubic-bezier(0.4, 0, 0.2, 1),\\r\\n border-color 100ms cubic-bezier(0.4, 0, 0.2, 1);\\r\\n}\\r\\n\\r\\n.disabled .innerContainer {\\r\\n background-color: var(--layer-disabled);\\r\\n border: 1px solid var(--border-disabled);\\r\\n}\\r\\n\\r\\n.container:hover .innerContainer {\\r\\n background-color: var(--field-primary-hover);\\r\\n}\\r\\n\\r\\n.container.active .innerContainer {\\r\\n border-color: var(--focus-primary);\\r\\n outline: 2px solid var(--border-outline);\\r\\n}\\r\\n\\r\\n.open.bottom .innerContainer {\\r\\n border-radius: var(--spacing-03) var(--spacing-03) 0 0;\\r\\n border-bottom-color: transparent;\\r\\n}\\r\\n\\r\\n.open.top .innerContainer {\\r\\n border-radius: 0 0 var(--spacing-03) var(--spacing-03);\\r\\n border-top-color: transparent;\\r\\n}\\r\\n\\r\\n.required .innerContainer {\\r\\n border-color: var(--support-error);\\r\\n}\\r\\n\\r\\n.open .glyph {\\r\\n color: var(--icon-brand);\\r\\n}\\r\\n\\r\\n.inputWrapper {\\r\\n position: relative;\\r\\n flex: 1 1 auto;\\r\\n height: 100%;\\r\\n overflow: hidden;\\r\\n cursor: pointer;\\r\\n display: flex;\\r\\n flex-flow: row;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.root .input {\\r\\n flex: 1 1 auto;\\r\\n border: none;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n outline: none;\\r\\n cursor: pointer;\\r\\n background-color: inherit;\\r\\n color: var(--text-primary);\\r\\n font-weight: 500;\\r\\n font-size: var(--font-size-sm);\\r\\n line-height: 16px;\\r\\n padding: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.root .input:disabled {\\r\\n color: var(--text-on-color-disabled);\\r\\n background-color: var(--layer-disabled);\\r\\n border-color: var(--border-disabled);\\r\\n}\\r\\n\\r\\n.root .input.placeholder,\\r\\n.root .input::placeholder {\\r\\n color: var(--text-placeholder);\\r\\n}\\r\\n\\r\\n.root .input.placeholder.disabled {\\r\\n color: var(--text-disabled);\\r\\n}\\r\\n\\r\\n.glyph {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n color: var(--icon-brand);\\r\\n height: var(--spacing-12);\\r\\n width: var(--spacing-12);\\r\\n}\\r\\n\\r\\n.disabled .glyph {\\r\\n color: var(--icon-on-color-disabled);\\r\\n}\\r\\n\\r\\n.hidden {\\r\\n visibility: collapse;\\r\\n}\\r\\n\\r\\n.clearButton {\\r\\n color: var(--button-danger);\\r\\n}\\r\\n\\r\\n.open .glyph.clearButton,\\r\\n.clearButton:hover:not(.disabled),\\r\\n.clearButton:active:not(.disabled) {\\r\\n color: var(--button-danger);\\r\\n}\\r\\n\\r\\n.menuButton {\\r\\n position: relative;\\r\\n min-width: 1.15em;\\r\\n visibility: collapse;\\r\\n}\\r\\n\\r\\n.container:hover:not(.disabled) .menuButton,\\r\\n.menuButton.visible,\\r\\n.open .menuButton {\\r\\n visibility: visible;\\r\\n}\\r\\n\\r\\n.container:not(.disabled) .menuButton:hover,\\r\\n.container:not(.disabled) .menuButton:active {\\r\\n color: var(--icon-brand);\\r\\n}\\r\\n\\r\\n.container:not(.disabled) .clearButton:hover,\\r\\n.container:not(.disabled) .clearButton:active {\\r\\n color: var(--button-danger);\\r\\n}\\r\\n\\r\\n.md .innerContainer {\\r\\n padding: var(--spacing-02) var(--spacing-04);\\r\\n}\\r\\n\\r\\n.md .input,\\r\\n.sm .input {\\r\\n font-weight: 400;\\r\\n}\\r\\n\\r\\n.sm .innerContainer {\\r\\n padding: var(--spacing-01) var(--spacing-03);\\r\\n}\\r\\n\\r\\n.sm .input {\\r\\n font-size: var(--font-size-sm);\\r\\n}\\r\\n\\r\\n.dropDownTop > div {\\r\\n border-bottom-left-radius: 0;\\r\\n border-bottom-right-radius: 0;\\r\\n}\\r\\n\\r\\n.dropDownBottom > div {\\r\\n border-top-left-radius: 0;\\r\\n border-top-right-radius: 0;\\r\\n}\\r\\n\\r\\n.borderless {\\r\\n border: 0;\\r\\n box-shadow: none;\\r\\n background: none;\\r\\n padding-right: 0;\\r\\n}\\r\\n\\r\\n.container:hover .borderless {\\r\\n background: none;\\r\\n}\\r\\n\\r\\n/* reset text-overflow for Safari */\\r\\n.borderless .input {\\r\\n text-overflow: unset;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": \"select-module__root--rl0eLk74hTEL5Gu64Pq5\",\n\t\"disabled\": \"select-module__disabled--Pj9hY1XqXdhQeMIMyie6\",\n\t\"stretch\": \"select-module__stretch--UJwZnpKgnggdIpynNNOQ\",\n\t\"wrapper\": \"select-module__wrapper--z0WdVHH9B_gN6M5DRO6J\",\n\t\"container\": \"select-module__container--qE6zuZIkmPOTbLCO4EB1\",\n\t\"innerContainer\": \"select-module__innerContainer--rzg8xxKucOIJX8xqNDcd\",\n\t\"active\": \"select-module__active--RZOqT_l_IBJ5O0uD4lA6\",\n\t\"open\": \"select-module__open--OM8MGC3FmWtVbwJFCWBj\",\n\t\"bottom\": \"select-module__bottom--h2zi3SVdg8W7JNBUzyGC\",\n\t\"top\": \"select-module__top--lMpxzgNyIVUlr8DBYYEt\",\n\t\"required\": \"select-module__required--blWljbXUBX1PAEsSR2nr\",\n\t\"glyph\": \"select-module__glyph--gBq0jqHWjxgya6XMURbY\",\n\t\"inputWrapper\": \"select-module__inputWrapper--Qb8exWM2sWpP7S4cqMzL\",\n\t\"input\": \"select-module__input--hclSMwCOHLjIDh8Q6ZrQ\",\n\t\"placeholder\": \"select-module__placeholder--FMeTQa9Cj8lXh_sLkX3n\",\n\t\"hidden\": \"select-module__hidden--p4Ad8W11wZSARHdXxuZt\",\n\t\"clearButton\": \"select-module__clearButton--Os44RMB4oRL4Elk3qKJn\",\n\t\"menuButton\": \"select-module__menuButton--jNHmuExXLP1xwiTlsmhX\",\n\t\"visible\": \"select-module__visible--Oard__UzVlVcqYur5UQd\",\n\t\"md\": \"select-module__md--D8jR4tHWHxDMMXnCaktV\",\n\t\"sm\": \"select-module__sm--RSEDmDW7oMo5ZKBJBKjP\",\n\t\"dropDownTop\": \"select-module__dropDownTop--t2tjyjXfrZ2RpUt5ih95\",\n\t\"dropDownBottom\": \"select-module__dropDownBottom--dP6rsVoOkJlusCZADqI5\",\n\t\"borderless\": \"select-module__borderless--btQHgI3qcbZ8Ytd73NuS\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./search.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./search.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\r\n ForwardedRef,\r\n forwardRef,\r\n InputHTMLAttributes,\r\n useEffect,\r\n useId,\r\n useState\r\n} from 'react';\r\nimport { IconSearch } from '@icons/search';\r\nimport cx from 'classnames';\r\nimport { isMobile, isTablet } from 'react-device-detect';\r\nimport { IconCross } from '@icons/index';\r\nimport styles from './search.module.css';\r\nimport { Size } from '@utils/common';\r\n\r\ninterface ISearchProps extends Omit, 'onChange' | 'size'> {\r\n rootClassName?: string;\r\n size?: Size.Small;\r\n onChange(val: string): void;\r\n}\r\n\r\nexport const Search = forwardRef((props: ISearchProps, ref?: ForwardedRef) => {\r\n const { id, className, rootClassName, onChange, size, value, ...rest } = props;\r\n const [inputValue, setInputValue] = useState('');\r\n\r\n useEffect(() => {\r\n if (value !== inputValue) {\r\n setInputValue(value?.toString() ?? '');\r\n }\r\n }, [value]);\r\n\r\n const generated_id = useId();\r\n const inputId = id ?? generated_id;\r\n\r\n function handleChange(e: React.ChangeEvent) {\r\n setInputValue(e.currentTarget.value);\r\n onChange?.(e.currentTarget.value);\r\n }\r\n\r\n let input = (\r\n
\r\n \r\n \r\n {\r\n setInputValue('');\r\n onChange?.('');\r\n }}\r\n >\r\n \r\n \r\n
\r\n );\r\n\r\n return input;\r\n});\r\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./select-dropdown.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./select-dropdown.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useState, useRef, useEffect, useDeferredValue, useCallback } from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport textSearch from '../../../utils/text-search';\r\nimport { Checkbox } from '../check-input';\r\nimport cx from 'classnames';\r\nimport { Size } from '@utils/common';\r\nimport { Search, SelectSize } from '..';\r\nimport styles from './select-dropdown.module.css';\r\n\r\nexport interface IListItem {\r\n text: string;\r\n index: number;\r\n value: T;\r\n canSelect: boolean;\r\n}\r\n\r\ninterface IDropDownProps {\r\n items: IListItem[];\r\n style?: React.CSSProperties;\r\n selectedItems: Set;\r\n multiselect?: boolean;\r\n onSelectionChange(selection: { index: number; selected?: boolean }[]): void;\r\n hideSearch?: boolean;\r\n className?: string;\r\n classNameItem?: string;\r\n cyId?: string;\r\n size?: SelectSize;\r\n}\r\n\r\ninterface IListItemProps {\r\n item: IListItem;\r\n multiselect?: boolean;\r\n isSelected: boolean;\r\n hasCursor: boolean;\r\n itemRef?: React.Ref;\r\n className?: string;\r\n cyId?: string;\r\n onClick(index: number): void;\r\n onHover(index: number): void;\r\n}\r\n\r\nexport function SelectDropDownComponent(\r\n props: IDropDownProps,\r\n ref: React.ForwardedRef\r\n) {\r\n const {\r\n items,\r\n selectedItems,\r\n multiselect,\r\n hideSearch,\r\n className = '',\r\n classNameItem,\r\n cyId,\r\n size,\r\n onSelectionChange\r\n } = props;\r\n const { t } = useTranslation();\r\n const [search, setSearch] = useState('');\r\n const deferredSearch = useDeferredValue(search);\r\n const [filteredItems, setFilteredItems] = useState[]>([...items]);\r\n const [cursorItemIndex, setCursorItemIndex] = useState(null);\r\n const dropDownRef = useRef();\r\n const itemsRef = useRef<(HTMLDivElement | null)[]>([].slice(0, items.length));\r\n\r\n useEffect(() => {\r\n if (hideSearch) (dropDownRef.current?.firstChild as HTMLElement)?.focus();\r\n }, []);\r\n\r\n const ensureVisible = useCallback((index: number) => {\r\n if (index < 0 || index >= itemsRef.current.length) return;\r\n\r\n const listElement = itemsRef.current[index];\r\n if (!listElement || !listElement.parentElement) return;\r\n\r\n const parentRect = listElement.parentElement.getBoundingClientRect();\r\n const rect = listElement.getBoundingClientRect();\r\n if (rect.bottom > parentRect.bottom) {\r\n listElement.parentElement.scrollBy(0, rect.bottom - parentRect.bottom);\r\n } else if (rect.top < parentRect.top) {\r\n listElement.parentElement.scrollBy(0, rect.top - parentRect.top);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n // When cursor goes out of visible view - scroll it into the view\r\n if (cursorItemIndex === null || cursorItemIndex < 0 || cursorItemIndex >= items.length) return;\r\n ensureVisible(cursorItemIndex);\r\n }, [cursorItemIndex, items.length]);\r\n\r\n useEffect(() => {\r\n // resize refs collection\r\n itemsRef.current = itemsRef.current.slice(0, items.length);\r\n }, [items.length]);\r\n\r\n useEffect(() => {\r\n // Apply search\r\n let filtered: IListItem[] = [];\r\n if (!deferredSearch) {\r\n filtered = [...items];\r\n } else {\r\n filtered = items.filter(item => {\r\n const include = textSearch(item.text, deferredSearch);\r\n if (cursorItemIndex === item.index && !include) {\r\n setCursorItemIndex(null);\r\n }\r\n return include;\r\n });\r\n }\r\n\r\n setFilteredItems(filtered);\r\n }, [deferredSearch, items]);\r\n\r\n useEffect(() => {\r\n if (!dropDownRef.current) return;\r\n dropDownRef.current.animate([{ opacity: 0 }, { opacity: 1 }], 100);\r\n\r\n // Make sure that first selected item is visible in the list when animation finishes\r\n if (cursorItemIndex !== null && cursorItemIndex !== -1) return;\r\n if (!selectedItems.size) return;\r\n\r\n const firstSelected = items.find(item => selectedItems.has(item.index));\r\n if (!firstSelected) return;\r\n ensureVisible(firstSelected.index);\r\n }, [dropDownRef.current]);\r\n\r\n const canSelectAll = multiselect && filteredItems.length > 1;\r\n\r\n const handleItemClick = (itemIndex: number) => {\r\n if (canSelectAll && itemIndex === -1) {\r\n // Select all or select none\r\n var doSelect = filteredItems.some(item => item.canSelect && !selectedItems.has(item.index));\r\n const selection = filteredItems\r\n .filter(item => item.canSelect && selectedItems.has(item.index) !== doSelect)\r\n .map(item => {\r\n return { index: item.index, selected: doSelect };\r\n });\r\n onSelectionChange(selection);\r\n } else {\r\n const canSelect = filteredItems.find(item => item.index === itemIndex)?.canSelect ?? false;\r\n if (canSelect) {\r\n // single item selection\r\n onSelectionChange([{ index: itemIndex, selected: !selectedItems.has(itemIndex) }]);\r\n }\r\n }\r\n };\r\n\r\n const onKeyDown = useCallback(\r\n (e: React.KeyboardEvent) => {\r\n switch (e.nativeEvent.code) {\r\n case 'ArrowUp':\r\n case 'ArrowDown':\r\n {\r\n e.preventDefault();\r\n const enabledItems = filteredItems.filter(item => item.canSelect);\r\n if (enabledItems.length) {\r\n const navDown = e.nativeEvent.code === 'ArrowDown';\r\n const minIndex = canSelectAll ? -1 : 0;\r\n\r\n const index = enabledItems.findIndex(item =>\r\n cursorItemIndex === null\r\n ? selectedItems.has(item.index)\r\n : item.index === cursorItemIndex\r\n );\r\n\r\n let nextIndex = -1;\r\n if (index === -1 && cursorItemIndex === null) {\r\n const navDownIndex = cursorItemIndex === -1 ? 0 : minIndex;\r\n nextIndex = navDown ? navDownIndex : enabledItems.length - 1;\r\n } else {\r\n nextIndex = navDown\r\n ? Math.min(index + 1, enabledItems.length - 1)\r\n : Math.max(index - 1, minIndex);\r\n }\r\n\r\n setCursorItemIndex(nextIndex === -1 ? nextIndex : enabledItems[nextIndex].index);\r\n }\r\n }\r\n break;\r\n\r\n case 'Enter':\r\n if (filteredItems.length === 1 && filteredItems[0].canSelect) {\r\n e.preventDefault();\r\n handleItemClick(filteredItems[0].index);\r\n } else if (cursorItemIndex !== null) {\r\n e.preventDefault();\r\n handleItemClick(cursorItemIndex);\r\n }\r\n break;\r\n\r\n case 'Space':\r\n if (multiselect && cursorItemIndex !== null) {\r\n e.preventDefault();\r\n handleItemClick(cursorItemIndex);\r\n }\r\n break;\r\n }\r\n },\r\n [filteredItems, multiselect, selectedItems, cursorItemIndex, onSelectionChange, handleItemClick]\r\n );\r\n\r\n return (\r\n {\r\n dropDownRef.current = r ?? undefined;\r\n\r\n if (ref) {\r\n if (typeof ref === 'function') ref(r);\r\n else ref.current = r;\r\n }\r\n }}\r\n cy-id={cyId ? `${cyId}-dropdown-root` : undefined}\r\n >\r\n
\r\n {!hideSearch && (\r\n {\r\n e.preventDefault();\r\n }}\r\n >\r\n {\r\n e.preventDefault();\r\n }}\r\n onChange={setSearch}\r\n />\r\n
\r\n )}\r\n\r\n {multiselect && filteredItems.length > 1 && (\r\n !i.canSelect || selectedItems.has(i.index))}\r\n hasCursor={cursorItemIndex === -1}\r\n onClick={handleItemClick}\r\n onHover={setCursorItemIndex}\r\n />\r\n )}\r\n\r\n
\r\n {filteredItems?.map((item, index) => {\r\n return (\r\n {\r\n itemsRef.current[item.index] = el;\r\n }}\r\n multiselect={multiselect}\r\n isSelected={selectedItems.has(item.index)}\r\n hasCursor={cursorItemIndex === item.index}\r\n className={classNameItem}\r\n cyId={cyId ? `${cyId}-dropdown-list-item-${index}` : undefined}\r\n onClick={handleItemClick}\r\n onHover={setCursorItemIndex}\r\n />\r\n );\r\n })}\r\n
\r\n \r\n \r\n );\r\n}\r\n\r\nfunction ListItem(props: IListItemProps) {\r\n const { item, multiselect, isSelected, hasCursor, itemRef, className, cyId, onClick, onHover } =\r\n props;\r\n\r\n return (\r\n {\r\n e.preventDefault();\r\n if (!item.canSelect) return;\r\n onClick(item.index);\r\n }}\r\n onPointerMove={e => {\r\n if (!item.canSelect) return;\r\n if (hasCursor) return;\r\n if (!e.currentTarget.parentElement) return;\r\n\r\n const parentRect = e.currentTarget.parentElement.getBoundingClientRect();\r\n const rect = e.currentTarget.getBoundingClientRect();\r\n // Don't navigate to item when at least 2/3 of it is not visible\r\n if (\r\n (rect.bottom > parentRect.bottom &&\r\n parentRect.bottom - rect.top < Math.min(rect.height / 3, 10)) ||\r\n (rect.top < parentRect.top &&\r\n rect.bottom - parentRect.top < Math.min(rect.height / 3, 10))\r\n )\r\n return;\r\n\r\n onHover(item.index);\r\n }}\r\n >\r\n
\r\n {multiselect ? (\r\n void 0}\r\n />\r\n ) : (\r\n {item.text}\r\n )}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport const SelectDropDown = React.forwardRef(SelectDropDownComponent);\r\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./menu.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./menu.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useEffect, useLayoutEffect, useRef, useState, ReactNode } from 'react';\r\nimport { IconCheck, IconChevronRight } from '@icons/index';\r\nimport cx from 'classnames';\r\nimport styles from './menu.module.css';\r\n\r\nexport enum MenuPopup {\r\n Horizontal,\r\n Vertical\r\n}\r\n\r\nexport type MenuItem = IMenuItem & IMenuItemJSX;\r\n\r\ninterface IMenuItemBase {\r\n id?: string;\r\n separator?: boolean;\r\n disabled?: boolean;\r\n subItems?: MenuItem[];\r\n onClick?(): void | Promise;\r\n}\r\ninterface IMenuItem extends IMenuItemBase {\r\n text?: string | JSX.Element;\r\n icon?: ReactNode;\r\n shortcut?: string;\r\n checked?: boolean;\r\n\r\n cyId?: string;\r\n}\r\n\r\ninterface IMenuItemJSX extends IMenuItemBase {\r\n element?: JSX.Element;\r\n}\r\n\r\nexport interface IMenuProps {\r\n items: MenuItem[];\r\n position?: { x: number; y: number };\r\n isSubMenu?: boolean;\r\n menuPopup?: MenuPopup;\r\n noDismissOnParentClick?: boolean;\r\n onDismiss?(selectedItem?: MenuItem): void;\r\n correctLeftTopPosition?(\r\n left: number,\r\n top: number\r\n ): {\r\n left: number;\r\n top: number;\r\n };\r\n\r\n iconClassName?: string;\r\n rootClassName?: string;\r\n menuClassName?: string;\r\n itemClassName?: string;\r\n\r\n cyId?: string;\r\n}\r\n\r\nexport function Menu(props: IMenuProps) {\r\n const {\r\n items,\r\n position,\r\n isSubMenu,\r\n noDismissOnParentClick,\r\n onDismiss,\r\n rootClassName,\r\n menuClassName,\r\n itemClassName,\r\n cyId\r\n } = props;\r\n const [focusedItemIndex, setFocusedItemIndex] = useState(-1);\r\n const [submenuExpanded, setSubmenuExpanded] = useState(false);\r\n const [dismissed, setDismissed] = useState(false);\r\n const menuRef = useRef(null);\r\n\r\n useEffect(() => {\r\n const onKeyDown = async (e: KeyboardEvent) => {\r\n if (submenuExpanded) {\r\n return;\r\n }\r\n\r\n switch (e.code) {\r\n case 'Escape':\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setDismissed(true);\r\n }\r\n break;\r\n case 'Enter':\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (focusedItemIndex >= 0 && focusedItemIndex < items.length) {\r\n const item = items[focusedItemIndex];\r\n if (item.subItems?.length) {\r\n setSubmenuExpanded(true);\r\n } else if (!item.separator) {\r\n setDismissed(item);\r\n await item.onClick?.();\r\n }\r\n }\r\n }\r\n break;\r\n case 'ArrowUp':\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n let nextFocusedItem = focusedItemIndex - 1;\r\n if (nextFocusedItem < 0 || nextFocusedItem >= items.length)\r\n nextFocusedItem = items.length - 1;\r\n for (let i = 0; i < items.length; i++) {\r\n let index = nextFocusedItem - i;\r\n if (index < 0) index += items.length;\r\n if (!items[index].separator) {\r\n setFocusedItemIndex(index);\r\n break;\r\n }\r\n }\r\n }\r\n break;\r\n case 'ArrowDown':\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n let nextFocusedItem = focusedItemIndex + 1;\r\n if (nextFocusedItem < 0 || nextFocusedItem >= items.length) nextFocusedItem = 0;\r\n for (let i = 0; i < items.length; i++) {\r\n let index = nextFocusedItem + i;\r\n if (index >= items.length) index -= items.length;\r\n if (!items[index].separator) {\r\n setFocusedItemIndex(index);\r\n break;\r\n }\r\n }\r\n }\r\n break;\r\n case 'ArrowLeft':\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (isSubMenu) {\r\n setDismissed(true);\r\n }\r\n }\r\n break;\r\n case 'ArrowRight':\r\n {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n if (focusedItemIndex > 0 && focusedItemIndex < items.length) {\r\n if (items[focusedItemIndex].subItems?.length) {\r\n setSubmenuExpanded(true);\r\n }\r\n } else {\r\n setFocusedItemIndex(0);\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n\r\n document.addEventListener('keydown', onKeyDown, true);\r\n return () => {\r\n document.removeEventListener('keydown', onKeyDown, true);\r\n };\r\n }, [focusedItemIndex, items, submenuExpanded]);\r\n\r\n useEffect(() => {\r\n if (isSubMenu) return;\r\n if (dismissed) return;\r\n\r\n const subscribeToMenuDismissEvents = () => {\r\n window.addEventListener('pointerdown', handleOutsideEvent, true);\r\n window.addEventListener('wheel', handleOutsideEvent, true);\r\n window.addEventListener('scroll', handleOutsideEvent, true);\r\n window.addEventListener('resize', dismissMenu, true);\r\n };\r\n\r\n const unsubscribeFromMenuDismissEvents = () => {\r\n window.removeEventListener('pointerdown', handleOutsideEvent, true);\r\n window.removeEventListener('wheel', handleOutsideEvent, true);\r\n window.removeEventListener('scroll', handleOutsideEvent, true);\r\n window.removeEventListener('resize', dismissMenu, true);\r\n };\r\n\r\n const handleOutsideEvent = (e: Event) => {\r\n if (!menuRef.current) return;\r\n const insideClick =\r\n e.target &&\r\n e.target instanceof Node &&\r\n (menuRef.current === e.target || menuRef.current.contains(e.target));\r\n\r\n if (!insideClick) {\r\n if (menuRef.current.parentElement?.contains(e.target as Node | null)) {\r\n e.preventDefault();\r\n if (noDismissOnParentClick) {\r\n return;\r\n }\r\n }\r\n dismissMenu();\r\n }\r\n };\r\n\r\n const dismissMenu = () => {\r\n unsubscribeFromMenuDismissEvents();\r\n setDismissed(true);\r\n };\r\n\r\n subscribeToMenuDismissEvents();\r\n return () => {\r\n unsubscribeFromMenuDismissEvents();\r\n };\r\n }, [menuRef, isSubMenu, dismissed, noDismissOnParentClick]);\r\n\r\n useLayoutEffect(() => {\r\n // This effect sets correct left/top position\r\n if (!menuRef.current) return;\r\n\r\n const menuWidth = menuRef.current.offsetWidth;\r\n const menuHeight = menuRef.current.offsetHeight;\r\n\r\n const offset = isSubMenu ? 3 : 0;\r\n\r\n const menuRect = menuRef.current.getBoundingClientRect();\r\n const parentRect = menuRef.current?.parentElement?.getBoundingClientRect();\r\n const menuPopup = props.menuPopup ?? MenuPopup.Horizontal;\r\n\r\n let left = 0;\r\n let top = 0;\r\n if (menuPopup === MenuPopup.Horizontal) {\r\n // Popup to the left/right\r\n left = position?.x ?? (parentRect ? parentRect.right - offset : 0);\r\n if (left + menuWidth > window.innerWidth) {\r\n left = (position?.x ?? (parentRect ? parentRect.left + offset : 0)) - menuWidth;\r\n }\r\n\r\n top = position?.y ?? (parentRect ? parentRect.top - offset : 0);\r\n if (top + menuHeight > window.innerHeight) {\r\n top = window.innerHeight - menuHeight;\r\n }\r\n } else {\r\n // Popup to the top/bottom\r\n top = position?.y ?? (parentRect ? parentRect.bottom - offset : 0);\r\n if (top + menuHeight > window.innerHeight) {\r\n top = (position?.y ?? (parentRect ? parentRect.top + offset : 0)) - menuHeight;\r\n }\r\n\r\n left = position?.x ?? (parentRect ? parentRect.left - offset : 0);\r\n if (left + menuWidth > window.innerWidth) {\r\n left = window.innerWidth - menuWidth;\r\n }\r\n }\r\n\r\n // Adjust position if it crossed window's left/top border\r\n if (left < 0) {\r\n left = 0;\r\n }\r\n\r\n if (top < 0) {\r\n top = 0;\r\n }\r\n\r\n let menuPosition = { left: left - menuRect.left, top: top - menuRect.top };\r\n if (props.correctLeftTopPosition) {\r\n menuPosition = props.correctLeftTopPosition(menuPosition.left, menuPosition.top);\r\n }\r\n\r\n menuRef.current.style.transform = `translate(${menuPosition.left}px, ${menuPosition.top}px)`;\r\n menuRef.current.animate([{ opacity: 0 }, { opacity: 1 }], 200);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!dismissed) return;\r\n\r\n const item = typeof dismissed === 'boolean' ? undefined : dismissed;\r\n onDismiss?.(item);\r\n }, [dismissed, onDismiss]);\r\n\r\n if (dismissed) {\r\n return null;\r\n }\r\n\r\n return (\r\n {\r\n if (isSubMenu) return;\r\n e.stopPropagation();\r\n }}\r\n onPointerDown={e => e.stopPropagation()}\r\n >\r\n e.stopPropagation()}\r\n >\r\n {items.map((item, index) => {\r\n let menuNode = item.element;\r\n\r\n if (!menuNode && !item.separator) {\r\n const text =\r\n !item.separator && item.text ? (\r\n {item.text}\r\n ) : null;\r\n\r\n const shortcutText =\r\n !item.separator && item.shortcut ? (\r\n {item.shortcut}\r\n ) : null;\r\n\r\n const icon = (\r\n \r\n {item.icon ?? (item.checked ? : null)}\r\n \r\n );\r\n\r\n menuNode = (\r\n <>\r\n {icon}\r\n {text}\r\n {shortcutText}\r\n \r\n );\r\n }\r\n\r\n return (\r\n {\r\n e.stopPropagation();\r\n }}\r\n onClick={async e => {\r\n e.stopPropagation();\r\n if (!item.disabled) {\r\n setFocusedItemIndex(index);\r\n setSubmenuExpanded(!!item.subItems?.length);\r\n if (!item.subItems?.length && !item.separator) {\r\n setDismissed(item);\r\n await item.onClick?.();\r\n }\r\n }\r\n }}\r\n onMouseEnter={() => {\r\n setFocusedItemIndex(index);\r\n setSubmenuExpanded(!!item.subItems?.length);\r\n }}\r\n onFocus={() => {\r\n setFocusedItemIndex(index);\r\n }}\r\n onBlur={() => {\r\n if (!item.subItems) {\r\n setFocusedItemIndex(current => {\r\n if (current === index) {\r\n return -1;\r\n }\r\n return current;\r\n });\r\n }\r\n }}\r\n >\r\n {menuNode}\r\n\r\n {item.subItems?.length && }\r\n\r\n {index === focusedItemIndex && item.subItems?.length && submenuExpanded ? (\r\n {\r\n if (selectedItem) {\r\n setDismissed(selectedItem);\r\n } else {\r\n setSubmenuExpanded(false);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n}\r\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./select.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./select.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, { useState, useEffect, useCallback, useMemo, useId, FocusEventHandler } from 'react';\r\nimport { useFloating, autoUpdate, flip, shift, size, hide } from '@floating-ui/react-dom';\r\nimport { IconCross, IconChevronDown, IconMoreVert } from '@icons/index';\r\nimport { IListItem, SelectDropDown } from './select-dropdown';\r\nimport { Menu, MenuItem } from '@ui/menu';\r\nimport { Label } from '..';\r\nimport { HelperText } from '../helper-text';\r\nimport cx from 'classnames';\r\nimport styles from './select.module.css';\r\nimport { Size } from '@utils/common';\r\n\r\nexport type Selection = M extends true ? T[] : T | undefined;\r\nexport type SelectFn = (selected: Selection) => void;\r\nexport type ChangeHandler = (event: {\r\n target: Element & { name: string | undefined; value: any };\r\n}) => void;\r\n\r\nexport type SelectSize = Size.Small | Size.Medium | Size.Large;\r\n\r\nexport interface ISelectPropsBase {\r\n id?: string;\r\n label?: string;\r\n placeholder?: string;\r\n helper?: string;\r\n\r\n multiselect?: M;\r\n size?: SelectSize;\r\n borderless?: boolean;\r\n outerRef?: React.MutableRefObject;\r\n tabIndex?: number;\r\n disabled?: boolean;\r\n required?: boolean;\r\n hideSearch?: boolean;\r\n clearButton?: boolean;\r\n canSelect?(item: T, index: number): boolean;\r\n\r\n menuItems?: MenuItem[];\r\n\r\n className?: string;\r\n classNameWrapper?: string;\r\n classNameContainer?: string;\r\n classNameInput?: string;\r\n classNameDropDown?: string;\r\n classNameDropDownTop?: string;\r\n classNameDropDownBottom?: string;\r\n classNameListItem?: string;\r\n stretch?: boolean;\r\n\r\n cyId?: string;\r\n\r\n name?: string;\r\n error?: string;\r\n\r\n autoFocus?: boolean;\r\n\r\n onBlur?: FocusEventHandler;\r\n onChange?: ChangeHandler;\r\n}\r\n\r\nexport interface ISelectProps extends ISelectPropsBase {\r\n items: T[];\r\n itemName?: keyof T | ((item: T, index: number) => string);\r\n itemValue?: keyof T | ((item: T, index: number) => any);\r\n\r\n selected?: number[] | ((item: IListItem) => boolean);\r\n\r\n onSelectionChanged?: SelectFn, M>;\r\n onSelectionStart?: SelectFn, M>;\r\n onSelectionFinish?: SelectFn, M>;\r\n}\r\n\r\nfunction SelectComponent(\r\n props: ISelectProps,\r\n ref: React.ForwardedRef\r\n) {\r\n const {\r\n id,\r\n label,\r\n placeholder,\r\n helper,\r\n items,\r\n itemName,\r\n itemValue,\r\n selected: isSelected,\r\n multiselect,\r\n outerRef,\r\n borderless,\r\n tabIndex,\r\n hideSearch,\r\n clearButton,\r\n disabled,\r\n required,\r\n menuItems,\r\n className = '',\r\n classNameWrapper = '',\r\n classNameContainer = '',\r\n classNameInput = '',\r\n classNameDropDown,\r\n classNameDropDownTop,\r\n classNameDropDownBottom,\r\n classNameListItem,\r\n cyId,\r\n stretch,\r\n error,\r\n name,\r\n autoFocus,\r\n onSelectionChanged,\r\n onSelectionStart,\r\n onSelectionFinish,\r\n canSelect,\r\n onBlur,\r\n onChange\r\n } = props;\r\n const selectSize = props.size ?? Size.Large;\r\n const [active, setActive] = useState(false);\r\n const [showDropDown, setShowDropDown] = useState(false);\r\n\r\n const [text, setText] = useState('');\r\n const [listItems, setListItems] = useState[]>([]);\r\n const [selected, setSelected] = useState(new Set());\r\n\r\n const [showMenu, setShowMenu] = useState(false);\r\n\r\n const generated_id = useId();\r\n const selectId = id ?? generated_id;\r\n\r\n const { x, y, placement, middlewareData, refs } = useFloating({\r\n placement: 'bottom-start',\r\n strategy: 'fixed',\r\n whileElementsMounted: autoUpdate,\r\n middleware: [\r\n flip(),\r\n shift(),\r\n size({\r\n apply: options => {\r\n const reference = options.elements.reference;\r\n const elRect = reference.getBoundingClientRect();\r\n\r\n Object.assign(options.elements.floating.style, {\r\n maxHeight: `${options.availableHeight}px`,\r\n minWidth: `${elRect.width}px`,\r\n left: `${elRect.left}px`\r\n });\r\n }\r\n }),\r\n hide()\r\n ]\r\n });\r\n\r\n const selectRef = outerRef ?? refs.reference;\r\n const placeholderVisible = !!placeholder && selected.size == 0;\r\n\r\n useEffect(() => {\r\n // Prepare list items collection\r\n const listItems: IListItem[] = items.map((item, index) => {\r\n let itemText = '';\r\n if (itemName) {\r\n if (typeof itemName === 'function') {\r\n itemText = itemName(item, index);\r\n } else {\r\n itemText = String(item[itemName]);\r\n }\r\n } else {\r\n itemText = String(item);\r\n }\r\n\r\n return { value: item, index, text: itemText, canSelect: canSelect?.(item, index) ?? true };\r\n });\r\n\r\n setListItems(listItems);\r\n\r\n // Store indexes of selected items\r\n if (isSelected) {\r\n const selectedIndexes =\r\n typeof isSelected === 'function'\r\n ? listItems.filter(item => isSelected(item)).map(item => item.index)\r\n : isSelected;\r\n\r\n var set = new Set(selectedIndexes);\r\n setSelected(new Set(listItems.filter(x => set.has(x.index)).map(x => x.index)));\r\n } else {\r\n setSelected(\r\n new Set(\r\n listItems\r\n // keep items that are non-selectable but \"selected\" by default\r\n .filter(item => !item.canSelect && selected.has(item.index))\r\n .map(item => item.index)\r\n )\r\n );\r\n }\r\n }, [items, itemName, isSelected, canSelect]);\r\n\r\n useEffect(() => {\r\n // Compose text to be displayed\r\n if (!selected.size) {\r\n setText('');\r\n } else {\r\n const text = [...listItems.values()]\r\n .filter(item => selected.has(item.index))\r\n .sort((left, right) => left.index - right.index)\r\n .map(item => item.text)\r\n .join(', ');\r\n setText(text);\r\n }\r\n }, [placeholderVisible, selected, listItems]);\r\n\r\n const changeDropDownState = useCallback(\r\n (state: 'show' | 'hide' | 'toggle') => {\r\n const selectedItems: IListItem[] = listItems.filter(item => selected.has(item.index));\r\n const selectedItem: IListItem | undefined = selectedItems.length\r\n ? selectedItems[0]\r\n : undefined;\r\n const selection = (multiselect ? selectedItems : selectedItem) as Selection, M>;\r\n\r\n switch (state) {\r\n case 'show':\r\n setShowDropDown(visible => {\r\n if (!visible) onSelectionStart?.(selection);\r\n return true;\r\n });\r\n break;\r\n case 'hide':\r\n setShowDropDown(visible => {\r\n if (visible) onSelectionFinish?.(selection);\r\n return false;\r\n });\r\n break;\r\n case 'toggle':\r\n setShowDropDown(visible => {\r\n if (!visible) {\r\n onSelectionStart?.(selection);\r\n } else {\r\n onSelectionFinish?.(selection);\r\n }\r\n return !visible;\r\n });\r\n }\r\n },\r\n [listItems, selected, multiselect]\r\n );\r\n\r\n const onKeyDown = useCallback(\r\n (e: React.KeyboardEvent) => {\r\n if (disabled) return;\r\n if (e.defaultPrevented) return;\r\n switch (e.nativeEvent.code) {\r\n case 'ArrowDown':\r\n case 'Enter':\r\n e.preventDefault();\r\n changeDropDownState('show');\r\n break;\r\n\r\n case 'Escape':\r\n if (showDropDown) {\r\n e.preventDefault();\r\n changeDropDownState('hide');\r\n selectRef.current?.focus();\r\n }\r\n break;\r\n }\r\n },\r\n [showDropDown, changeDropDownState]\r\n );\r\n\r\n const onFocus = useMemo(() => {\r\n let subscribed = false;\r\n\r\n const onFocus = (ev: React.FocusEvent) => {\r\n if (disabled || subscribed) return;\r\n\r\n setActive(true);\r\n const rootElement = ev.currentTarget as Node;\r\n\r\n const onFocusOut = (e: FocusEvent) => {\r\n deactivateIfOutside(e.relatedTarget as Node);\r\n };\r\n\r\n const onPointerDown = (e: PointerEvent) => {\r\n deactivateIfOutside(e.target as Node);\r\n };\r\n\r\n const deactivateIfOutside = (target: Node) => {\r\n const inside = !!target && rootElement.contains(target as Node);\r\n if (!inside) {\r\n setActive(false);\r\n changeDropDownState('hide');\r\n window.removeEventListener('focusout', onFocusOut);\r\n window.removeEventListener('pointerdown', onPointerDown);\r\n subscribed = false;\r\n }\r\n };\r\n\r\n window.addEventListener('focusout', onFocusOut);\r\n window.addEventListener('pointerdown', onPointerDown);\r\n subscribed = true;\r\n };\r\n\r\n return onFocus;\r\n }, [disabled]);\r\n\r\n const select = (\r\n
\r\n {\r\n refs.setReference(outerRef?.current ?? r);\r\n\r\n if (ref) {\r\n if (typeof ref === 'function') ref(r);\r\n else ref.current = r;\r\n }\r\n }}\r\n tabIndex={disabled ? undefined : tabIndex ?? 0}\r\n id={selectId}\r\n cy-id={cyId}\r\n onFocus={onFocus}\r\n onClick={e => {\r\n if (disabled || e.defaultPrevented) return;\r\n changeDropDownState('toggle');\r\n }}\r\n onKeyDown={onKeyDown}\r\n onBlur={onBlur}\r\n >\r\n
\r\n \r\n
\r\n
\r\n \r\n\r\n {menuItems?.length ? (\r\n {\r\n e.preventDefault();\r\n setShowMenu(true);\r\n }}\r\n cy-id={cyId ? `${cyId}-menu-btn` : undefined}\r\n >\r\n \r\n {showMenu ? (\r\n {\r\n return {\r\n ...item,\r\n onClick: () => {\r\n item.onClick?.();\r\n selectRef.current?.focus();\r\n }\r\n };\r\n })}\r\n onDismiss={() => setShowMenu(false)}\r\n />\r\n ) : null}\r\n \r\n ) : null}\r\n
\r\n {!disabled && clearButton && selected.size >= 1 ? (\r\n {\r\n e.preventDefault();\r\n setSelected(\r\n new Set(\r\n listItems\r\n // keep items that are non-selectable but \"selected\" by default\r\n .filter(item => !item.canSelect && selected.has(item.index))\r\n .map(item => item.index)\r\n )\r\n );\r\n\r\n const selection = (multiselect ? [] : undefined) as Selection, M>;\r\n onSelectionChanged?.(selection);\r\n if (onChange && refs.reference.current) {\r\n const target = { ...refs.reference.current, name, value: undefined };\r\n onChange({ target });\r\n }\r\n\r\n if (!showDropDown) onSelectionFinish?.(selection);\r\n }}\r\n cy-id={cyId ? `${cyId}-clear-btn` : undefined}\r\n >\r\n \r\n \r\n ) : (\r\n !borderless && (\r\n \r\n \r\n \r\n )\r\n )}\r\n
\r\n
\r\n\r\n {!disabled && showDropDown && (\r\n {\r\n const updated = new Set(multiselect ? selected : undefined);\r\n if (multiselect) {\r\n data.forEach(item => {\r\n item.selected ? updated.add(item.index) : updated.delete(item.index);\r\n });\r\n } else if (data.length > 0) {\r\n updated.add(data[0].index);\r\n }\r\n\r\n setSelected(updated);\r\n if (!multiselect) {\r\n changeDropDownState('hide');\r\n selectRef.current?.focus();\r\n }\r\n\r\n const selectedItems = listItems.filter(item => updated?.has(item.index));\r\n const selectedItem = selectedItems.length ? selectedItems[0] : undefined;\r\n const selection = (multiselect ? selectedItems : selectedItem) as Selection<\r\n IListItem,\r\n M\r\n >;\r\n onSelectionChanged?.(selection);\r\n\r\n if (onChange && refs.reference.current) {\r\n const selectedValues = selectedItems.map(li => {\r\n let value: any = li.value;\r\n if (itemValue) {\r\n if (typeof itemValue === 'function') {\r\n value = itemValue(li.value, li.index);\r\n } else {\r\n value = li.value[itemValue];\r\n }\r\n }\r\n\r\n return value;\r\n });\r\n\r\n const selectedValue = selectedValues.length ? selectedValues[0] : undefined;\r\n const value = multiselect ? selectedValues : selectedValue;\r\n const target = { ...refs.reference.current, name, value };\r\n\r\n onChange({ target });\r\n }\r\n }}\r\n />\r\n )}\r\n
\r\n \r\n {helper && }\r\n {error && }\r\n \r\n );\r\n\r\n return label ? (\r\n \r\n {select}\r\n \r\n ) : (\r\n select\r\n );\r\n}\r\n\r\n// Redeclare forwardRef\r\ndeclare module 'react' {\r\n function forwardRef(\r\n render: (props: P, ref: React.Ref) => React.ReactElement | null\r\n ): (props: P & React.RefAttributes) => React.ReactElement | null;\r\n}\r\n\r\nexport const Select = React.forwardRef(SelectComponent);\r\n","import { Component } from 'react';\r\n\r\ninterface ILazyErrorBoundaryState {\r\n error: Error | null;\r\n errorInfo: any | null;\r\n}\r\n\r\ninterface ILazyErrorBoundaryProps {\r\n children: React.ReactNode;\r\n onError(error: Error, errorInfo: any): void;\r\n}\r\n\r\nexport class LazyErrorBoundary extends Component {\r\n state: ILazyErrorBoundaryState = { error: null, errorInfo: null };\r\n\r\n componentDidCatch(error: Error, errorInfo: any) {\r\n this.setState({ error, errorInfo });\r\n }\r\n\r\n render() {\r\n if (this.state.error && this.state.errorInfo) {\r\n // render fallback UI\r\n // FIXME: add lazy load error UI\r\n this.props.onError(this.state.error, this.state.errorInfo);\r\n return null;\r\n } else {\r\n // when there's not an error, render children untouched\r\n return this.props.children;\r\n }\r\n }\r\n}\r\n","import React, { Suspense, useState } from 'react';\r\nimport { Input } from '@ui/input';\r\nimport { Link } from '@ui/link';\r\nimport { Select } from '@ui/select';\r\nimport { Button } from '@ui/button';\r\nimport { AxiosError } from 'axios';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n InvalidConfirmationError,\r\n InvalidLoginError,\r\n InvalidDeviceError,\r\n sendConfirmation,\r\n ICustomerBase,\r\n IIntermediateSession,\r\n IMaintenance,\r\n invokeSMSSend,\r\n isMaintenance\r\n} from '@api/auth/session';\r\nimport { LogoLarge } from '@icons/logo-large';\r\nimport { LazyErrorBoundary } from '@lib/lazy-load-error-boundary';\r\nimport { showUnexpectedError } from '@lib/toast';\r\nimport { useSession } from '@lib/useSession';\r\nimport { MaintenanceMessage } from '@ui/planned-maintenance/maintenance-message';\r\nimport { showAlertMessage, useLoginContext } from './login.context';\r\nimport { Controller, useForm } from 'react-hook-form';\r\nimport { AlertType, Logo } from '@tiltid-modern/ui-components';\r\nimport { FunctionalRight } from '@lib/userRights';\r\nimport { AuthNavigate, AuthPage, useAuthNavigation } from '../../routes/routes-config';\r\nimport styles from './login.css';\r\n\r\nconst CustomerInstanceSelect = React.lazy(\r\n () =>\r\n import(\r\n /* webpackChunkName: \"@component-customer-instance-select\" */\r\n '../../components/customer-instance-select-modal/customer-instance-select-modal'\r\n )\r\n);\r\n\r\nfunction calculateDefaultDeviceId(intermediateSession: IIntermediateSession | null) {\r\n if (!intermediateSession) {\r\n return 0;\r\n }\r\n\r\n if (intermediateSession.Devices.length === 0) {\r\n return 0;\r\n }\r\n\r\n return intermediateSession.Devices[0].DeviceId;\r\n}\r\n\r\ninterface ILoginConfirmData {\r\n confirmationCode: string;\r\n selectedDeviceId: number;\r\n error: string;\r\n}\r\n\r\nexport default function LoginConfirm() {\r\n const { t } = useTranslation();\r\n const { intermediateSession, processing, setProcessing } = useLoginContext();\r\n const {\r\n control,\r\n register,\r\n handleSubmit,\r\n formState: { errors },\r\n setError,\r\n setValue,\r\n getValues,\r\n clearErrors\r\n } = useForm({\r\n defaultValues: {\r\n confirmationCode: '',\r\n selectedDeviceId: calculateDefaultDeviceId(intermediateSession)\r\n }\r\n });\r\n const { updateSession } = useSession();\r\n const [maintenanceInfo, setMaintenanceInfo] = useState(null);\r\n const [isModalOpened, showModal] = useState(false);\r\n const navigate = useAuthNavigation();\r\n\r\n const [isTotp, setIsTotp] = useState((intermediateSession?.Devices.length ?? 0) > 0);\r\n\r\n if (!intermediateSession) {\r\n return ;\r\n }\r\n\r\n function onSubmit(formData: ILoginConfirmData) {\r\n if (!intermediateSession) {\r\n return;\r\n }\r\n\r\n if (!intermediateSession.customerId) {\r\n showModal(true);\r\n return;\r\n }\r\n\r\n const matchedCustomer = intermediateSession.Customers.find(customer => {\r\n const val = intermediateSession.customerId.toLowerCase();\r\n\r\n return customer.Name.toLowerCase() === val || customer.Id.toString() === val;\r\n });\r\n\r\n if (matchedCustomer) {\r\n // do not handle any Promise results here\r\n onCustomerIdSelected(matchedCustomer);\r\n return;\r\n }\r\n }\r\n\r\n async function onCustomerIdSelected(selectedCustomer: ICustomerBase) {\r\n if (!intermediateSession) {\r\n return;\r\n }\r\n\r\n const config = {\r\n DeviceId: isTotp ? getValues('selectedDeviceId') : 0,\r\n ConfirmationCode: getValues('confirmationCode'),\r\n IsGoogleAuth: isTotp,\r\n CustomerId: selectedCustomer.Id,\r\n LoginName: intermediateSession.username\r\n };\r\n\r\n try {\r\n setProcessing(true);\r\n const { data } = await sendConfirmation(config);\r\n\r\n const canAccessWebClient =\r\n data?.FuncRights?.includes(FunctionalRight.WebPortal_Authentication) ?? false;\r\n\r\n if (!canAccessWebClient || !data?.OrgUnits.length) {\r\n setError('error', { type: 'validate', message: t('login:errors:noAccessToWebClient') });\r\n return;\r\n }\r\n\r\n updateSession(data);\r\n } catch (e) {\r\n const error = e as AxiosError;\r\n\r\n // TODO: check how it is hanlded in PCClient\r\n // Somehow backend start responde 401 on correct confirmation code\r\n // if (error.response && error.response.status === 401) {\r\n // navigate('/');\r\n // showUnexpectedError(new Error('Timeout exceeded for 2FA auth'));\r\n // return;\r\n // }\r\n\r\n if (e instanceof InvalidConfirmationError) {\r\n setError('error', { type: 'validate', message: t('login:errors:invalidConfirmationCode') });\r\n return;\r\n }\r\n\r\n if (e instanceof InvalidLoginError) {\r\n setError('error', { type: 'validate', message: t('login:errors:incorrectCredentials') });\r\n return;\r\n }\r\n\r\n if (e instanceof InvalidDeviceError) {\r\n setError('error', { type: 'validate', message: t('login:errors:invalidDevice') });\r\n return;\r\n }\r\n\r\n if (error.response && isMaintenance(error.response.data)) {\r\n setMaintenanceInfo(error.response.data);\r\n return;\r\n }\r\n\r\n showUnexpectedError(error);\r\n } finally {\r\n setProcessing(false);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n } imageClassName={styles.tabsLogo} />\r\n
\r\n
\r\n {isTotp\r\n ? t('login:twoFactor:enterPin')\r\n : t('login:twoFactor:enterCode', { phone: intermediateSession.PhoneNumber })}\r\n
\r\n
\r\n {isTotp && intermediateSession.Devices.length > 1 ? (\r\n (\r\n item.value.DeviceId === field.value}\r\n hideSearch\r\n disabled={processing}\r\n onSelectionChanged={item => {\r\n if (!item) return;\r\n setValue('selectedDeviceId', item.value.DeviceId);\r\n }}\r\n />\r\n )}\r\n />\r\n ) : null}\r\n {\r\n setMaintenanceInfo(null);\r\n }\r\n })}\r\n />\r\n clearErrors('error')}\r\n />\r\n navigate(AuthPage.Login)}\r\n text={t('common:back')}\r\n />\r\n \r\n\r\n {isTotp && (\r\n
\r\n \r\n invokeSMSSend({\r\n LoginName: intermediateSession.username,\r\n CustomerId: intermediateSession.customerId\r\n })\r\n .then(() => {\r\n setIsTotp(false);\r\n })\r\n .catch(e => showUnexpectedError(e))\r\n }\r\n />\r\n
\r\n )}\r\n {errors.error &&\r\n errors.error.message &&\r\n showAlertMessage(AlertType.warning, errors.error.message)}\r\n \r\n showUnexpectedError(new Error(`Can't load CustomerInstanceSelect module`))}\r\n >\r\n \r\n {\r\n showModal(false);\r\n }}\r\n isBusy={processing}\r\n isOpen={isModalOpened}\r\n customers={intermediateSession.Customers}\r\n onCustomerSelect={customer => {\r\n showModal(false);\r\n onCustomerIdSelected(customer);\r\n }}\r\n />\r\n \r\n \r\n
\r\n );\r\n}\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","Search","forwardRef","props","ref","className","rootClassName","onChange","size","value","rest","inputValue","setInputValue","useState","useEffect","toString","generated_id","useId","inputId","type","e","currentTarget","autoFocus","tabIndex","onClick","ListItem","item","multiselect","isSelected","hasCursor","itemRef","cyId","onHover","canSelect","preventDefault","index","onPointerMove","parentElement","parentRect","getBoundingClientRect","rect","bottom","top","Math","min","height","checked","label","text","noOutlineEffect","disabled","SelectDropDown","items","selectedItems","hideSearch","classNameItem","onSelectionChange","t","useTranslation","search","setSearch","deferredSearch","useDeferredValue","filteredItems","setFilteredItems","cursorItemIndex","setCursorItemIndex","dropDownRef","useRef","itemsRef","slice","length","current","firstChild","focus","ensureVisible","useCallback","listElement","scrollBy","filtered","filter","include","animate","opacity","firstSelected","find","has","canSelectAll","handleItemClick","itemIndex","doSelect","some","selection","map","selected","onKeyDown","nativeEvent","code","enabledItems","navDown","minIndex","findIndex","nextIndex","navDownIndex","max","style","r","placeholder","every","i","key","el","MenuPopup","Menu","position","isSubMenu","noDismissOnParentClick","onDismiss","menuClassName","itemClassName","focusedItemIndex","setFocusedItemIndex","submenuExpanded","setSubmenuExpanded","dismissed","setDismissed","menuRef","async","stopPropagation","subItems","separator","nextFocusedItem","document","addEventListener","removeEventListener","unsubscribeFromMenuDismissEvents","window","handleOutsideEvent","dismissMenu","target","Node","contains","useLayoutEffect","menuWidth","offsetWidth","menuHeight","offsetHeight","offset","menuRect","left","menuPopup","Horizontal","x","right","innerWidth","y","innerHeight","menuPosition","correctLeftTopPosition","transform","onWheel","onPointerDown","menuNode","element","shortcutText","shortcut","icon","iconClassName","onMouseEnter","onFocus","onBlur","selectedItem","Select","helper","itemName","itemValue","outerRef","borderless","clearButton","required","menuItems","classNameWrapper","classNameContainer","classNameInput","classNameDropDown","classNameDropDownTop","classNameDropDownBottom","classNameListItem","stretch","error","name","onSelectionChanged","onSelectionStart","onSelectionFinish","selectSize","active","setActive","showDropDown","setShowDropDown","setText","listItems","setListItems","setSelected","Set","showMenu","setShowMenu","selectId","placement","middlewareData","refs","strategy","whileElementsMounted","middleware","apply","elRect","elements","reference","Object","assign","floating","maxHeight","availableHeight","minWidth","width","selectRef","placeholderVisible","itemText","String","selectedIndexes","set","values","sort","join","changeDropDownState","state","visible","defaultPrevented","useMemo","subscribed","ev","rootElement","onFocusOut","deactivateIfOutside","relatedTarget","select","setReference","role","readOnly","setFloating","visibility","hide","referenceHidden","data","updated","forEach","add","delete","selectedValues","li","selectedValue","htmlFor","LazyErrorBoundary","Component","errorInfo","componentDidCatch","this","setState","render","onError","children","CustomerInstanceSelect","calculateDefaultDeviceId","intermediateSession","Devices","DeviceId","LoginConfirm","processing","setProcessing","control","register","handleSubmit","formState","errors","setError","setValue","getValues","clearErrors","defaultValues","confirmationCode","selectedDeviceId","updateSession","useSession","maintenanceInfo","setMaintenanceInfo","isModalOpened","showModal","navigate","isTotp","setIsTotp","to","onCustomerIdSelected","selectedCustomer","config","ConfirmationCode","IsGoogleAuth","CustomerId","Id","LoginName","username","FuncRights","includes","OrgUnits","message","response","img","imageClassName","phone","PhoneNumber","onSubmit","formData","customerId","matchedCustomer","Customers","customer","val","toLowerCase","Name","field","I","autoComplete","forcedAutoFocus","then","catch","maintenance","Error","Suspense","fallback","onRequestClose","isBusy","isOpen","customers","onCustomerSelect"],"sourceRoot":""}