selective-ui 1.3.0 → 1.3.1
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/dist/selective-ui.css +3 -4
- package/dist/selective-ui.css.map +1 -1
- package/dist/selective-ui.esm.js +2 -2
- package/dist/selective-ui.esm.min.js +2 -2
- package/dist/selective-ui.esm.min.js.br +0 -0
- package/dist/selective-ui.min.css +1 -1
- package/dist/selective-ui.min.css.br +0 -0
- package/dist/selective-ui.min.js +2 -2
- package/dist/selective-ui.min.js.br +0 -0
- package/dist/selective-ui.umd.js +3 -3
- package/package.json +1 -1
- package/src/css/components/placeholder.css +3 -4
package/dist/selective-ui.css
CHANGED
|
@@ -125,18 +125,17 @@
|
|
|
125
125
|
}
|
|
126
126
|
}
|
|
127
127
|
.seui-placeholder {
|
|
128
|
-
display: flex;
|
|
129
128
|
align-items: center;
|
|
130
129
|
|
|
131
130
|
margin-left: 10px;
|
|
132
|
-
max-width: calc(100% -
|
|
133
|
-
height: calc(100% - 10px);
|
|
131
|
+
max-width: calc(100% - 40px);
|
|
134
132
|
text-overflow: ellipsis;
|
|
135
133
|
white-space: nowrap;
|
|
136
134
|
pointer-events: none;
|
|
135
|
+
overflow: hidden;
|
|
136
|
+
|
|
137
137
|
font-family: var(--seui-view-text-style);
|
|
138
138
|
font-size: var(--seui-view-text-size) !important;
|
|
139
|
-
overflow: hidden;
|
|
140
139
|
color: var(--seui-view-text-color);
|
|
141
140
|
}
|
|
142
141
|
.seui-directive {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.css","selectbox.css","placeholder.css","directive.css","empty-state.css","loading-state.css","group-view.css","popup.css","searchbox.css","option-handle.css","option-view.css","accessorybox.css"],"names":[],"mappings":"AAAA;IACI,mCAAmC;;IAEnC,+BAA+B;IAC/B,kCAAkC;IAClC,oDAAoD;IACpD,2BAA2B;IAC3B,kCAAkC;IAClC,qCAAqC;IACrC,0CAA0C;IAC1C,8CAA8C;IAC9C,iCAAiC;IACjC,oCAAoC;IACpC,4BAA4B;IAC5B,+BAA+B;IAC/B,8BAA8B;;IAE9B,+BAA+B;IAC/B,kCAAkC;;IAElC,sCAAsC;IACtC,4CAA4C;IAC5C,4CAA4C;IAC5C,wCAAwC;IACxC,kCAAkC;;IAElC,0BAA0B;IAC1B,gCAAgC;;IAEhC,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,2CAA2C;IAC3C,yCAAyC;IACzC,uCAAuC;IACvC,wCAAwC;IACxC,yCAAyC;IACzC,qCAAqC;IACrC,kCAAkC;IAClC,8BAA8B;IAC9B,2CAA2C;IAC3C,wCAAwC;IACxC,yCAAyC;IACzC,kDAAkD;IAClD,gDAAgD;IAChD,8CAA8C;IAC9C,+CAA+C;IAC/C,4CAA4C;IAC5C,6CAA6C;IAC7C,kDAAkD;;IAElD,sCAAsC;IACtC,kCAAkC;IAClC,gCAAgC;IAChC,8BAA8B;IAC9B,+BAA+B;;IAE/B,uCAAuC;IACvC,mCAAmC;;IAEnC,6CAA6C;IAC7C,yCAAyC;;IAEzC,+CAA+C;IAC/C,2CAA2C;;IAE3C,qDAAqD;IACrD,iDAAiD;;IAEjD,oCAAoC;;IAEpC,iCAAiC;IACjC,sCAAsC;IACtC,oCAAoC;AACxC;AC1EA;IACI,qBAAqB;IACrB,8BAAsB;IAAtB,sBAAsB;AAC1B;AACA;IAGI,sBAAsB;IAGtB,0BAA0B;;IAE1B,SAAS;IACT,UAAU;;IAEV,mBAAmB;AACvB;AACA;IACI,aAAa;AACjB;AACA;IACI,kBAAkB;IAClB,WAAW;IACX,YAAY;;IAEZ,aAAa;IACb,mBAAmB;IACnB,mBAAmB;;IAEnB,mDAAmD;IACnD,gGAAgG;IAChG,6CAA6C;AACjD;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,kEAAkE;IAClE,0DAA0D;IAC1D,sDAAsD;IACtD,sDAAsD;AAC1D;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI;QACI,wDAAwD;IAC5D;AACJ;ACrDA;IACI,aAAa;IACb,mBAAmB;;IAEnB,iBAAiB;IACjB,4BAA4B;IAC5B,yBAAyB;IACzB,uBAAuB;IACvB,mBAAmB;IACnB,oBAAoB;IACpB,wCAAwC;IACxC,gDAAgD;IAChD,gBAAgB;IAChB,kCAAkC;AACtC;ACdA;IACI,YAAY;IACZ,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,4BAA4B;IAC5B,iDAAiD;IACjD,mCAAmC;IACnC,kCAAkC;IAClC,QAAQ;IACR,SAAS;IACT,WAAW;IACX,QAAQ;IACR,wCAAwC;IACxC,UAAU;IACV,oBAAoB;AACxB;AACA;IACI,0CAA0C;AAC9C;ACnBA;IACI,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,8CAA8C;IAC9C,kBAAkB;IAClB,wCAAwC;IACxC,qCAAqC;IACrC,0CAA0C;IAC1C,iEAAiE;IACjE,+CAA+C;IAC/C,gBAAgB;;IAEhB,wBAAgB;;IAAhB,gBAAgB;IAChB,SAAS;AACb;;AAEA;IACI,gBAAgB;IAChB,2BAA2B;IAC3B,gBAAgB;AACpB;;AAEA;IACI,aAAa;AACjB;ACzBA;IACI,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,8CAA8C;IAC9C,kBAAkB;IAClB,wCAAwC;IACxC,qCAAqC;IACrC,0CAA0C;IAC1C,iEAAiE;IACjE,+CAA+C;IAC/C,gBAAgB;;IAEhB,wBAAgB;;IAAhB,gBAAgB;IAChB,SAAS;AACb;;AAEA;IACI,gBAAgB;IAChB,2BAA2B;IAC3B,gBAAgB;AACpB;;AAEA;IACI,aAAa;AACjB;ACzBA;IACI,aAAa;IACb,sBAAsB;IACtB,QAAQ;AACZ;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,wCAAwC;IACxC,qCAAqC;IACrC,gBAAgB;IAChB,kCAAkC;IAClC,iBAAiB;IACjB,4DAA4D;IAC5D,+CAA+C;IAC/C,sBAAsB;IACtB,YAAY;IACZ,UAAU;IACV,eAAe;IACf,yBAAiB;YAAjB,iBAAiB;;IAEjB,aAAa;IACb,mBAAmB;IACnB,QAAQ;AACZ;;AAEA;IACI,WAAW;IACX,qBAAqB;IACrB,QAAQ;IACR,SAAS;IACT,iCAAiC;IACjC,oCAAoC;IACpC,mCAAmC;IACnC,gCAAgC;IAChC,wBAAwB;AAC5B;;AAEA;IACI,uBAAuB;AAC3B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,QAAQ;IACR,kBAAkB;AACtB;;AAEA;IACI,aAAa;AACjB;;AAEA,yCAAyC;AACzC;IACI,kBAAkB;IAClB,8BAA8B;IAC9B,gBAAgB;AACpB;AC7DA;IAGI,sBAAsB;;IAEtB,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,sBAAsB;;IAEtB,WAAW;IACX,YAAY;IACZ,QAAQ;;IAER,oDAAoD;IACpD,4CAA4C;IAC5C,4CAA4C;IAC5C,4CAA4C;IAC5C,8CAA8C;;IAE9C,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;;IAEX,iCAAiC;IACjC,mBAAmB;AACvB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,QAAQ;AACZ;AC9CA;IACI,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;;IAElB,mDAAmD;IACnD,kBAAkB;IAClB,UAAU;IACV,wBAAwB;IACxB,YAAY;AAChB;;AAEA;IACI,WAAW;IACX,yBAAyB;IACzB,SAAS;IACT,wBAAwB;IACxB,yCAAyC;IACzC,kCAAkC;IAClC,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,wCAAwC;IACxC,gDAAgD;IAChD,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;AC5BA;IACI,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,8BAA8B;;IAE9B,4CAA4C;IAC5C,wCAAwC;IACxC,YAAY;IACZ,wBAAgB;IAAhB,gBAAgB;IAChB,QAAQ;IACR,mCAAmC;IACnC,UAAU;IACV,0DAA0D;IAC1D,sDAAsD;IACtD,+CAA+C;AACnD;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,qBAAqB;IACrB,eAAe;IACf,yCAAyC;IACzC,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,+CAA+C;AACnD;ACjCA;IACI,aAAa;IACb,WAAW;IACX,mBAAmB;IACnB,8BAA8B;IAC9B,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,YAAY;IACZ,QAAQ;IACR,qBAAqB;;IAErB,+CAA+C;IAC/C,+CAA+C;AACnD;;AAEA;IACI,6DAA6D;IAC7D,qDAAqD;AACzD;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,wCAAwC;IACxC,qCAAqC;IACrC,kCAAkC;IAClC,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,cAAc;IACd,WAAW;IACX,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,+CAA+C;IAC/C,iDAAiD;IACjD,oBAAoB;IAEpB,mDAAmD;AACvD;;AAEA;IACI,wCAAwC;IACxC,00BAA00B;IAC10B,kDAAkD;AACtD;;AAEA;IACI,WAAW;IACX,YAAY;;IAEZ,aAAa;IACb,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI,uBAAuB;AAC3B;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,uBAAuB;AAC3B;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,2DAA2D;IAC3D,mDAAmD;AACvD;;AAEA;IACI,mEAAmE;IACnE,2DAA2D;AAC/D;;AAEA;IACI,SAAS;AACb;;AAEA;IACI,sBAAsB;IACtB,mBAAmB;IACnB,kBAAkB;AACtB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI,8BAA8B;AAClC;;AAEA;IACI,iBAAiB;IACjB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,aAAa;AACjB;AClIA;IACI,aAAa;IACb,mBAAmB;IACnB,eAAe;;IAEf,QAAQ;IACR,sCAAsC;IACtC,0CAA0C;IAC1C,4CAA4C;IAC5C,kBAAkB;AACtB;;AAEA;IACI,aAAa;QACT,mBAAmB;;IAEvB,gBAAgB;IAChB,qDAAqD;IACrD,qDAAqD;IACrD,qDAAqD;IACrD,uDAAuD;;IAEvD,iDAAiD;IACjD,+CAA+C;IAC/C,2CAA2C;IAC3C,mCAAmC;AACvC;;AAEA;IACI,kBAAkB;IAClB,eAAe;IACf,8CAA8C;IAC9C,iBAAiB;;IAEjB,4DAA4D;IAC5D,4DAA4D;IAC5D,4DAA4D;IAC5D,8DAA8D;;IAE9D,8CAA8C;IAC9C,kDAAkD;IAClD,gDAAgD;IAChD,oDAAoD;AACxD;;AAEA;IACI,8fAA8f;IAC9f,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,4BAA4B;IAC5B,kCAAkC;IAClC,WAAW;IACX,YAAY;AAChB;;AAEA;IACI,+CAA+C;IAC/C,uDAAuD;IACvD,mDAAmD;IACnD,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB","file":"selective-ui.css","sourcesContent":[":root {\n --seui-transparent-color: #00000000;\n\n --seui-view-text-color: #121212;\n --seui-view-ro-text-color: #a3a3a3;\n --seui-view-text-style: Arial, Helvetica, sans-serif;\n --seui-view-text-size: 13px;\n --seui-view-mobile-text-size: 16px;\n --seui-view-background-color: #ffffff;\n --seui-view-ro-background-color: #00000029;\n --seui-view-optgroup-background-color: #a3c6e9;\n --seui-view-border-color: #a3a3a3;\n --seui-view-ro-border-color: #bdbdbd;\n --seui-view-border-size: 1px;\n --seui-view-border-style: solid;\n --seui-view-border-radius: 5px;\n\n --seui-directive-color: #000000;\n --seui-directive-ro-color: #a3a3a3;\n\n --seui-option-crtl-text-color: #307ecc;\n --seui-option-crtl-text-color-hover: #ff0000;\n --seui-option-crtl-background-color: #f3f3f3;\n --seui-option-crtl-border-color: #cccccc;\n --seui-option-crtl-text-size: 13px;\n\n --seui-option-padding: 5px;\n --seui-option-border-radius: 5px;\n\n --seui-accessory-max-width: 100%;\n --seui-accessory-max-height: 50px;\n --seui-accessory-padding: 2px 0;\n --seui-accessory-item-border-color: #a3a3a3;\n --seui-accessory-item-border-style: solid;\n --seui-accessory-item-border-width: 1px;\n --seui-accessory-item-border-radius: 3px;\n --seui-accessory-item-background: #f7f7f9;\n --seui-accessory-item-font-size: 11px;\n --seui-accessory-item-padding: 2px;\n --seui-accessory-item-gap: 3px;\n --seui-accessory-item-button-color: #757575;\n --seui-accessory-item-button-width: 16px;\n --seui-accessory-item-button-height: 16px;\n --seui-accessory-item-button-border-color: #a3a3a3;\n --seui-accessory-item-button-border-style: solid;\n --seui-accessory-item-button-border-width: 1px;\n --seui-accessory-item-button-border-radius: 2px;\n --seui-accessory-item-content-color: #307ecc;\n --seui-accessory-item-content-font-size: 11px;\n --seui-accessory-item-content-padding: 0 4px 0 2px;\n\n --seui-popup-background-color: #fbfbfb;\n --seui-popup-border-color: #a3a3a3;\n --seui-popup-border-style: solid;\n --seui-popup-border-width: 1px;\n --seui-popup-border-radius: 6px;\n\n --seui-chkbox-background-color: #ffffff;\n --seui-chkbox-border-color: #8f9194;\n\n --seui-chkbox-hover-background-color: #dbdbdb;\n --seui-chkbox-hover-border-color: #b7b7b7;\n\n --seui-chkbox-checked-background-color: #9dcff8;\n --seui-chkbox-checked-border-color: #9dcff8;\n\n --seui-chkbox-checked-hover-background-color: #9dcff8;\n --seui-chkbox-checked-hover-border-color: #007eff;\n\n --seui-chkbox-checked-color: #0075FF;\n\n --seui-empty-state-color: #999999;\n --seui-empty-state-background: #f9f9f9;\n --seui-empty-state-padding: 10px 5px;\n}",".seui-MAIN {\n display: inline-block;\n max-width: min-content;\n}\n.seui-MAIN, .seui-MAIN * {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n\n margin: 0;\n padding: 0;\n\n line-height: normal;\n}\n.seui-MAIN > select.init {\n display: none;\n}\n.seui-MAIN > .seui-view {\n position: relative;\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n\n background-color: var(--seui-view-background-color);\n border: var(--seui-view-border-style) var(--seui-view-border-size) var(--seui-view-border-color);\n border-radius: var(--seui-view-border-radius);\n}\n\n.seui-MAIN.invisible {\n display: none;\n}\n\n.seui-MAIN.disabled {\n --seui-view-background-color: var(--seui-view-ro-background-color);\n --seui-view-border-color: var(--seui-view-ro-border-color);\n --seui-view-text-color: var(--seui-view-ro-text-color);\n --seui-directive-color: var(--seui-directive-ro-color);\n}\n\n.seui-MAIN .hide {\n display: none;\n}\n\n@supports (-webkit-touch-callout: none) {\n :root {\n --seui-view-text-size: var(--seui-view-mobile-text-size);\n }\n}",".seui-placeholder {\n display: flex;\n align-items: center;\n \n margin-left: 10px;\n max-width: calc(100% - 30px);\n height: calc(100% - 10px);\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size) !important;\n overflow: hidden;\n color: var(--seui-view-text-color);\n}",".seui-directive {\n content: \" \";\n position: absolute;\n display: inline-block;\n vertical-align: middle;\n transition: all linear 200ms;\n border-top: 4px solid var(--seui-directive-color);\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n width: 0;\n height: 0;\n right: 10px;\n top: 50%;\n transform: translateY(-50%) rotate(0deg);\n z-index: 1;\n pointer-events: none;\n}\n.seui-directive.drop-down {\n transform: translateY(-50%) rotate(180deg);\n}",".seui-empty-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--seui-empty-state-padding, 20px);\n text-align: center;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n color: var(--seui-empty-state-color, #999);\n background-color: var(--seui-empty-state-background, transparent);\n border-radius: var(--seui-option-border-radius);\n min-height: 60px;\n\n position: sticky;\n bottom: 0;\n}\n\n.seui-empty-state.small {\n text-align: left;\n justify-content: flex-start;\n min-height: 30px;\n}\n\n.seui-empty-state.hide {\n display: none;\n}",".seui-loading-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--seui-empty-state-padding, 20px);\n text-align: center;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n color: var(--seui-empty-state-color, #999);\n background-color: var(--seui-empty-state-background, transparent);\n border-radius: var(--seui-option-border-radius);\n min-height: 60px;\n\n position: sticky;\n bottom: 0;\n}\n\n.seui-loading-state.small {\n text-align: left;\n justify-content: flex-start;\n min-height: 30px;\n}\n\n.seui-loading-state.hide {\n display: none;\n}",".seui-group {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.seui-group.hide {\n display: none;\n}\n\n.seui-group-header {\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n font-weight: 600;\n color: var(--seui-view-text-color);\n padding: 8px 12px;\n background-color: var(--seui-view-optgroup-background-color);\n border-radius: var(--seui-option-border-radius);\n /* position: sticky; */\n /* top: 0; */\n z-index: 1;\n cursor: pointer;\n user-select: none;\n \n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.seui-group-header::before {\n content: \"\";\n display: inline-block;\n width: 0;\n height: 0;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 7px solid currentColor;\n transition: transform 200ms ease;\n transform: rotate(90deg);\n}\n\n.seui-group.collapsed .seui-group-header::before {\n transform: rotate(0deg);\n}\n\n.seui-group-items {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-left: 16px;\n}\n\n.seui-group.collapsed .seui-group-items {\n display: none;\n}\n\n/* Option trong group có indent nhẹ hơn */\n.seui-group-items .seui-option-view {\n padding-left: 12px;\n border-left: 2px solid #e0e0e0;\n margin-left: 4px;\n}",".seui-popup, .seui-popup * {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n\n line-height: normal;\n}\n\n.seui-popup {\n display: none;\n position: fixed;\n z-index: 9999;\n overflow: hidden;\n flex-direction: column;\n \n height: 0px;\n padding: 2px;\n gap: 2px;\n\n background-color: var(--seui-popup-background-color);\n border-color: var(--seui-popup-border-color);\n border-style: var(--seui-popup-border-style);\n border-width: var(--seui-popup-border-width);\n border-radius: var(--seui-popup-border-radius);\n\n transition: none;\n}\n\n.seui-options-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n\n -webkit-overflow-scrolling: touch;\n touch-action: pan-y;\n}\n\n.seui-options-container.hide {\n display: none;\n}\n\n.seui-options-container .seui-virtual-items {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 2px;\n}",".seui-searchbox {\n display: flex;\n flex-direction: row;\n align-items: center;\n position: absolute;\n \n background-color: var(--seui-view-background-color);\n border-radius: 5px;\n z-index: 2;\n width: calc(100% - 30px);\n height: 100%;\n}\n\n.seui-searchbox-input {\n width: 100%;\n height: calc(100% - 10px);\n border: 0;\n outline: none !important;\n background: var(--seui-transparent-color);\n color: var(--seui-view-text-color);\n padding: 0 !important;\n margin-left: 10px;\n text-indent: 0px;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size) !important;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}",".seui-option-handle {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n \n font-size: var(--seui-option-crtl-text-size);\n font-family: var(--seui-view-text-style);\n width: unset;\n position: sticky;\n top: 0px;\n padding: var(--seui-option-padding);\n z-index: 2;\n background-color: var(--seui-option-crtl-background-color);\n border: 1px solid var(--seui-option-crtl-border-color);\n border-radius: var(--seui-option-border-radius);\n}\n\n.seui-option-handle.hide {\n display: none;\n}\n\n.seui-option-handle-item {\n text-decoration: none;\n cursor: pointer;\n color: var(--seui-option-crtl-text-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.seui-option-handle-item:hover {\n color: var(--seui-option-crtl-text-color-hover);\n}",".seui-option-view {\n display: flex;\n width: auto;\n flex-direction: row;\n align-items: center !important;\n position: relative;\n border-radius: 4px;\n line-height: normal;\n padding: 5px;\n gap: 7px;\n transition: all 180ms;\n\n background-color: var(--seui-transparent-color);\n border: solid 1px var(--seui-transparent-color);\n}\n\n.seui-option-view.checked {\n background-color: var(--seui-chkbox-checked-background-color);\n border-color: var(--seui-chkbox-checked-border-color);\n}\n\n.seui-option-view > input {\n display: none;\n}\n\n.seui-option-view > label {\n width: 100%;\n height: 100%;\n display: flex;\n gap: 7px;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n color: var(--seui-view-text-color);\n align-items: center;\n}\n\n.seui-option-view.multiple > label::before {\n content: \"\";\n display: block;\n width: 17px;\n min-width: 17px;\n height: 17px;\n min-height: 17px;\n background: var(--seui-chkbox-background-color);\n border: 1px solid var(--seui-chkbox-border-color);\n border-radius: 0.2em;\n -webkit-transition: all 200ms, background 200ms ease-in-out;\n transition: all 200ms, background 200ms ease-in-out;\n}\n\n.seui-option-view.multiple.checked > label::before {\n color: var(--seui-view-background-color);\n background: var(--seui-chkbox-checked-color) url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNyAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjE2ODQ3IDEyLjM4MDhDNy43Nzc3OCAxMi43NzIyIDcuMTQzNTMgMTIuNzcyMiA2Ljc1Mjg0IDEyLjM4MDhMMi43NDQ5OCA4LjM2NDlDMi4zNTU0IDcuOTc0NTQgMi4zNTU0IDcuMzQyNDcgMi43NDQ5OCA2Ljk1MjFMMy4xNjQ1MiA2LjUzMTczQzMuNTU1MiA2LjE0MDI3IDQuMTg5NDYgNi4xNDAyNyA0LjU4MDE0IDYuNTMxNzNMNi43NTI4NCA4LjcwODc4QzcuMTQzNTIgOS4xMDAyNCA3Ljc3Nzc4IDkuMTAwMjQgOC4xNjg0NiA4LjcwODc4TDEyLjI0OTggNC42MTkyM0MxMi42NDA1IDQuMjI3NzcgMTMuMjc0OCA0LjIyNzc3IDEzLjY2NTUgNC42MTkyM0wxNC4wODUgNS4wMzk2QzE0LjQ3NDYgNS40Mjk5NyAxNC40NzQ2IDYuMDYyMDQgMTQuMDg1IDYuNDUyNEw4LjE2ODQ3IDEyLjM4MDhaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K) 50% 40% no-repeat;\n border: 1px solid var(--seui-chkbox-checked-color);\n}\n\n.seui-option-view > label > div {\n width: 100%;\n height: 100%;\n\n display: flex;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.seui-option-view > label.align-horizontal-left > div {\n justify-content: flex-start;\n}\n\n.seui-option-view > label.align-horizontal-center > div {\n justify-content: center;\n}\n\n.seui-option-view > label.align-horizontal-right > div {\n justify-content: flex-end;\n}\n\n.seui-option-view > label.align-vertical-left > div {\n align-items: flex-start;\n}\n\n.seui-option-view > label.align-vertical-center > div {\n align-items: center;\n}\n\n.seui-option-view > label.align-vertical-right > div {\n align-items: flex-end;\n}\n\n.seui-option-view.hide {\n display: none;\n}\n\n.seui-option-view.highlight {\n background-color: var(--seui-chkbox-hover-background-color);\n border-color: var(--seui-chkbox-hover-border-color);\n}\n\n.seui-option-view.highlight.checked {\n background-color: var(--seui-chkbox-checked-hover-background-color);\n border-color: var(--seui-chkbox-checked-hover-border-color);\n}\n\n.seui-option-view.has-image {\n gap: 10px;\n}\n\n.seui-option-view.has-image.image-top {\n flex-direction: column;\n align-items: center;\n text-align: center;\n}\n\n.seui-option-view.has-image.image-right {\n flex-direction: row-reverse;\n}\n\n.seui-option-view.has-image.image-bottom {\n flex-direction: column-reverse;\n}\n\n.seui-option-view .option-image {\n object-fit: cover;\n flex-shrink: 0;\n}\n\n.seui-option-view.multiple.has-image > label::before {\n order: -1;\n display: none;\n}",".seui-accessorybox {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n gap: 2px;\n padding: var(--seui-accessory-padding);\n max-width: var(--seui-accessory-max-width);\n max-height: var(--seui-accessory-max-height);\n overflow-y: scroll;\n}\n\n.accessory-item {\n display: flex;\n align-items: center;\n\n overflow: hidden;\n border-color: var(--seui-accessory-item-border-color);\n border-style: var(--seui-accessory-item-border-style);\n border-width: var(--seui-accessory-item-border-width);\n border-radius: var(--seui-accessory-item-border-radius);\n\n background: var(--seui-accessory-item-background);\n font-size: var(--seui-accessory-item-font-size);\n padding: var(--seui-accessory-item-padding);\n gap: var(--seui-accessory-item-gap);\n}\n\n.accessory-item > .accessory-item-button {\n position: relative;\n cursor: pointer;\n color: var(--seui-accessory-item-button-color);\n font-weight: bold;\n\n border-color: var(--seui-accessory-item-button-border-color);\n border-style: var(--seui-accessory-item-button-border-style);\n border-width: var(--seui-accessory-item-button-border-width);\n border-radius: var(--seui-accessory-item-button-border-radius);\n\n width: var(--seui-accessory-item-button-width);\n min-width: var(--seui-accessory-item-button-width);\n height: var(--seui-accessory-item-button-height);\n min-height: var(--seui-accessory-item-button-height);\n}\n\n.accessory-item > .accessory-item-button::after {\n background: url('data:image/svg+xml,<svg width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\"><g><title>Layer 1</title><g transform=\"rotate(45 8 8)\" stroke=\"null\" id=\"svg_28\"><rect stroke=\"%23000\" rx=\"1\" id=\"svg_20\" height=\"1.41129\" width=\"7.76211\" y=\"7.29435\" x=\"4.11895\" stroke-width=\"0\" fill=\"%234c4c4c\"/><rect stroke=\"%23000\" transform=\"matrix(0 0.705646 -0.705646 0 12.0262 3.97378)\" rx=\"1\" id=\"svg_27\" height=\"2\" width=\"11\" y=\"4.70572\" x=\"0.20572\" stroke-width=\"0\" fill=\"%234c4c4c\"/></g></g></svg>');\n display: block;\n content: \"\";\n position: absolute;\n background-repeat: no-repeat;\n background-position: center center;\n width: 100%;\n height: 100%;\n}\n\n.accessory-item > .accessory-item-content {\n color: var(--seui-accessory-item-content-color);\n font-size: var(--seui-accessory-item-content-font-size);\n padding: var(--seui-accessory-item-content-padding);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}"]}
|
|
1
|
+
{"version":3,"sources":["index.css","selectbox.css","placeholder.css","directive.css","empty-state.css","loading-state.css","group-view.css","popup.css","searchbox.css","option-handle.css","option-view.css","accessorybox.css"],"names":[],"mappings":"AAAA;IACI,mCAAmC;;IAEnC,+BAA+B;IAC/B,kCAAkC;IAClC,oDAAoD;IACpD,2BAA2B;IAC3B,kCAAkC;IAClC,qCAAqC;IACrC,0CAA0C;IAC1C,8CAA8C;IAC9C,iCAAiC;IACjC,oCAAoC;IACpC,4BAA4B;IAC5B,+BAA+B;IAC/B,8BAA8B;;IAE9B,+BAA+B;IAC/B,kCAAkC;;IAElC,sCAAsC;IACtC,4CAA4C;IAC5C,4CAA4C;IAC5C,wCAAwC;IACxC,kCAAkC;;IAElC,0BAA0B;IAC1B,gCAAgC;;IAEhC,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,2CAA2C;IAC3C,yCAAyC;IACzC,uCAAuC;IACvC,wCAAwC;IACxC,yCAAyC;IACzC,qCAAqC;IACrC,kCAAkC;IAClC,8BAA8B;IAC9B,2CAA2C;IAC3C,wCAAwC;IACxC,yCAAyC;IACzC,kDAAkD;IAClD,gDAAgD;IAChD,8CAA8C;IAC9C,+CAA+C;IAC/C,4CAA4C;IAC5C,6CAA6C;IAC7C,kDAAkD;;IAElD,sCAAsC;IACtC,kCAAkC;IAClC,gCAAgC;IAChC,8BAA8B;IAC9B,+BAA+B;;IAE/B,uCAAuC;IACvC,mCAAmC;;IAEnC,6CAA6C;IAC7C,yCAAyC;;IAEzC,+CAA+C;IAC/C,2CAA2C;;IAE3C,qDAAqD;IACrD,iDAAiD;;IAEjD,oCAAoC;;IAEpC,iCAAiC;IACjC,sCAAsC;IACtC,oCAAoC;AACxC;AC1EA;IACI,qBAAqB;IACrB,8BAAsB;IAAtB,sBAAsB;AAC1B;AACA;IAGI,sBAAsB;IAGtB,0BAA0B;;IAE1B,SAAS;IACT,UAAU;;IAEV,mBAAmB;AACvB;AACA;IACI,aAAa;AACjB;AACA;IACI,kBAAkB;IAClB,WAAW;IACX,YAAY;;IAEZ,aAAa;IACb,mBAAmB;IACnB,mBAAmB;;IAEnB,mDAAmD;IACnD,gGAAgG;IAChG,6CAA6C;AACjD;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,kEAAkE;IAClE,0DAA0D;IAC1D,sDAAsD;IACtD,sDAAsD;AAC1D;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI;QACI,wDAAwD;IAC5D;AACJ;ACrDA;IACI,mBAAmB;;IAEnB,iBAAiB;IACjB,4BAA4B;IAC5B,uBAAuB;IACvB,mBAAmB;IACnB,oBAAoB;IACpB,gBAAgB;;IAEhB,wCAAwC;IACxC,gDAAgD;IAChD,kCAAkC;AACtC;ACbA;IACI,YAAY;IACZ,kBAAkB;IAClB,qBAAqB;IACrB,sBAAsB;IACtB,4BAA4B;IAC5B,iDAAiD;IACjD,mCAAmC;IACnC,kCAAkC;IAClC,QAAQ;IACR,SAAS;IACT,WAAW;IACX,QAAQ;IACR,wCAAwC;IACxC,UAAU;IACV,oBAAoB;AACxB;AACA;IACI,0CAA0C;AAC9C;ACnBA;IACI,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,8CAA8C;IAC9C,kBAAkB;IAClB,wCAAwC;IACxC,qCAAqC;IACrC,0CAA0C;IAC1C,iEAAiE;IACjE,+CAA+C;IAC/C,gBAAgB;;IAEhB,wBAAgB;;IAAhB,gBAAgB;IAChB,SAAS;AACb;;AAEA;IACI,gBAAgB;IAChB,2BAA2B;IAC3B,gBAAgB;AACpB;;AAEA;IACI,aAAa;AACjB;ACzBA;IACI,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,8CAA8C;IAC9C,kBAAkB;IAClB,wCAAwC;IACxC,qCAAqC;IACrC,0CAA0C;IAC1C,iEAAiE;IACjE,+CAA+C;IAC/C,gBAAgB;;IAEhB,wBAAgB;;IAAhB,gBAAgB;IAChB,SAAS;AACb;;AAEA;IACI,gBAAgB;IAChB,2BAA2B;IAC3B,gBAAgB;AACpB;;AAEA;IACI,aAAa;AACjB;ACzBA;IACI,aAAa;IACb,sBAAsB;IACtB,QAAQ;AACZ;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,wCAAwC;IACxC,qCAAqC;IACrC,gBAAgB;IAChB,kCAAkC;IAClC,iBAAiB;IACjB,4DAA4D;IAC5D,+CAA+C;IAC/C,sBAAsB;IACtB,YAAY;IACZ,UAAU;IACV,eAAe;IACf,yBAAiB;YAAjB,iBAAiB;;IAEjB,aAAa;IACb,mBAAmB;IACnB,QAAQ;AACZ;;AAEA;IACI,WAAW;IACX,qBAAqB;IACrB,QAAQ;IACR,SAAS;IACT,iCAAiC;IACjC,oCAAoC;IACpC,mCAAmC;IACnC,gCAAgC;IAChC,wBAAwB;AAC5B;;AAEA;IACI,uBAAuB;AAC3B;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,QAAQ;IACR,kBAAkB;AACtB;;AAEA;IACI,aAAa;AACjB;;AAEA,yCAAyC;AACzC;IACI,kBAAkB;IAClB,8BAA8B;IAC9B,gBAAgB;AACpB;AC7DA;IAGI,sBAAsB;;IAEtB,mBAAmB;AACvB;;AAEA;IACI,aAAa;IACb,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,sBAAsB;;IAEtB,WAAW;IACX,YAAY;IACZ,QAAQ;;IAER,oDAAoD;IACpD,4CAA4C;IAC5C,4CAA4C;IAC5C,4CAA4C;IAC5C,8CAA8C;;IAE9C,gBAAgB;AACpB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;;IAEX,iCAAiC;IACjC,mBAAmB;AACvB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,aAAa;IACb,sBAAsB;IACtB,WAAW;IACX,QAAQ;AACZ;AC9CA;IACI,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;;IAElB,mDAAmD;IACnD,kBAAkB;IAClB,UAAU;IACV,wBAAwB;IACxB,YAAY;AAChB;;AAEA;IACI,WAAW;IACX,yBAAyB;IACzB,SAAS;IACT,wBAAwB;IACxB,yCAAyC;IACzC,kCAAkC;IAClC,qBAAqB;IACrB,iBAAiB;IACjB,gBAAgB;IAChB,wCAAwC;IACxC,gDAAgD;IAChD,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;AC5BA;IACI,aAAa;IACb,mBAAmB;IACnB,mBAAmB;IACnB,8BAA8B;;IAE9B,4CAA4C;IAC5C,wCAAwC;IACxC,YAAY;IACZ,wBAAgB;IAAhB,gBAAgB;IAChB,QAAQ;IACR,mCAAmC;IACnC,UAAU;IACV,0DAA0D;IAC1D,sDAAsD;IACtD,+CAA+C;AACnD;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,qBAAqB;IACrB,eAAe;IACf,yCAAyC;IACzC,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,+CAA+C;AACnD;ACjCA;IACI,aAAa;IACb,WAAW;IACX,mBAAmB;IACnB,8BAA8B;IAC9B,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,YAAY;IACZ,QAAQ;IACR,qBAAqB;;IAErB,+CAA+C;IAC/C,+CAA+C;AACnD;;AAEA;IACI,6DAA6D;IAC7D,qDAAqD;AACzD;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,WAAW;IACX,YAAY;IACZ,aAAa;IACb,QAAQ;IACR,wCAAwC;IACxC,qCAAqC;IACrC,kCAAkC;IAClC,mBAAmB;AACvB;;AAEA;IACI,WAAW;IACX,cAAc;IACd,WAAW;IACX,eAAe;IACf,YAAY;IACZ,gBAAgB;IAChB,+CAA+C;IAC/C,iDAAiD;IACjD,oBAAoB;IAEpB,mDAAmD;AACvD;;AAEA;IACI,wCAAwC;IACxC,00BAA00B;IAC10B,kDAAkD;AACtD;;AAEA;IACI,WAAW;IACX,YAAY;;IAEZ,aAAa;IACb,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI,uBAAuB;AAC3B;;AAEA;IACI,yBAAyB;AAC7B;;AAEA;IACI,uBAAuB;AAC3B;;AAEA;IACI,mBAAmB;AACvB;;AAEA;IACI,qBAAqB;AACzB;;AAEA;IACI,aAAa;AACjB;;AAEA;IACI,2DAA2D;IAC3D,mDAAmD;AACvD;;AAEA;IACI,mEAAmE;IACnE,2DAA2D;AAC/D;;AAEA;IACI,SAAS;AACb;;AAEA;IACI,sBAAsB;IACtB,mBAAmB;IACnB,kBAAkB;AACtB;;AAEA;IACI,2BAA2B;AAC/B;;AAEA;IACI,8BAA8B;AAClC;;AAEA;IACI,iBAAiB;IACjB,cAAc;AAClB;;AAEA;IACI,SAAS;IACT,aAAa;AACjB;AClIA;IACI,aAAa;IACb,mBAAmB;IACnB,eAAe;;IAEf,QAAQ;IACR,sCAAsC;IACtC,0CAA0C;IAC1C,4CAA4C;IAC5C,kBAAkB;AACtB;;AAEA;IACI,aAAa;QACT,mBAAmB;;IAEvB,gBAAgB;IAChB,qDAAqD;IACrD,qDAAqD;IACrD,qDAAqD;IACrD,uDAAuD;;IAEvD,iDAAiD;IACjD,+CAA+C;IAC/C,2CAA2C;IAC3C,mCAAmC;AACvC;;AAEA;IACI,kBAAkB;IAClB,eAAe;IACf,8CAA8C;IAC9C,iBAAiB;;IAEjB,4DAA4D;IAC5D,4DAA4D;IAC5D,4DAA4D;IAC5D,8DAA8D;;IAE9D,8CAA8C;IAC9C,kDAAkD;IAClD,gDAAgD;IAChD,oDAAoD;AACxD;;AAEA;IACI,8fAA8f;IAC9f,cAAc;IACd,WAAW;IACX,kBAAkB;IAClB,4BAA4B;IAC5B,kCAAkC;IAClC,WAAW;IACX,YAAY;AAChB;;AAEA;IACI,+CAA+C;IAC/C,uDAAuD;IACvD,mDAAmD;IACnD,gBAAgB;IAChB,uBAAuB;IACvB,mBAAmB;AACvB","file":"selective-ui.css","sourcesContent":[":root {\n --seui-transparent-color: #00000000;\n\n --seui-view-text-color: #121212;\n --seui-view-ro-text-color: #a3a3a3;\n --seui-view-text-style: Arial, Helvetica, sans-serif;\n --seui-view-text-size: 13px;\n --seui-view-mobile-text-size: 16px;\n --seui-view-background-color: #ffffff;\n --seui-view-ro-background-color: #00000029;\n --seui-view-optgroup-background-color: #a3c6e9;\n --seui-view-border-color: #a3a3a3;\n --seui-view-ro-border-color: #bdbdbd;\n --seui-view-border-size: 1px;\n --seui-view-border-style: solid;\n --seui-view-border-radius: 5px;\n\n --seui-directive-color: #000000;\n --seui-directive-ro-color: #a3a3a3;\n\n --seui-option-crtl-text-color: #307ecc;\n --seui-option-crtl-text-color-hover: #ff0000;\n --seui-option-crtl-background-color: #f3f3f3;\n --seui-option-crtl-border-color: #cccccc;\n --seui-option-crtl-text-size: 13px;\n\n --seui-option-padding: 5px;\n --seui-option-border-radius: 5px;\n\n --seui-accessory-max-width: 100%;\n --seui-accessory-max-height: 50px;\n --seui-accessory-padding: 2px 0;\n --seui-accessory-item-border-color: #a3a3a3;\n --seui-accessory-item-border-style: solid;\n --seui-accessory-item-border-width: 1px;\n --seui-accessory-item-border-radius: 3px;\n --seui-accessory-item-background: #f7f7f9;\n --seui-accessory-item-font-size: 11px;\n --seui-accessory-item-padding: 2px;\n --seui-accessory-item-gap: 3px;\n --seui-accessory-item-button-color: #757575;\n --seui-accessory-item-button-width: 16px;\n --seui-accessory-item-button-height: 16px;\n --seui-accessory-item-button-border-color: #a3a3a3;\n --seui-accessory-item-button-border-style: solid;\n --seui-accessory-item-button-border-width: 1px;\n --seui-accessory-item-button-border-radius: 2px;\n --seui-accessory-item-content-color: #307ecc;\n --seui-accessory-item-content-font-size: 11px;\n --seui-accessory-item-content-padding: 0 4px 0 2px;\n\n --seui-popup-background-color: #fbfbfb;\n --seui-popup-border-color: #a3a3a3;\n --seui-popup-border-style: solid;\n --seui-popup-border-width: 1px;\n --seui-popup-border-radius: 6px;\n\n --seui-chkbox-background-color: #ffffff;\n --seui-chkbox-border-color: #8f9194;\n\n --seui-chkbox-hover-background-color: #dbdbdb;\n --seui-chkbox-hover-border-color: #b7b7b7;\n\n --seui-chkbox-checked-background-color: #9dcff8;\n --seui-chkbox-checked-border-color: #9dcff8;\n\n --seui-chkbox-checked-hover-background-color: #9dcff8;\n --seui-chkbox-checked-hover-border-color: #007eff;\n\n --seui-chkbox-checked-color: #0075FF;\n\n --seui-empty-state-color: #999999;\n --seui-empty-state-background: #f9f9f9;\n --seui-empty-state-padding: 10px 5px;\n}",".seui-MAIN {\n display: inline-block;\n max-width: min-content;\n}\n.seui-MAIN, .seui-MAIN * {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n\n margin: 0;\n padding: 0;\n\n line-height: normal;\n}\n.seui-MAIN > select.init {\n display: none;\n}\n.seui-MAIN > .seui-view {\n position: relative;\n width: 100%;\n height: 100%;\n\n display: flex;\n flex-direction: row;\n align-items: center;\n\n background-color: var(--seui-view-background-color);\n border: var(--seui-view-border-style) var(--seui-view-border-size) var(--seui-view-border-color);\n border-radius: var(--seui-view-border-radius);\n}\n\n.seui-MAIN.invisible {\n display: none;\n}\n\n.seui-MAIN.disabled {\n --seui-view-background-color: var(--seui-view-ro-background-color);\n --seui-view-border-color: var(--seui-view-ro-border-color);\n --seui-view-text-color: var(--seui-view-ro-text-color);\n --seui-directive-color: var(--seui-directive-ro-color);\n}\n\n.seui-MAIN .hide {\n display: none;\n}\n\n@supports (-webkit-touch-callout: none) {\n :root {\n --seui-view-text-size: var(--seui-view-mobile-text-size);\n }\n}",".seui-placeholder {\n align-items: center;\n \n margin-left: 10px;\n max-width: calc(100% - 40px);\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n overflow: hidden;\n\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size) !important;\n color: var(--seui-view-text-color);\n}",".seui-directive {\n content: \" \";\n position: absolute;\n display: inline-block;\n vertical-align: middle;\n transition: all linear 200ms;\n border-top: 4px solid var(--seui-directive-color);\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n width: 0;\n height: 0;\n right: 10px;\n top: 50%;\n transform: translateY(-50%) rotate(0deg);\n z-index: 1;\n pointer-events: none;\n}\n.seui-directive.drop-down {\n transform: translateY(-50%) rotate(180deg);\n}",".seui-empty-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--seui-empty-state-padding, 20px);\n text-align: center;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n color: var(--seui-empty-state-color, #999);\n background-color: var(--seui-empty-state-background, transparent);\n border-radius: var(--seui-option-border-radius);\n min-height: 60px;\n\n position: sticky;\n bottom: 0;\n}\n\n.seui-empty-state.small {\n text-align: left;\n justify-content: flex-start;\n min-height: 30px;\n}\n\n.seui-empty-state.hide {\n display: none;\n}",".seui-loading-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: var(--seui-empty-state-padding, 20px);\n text-align: center;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n color: var(--seui-empty-state-color, #999);\n background-color: var(--seui-empty-state-background, transparent);\n border-radius: var(--seui-option-border-radius);\n min-height: 60px;\n\n position: sticky;\n bottom: 0;\n}\n\n.seui-loading-state.small {\n text-align: left;\n justify-content: flex-start;\n min-height: 30px;\n}\n\n.seui-loading-state.hide {\n display: none;\n}",".seui-group {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.seui-group.hide {\n display: none;\n}\n\n.seui-group-header {\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n font-weight: 600;\n color: var(--seui-view-text-color);\n padding: 8px 12px;\n background-color: var(--seui-view-optgroup-background-color);\n border-radius: var(--seui-option-border-radius);\n /* position: sticky; */\n /* top: 0; */\n z-index: 1;\n cursor: pointer;\n user-select: none;\n \n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.seui-group-header::before {\n content: \"\";\n display: inline-block;\n width: 0;\n height: 0;\n border-top: 5px solid transparent;\n border-bottom: 5px solid transparent;\n border-left: 7px solid currentColor;\n transition: transform 200ms ease;\n transform: rotate(90deg);\n}\n\n.seui-group.collapsed .seui-group-header::before {\n transform: rotate(0deg);\n}\n\n.seui-group-items {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding-left: 16px;\n}\n\n.seui-group.collapsed .seui-group-items {\n display: none;\n}\n\n/* Option trong group có indent nhẹ hơn */\n.seui-group-items .seui-option-view {\n padding-left: 12px;\n border-left: 2px solid #e0e0e0;\n margin-left: 4px;\n}",".seui-popup, .seui-popup * {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n\n line-height: normal;\n}\n\n.seui-popup {\n display: none;\n position: fixed;\n z-index: 9999;\n overflow: hidden;\n flex-direction: column;\n \n height: 0px;\n padding: 2px;\n gap: 2px;\n\n background-color: var(--seui-popup-background-color);\n border-color: var(--seui-popup-border-color);\n border-style: var(--seui-popup-border-style);\n border-width: var(--seui-popup-border-width);\n border-radius: var(--seui-popup-border-radius);\n\n transition: none;\n}\n\n.seui-options-container {\n display: flex;\n flex-direction: column;\n width: 100%;\n\n -webkit-overflow-scrolling: touch;\n touch-action: pan-y;\n}\n\n.seui-options-container.hide {\n display: none;\n}\n\n.seui-options-container .seui-virtual-items {\n display: flex;\n flex-direction: column;\n width: 100%;\n gap: 2px;\n}",".seui-searchbox {\n display: flex;\n flex-direction: row;\n align-items: center;\n position: absolute;\n \n background-color: var(--seui-view-background-color);\n border-radius: 5px;\n z-index: 2;\n width: calc(100% - 30px);\n height: 100%;\n}\n\n.seui-searchbox-input {\n width: 100%;\n height: calc(100% - 10px);\n border: 0;\n outline: none !important;\n background: var(--seui-transparent-color);\n color: var(--seui-view-text-color);\n padding: 0 !important;\n margin-left: 10px;\n text-indent: 0px;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size) !important;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}",".seui-option-handle {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n \n font-size: var(--seui-option-crtl-text-size);\n font-family: var(--seui-view-text-style);\n width: unset;\n position: sticky;\n top: 0px;\n padding: var(--seui-option-padding);\n z-index: 2;\n background-color: var(--seui-option-crtl-background-color);\n border: 1px solid var(--seui-option-crtl-border-color);\n border-radius: var(--seui-option-border-radius);\n}\n\n.seui-option-handle.hide {\n display: none;\n}\n\n.seui-option-handle-item {\n text-decoration: none;\n cursor: pointer;\n color: var(--seui-option-crtl-text-color);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.seui-option-handle-item:hover {\n color: var(--seui-option-crtl-text-color-hover);\n}",".seui-option-view {\n display: flex;\n width: auto;\n flex-direction: row;\n align-items: center !important;\n position: relative;\n border-radius: 4px;\n line-height: normal;\n padding: 5px;\n gap: 7px;\n transition: all 180ms;\n\n background-color: var(--seui-transparent-color);\n border: solid 1px var(--seui-transparent-color);\n}\n\n.seui-option-view.checked {\n background-color: var(--seui-chkbox-checked-background-color);\n border-color: var(--seui-chkbox-checked-border-color);\n}\n\n.seui-option-view > input {\n display: none;\n}\n\n.seui-option-view > label {\n width: 100%;\n height: 100%;\n display: flex;\n gap: 7px;\n font-family: var(--seui-view-text-style);\n font-size: var(--seui-view-text-size);\n color: var(--seui-view-text-color);\n align-items: center;\n}\n\n.seui-option-view.multiple > label::before {\n content: \"\";\n display: block;\n width: 17px;\n min-width: 17px;\n height: 17px;\n min-height: 17px;\n background: var(--seui-chkbox-background-color);\n border: 1px solid var(--seui-chkbox-border-color);\n border-radius: 0.2em;\n -webkit-transition: all 200ms, background 200ms ease-in-out;\n transition: all 200ms, background 200ms ease-in-out;\n}\n\n.seui-option-view.multiple.checked > label::before {\n color: var(--seui-view-background-color);\n background: var(--seui-chkbox-checked-color) url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNyAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik04LjE2ODQ3IDEyLjM4MDhDNy43Nzc3OCAxMi43NzIyIDcuMTQzNTMgMTIuNzcyMiA2Ljc1Mjg0IDEyLjM4MDhMMi43NDQ5OCA4LjM2NDlDMi4zNTU0IDcuOTc0NTQgMi4zNTU0IDcuMzQyNDcgMi43NDQ5OCA2Ljk1MjFMMy4xNjQ1MiA2LjUzMTczQzMuNTU1MiA2LjE0MDI3IDQuMTg5NDYgNi4xNDAyNyA0LjU4MDE0IDYuNTMxNzNMNi43NTI4NCA4LjcwODc4QzcuMTQzNTIgOS4xMDAyNCA3Ljc3Nzc4IDkuMTAwMjQgOC4xNjg0NiA4LjcwODc4TDEyLjI0OTggNC42MTkyM0MxMi42NDA1IDQuMjI3NzcgMTMuMjc0OCA0LjIyNzc3IDEzLjY2NTUgNC42MTkyM0wxNC4wODUgNS4wMzk2QzE0LjQ3NDYgNS40Mjk5NyAxNC40NzQ2IDYuMDYyMDQgMTQuMDg1IDYuNDUyNEw4LjE2ODQ3IDEyLjM4MDhaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K) 50% 40% no-repeat;\n border: 1px solid var(--seui-chkbox-checked-color);\n}\n\n.seui-option-view > label > div {\n width: 100%;\n height: 100%;\n\n display: flex;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.seui-option-view > label.align-horizontal-left > div {\n justify-content: flex-start;\n}\n\n.seui-option-view > label.align-horizontal-center > div {\n justify-content: center;\n}\n\n.seui-option-view > label.align-horizontal-right > div {\n justify-content: flex-end;\n}\n\n.seui-option-view > label.align-vertical-left > div {\n align-items: flex-start;\n}\n\n.seui-option-view > label.align-vertical-center > div {\n align-items: center;\n}\n\n.seui-option-view > label.align-vertical-right > div {\n align-items: flex-end;\n}\n\n.seui-option-view.hide {\n display: none;\n}\n\n.seui-option-view.highlight {\n background-color: var(--seui-chkbox-hover-background-color);\n border-color: var(--seui-chkbox-hover-border-color);\n}\n\n.seui-option-view.highlight.checked {\n background-color: var(--seui-chkbox-checked-hover-background-color);\n border-color: var(--seui-chkbox-checked-hover-border-color);\n}\n\n.seui-option-view.has-image {\n gap: 10px;\n}\n\n.seui-option-view.has-image.image-top {\n flex-direction: column;\n align-items: center;\n text-align: center;\n}\n\n.seui-option-view.has-image.image-right {\n flex-direction: row-reverse;\n}\n\n.seui-option-view.has-image.image-bottom {\n flex-direction: column-reverse;\n}\n\n.seui-option-view .option-image {\n object-fit: cover;\n flex-shrink: 0;\n}\n\n.seui-option-view.multiple.has-image > label::before {\n order: -1;\n display: none;\n}",".seui-accessorybox {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n gap: 2px;\n padding: var(--seui-accessory-padding);\n max-width: var(--seui-accessory-max-width);\n max-height: var(--seui-accessory-max-height);\n overflow-y: scroll;\n}\n\n.accessory-item {\n display: flex;\n align-items: center;\n\n overflow: hidden;\n border-color: var(--seui-accessory-item-border-color);\n border-style: var(--seui-accessory-item-border-style);\n border-width: var(--seui-accessory-item-border-width);\n border-radius: var(--seui-accessory-item-border-radius);\n\n background: var(--seui-accessory-item-background);\n font-size: var(--seui-accessory-item-font-size);\n padding: var(--seui-accessory-item-padding);\n gap: var(--seui-accessory-item-gap);\n}\n\n.accessory-item > .accessory-item-button {\n position: relative;\n cursor: pointer;\n color: var(--seui-accessory-item-button-color);\n font-weight: bold;\n\n border-color: var(--seui-accessory-item-button-border-color);\n border-style: var(--seui-accessory-item-button-border-style);\n border-width: var(--seui-accessory-item-button-border-width);\n border-radius: var(--seui-accessory-item-button-border-radius);\n\n width: var(--seui-accessory-item-button-width);\n min-width: var(--seui-accessory-item-button-width);\n height: var(--seui-accessory-item-button-height);\n min-height: var(--seui-accessory-item-button-height);\n}\n\n.accessory-item > .accessory-item-button::after {\n background: url('data:image/svg+xml,<svg width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\"><g><title>Layer 1</title><g transform=\"rotate(45 8 8)\" stroke=\"null\" id=\"svg_28\"><rect stroke=\"%23000\" rx=\"1\" id=\"svg_20\" height=\"1.41129\" width=\"7.76211\" y=\"7.29435\" x=\"4.11895\" stroke-width=\"0\" fill=\"%234c4c4c\"/><rect stroke=\"%23000\" transform=\"matrix(0 0.705646 -0.705646 0 12.0262 3.97378)\" rx=\"1\" id=\"svg_27\" height=\"2\" width=\"11\" y=\"4.70572\" x=\"0.20572\" stroke-width=\"0\" fill=\"%234c4c4c\"/></g></g></svg>');\n display: block;\n content: \"\";\n position: absolute;\n background-repeat: no-repeat;\n background-position: center center;\n width: 100%;\n height: 100%;\n}\n\n.accessory-item > .accessory-item-content {\n color: var(--seui-accessory-item-content-color);\n font-size: var(--seui-accessory-item-content-font-size);\n padding: var(--seui-accessory-item-content-padding);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}"]}
|
package/dist/selective-ui.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Selective UI v1.3.
|
|
1
|
+
/*! Selective UI v1.3.1 | MIT License */
|
|
2
2
|
/**
|
|
3
3
|
* @class
|
|
4
4
|
*/
|
|
@@ -10892,7 +10892,7 @@ const SECLASS = new Selective();
|
|
|
10892
10892
|
*
|
|
10893
10893
|
* Declared as `const` literal type to enable strict typing and easy tree-shaking.
|
|
10894
10894
|
*/
|
|
10895
|
-
const version = "1.3.
|
|
10895
|
+
const version = "1.3.1";
|
|
10896
10896
|
/**
|
|
10897
10897
|
* Library name identifier.
|
|
10898
10898
|
*
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! Selective UI v1.3.
|
|
2
|
-
function t(t){return new f(t??null)}function bind(t,s={}){j.bind(t,s)}function find(t){return j.find(t)}function destroy(t=null){j.destroy(t)}function rebind(t,s={}){j.rebind(t,s)}function effector(s){return t(s)}function registerPlugin(t){j.registerPlugin(t)}function unregisterPlugin(t){j.unregisterPlugin(t)}function init(){V||(V=!0,document.addEventListener("mousedown",()=>{const t=i.t();if(t.length>0){const s=j.find(t.join(", "));s.isEmpty||s.close()}}),j.i())}class s{constructor(){this.h={accessoryVisible:!0,virtualScroll:!0,accessoryStyle:"top",multiple:!1,minWidth:"50px",width:"0px",offsetWidth:null,minHeight:"30px",height:"30px",panelHeight:"220px",panelMinHeight:"100px",disabled:!1,readonly:!1,selectall:!0,keepSelected:!0,placeholder:"Select value",altMask:"",autoclose:!1,autoscroll:!0,autofocus:!0,searchable:!0,loadingfield:!0,preload:!1,visible:!0,skipError:!1,customDelimiter:",",textLoading:"Processing...",textNoData:"No data available",textNotFound:"Not found",textSelectAll:"Select all",textDeselectAll:"Deselect all",textAccessoryDeselect:"Deselect: ",animationtime:200,delaysearchtime:200,allowHtml:!1,maxSelected:0,labelHalign:"left",labelValign:"center",imageMode:!1,imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",imagePosition:"right",ajax:null,on:{load:[],beforeShow:[],show:[],beforeChange:[],change:[],beforeClose:[],close:[]}},this.o=new Map,this.l=new Map,this.u=[]}}class i{static get p(){return this.m||(this.m=new s),this.m}static v(t){if(null===t||"object"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=this.v(t[i]));return s}static M(t=6){let s="";for(let i=0;i<t;i++)s+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return s}static O(t){if(!t)return[];if("string"==typeof t){const s=document.querySelectorAll(t);return Array.from(s)}return t instanceof HTMLElement?[t]:t instanceof NodeList||Array.isArray(t)?Array.from(t):[]}static A(t={}){return this.H(document.createElement(t.node??"div"),t,!0)}static H(t=document.documentElement,s=null,i=!1){const e={...s??{}},h=i?t:t.cloneNode(!0),n=e.classList;return"string"==typeof n?h.classList.add(n):Array.isArray(n)&&h.classList.add(...n),delete e.classList,["style","dataset"].forEach(t=>{const s=e[t];s&&"object"==typeof s&&Object.assign(h[t],s),delete e[t]}),e.role&&(h.setAttribute("role",e.role+""),delete e.role),e.ariaLive&&(h.setAttribute("aria-live",e.ariaLive+""),delete e.ariaLive),e.S&&(h.setAttribute("aria-labelledby",e.S+""),delete e.S),e.T&&(h.setAttribute("aria-controls",e.T+""),delete e.T),e.C&&(h.setAttribute("aria-haspopup",e.C+""),delete e.C),e.P&&(h.setAttribute("aria-multiselectable",e.P+""),delete e.P),e.L&&(h.setAttribute("aria-autocomplete",e.L+""),delete e.L),e.event&&"object"==typeof e.event&&(Object.entries(e.event).forEach(([t,s])=>{h.addEventListener(t,s)}),delete e.event),Object.entries(e).forEach(([t,s])=>{null===s?h.removeAttribute(t):h[t]=s}),h}static I(t,s=null,i=!1,e=!1,h={}){let n=null;for(const o in t){const r=t[o],l=r?.tag?.tagName?r.tag:this.A(r.tag);h[o]=l,r?.F&&this.I(r.F,l,!1,!1,h),s?i?s.prepend(l):s.append(l):e||n||(n=l)}return e||(h.id=this.M(7),s||(h={tags:h,view:n})),h}static j(t,s){const i=this.v(s);for(const s in i){const e=t[s];e?i[s]="boolean"==typeof i[s]?this.$(e):e:void 0!==t?.dataset?.[s]&&(i[s]="boolean"==typeof i[s]?this.$(t.dataset[s]):t.dataset[s])}return i}static V(...t){if(0===t.length)return{};if(1===t.length)return this.v(t[0]);const s=this.v(t[0]);for(let i=1;i<t.length;i++){const e=t[i];for(const t in e)if("on"===t){const i=e[t];for(const e in i)s[t][e].push(i[e])}else s[t]=e[t]}return s}static $(t){if("boolean"==typeof t)return t;if("string"!=typeof t)return!!t;switch(t.trim().toLowerCase()){case"true":case"1":case"yes":case"on":return!0;default:return!1}}static k(t){return this.p.o.delete(t)}static R(t){return this.p.o.get(t)}static D(t,s){this.p.o.set(t,s)}static _(t){return this.p.l.delete(t)}static B(t){return this.p.l.get(t)}static N(t,s){this.p.l.set(t,s)}static U(){return this.p.h}static t(){return this.p.u}static G(t){if(null==t)return"";let s=(t+"").replace(/<`/g,"<").replace(/`>/g,">").replace(/\<\`/g,"<").replace(/\`\>/g,">").trim();const i=globalThis?.document;if(!i||"function"!=typeof i.createElement)return s=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"").replace(/<iframe\b[^>]*>[\s\S]*?<\/iframe>/gi,"").replace(/<(object|embed|link)\b[^>]*>[\s\S]*?<\/\1>/gi,""),s=s.replace(/\son[a-z]+\s*=\s*(['"]).*?\1/gi,""),s=s.replace(/\s([a-z-:]+)\s*=\s*(['"])\s*javascript:[^'"]*\2/gi,""),s;const e=i.createElement("div");return e.innerHTML=s,e.querySelectorAll("script, style, iframe, object, embed, link").forEach(t=>t.remove()),e.querySelectorAll("*").forEach(t=>{for(const s of Array.from(t.attributes)){const i=s.name??"",e=s.value??"";if(/^on/i.test(i))return void t.removeAttribute(i);/^(href|src|xlink:href)$/i.test(i)&&/^javascript:/i.test(e)&&t.removeAttribute(i)}}),(e.innerHTML??"").trim()}static W(t){const s=document.createElement("DIV");s.innerHTML=t;const i=s.textContent??s.innerText??"";return s.remove(),i.trim()}static q(t){return null==t?"":(t+"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/đ/g,"d").replace(/Đ/g,"d")}static K(t){const s=[],i=t.children;for(let t=0;t<i.length;t++){const e=i[t];if("OPTGROUP"===e.tagName){const t=e;s.push(t);for(let i=0;i<t.children.length;i++){const e=t.children[i];e.__parentGroup=t,s.push(e)}}else"OPTION"===e.tagName&&s.push(e)}return s}static Y(){const t=navigator.userAgent;return/iP(hone|ad|od)/.test(t)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1}static J(t){const s=(t+"").trim();if(s.endsWith("px"))return s;if(s.endsWith("vh"))return window.innerHeight*parseFloat(s)/100+"px";if(s.endsWith("vw"))return window.innerWidth*parseFloat(s)/100+"px";const i=parseFloat(getComputedStyle(document.documentElement).fontSize);if(s.endsWith("rem"))return i*parseFloat(s)+"px";const e=this.A({node:"div",style:{height:s,opacity:"0"}});document.body.appendChild(e);const h=e.offsetHeight+"px";return e.remove(),h}}i.m=null,i.X=new class{constructor(){this.Z=new Map,this.tt=new Map}on(t,s,i={}){const e=i.st??50,h=i.once??!1;this.Z.has(t)||this.Z.set(t,[]),this.Z.get(t).push({it:s,timeout:e,once:h})}off(t){const s=this.tt.get(t);if(s){for(const t of s.values())clearTimeout(t);s.clear(),this.tt.delete(t)}this.Z.delete(t)}run(t,...s){const i=this.Z.get(t);if(!i||0===i.length)return Promise.resolve();this.tt.has(t)||this.tt.set(t,new Map);const e=this.tt.get(t),h=[];for(let t=0;t<i.length;t++){const n=i[t];if(!n)continue;const o=e.get(t);o&&clearTimeout(o);const r=new Promise(h=>{const o=setTimeout(async()=>{try{const t=n.it(s.length>0?s:null);t instanceof Promise&&await t}catch{}finally{if(n.once){i[t]=void 0;const s=e.get(t);s&&clearTimeout(s),e.delete(t)}h()}},n.timeout);e.set(t,o)});h.push(r)}return Promise.all(h).then(()=>{})}clear(t){if(void 0===t)for(const t of Array.from(this.Z.keys()))this.off(t);else this.off(t)}};class e{static et(){const t={isContinue:!0,isCancel:!1};return{token:{get isContinue(){return t.isContinue},get isCancel(){return t.isCancel}},it:{stopPropagation(){t.isContinue=!1},cancel(){t.isCancel=!0,t.isContinue=!1}}}}static ht(t,...s){const{token:i,it:e}=this.et();for(let h=0;h<s.length;h++){const n=s[h];if("function"==typeof n&&(t&&Array.isArray(t)?n(e,...t):n(e),i.isCancel||!i.isContinue))break}return i}static nt(t,s,i={bubbles:!0,cancelable:!0}){const e=new Event(s,i);return t.dispatchEvent(e),e}static ot(t,...s){if(Array.isArray(t))for(const i of t)"function"==typeof i&&i(...s)}}class h{static rt(t,s){const e=i.R(t);if(!e?.options)return;const h=e.options,n=h.minWidth,o=h.minHeight,r=Number.parseInt(h.width,10),l=Number.parseInt(h.height,10);let a=t.offsetWidth+"px",u=t.offsetHeight+"px";const c=getComputedStyle(t);"0px"===a&&"auto"!==c.width&&(a=c.width),"0px"===u&&"auto"!==c.height&&(u=c.height),r>0&&(a=h.width),l>0&&(u=h.height),Object.assign(s.style,{width:a,height:u,minWidth:n,minHeight:o})}}var n;(t=>{t.NEW="new",t.INITIALIZED="initialized",t.MOUNTED="mounted",t.UPDATED="updated",t.DESTROYED="destroyed"})(n||(n={}));class o{constructor(){this.state=n.NEW,this.lt=new Map,this.lt.set("onInit",new Set),this.lt.set("onMount",new Set),this.lt.set("onUpdate",new Set),this.lt.set("onDestroy",new Set)}on(t,s){return this.lt.get(t).add(s),this}off(t,s){return this.lt.get(t).delete(s),this}emit(t,s){const i={state:this.state,ut:s};for(const s of this.lt.get(t))try{s(i)}catch(s){this.ct(s,t)}}ct(t,s){console.error(`[Lifecycle:${s}]`,t)}init(){if(this.state!==n.NEW)return;const t=this.state;this.state=n.INITIALIZED,this.emit("onInit",t)}mount(){if(this.state!==n.INITIALIZED)return;const t=this.state;this.state=n.MOUNTED,this.emit("onMount",t)}update(){if(this.state!==n.MOUNTED&&this.state!==n.UPDATED)return;const t=this.state;this.state=n.UPDATED,this.emit("onUpdate",t)}destroy(){if(this.state===n.DESTROYED)return;const t=this.state;this.state=n.DESTROYED,this.emit("onDestroy",t),this.dt()}getState(){return this.state}is(t){return this.state===t}dt(){for(const t of this.lt.values())t.clear()}}class r extends o{constructor(t){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.node=i.A({node:"div",classList:"seui-placeholder",innerHTML:t.placeholder}),this.options=t,this.init()}get(){return this.options?.placeholder??""}set(t,s=!0){if(!this.node||!this.options)return;s&&(this.options.placeholder=t);const e=i.G(t);this.node.innerHTML=this.options.allowHtml?e:i.W(e)}destroy(){this.is(n.DESTROYED)||(this.node?.remove(),this.node=null,this.options=null,super.destroy())}}class l extends o{constructor(){super(),this.init()}init(){this.node=i.A({node:"div",classList:"seui-directive",role:"button",ariaLabel:"Toggle dropdown"}),super.init(),this.mount()}gt(t){this.node.classList.toggle("drop-down",!!t)}destroy(){this.is(n.DESTROYED)||(this.node.remove(),this.node=null,super.destroy())}}class a extends o{constructor(t=null){super(),this.ft=null,this.node=null,this.options=null,this.bt=[],this.wt=[],t&&this.initialize(t)}initialize(t){this.ft=i.I({yt:{tag:{node:"div",classList:["seui-option-handle","hide"]},F:{vt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textSelectAll,onclick:()=>{e.ot(this.bt)}}},xt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textDeselectAll,onclick:()=>{e.ot(this.wt)}}}}}}),this.node=this.ft.view,this.options=t,this.init()}available(){return!!this.options&&i.$(this.options.multiple)&&i.$(this.options.selectall)}update(){this.node&&(this.available()?this.show():this.hide()),super.update()}show(){this.node&&this.node.classList.remove("hide")}hide(){this.node&&this.node.classList.add("hide")}Mt(t=null){"function"==typeof t&&this.bt.push(t)}Ot(t=null){"function"==typeof t&&this.wt.push(t)}destroy(){this.is(n.DESTROYED)||(this.node.remove(),this.options=null,this.bt=null,this.wt=null,this.node=null,super.destroy())}}class u extends o{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=i.A({node:"div",classList:["seui-empty-state","hide"],role:"status",ariaLive:"polite"}),this.init()}show(t="nodata"){this.node&&this.options&&(this.node.textContent="notfound"===t?this.options.textNotFound:this.options.textNoData,this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(n.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class c extends o{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=i.A({node:"div",classList:["seui-loading-state","hide"],textContent:t.textLoading,role:"status",ariaLive:"polite"}),this.init()}show(t){this.node&&this.options&&(this.node.textContent=this.options.textLoading,this.node.classList.toggle("small",!!t),this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(n.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class d{constructor(){this.At=!1,this.element=null,this.Ht=null,this.St=null,this.At=!0,this.Tt=this.Ct.bind(this)}Pt(t){}Ct(){const t=this.element;if(!t||"function"!=typeof t.getBoundingClientRect)return void this.Pt({width:0,height:0,top:0,left:0,padding:{top:0,right:0,bottom:0,left:0},border:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0}});const s=t.getBoundingClientRect(),i="undefined"!=typeof window&&"function"==typeof window.getComputedStyle?window.getComputedStyle(t):null;this.Pt({width:s?.width??0,height:s?.height??0,top:s?.top??0,left:s?.left??0,padding:{top:parseFloat(i?.paddingTop??"0"),right:parseFloat(i?.paddingRight??"0"),bottom:parseFloat(i?.paddingBottom??"0"),left:parseFloat(i?.paddingLeft??"0")},border:{top:parseFloat(i?.borderTopWidth??"0"),right:parseFloat(i?.borderRightWidth??"0"),bottom:parseFloat(i?.borderBottomWidth??"0"),left:parseFloat(i?.borderLeftWidth??"0")},margin:{top:parseFloat(i?.marginTop??"0"),right:parseFloat(i?.marginRight??"0"),bottom:parseFloat(i?.marginBottom??"0"),left:parseFloat(i?.marginLeft??"0")}})}nt(){this.Ct()}connect(t){if(!(t instanceof HTMLElement))throw Error("Invalid element");this.element=t,this.Ht=new ResizeObserver(this.Tt),this.Ht.observe(t),this.St=new MutationObserver(this.Tt),this.St.observe(t,{attributes:!0,attributeFilter:["style","class"]}),window.addEventListener("scroll",this.Tt,!0),window.addEventListener("resize",this.Tt),window.visualViewport&&(window.visualViewport.addEventListener("resize",this.Tt),window.visualViewport.addEventListener("scroll",this.Tt))}disconnect(){this.Ht?.disconnect(),this.St?.disconnect(),this.Pt=()=>{},window.removeEventListener("scroll",this.Tt,!0),window.removeEventListener("resize",this.Tt),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.Tt),window.visualViewport.removeEventListener("scroll",this.Tt)),this.Ht=null,this.St=null,this.element=null}}class p extends o{constructor(t=null,s=null,i=null){super(),this.options=null,this.Lt=!1,this.It=null,this.node=null,this.Ft=null,this.Et=null,this.parent=null,this.jt=null,this.$t=null,this.Vt=null,this.kt=null,this.Rt=null,this.Dt=null,this.zt=null,this._t={Bt:36,Nt:8,Ut:!0},this.Gt=i,t&&s&&this.initialize(t,s)}initialize(t,s){if(!this.Gt)throw Error("Popup requires a ModelManager instance.");this.jt=new a(s),this.$t=new u(s),this.Vt=new c(s);const e=i.I({Wt:{tag:{node:"div",classList:"seui-popup",style:{maxHeight:s.panelHeight}},F:{yt:{tag:this.jt.node},qt:{tag:{id:s.Kt,node:"div",classList:"seui-options-container",role:"listbox"}},Qt:{tag:this.Vt.node},Yt:{tag:this.$t.node}}}},null);this.node=e.view,this.Rt=e.tags.qt,this.parent=i.R(t),this.options=s,this.init(),this.Gt.load(this.Rt,{isMultiple:s.multiple,options:s},s.virtualScroll?{Jt:this.node,Bt:this._t.Bt,Nt:this._t.Nt,Ut:this._t.Ut}:{});const h=this.Gt.Xt();this.It=h.Zt,this.kt=h.kt,this.jt.Mt(()=>{h.Zt.ts(!0)}),this.jt.Ot(()=>{h.Zt.ts(!1)}),this.ss(),this.mount()}async es(){this.options&&this.Vt&&this.jt&&this.It&&this.Gt&&(this.zt&&clearTimeout(this.zt),this.Gt.hs(!0),!1!==i.$(this.options.loadingfield)&&(this.$t.hide(),this.Vt.show(this.It.rs().ns),this.ls()))}async us(){this.options&&this.Vt&&this.It&&this.Gt&&(this.zt&&clearTimeout(this.zt),this.zt=setTimeout(()=>{this.Gt?.hs(!1),this.Vt?.hide();const t=this.It?.rs();this.cs(t??void 0),this.ls()},this.options.animationtime))}ss(){this.It&&(this.It.ds(t=>{this.cs(t)}),this.It.ps("items",()=>{const t=this.It.rs();this.cs(t),this.ls()}))}cs(t){if(!(this.It&&this.$t&&this.jt&&this.Rt))return;const s=t??this.It.rs();s.isEmpty?(this.$t.show("nodata"),this.Rt.classList.add("hide"),this.jt.hide()):s.ns?(this.$t.hide(),this.Rt.classList.remove("hide"),this.jt.update()):(this.$t.show("notfound"),this.Rt.classList.add("hide"),this.jt.hide())}gs(t,s){this.It?.fs(t,s)}bs(t,s){this.It?.ps(t,s)}ws(t){this.Ft=t}load(){this.node&&this.parent&&this.Ft&&(this.Lt||(document.body.appendChild(this.node),this.Lt=!0,this.Et=new d,this.Ft.ys(this.node),this.node.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()})))}open(t=null,s){if(!(this.node&&this.options&&this.jt&&this.parent&&this.Ft))return;this.load(),this.jt.update(),s&&this.cs();const i=this.vs(),{position:e,top:h,maxHeight:n,xs:o}=this.Ms(i);this.Ft.expand({duration:this.options.animationtime,display:"flex",width:i.width,left:i.left,top:h,maxHeight:n,xs:o,position:e,Os:()=>{if(!this.Et||!this.parent)return;this.Et.Pt=()=>{const t=this.vs();this.As(t)},this.Et.connect(this.parent.container.tags.Hs),t?.();const s=this.kt;s?.resume?.()}})}close(t=null){if(!(this.Lt&&this.options&&this.Et&&this.Ft))return;const s=this.kt;s?.suspend?.(),this.Et.disconnect(),this.Ft.collapse({duration:this.options.animationtime,Os:t??void 0})}ls(){this.Lt&&this.Et?.nt()}Ss(t,s){this.node&&(this.Dt=async()=>{const s=t.Ts();if(!s.Cs)return;const i=this.node;if(i.scrollHeight-i.scrollTop-i.clientHeight<100&&!s.Ps&&s.hasMore){const s=await t.Ls();!s.Is&&s.message&&console.log("Load more:",s.message)}},this.node.addEventListener("scroll",this.Dt))}destroy(){if(!this.is(n.DESTROYED)){if(clearTimeout(this.zt),this.zt=null,this.node&&this.Dt&&(this.node.removeEventListener("scroll",this.Dt),this.Dt=null),this.$t.destroy(),this.Vt.destroy(),this.jt.destroy(),this.Et?.disconnect?.(),this.Ft?.ys?.(null),this.Gt?.hs?.(!1),this.kt?.clear?.(),this.node?.remove?.(),this.node)try{const t=i.H(this.node);this.node.replaceWith(t),t.remove()}catch(t){this.node.remove()}this.node=null,this.Rt=null,this.Gt=null,this.jt=null,this.$t=null,this.Vt=null,this.parent=null,this.options=null,this.Lt=!1,this.Ft=null,this.Et=null,this.kt=null,this.It=null,super.destroy()}}vs(){const t=this.parent.container.tags.Hs,s=t.getBoundingClientRect(),i=window.getComputedStyle(t);return{width:s.width,height:s.height,top:s.top,left:s.left,padding:{top:parseFloat(i.paddingTop),right:parseFloat(i.paddingRight),bottom:parseFloat(i.paddingBottom),left:parseFloat(i.paddingLeft)},border:{top:parseFloat(i.borderTopWidth),right:parseFloat(i.borderRightWidth),bottom:parseFloat(i.borderBottomWidth),left:parseFloat(i.borderLeftWidth)}}}Ms(t){const s=window.visualViewport,e=i.Y(),h=s?.height??window.innerHeight,n=this.Ft.Fs("flex").scrollHeight,o=parseFloat(this.options?.panelHeight??"220")||220,r=parseFloat(this.options?.panelMinHeight??"100")||100,l=h-(t.top+t.height)-3,a=t.top-3;let u="bottom",c=o,d=Math.min(n,c);const p=l-15;(d>=r?p>=r:p>=d)?(u="bottom",c=Math.min(l-15,o)):a>=Math.max(d,r)?(u="top",c=Math.min(a-15,o)):l>=a?(u="bottom",c=Math.max(l-15,r)):(u="top",c=Math.max(a-15,r)),d=Math.min(n,c);const g=s&&e?s.offsetTop:0;return{position:u,top:"bottom"===u?t.top+t.height+3+g:t.top-d-3+g,maxHeight:c,xs:d,Es:n}}As(t){if(!this.options||!this.Ft)return;const{position:s,top:i,maxHeight:e,xs:h}=this.Ms(t);this.Ft.resize({duration:this.options.animationtime,width:t.width,left:t.left,top:i,maxHeight:e,xs:h,position:s,animate:!0})}}class g extends o{constructor(t=null){super(),this.ft=null,this.node=null,this.js=null,this.$s=null,this.options=null,this.Vs=null,this.ks=null,this.Rs=null,this.options=t,t&&this.initialize(t)}initialize(t){this.ft=i.I({Ds:{tag:{node:"div",classList:["seui-searchbox","hide"]},F:{js:{tag:{id:i.M(),node:"input",type:"search",classList:["seui-searchbox-input"],placeholder:t.placeholder,role:"searchbox",T:t.Kt,L:"list"}}}}}),this.node=this.ft.view,this.js=this.ft.tags.js;let s=!1;const e=this.ft.tags.js;e.addEventListener("mousedown",t=>{t.stopPropagation()}),e.addEventListener("mouseup",t=>{t.stopPropagation()}),e.addEventListener("keydown",t=>{s=!1,"ArrowDown"===t.key||"Tab"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.Vs?.(1)):"ArrowUp"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.Vs?.(-1)):"Enter"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.ks?.()):"Escape"===t.key&&(t.preventDefault(),t.stopPropagation(),s=!0,this.Rs?.()),t.stopPropagation()}),e.addEventListener("input",()=>{s||this.$s?.(e.value,!0)}),this.init()}show(){this.node&&this.js&&this.options&&(this.node.classList.remove("hide"),this.js.readOnly=!this.options.searchable,this.options.searchable&&requestAnimationFrame(()=>{this.js?.focus()}))}hide(){this.node&&this.node.classList.add("hide")}clear(t=!0){this.ft&&(this.ft.tags.js.value="",this.$s?.("",t))}zs(t){this.js&&(this.js.placeholder=i.W(t))}_s(t){this.js&&this.js.setAttribute("aria-activedescendant",t)}destroy(){this.is(n.DESTROYED)||(this.node?.remove(),this.ft=null,this.node=null,this.js=null,this.$s=null,this.options=null,this.Vs=null,this.ks=null,this.Rs=null,super.destroy())}}class f{constructor(t=null){this.Bs=null,this.Ns=null,this.Us=!1,t&&this.ys(t)}ys(t){if("string"==typeof t){const s=document.querySelector(t);return void(s instanceof HTMLElement&&(this.element=s))}this.element=t}cancel(){return this.Bs&&(clearTimeout(this.Bs),this.Bs=null),this.Ns&&(clearTimeout(this.Ns),this.Ns=null),this.Us=!1,this}Fs(t="flex"){if(!this.element)return{width:0,height:0,scrollHeight:0};const s={display:this.element.style.display,visibility:this.element.style.visibility,position:this.element.style.position,height:this.element.style.height,width:this.element.style.width};Object.assign(this.element.style,{display:t,visibility:"hidden",position:"fixed",height:"fit-content",width:"fit-content"});const i=window.getComputedStyle(this.element),e=parseFloat(i.borderTopWidth),h=parseFloat(i.borderBottomWidth),n=this.element.scrollHeight+e+h,o=this.element.getBoundingClientRect(),r={width:o.width,height:o.height+e+h,scrollHeight:n};return Object.assign(this.element.style,s),r}expand(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="flex",width:e,left:h,top:n,maxHeight:o,xs:r,position:l="bottom",Os:a}=t;return Object.assign(this.element.style,{display:i,width:e+"px",left:h+"px",top:("bottom"===l?n:n+r)+"px",maxHeight:o+"px",height:"0px",opacity:"0",overflow:"hidden",transition:"none"}),this.element.classList.toggle("position-top","top"===l),this.element.classList.toggle("position-bottom","bottom"===l),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`top ${s}ms, height ${s}ms, opacity ${s}ms`,top:n+"px",height:r+"px",opacity:"1",overflow:r>=o?"auto":"hidden"}),this.Bs=setTimeout(()=>{this.element.style.transition="none",this.Us=!1,a?.()},s)}),this}collapse(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Os:i}=t,e=this.element.offsetHeight,h=this.element.offsetTop,n=this.element.classList.contains("position-top")?"top":"bottom",o=this.element.scrollHeight-this.element.offsetHeight>0,r="top"===n?h+e:h;return requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`height ${s}ms, top ${s}ms, opacity ${s}ms`,height:"0px",top:r+"px",opacity:"0",overflow:o?"auto":"hidden"}),this.Bs=setTimeout(()=>{Object.assign(this.element.style,{display:"none",transition:"none"}),this.Us=!1,i?.()},s)}),this}showSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="block",Os:e}=t;Object.assign(this.element.style,{transition:"none",display:i,width:"fit-content"});const h=this.Fs(i).width;return Object.assign(this.element.style,{width:"0px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:h+"px",overflow:"hidden"})}),this.Bs=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:""}),this.Us=!1,e?.()},s),this}hideSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Os:i}=t,e=this.Fs().width;return Object.assign(this.element.style,{transition:"none",width:e+"px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:"0px",overflow:"hidden"})}),this.Bs=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:"",display:""}),this.Us=!1,i?.()},s),this}resize(t){if(!this.element)return this;this.cancel();const{duration:s=200,width:i,left:e,top:h,maxHeight:n,xs:o,position:r="bottom",animate:l=!0,Os:a}=t,u=(this.element.classList.contains("position-top")?"top":"bottom")!==r,c=this.element.scrollHeight>n;return this.element.classList.toggle("position-top","top"===r),this.element.classList.toggle("position-bottom","bottom"===r),u&&(this.element.style.transition=`top ${s}ms ease-out, height ${s}ms ease-out, max-height ${s}ms ease-out;`),requestAnimationFrame(()=>{const t={width:i+"px",left:e+"px",top:h+"px",maxHeight:n+"px",height:o+"px",overflowY:c?"auto":"hidden"},r=Math.abs(this.element.offsetHeight-o);l&&(u||r>5)?t.transition=`height ${s}ms, top ${s}ms`:this.Ns=setTimeout(()=>{this.element?.style&&(this.element.style.transition=null)},s),Object.assign(this.element.style,t),l&&(u||r>1)?this.Ns=setTimeout(()=>{this.element.style.transition=null,u&&delete this.element.style.transition,a?.()},s):(u&&delete this.element.style.transition,a?.())}),this}get Gs(){return this.Us}}class m extends o{get value(){return this.targetElement?.getAttribute("value")??null}constructor(t,s=null,i=null){super(),this.targetElement=null,this.view=null,this.position=-1,this.At=!1,this.Ws=!1,this.options=t,this.targetElement=s,this.view=i,this.init()}qs(t){this.targetElement=t,this.update()}destroy(){this.is(n.DESTROYED)||(this.targetElement=null,this.view?.destroy(),this.view=null,this.Ws=!0,super.destroy())}}class b extends m{constructor(t,s){super(t,s??null,null),this.label="",this.items=[],this.collapsed=!1,this.Ks=[],this.label=this.targetElement.label,this.collapsed=i.$(this.targetElement.dataset?.collapsed)}init(){super.init(),this.mount()}get value(){return this.items.map(t=>t.value)}get Qs(){return this.items.filter(t=>t.selected)}get Ys(){return this.items.filter(t=>t.visible)}get Js(){return this.Ys.length>0}qs(t){this.label=t.label,this.view?.Xs(this.label),this.update()}update(){this.view&&(this.view.Xs(this.label),this.view.Zs(this.collapsed)),super.update()}destroy(){this.is(n.DESTROYED)||(this.items.forEach(t=>{t.destroy()}),this.items=[],super.destroy())}ti(t){this.Ks.push(t)}si(){this.collapsed=!this.collapsed,this.view?.Zs(this.collapsed),e.ht([this,this.collapsed],...this.Ks)}ii(t){this.items.push(t),t.group=this}removeItem(t){const s=this.items.indexOf(t);s>-1&&(this.items.splice(s,1),t.group=null)}ei(){this.view?.ei()}}class w extends m{constructor(t,s=null,i=null){super(t,s,i),this.hi=[],this.ni=[],this.oi=[],this.ri=!0,this.li=!1,this.group=null}init(){this.ai=i.q(this.textContent.toLowerCase()),super.init(),this.mount()}get ui(){return this.dataset?.imgsrc||this.dataset?.image||""}get hasImage(){return!!this.ui}get value(){return this.targetElement?.value??""}get selected(){return!!this.targetElement?.selected}set selected(t){this.ci=t,e.ht([this,t],...this.hi)}get visible(){return this.ri}set visible(t){if(this.ri===t)return;this.ri=t;const s=this.view?.di?.();s&&s.classList.toggle("hide",!t),e.ht([this,t],...this.oi)}get ci(){return this.selected}set ci(t){const s=this.view?.view?.tags?.pi,i=this.view?.di?.();s&&(s.checked=t),i&&this.targetElement&&(i.classList.toggle("checked",!!t),i.setAttribute("aria-selected",t?"true":"false"),this.targetElement.toggleAttribute("selected",!!t)),this.targetElement&&(this.targetElement.selected=t),e.ht([this,t],...this.ni)}get text(){const t=i.G(this.dataset?.mask??this.targetElement?.text??"");return this.options.allowHtml?t:i.W(t)}get textContent(){return this.options.allowHtml?i.W(this.text).trim():this.text.trim()}get dataset(){return this.targetElement?.dataset??{}}get gi(){return this.li}set gi(t){const s=!!t,i=this.view?.di?.();this.li!==s&&(this.li=s),i&&i.classList.toggle("highlight",s)}fi(t){this.hi.push(t)}mi(t){this.ni.push(t)}ds(t){this.oi.push(t)}update(){if(this.ai=i.q(this.textContent.toLowerCase()),!this.view)return void super.update();const t=this.view.view.tags.bi;t&&(this.options.allowHtml?t.innerHTML=this.text:t.textContent=this.textContent);const s=this.view.view.tags.wi;s&&this.hasImage&&(s.src!=this.ui&&(s.src=this.ui),s.alt!=this.text&&(s.alt=this.text)),this.targetElement&&(this.ci=this.targetElement.selected),super.update()}destroy(){this.is(n.DESTROYED)||(this.hi=[],this.ni=[],this.oi=[],this.group=null,this.ai=null,super.destroy())}}class y extends o{constructor(t){super(),this.yi=[],this.xi=null,this.Mi=null,this.options=null,this.Oi=0,this.options=t,this.init()}Ai(t){this.Hi=t}Si(t){this.Ti=t}Ci(t){this.is(n.INITIALIZED)&&this.mount(),this.yi=[];let s=null;return t.forEach(t=>{if("OPTGROUP"===t.tagName)s=new b(this.options,t),this.yi.push(s);else if("OPTION"===t.tagName){const i=new w(this.options,t),e=t.__parentGroup;e&&s&&e===s.targetElement?(s.ii(i),i.group=s):(this.yi.push(i),s=null)}}),this.yi}async replace(t){this.Ci(t),this.xi&&await this.xi.Pi(this.yi),this.refresh(!1)}notify(){this.xi&&this.refresh(!1)}load(t,s={},i={}){this.xi=new this.Hi(this.yi),Object.assign(this.xi,s),this.Mi=new this.Ti(t),Object.assign(this.Mi,i),this.Mi.Li(this.xi)}Ii(t){const s=this.yi,i=[],e=new Map,h=new Map;s.forEach(t=>{t instanceof b?e.set(t.label,t):t instanceof w&&h.set(`${t.value}::${t.textContent}`,t)});let n=null,o=0;t.forEach(t=>{if("OPTGROUP"===t.tagName){const s=t,h=e.get(s.label);h?(h.label!==s.label&&h.qs(s),h.position=o,h.items=[],n=h,i.push(h),e.delete(s.label)):(n=new b(this.options,s),n.position=o,i.push(n)),o++}else if("OPTION"===t.tagName){const s=t,e=`${s.value}::${s.text}`,r=h.get(e);if(r)r.qs(s),r.position=o,s.__parentGroup&&n?(n.ii(r),r.group=n):(r.group=null,i.push(r)),h.delete(e);else{const t=new w(this.options,s);t.position=o,s.__parentGroup&&n?(n.ii(t),t.group=n):i.push(t)}o++}});let r=!0;0==this.Oi&&(r=!1),this.Oi=o,e.forEach(t=>{r=!1,t.destroy()}),h.forEach(t=>{r=!1,t.destroy()}),this.yi=i,this.xi&&this.xi.Fi(this.yi),this.refresh(r)}hs(t){this.xi&&(this.xi.Ei=t)}refresh(t){this.Mi&&(this.Mi.refresh(t),this.update())}destroy(){this.is(n.DESTROYED)||(this.xi.destroy(),this.Mi.destroy(),this.yi=[],this.Hi=null,this.xi=null,this.Ti=null,this.Mi=null,this.options=null,this.Oi=0,super.destroy())}Xt(){return{ji:this.yi,Zt:this.xi,kt:this.Mi}}$i(t){return this.xi?.Vi(t)}ki(t){return this.xi?.Ri(t)}}class v extends o{constructor(t=null){super(),this.Di=null,this.Zt=null,this.Di=t,this.init()}Li(t){this.Zt=t,t.fs("items",()=>{this.clear()}),t.ps("items",()=>{this.zi()}),t.mount(),this.mount(),this.zi()}clear(){this.Di&&this.Di.replaceChildren()}zi(){this.Zt&&this.Di&&(this.Zt._i(this.Di),this.update())}refresh(t){this.zi()}destroy(){this.is(n.DESTROYED)||(this.Di=null,this.Zt=null,super.destroy())}}class x extends o{constructor(t=null){super(),this.ft=null,this.node=null,this.options=null,this.Bi=null,this.Ni=null,this.Gt=null,this.Ui=[],t&&this.initialize(t)}initialize(t){this.options=t,this.init()}init(){this.state===n.NEW&&(this.ft=i.I({Gi:{tag:{node:"div",classList:["seui-accessorybox","hide"],onmouseup:t=>{t.stopPropagation()}}}}),this.node=this.ft.view,super.init())}Wi(t){this.Bi=t,this.Ni=t.parentElement,this.qi(),this.mount()}mount(){this.is(n.INITIALIZED)&&super.mount()}qi(){this.Ni&&this.node&&this.Bi&&this.options&&this.Ni.insertBefore(this.node,"top"===this.options.accessoryStyle?this.Bi:this.Bi.nextSibling)}Ki(t){this.Gt=t}Qi(t){this.node&&this.options&&(this.node.replaceChildren(),t.length>0&&this.options.multiple?t.forEach(t=>{i.I({Yi:{tag:{node:"div",classList:["accessory-item"]},F:{Ji:{tag:{node:"span",classList:["accessory-item-button"],role:"button",ariaLabel:`${this.options.textAccessoryDeselect}${t.textContent}`,title:`${this.options.textAccessoryDeselect}${t.textContent}`,onclick:async s=>{s.preventDefault(),await(this.Gt?.$i?.("select")),t.selected=!1}}},Xi:{tag:{node:"span",classList:["accessory-item-content"],innerHTML:t.text}}}}},this.node)}):t=[],this.Ui=t,this.Zi(),this.update(),e.nt(window,"resize"))}update(){this.state===n.MOUNTED&&super.update()}Zi(){this.options?.accessoryVisible&&this.Ui.length>0&&this.options.multiple?this.show():this.hide()}show(){this.node?.classList.remove("hide")}hide(){this.node?.classList.add("hide")}destroy(){this.state!==n.DESTROYED&&(this.node?.remove(),this.ft=null,this.node=null,this.options=null,this.Bi=null,this.Ni=null,this.Gt=null,this.Ui=[],super.destroy())}}class M extends o{constructor(t,s,i){super(),this.te=null,this.se=null,this.ie=null,this.ee=null,this.he={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,ne:"",Cs:!1},this.initialize(t,s,i)}initialize(t,s,i){this.select=t,this.Gt=s,this.ee=i,this.init()}oe(){return!!this.te}async re(t){if(!this.te)return{Is:!1,items:[],message:"Ajax not configured"};const s=Array.isArray(t)?t:[t];if(0===s.length)return{Is:!0,items:[]};try{const t=this.te;let i,e;if(i="function"==typeof t.le?t.le(s):{values:s.join(","),ae:"1",..."function"==typeof t.data?t.data.bind(this.ee.ue.find(this.ee.container.targetElement))("",0):t.data??{}},"POST"===(t.method??"GET")){const s=new URLSearchParams;Object.keys(i).forEach(t=>s.append(t,i[t]+"")),e=await fetch(t.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"}})}else{const s=""+new URLSearchParams(i);e=await fetch(`${t.url}?${s}`)}if(!e.ok)throw Error("HTTP error! status: "+e.status);const h=await e.json(),n=this.ce(h);return this.update(),{Is:!0,items:n.items}}catch(t){return console.error("Load by values error:",t),{Is:!1,message:t?.message,items:[]}}}de(t){const s=Array.from(this.select.options).map(t=>t.value);return{pe:t.filter(t=>s.includes(t)),ge:t.filter(t=>!s.includes(t))}}fe(t){this.te=t}setPopup(t){this.ie=t}Ts(){return{...this.he}}me(){this.he={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,ne:"",Cs:this.he.Cs}}clear(){this.he.ne="";const{ji:t}=this.Gt.Xt(),s=[];for(const i of t)i instanceof w?s.push(i):i instanceof b&&Array.isArray(i.items)&&s.push(...i.items);s.forEach(t=>{t.visible=!0})}async search(t,s=!1){return this.te?this.be(t,s):this.we(t)}async Ls(){return this.te?this.he.Ps?{Is:!1,message:"Already loading"}:this.he.Cs?this.he.hasMore?(this.he.currentPage++,this.be(this.he.ne,!0)):{Is:!1,message:"No more data"}:{Is:!1,message:"Pagination not enabled"}:{Is:!1,message:"Ajax not enabled"}}async we(t){this.ye(t)&&(this.he.ne=t);const s=((t??"")+"").toLowerCase(),e=i.q(s),{ji:h}=this.Gt.Xt(),n=[];for(const t of h)t instanceof w?n.push(t):t instanceof b&&Array.isArray(t.items)&&n.push(...t.items);let o=!1;return n.forEach(t=>{const i=""===s||t.ai.includes(e);t.visible=i,i&&(o=!0)}),this.update(),{Is:!0,ve:o,isEmpty:0===n.length}}ye(t){return t!==this.he.ne}async be(t,s=!1){const i=this.te;this.ye(t)&&(this.me(),this.he.ne=t,s=!1),this.he.Ps=!0,this.ie?.es(),this.se?.abort(),this.se=new AbortController;const e=this.he.currentPage,h=Array.from(this.select.selectedOptions).map(t=>t.value).join(",");let n;if("function"==typeof i.data){const s=this.ee?.ue?.find(this.ee?.container?.targetElement);n=i.data.call(s,t,e),n&&void 0===n.selectedValue&&(n.selectedValue=h)}else n={search:t,page:e,selectedValue:h,...i.data??{}};try{let t;if("POST"===(i.method??"GET")){const s=new URLSearchParams;Object.keys(n).forEach(t=>s.append(t,n[t]+"")),t=await fetch(i.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:this.se.signal})}else{const s=""+new URLSearchParams(n);t=await fetch(`${i.url}?${s}`,{signal:this.se.signal})}const e=await t.json(),h=this.ce(e);return h.xe?(this.he.Cs=!0,this.he.currentPage=h.page,this.he.totalPages=h.totalPages,this.he.hasMore=h.hasMore):this.he.Cs=!1,this.Me(h.items,!!i.keepSelected,s),this.he.Ps=!1,this.ie?.us(),this.update(),{Is:!0,ve:h.items.length>0,isEmpty:0===h.items.length,xe:h.xe,hasMore:h.hasMore,currentPage:h.page,totalPages:h.totalPages}}catch(t){return this.he.Ps=!1,this.ie?.us(),"AbortError"===t?.name?{Is:!1,message:"Request aborted"}:(console.error("Ajax search error:",t),{Is:!1,message:t?.message})}}ce(t){let s=[],i=!1,e=0,h=1,n=!1;return t.object&&Array.isArray(t.object)?(s=t.object,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=e<h-1)):t.data&&Array.isArray(t.data)?(s=t.data,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=t.hasMore??e<h-1)):Array.isArray(t)?s=t:t.items&&Array.isArray(t.items)&&(s=t.items,t.pagination&&(i=!0,e=parseInt(t.pagination.page??0,10),h=parseInt(t.pagination.totalPages??t.pagination.total_page??1,10),n=t.pagination.hasMore??e<h-1)),{items:s.map(t=>{if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)return t;if("optgroup"===t.type||t.Oe||t.group||t.label)return{type:"optgroup",label:t.label??t.name??t.title??"",data:t.data??{},options:(t.options??t.items??[]).map(t=>({value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:t.data??(t.imgsrc?{imgsrc:t.imgsrc}:{})}))};const s=t.data??{};return t?.imgsrc&&(s.imgsrc=t.imgsrc),{type:"option",value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:s}}),xe:i,page:e,totalPages:h,hasMore:n}}Me(t,s,i=!1){const e=this.select;let h=[];s&&(h=Array.from(e.selectedOptions).map(t=>t.value)),i||(e.innerHTML=""),t.forEach(t=>{if("option"!==t.type&&t.type||""!==t.value||""!==t.text)if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)e.appendChild(t);else if("optgroup"===t.type){const i=document.createElement("optgroup");i.label=t.label,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),Array.isArray(t.options)&&t.options.forEach(t=>{const e=document.createElement("option");e.value=t.value,e.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{e.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(e.value))&&(e.selected=!0),i.appendChild(e)}),e.appendChild(i)}else{const i=document.createElement("option");i.value=t.value,i.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(i.value))&&(i.selected=!0),e.appendChild(i)}})}destroy(){this.is(n.DESTROYED)||(this.select=null,this.Gt=null,this.te=null,this.se=null,this.ie=null,this.ee=null,super.destroy())}}class O{constructor(t){this.Ae=null,this.He=50,this.select=t,this.Se=new MutationObserver(()=>{clearTimeout(this.Ae),this.Ae=setTimeout(()=>{this.Te()},this.He)})}Te(){this.Pt(this.select)}connect(){this.Se.observe(this.select,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["selected","value","disabled"]})}Pt(t){}disconnect(){this.Ae&&clearTimeout(this.Ae),this.Ae=null,this.Se.disconnect()}}class A{constructor(t){this.Ae=null,this.element=t,this.Se=new MutationObserver(t=>{let s=!1;for(const i of t)if("attributes"===i.type&&i.attributeName?.startsWith("data-")){s=!0;break}s&&(this.Ae&&clearTimeout(this.Ae),this.Ae=setTimeout(()=>{this.Pt({...this.element.dataset})},50))}),t.addEventListener("dataset:changed",()=>{this.Pt({...this.element.dataset})})}connect(){this.Se.observe(this.element,{attributes:!0,attributeOldValue:!0})}Pt(t){}disconnect(){this.Ae&&clearTimeout(this.Ae),this.Ae=null,this.Se.disconnect()}}class H extends o{constructor(t=[]){super(),this.items=[],this.Ce=i.M(12),this.Ei=!1,this.items=t,this.init()}Pe(t,s,i){const e=s;t.At?e?.update?.():e?.mount?.()}fs(t,s){i.X.on(`${t}ing_${this.Ce}`,s,{st:0})}ps(t,s){i.X.on(`${t}_${this.Ce}`,s,{st:0})}Ri(t,...s){return i.X.run(`${t}_${this.Ce}`,...s)}Vi(t,...s){return i.X.run(`${t}ing_${this.Ce}`,...s)}Le(t,s){return null}Ie(){return this.items.length}async Fe(t){await this.Vi("items",t),this.items=t,await this.Ri("items",t),this.update()}async Pi(t){await this.Fe(t)}_i(t){for(let s=0;s<this.Ie();s++){const i=this.items[s];let e=i.view;i.At||(e=this.Le(t,i),i.view=e),this.Pe(i,e,s),i.At=!0}}Fi(t){}destroy(){this.is(n.DESTROYED)||(this.kt=null,this.items.forEach(t=>{t?.destroy?.()}),this.items=[])}}class S extends o{constructor(t){super(),this.parent=null,this.view=null,this.parent=t,this.init()}di(){if(!this.view?.view)throw Error("View is not mounted. Did you forget to set this.view?");return this.view.view}destroy(){this.is(n.DESTROYED)||(this.di()?.remove?.(),this.parent=null,this.view=null,super.destroy())}}class T extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.options=s}mount(){const t=i.M(7);this.view=i.I({Ee:{tag:{node:"div",classList:["seui-group"],role:"group",S:`seui-${this.options?.je||"default"}-${t}-header`,id:`seui-${this.options?.je||"default"}-${t}-group`},F:{$e:{tag:{node:"div",classList:["seui-group-header"],role:"presentation",id:`seui-${this.options?.je||"default"}-${t}-header`}},Ve:{tag:{node:"div",classList:["seui-group-items"],role:"group"}}}}}),this.parent.appendChild(this.view.view),super.mount()}update(){this.Xs(),super.update()}Xs(t=null){this.view&&null!==t&&(this.view.tags.$e.textContent=t)}ke(){if(!this.view)throw Error("GroupView has not been rendered.");return this.view.tags.Ve}ei(){if(!this.view)return;const t=Array.from(this.view.tags.Ve.children).filter(t=>!t.classList.contains("hide"));this.view.view.classList.toggle("hide",0===t.length)}Zs(t){this.view&&(this.view.view.classList.toggle("collapsed",t),this.view.tags.$e.setAttribute("aria-expanded",t?"false":"true"))}}class C extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.config=null,this.Re=null,this.De=!1,this.options=s,this.initialize()}initialize(){const t=this;this.config={isMultiple:!1,hasImage:!1,imagePosition:"right",imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",labelValign:"center",labelHalign:"left"},this.Re=new Proxy(this.config,{set(s,i,e){if("string"!=typeof i)return!0;const h=i,n=s[h];return n!==e&&(s[h]=e,t.De&&t.ze(h,e,n)),!0}}),this.init()}get isMultiple(){return this.config.isMultiple}set isMultiple(t){this.Re.isMultiple=!!t}get hasImage(){return this.config.hasImage}set hasImage(t){this.Re.hasImage=!!t}get _e(){return this.Re}set _e(t){if(!t||!this.Re||!this.config)return;const s={};void 0!==t.imageWidth&&t.imageWidth!==this.config.imageWidth&&(s.imageWidth=t.imageWidth),void 0!==t.imageHeight&&t.imageHeight!==this.config.imageHeight&&(s.imageHeight=t.imageHeight),void 0!==t.imageBorderRadius&&t.imageBorderRadius!==this.config.imageBorderRadius&&(s.imageBorderRadius=t.imageBorderRadius),void 0!==t.imagePosition&&t.imagePosition!==this.config.imagePosition&&(s.imagePosition=t.imagePosition),void 0!==t.labelValign&&t.labelValign!==this.config.labelValign&&(s.labelValign=t.labelValign),void 0!==t.labelHalign&&t.labelHalign!==this.config.labelHalign&&(s.labelHalign=t.labelHalign),Object.keys(s).length>0&&Object.assign(this.Re,s)}mount(){const t=["seui-option-view"],s=i.M(7),e=`option_${this.options?.je??"default"}_${s}`;this.config.isMultiple&&t.push("multiple"),this.config.hasImage&&t.push("has-image","image-"+this.config.imagePosition);const h={pi:{tag:{node:"input",type:this.config.isMultiple?"checkbox":"radio",classList:"allow-choice",id:e}},...this.config.hasImage&&{wi:{tag:{node:"img",classList:"option-image",style:{width:this.config.imageWidth,height:this.config.imageHeight,borderRadius:this.config.imageBorderRadius}}}},Be:{tag:{node:"label",htmlFor:e,classList:["align-vertical-"+this.config.labelValign,"align-horizontal-"+this.config.labelHalign]},F:{bi:{tag:{node:"div"}}}}};this.view=i.I({Ne:{tag:{node:"div",id:`seui-${this.options?.je??"default"}-${s}-option`,classList:t,role:"option",ariaSelected:"false",tabIndex:"-1"},F:h}}),this.parent.appendChild(this.view.view),this.De=!0,super.mount()}ze(t,s,i){const e=this.view;if(!e||!e.view)return;const h=e.view,n=e.tags?.pi,o=e.tags?.Be;switch(t){case"isMultiple":{const t=!!s;h.classList.toggle("multiple",t),n&&n.type!==(t?"checkbox":"radio")&&(n.type=t?"checkbox":"radio");break}case"hasImage":{const t=!!s;if(h.classList.toggle("has-image",t),t)h.classList.add("image-"+this.config.imagePosition),this.Ue();else{h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim();const t=e.tags?.wi;t?.remove(),e.tags.wi=null}break}case"imagePosition":this.config.hasImage&&(h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim(),h.classList.add("image-"+s));break;case"imageWidth":case"imageHeight":case"imageBorderRadius":{const i=e.tags?.wi;i&&(i.style["imageWidth"===t?"width":"imageHeight"===t?"height":"borderRadius"]=s+"");break}case"labelValign":case"labelHalign":o&&(o.className=`align-vertical-${this.config.labelValign} align-horizontal-`+this.config.labelHalign)}}Ue(){const t=this.view;if(!t||!t.view)return;if(t.tags?.wi)return;const s=t.view,i=t.tags?.Be,e=document.createElement("img");e.className="option-image",e.style.width=this.config.imageWidth,e.style.height=this.config.imageHeight,e.style.borderRadius=this.config.imageBorderRadius,i?.parentElement?s.insertBefore(e,i):s.appendChild(e),t.tags.wi=e}}class P extends H{constructor(t=[]){super(t),this.isMultiple=!1,this.options=null,this.Ge=[],this.We=-1,this.qe=null,this.groups=[],this.Ke=[],this.Qe()}init(){i.X.on("sche_vis_"+this.Ce,()=>{const t=this.Ke.filter(t=>t.visible).length,s=this.Ke.length;this.Ge.forEach(i=>{i({Ye:t,Je:s,ns:t>0,isEmpty:0===s})}),i.X.run("sche_vis_proxy_"+this.Ce)},{st:10}),super.init(),this.mount()}Qe(){this.Ke=[],this.groups=[],this.items.forEach(t=>{t instanceof b?(this.groups.push(t),this.Ke.push(...t.items)):t instanceof w&&this.Ke.push(t)})}Le(t,s){return s instanceof b?new T(t,this.options):new C(t,this.options)}Pe(t,s,i){t.position=i,t instanceof b?this.Xe(t,s,i):t instanceof w&&this.Ze(t,s,i),t.At=!0}Xe(t,s,i){super.Pe(t,s,i),t.view=s;const e=s.view.tags.$e;e.textContent=t.label,t.At||(e.style.cursor="pointer",e.addEventListener("click",()=>{t.si()}),t.ti((t,s,i)=>{s.items.forEach(t=>{const s=t.view?.di?.();s&&(s.style.display=i?"none":"")}),this.th(s,i)}));const h=s.ke();t.items.forEach((t,s)=>{let i=t.view;t.At&&i||(i=new C(h,this.options)),this.Ze(t,i,s),t.At=!0}),s.Zs(t.collapsed),s.ei()}Ze(t,s,i){if(s.isMultiple=this.isMultiple,s.hasImage=t.hasImage,s._e={imageWidth:t.options.imageWidth,imageHeight:t.options.imageHeight,imageBorderRadius:t.options.imageBorderRadius,imagePosition:t.options.imagePosition,labelValign:t.options.labelValign,labelHalign:t.options.labelHalign},t.At||super.Pe(t,s,i),t.view=s,t.hasImage){const i=s.view.tags.wi;i&&(i.src!==t.ui&&(i.src=t.ui),i.alt!==t.text&&(i.alt=t.text))}s.view.tags.bi.innerHTML=t.text,t.At||(s.view.tags.Ne.addEventListener("click",async s=>{s.stopPropagation(),s.preventDefault(),this.Ei||(this.isMultiple?(await this.Vi("select"),t.selected=!t.selected):!0!==t.selected&&(await this.Vi("select"),this.qe&&(this.qe.selected=!1),t.selected=!0))}),s.view.tags.Ne.title=t.textContent,s.view.tags.Ne.addEventListener("mouseenter",()=>{this.Ei||this.sh(this.Ke.indexOf(t),!1)}),t.fi(()=>{this.Ri("selected")}),t.mi((s,i,e)=>{e&&(this.qe=t),this.Ri("selected_internal")}),t.ds((t,s)=>{s.group?.ei(),this.ih()})),t.selected&&(this.qe=t,t.ci=!0)}async Fe(t){await this.Vi("items",t),this.items=t,this.Qe(),await this.Ri("items",t),this.update()}async Pi(t){await this.Fe(t)}Fi(t){this.items=t,this.Qe(),this.update()}destroy(){this.is(n.DESTROYED)||(i.X.clear("sche_vis_"+this.Ce),this.groups.forEach(t=>{t.destroy()}),this.Ge=[],this.We=-1,this.qe=null,this.groups=[],this.Ke=[],super.destroy())}eh(){return this.Ke.filter(t=>t.selected)}hh(){return this.Ke.find(t=>t.selected)}ts(t){this.isMultiple&&this.Ke.forEach(s=>{s.selected=t})}ds(t){this.Ge.push(t)}ih(){i.X.run("sche_vis_"+this.Ce)}rs(){const t=this.Ke.filter(t=>t.visible).length,s=this.Ke.length;return{Ye:t,Je:s,ns:t>0,isEmpty:0===s}}nh(){this.sh(0)}navigate(t,s=!0){const i=this.Ke.filter(t=>t.visible);if(0===i.length)return;let e=i.findIndex(t=>t===this.Ke[this.We]);-1===e&&(e=-1);let h=e+t;h>=i.length&&(h=0),h<0&&(h=i.length-1);const n=this.Ke.indexOf(i[h]);this.sh(n,s)}oh(){if(this.We>-1&&this.Ke[this.We]){const t=this.Ke[this.We];if(t.visible){const s=t.view?.di?.();s&&s.click()}}}sh(t,s=!0){let i=0;if("number"==typeof t)i=t;else if(t instanceof w){const s=this.Ke.indexOf(t);i=s>-1?s:0}else i=0;this.We>-1&&this.Ke[this.We]&&(this.Ke[this.We].gi=!1);for(let t=i;t<this.Ke.length;t++){const i=this.Ke[t];if(i?.visible){if(i.gi=!0,this.We=t,s){const s=i.view?.di?.();s?s.scrollIntoView({block:"center",behavior:"smooth"}):this.kt?.rh?.(t,{scrollIntoView:!0})}return void this.ah(t,i.view?.di?.()?.id)}}}ah(t,s){}th(t,s){}}class L extends o{constructor(t=0){super(),this.uh=[],this.dh=0,this.initialize(t)}initialize(t){this.init(),this.reset(t)}reset(t){this.dh=t,this.uh=Array(t+1).fill(0)}add(t,s){for(let i=t;i<=this.dh;i+=i&-i)this.uh[i]+=s}ph(t){let s=0;for(let i=t;i>0;i-=i&-i)s+=this.uh[i];return s}gh(t,s){return s<t?0:this.ph(s)-this.ph(t-1)}fh(t){this.reset(t.length),t.forEach((t,s)=>this.add(s+1,t))}mh(t){let s=0,i=1;for(;i<<1<=this.dh;)i<<=1;let e=0;for(let h=i;0!==h;h>>=1){const i=s+h;i<=this.dh&&e+this.uh[i]<=t&&(s=i,e+=this.uh[i])}return s}}class I extends v{constructor(t=null){super(t),this.bh={Jt:void 0,Bt:36,Nt:8,Ut:!0,wh:!0},this.yh=[],this.xh=new L(0),this.Mh=new Map,this.Oh=!1,this.start=0,this.end=-1,this.Ah=null,this.Hh=null,this.updating=!1,this.Sh=!1,this.Th=0,this.Ch=!1,this.Ph=!1,this.Lh=0,this.Ih=0,this.Fh=0,this.Eh=0}configure(t){this.bh={...this.bh,...t}}Li(t){if(this.Zt&&this.dispose(),super.Li(t),t.kt=this,!this.Di)return;this.Di.replaceChildren();const s=i.I({jh:{tag:{node:"div",classList:"seui-virtual-pad-top"}},$h:{tag:{node:"div",classList:"seui-virtual-items"}},Vh:{tag:{node:"div",classList:"seui-virtual-pad-bottom"}}},this.Di);if(this.jh=s.jh,this.$h=s.$h,this.Vh=s.Vh,this.Jt=this.bh.Jt??this.Di.closest(".seui-popup")??this.Di.parentElement,!this.Jt)throw Error("VirtualRecyclerView: scrollEl not found");this.kh=this.Rh.bind(this),this.Jt.addEventListener("scroll",this.kh,{passive:!0}),this.refresh(!1),this.Dh(),t?.ds?.(()=>this.zh())}suspend(){this.Ch=!0,this._h(),this.Jt&&this.kh&&this.Jt.removeEventListener("scroll",this.kh),this.Bh&&(this.Bh.disconnect(),this.Ph=!0)}resume(){this.Ch=!1,this.Jt&&this.kh&&this.Jt.addEventListener("scroll",this.kh,{passive:!0}),this.Ph&&(this.Dh(),this.Ph=!1),this.Nh()}refresh(t){if(!this.Zt||!this.Di)return;t||this.zh();const s=this.Zt.Ie();if(this.Th=s,0===s)return this.Uh(),void this.update();this.yh.length=s,this.Oh||(this.Gh(),this.Oh=!0),this.Wh(s),this.Nh(),this.update()}rh(t,s){this.qh(t,t),s?.scrollIntoView&&this.Kh(t)}Kh(t){if((this.Zt?.Ie?.()??0)<=0)return;const s=this.Qh(t),i=this.Yh()+s,e=Math.max(0,this.Jt.scrollHeight-this.Jt.clientHeight);this.Jt.scrollTop=Math.min(Math.max(0,i),e)}dispose(){this._h(),this.Jt&&this.kh&&this.Jt.removeEventListener("scroll",this.kh),this.Bh?.disconnect(),this.Mh.forEach(t=>t.remove()),this.Mh.clear()}destroy(){this.is(n.DESTROYED)||(this.Uh(),this.dispose(),this.jh.remove(),this.$h.remove(),this.Vh.remove(),this.jh=null,this.$h=null,this.Vh=null,super.destroy())}zh(){if(!this.Zt)return;const t=this.Zt.Ie();t<=0||(this.suspend(),this.Uh(),this.Jh(),this.Xh(t),this.Wh(t),this.start=0,this.end=-1,this.resume())}_h(){null!=this.Ah&&(cancelAnimationFrame(this.Ah),this.Ah=null),null!=this.Hh&&(cancelAnimationFrame(this.Hh),this.Hh=null)}Uh(){this.Mh.forEach(t=>t.remove()),this.Mh.clear(),this.yh=[],this.xh.reset(0),this.jh.style.height="0px",this.Vh.style.height="0px",this.Oh=!1,this.Fh=0,this.Eh=0}Gh(){this.Zh(0);const t=this.Mh.get(0);if(!t)return;const s=this.tn(t);if(isNaN(s)||(this.bh.Bt=s),!this.bh.Ut){t.remove(),this.Mh.delete(0);const s=this.Zt.items[0];s&&(s.At=!1,s.view=null)}}sn(t){const s=this.Zt?.items?.[t];return s?.visible??!0}en(t,s){for(let i=Math.max(0,t);i<s;i++)if(this.sn(i))return i;return-1}Xh(t){this.Fh=0,this.Eh=0;for(let s=0;s<t;s++){if(!this.sn(s))continue;const t=this.yh[s];null!=t&&(this.Fh+=t,this.Eh++)}}Yh(){const t=this.Di.getBoundingClientRect(),s=this.Jt.getBoundingClientRect();return Math.max(0,t.top-s.top+this.Jt.scrollTop)}hn(){const t=performance.now();if(t-this.Lh<16)return this.Ih;const s=this.Jt.querySelector(".seui-option-handle:not(.hide)");return this.Ih=s?.offsetHeight??0,this.Lh=t,this.Ih}Nh(){null!=this.Ah||this.Ch||(this.Ah=requestAnimationFrame(()=>{this.Ah=null,this.nn()}))}tn(t){const s=t.getBoundingClientRect(),i=getComputedStyle(t);return Math.max(1,s.height+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0))}rn(){return this.bh.wh&&this.Eh>0?Math.max(1,this.Fh/this.Eh):this.bh.Bt}Wh(t){const s=this.rn(),i=Array.from({length:t},(t,i)=>this.sn(i)?this.yh[i]??s:0);this.xh.fh(i)}ln(t,s){if(!this.sn(t))return!1;const i=this.rn(),e=this.yh[t]??i;if(Math.abs(s-e)<=I.an)return!1;const h=this.yh[t];return null==h?(this.Fh+=s,this.Eh++):this.Fh+=s-h,this.yh[t]=s,this.xh.add(t+1,s-e),!0}un(t,s){const i=this.xh.mh(Math.max(0,t)),e=Math.min(s-1,i),h=this.en(e,s);return-1===h?Math.max(0,e):h}cn(t,s){s.setAttribute(I.dn,t+"");const i=this.Mh.get(t-1);if(i?.parentElement===this.$h)return void i.after(s);const e=this.Mh.get(t+1);if(e?.parentElement===this.$h)return void this.$h.insertBefore(s,e);const h=Array.from(this.$h.children);for(const i of h){const e=i.getAttribute(I.dn);if(e&&+e>t)return void this.$h.insertBefore(s,i)}this.$h.appendChild(s)}pn(t,s){if(s.parentElement!==this.$h)return void this.cn(t,s);s.setAttribute(I.dn,t+"");const i=s.previousElementSibling,e=s.nextElementSibling;(i&&+i.getAttribute(I.dn)>t||e&&+e.getAttribute(I.dn)<t)&&(s.remove(),this.cn(t,s))}Dh(){this.Bh||(this.Bh=new ResizeObserver(()=>{this.Sh||this.Ch||!this.Zt||null!=this.Hh||(this.Hh=requestAnimationFrame(()=>{this.Hh=null,this.gn()}))}),this.Bh.observe(this.$h))}gn(){if(!this.Zt)return;const t=this.Zt.Ie();if(t<=0)return;let s=!1;for(let t=this.start;t<=this.end;t++){if(!this.sn(t))continue;const i=this.Zt.items[t],e=i?.view?.di?.();if(!e)continue;const h=this.tn(e);this.ln(t,h)&&(s=!0)}s&&(this.bh.wh&&this.Wh(t),this.Nh())}Rh(){this.Nh()}nn(){if(!this.updating&&!this.Ch){this.updating=!0;try{if(!this.Zt)return;const t=this.Zt.Ie();if(t<=0)return;this.Th!==t&&(this.Th=t,this.yh.length=t,this.Wh(t));const s=this.Yh(),i=Math.max(0,this.Jt.scrollTop-s),e=this.hn(),h=Math.max(0,this.Jt.clientHeight-e),n=this.un(i,t),o=this.Qh(n),r=s+o-this.Jt.scrollTop,l=this.un(i,t);if(-1===l)return void this.Uh();const a=this.rn(),u=this.bh.Nt*a;let c=this.en(Math.min(t-1,this.xh.mh(Math.max(0,i-u))),t)??l,d=Math.min(t-1,this.xh.mh(i+h+u));if(c===this.start&&d===this.end)return;this.start=c,this.end=d,this.Sh=!0;try{this.qh(this.start,this.end),this.fn(this.start,this.end),this.bh.Ut&&this.gn();const s=this.Qh(this.start),i=this.mn(this.start,this.end),e=this.bn(t),h=Math.max(0,e-s-i);this.jh.style.height=s+"px",this.Vh.style.height=h+"px"}finally{this.Sh=!1}const p=this.Qh(n),g=this.Yh()+p-r,f=Math.max(0,this.Jt.scrollHeight-this.Jt.clientHeight),m=Math.min(Math.max(0,g),f),b=Math.abs(p-o)>1,w=Math.abs(this.Jt.scrollTop-m);b&&w>.5&&w<100&&(this.Jt.scrollTop=m)}finally{this.updating=!1}}}qh(t,s){for(let i=t;i<=s;i++)this.Zh(i)}Zh(t){if(!this.sn(t)){const s=this.Mh.get(t);return s?.parentElement===this.$h&&s.remove(),void this.Mh.delete(t)}const s=this.Zt.items[t];if(!s)return;const i=this.Mh.get(t);if(i)return void(s?.view?(this.pn(t,i),this.Zt.Pe(s,s.view,t)):(i.remove(),this.Mh.delete(t)));if(s.At)s.view&&this.Zt.Pe(s,s.view,t);else{const i=this.Zt.Le(this.$h,s);s.view=i,this.Zt.Pe(s,i,t),s.At=!0}const e=s.view?.di?.();e&&(this.pn(t,e),this.Mh.set(t,e))}fn(t,s){this.Mh.forEach((i,e)=>{(e<t||e>s)&&(i.parentElement===this.$h&&i.remove(),this.Mh.delete(e))})}Jh(){this.Mh.forEach((t,s)=>{this.sn(s)||(t.parentElement===this.$h&&t.remove(),this.Mh.delete(s))})}Qh(t){return this.xh.ph(t)}mn(t,s){return this.xh.gh(t+1,s+1)}bn(t){return this.xh.ph(t)}}I.an=.5,I.dn="data-vindex";class F extends o{constructor(t,s){super(),this.container={},this.oldValue=null,this.node=null,this.options=null,this.wn=null,this.isOpen=!1,this.yn=!1,this.vn=!1,this.xn=!1,this.ue=null,this.plugins=[],this.Mn=null,t&&s&&this.initialize(t,s)}get isDisabled(){return!!this.options?.disabled}set isDisabled(t){this.options&&this.node&&(this.options.disabled=t,this.node.classList.toggle("disabled",t),this.node.setAttribute("aria-disabled",t+""),this.container.tags?.Hs?.setAttribute("aria-disabled",t+""))}get On(){return!!this.options?.readonly}set On(t){this.options&&this.node&&(this.options.readonly=t,this.node.classList.toggle("readonly",t))}get isVisible(){return!!this.options?.visible}set isVisible(t){this.options&&this.node&&(this.options.visible=t,this.node.classList.toggle("invisible",!t))}initialize(t,s){const e=i.R(t);this.options=e.options,this.ue=s,this.init(t)}init(s){if(this.state!==n.NEW)return;if(!s||!this.options)return;const e=this.options,h=new r(e),o=new l,a=new g(e),effector=t(),u=new y(e),c=new x(e),d=new M(s,u,this),f=new O(s),m=new A(s);h.node&&(h.node.id=(e.An??"")+"");const b=i.I({Hn:{tag:{node:"div",classList:"seui-MAIN"},F:{Hs:{tag:{node:"div",classList:"seui-view",tabIndex:0,onkeydown:t=>{"Enter"!==t.key&&" "!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.Sn()?.open())}},F:{Tn:{tag:h.node},Cn:{tag:o.node},Ds:{tag:a.node}}}}}},null);this.container=b,this.node=b.view,b.Pn=d,b.placeholder=h,b.Ln=o,b.In=a,b.effector=effector,b.targetElement=s,b.Fn=c,b.En=f,b.jn=m,u.Ai(P),u.Si(e.virtualScroll?I:v),u.Ci(i.K(s)),u.on("onUpdate",()=>{b.ie?.ls?.()}),this.wn=u;const w=new p(s,e,u);if(b.ie=w,w.ws(effector),w.Ss(d,e),w.bs("selected",()=>{this.Sn()?.change(null,!0)}),w.bs("selected_internal",()=>{this.Sn()?.change(null,!1)}),w.gs("select",()=>{this.oldValue=this.Sn()?.value??""}),c.Wi(b.tags.Hs),c.Ki(u),this.$n(s,b,e,d,a),this.Vn(f,m,s,u),this.plugins=this.ue?.kn?.()??[],this.plugins.length){const t=u.Xt(),s={ee:this,options:e,Zt:t.Zt,Rn:t.kt,Dn:b.tags,actions:this.Sn()};this.Mn=s,this.zn("init",t=>t.init?.(s))}this.isDisabled=i.$(e.disabled),this.On=i.$(e.readonly),super.init()}mount(){if(this.state!==n.INITIALIZED)return;if(!this.node||!this.container.targetElement)return;const t=this.container.targetElement,s=this.container;t.parentNode?.insertBefore(this.node,t),this.node.insertBefore(t,s.tags.Hs),s.tags.Hs.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()}),h.rt(t,s.tags.Hs),t.classList.add("init");const i=this.Sn();i?.change?.(null,!1),this.options.preload&&i?.load?.(),super.mount()}update(){this.state===n.MOUNTED&&(this.container.ie?.ls?.(),super.update())}$n(t,s,e,h,n){const o=s.ie.It;let r=null;const l=(t,n)=>{n||""!==t?(""!==t&&(this.vn=!0),h.search(t).then(t=>{clearTimeout(r),i.X.clear("sche_vis_proxy_"+o.Ce),i.X.on("sche_vis_proxy_"+o.Ce,()=>{s.ie?.ls?.(),t?.ve&&(r=setTimeout(()=>{o.nh(),s.ie?.ls?.()},e.animationtime??0))},{st:10})}).catch(t=>{console.error("Search error:",t)})):h.clear()};let a=null;n.$s=(t,i)=>{h.ye(t)&&(a&&clearTimeout(a),h.oe()?(s.ie?.es?.(),a=setTimeout(()=>{l(t,i)},e.delaysearchtime??0)):a=setTimeout(()=>{l(t,i)},10))},h.setPopup(s.ie),n.Vs=t=>{o.navigate(t)},n.ks=()=>{o.oh()},n.Rs=()=>{this.Sn()?.close(),s.tags.Hs.focus()},o.ah=(t,s)=>{s&&n._s(s)},o.th=()=>{s.ie?.ls?.()},e.ajax&&(null==e.ajax?.keepSelected&&(e.ajax.keepSelected=e.keepSelected),h.fe(e.ajax))}Vn(t,s,e,h){t.connect(),t.Pt=t=>{h.Ii(i.K(t)),this.Sn()?.refreshMask()},s.connect(),s.Pt=t=>{i.$(t.disabled)!==this.isDisabled&&(this.isDisabled=i.$(t.disabled)),i.$(t.readonly)!==this.On&&(this.On=i.$(t.readonly)),i.$(t.visible)!==this.isVisible&&(this.isVisible=i.$(t.visible??"1"))}}_n(){if(this.xn)return;const t=this.container??{},{En:s,jn:i}=t;this.plugins.length&&this.zn("destroy",t=>t.destroy?.()),this.plugins=[],this.Mn=null,s?.disconnect&&s.disconnect(),i?.disconnect&&i.disconnect(),this.xn=!0}destroy(){if(this.is(n.DESTROYED))return;this._n();const t=this.container;t.Pn.destroy(),t.Ln.destroy(),t.ie.destroy(),t.Fn.destroy(),t.placeholder.destroy(),t.In.destroy(),this.wn.destroy(),this.node?.remove(),this.container={},this.node=null,this.options=null,this.wn=null,this.ue=null,this.oldValue=null,this.isOpen=!1,this.yn=!1,this.vn=!1,super.destroy()}Sn(){const t=this.container,s=this,h=()=>this.ue.find(t.targetElement),o=i.R(t.targetElement);if(!o)return null;const r=o.options,l={get targetElement(){return t.targetElement},get placeholder(){return t.placeholder.get()},set placeholder(s){t.placeholder?.set(s),t.In?.zs(s)},get oldValue(){return s.oldValue},set value(t){this.setValue(null,t,!0)},get value(){const t=this.valueArray,s=t.length;return s>1?t:0===s?"":t[0]},get valueArray(){const t=[];return s.Bn().forEach(s=>{s.selected&&t.push(s.value)}),t},get valueString(){return this.valueArray.join(r.customDelimiter)},get valueOptions(){const t=[];return s.Bn(!0).forEach(s=>{t.push(s)}),t},get mask(){const t=[];return s.Bn(!0).forEach(s=>{t.push(s.text)}),t},get valueText(){const t=[];s.Bn(!0).forEach(s=>{t.push(s.text)});const i=t.length;return i>1?t:0===i?"":t[0]},get isOpen(){return s.isOpen},getParent:()=>t.view.parentElement,valueDataset(t,i=null,e=!1){var h=[];if(s.Bn(!0).forEach(t=>{h.push(i?t.dataset[i]:t.dataset)}),!e){if(0==h.length)return"";if(1==h.length)return h[0]}return h},selectAll(t,i=!0){if(!(r.multiple&&r.maxSelected>0&&s.Bn().length>r.maxSelected)&&!this.disabled&&!this.readonly&&r.multiple){if(i){if(e.ht([h()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s.Bn().forEach(t=>{t.ci=!0}),this.change(!1,i)}},deSelectAll(t,i=!0){if(!this.disabled&&!this.readonly&&r.multiple){if(i){if(e.ht([h()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s.Bn().forEach(t=>{t.ci=!1}),this.change(!1,i)}},setValue(i=null,n,o=!0,l=!1){if(Array.isArray(n)||(n=[n]),0===(n=n.filter(t=>""!==t&&null!=t)).length)return s.Bn().forEach(t=>t.ci=!1),void this.change(!1,o);if(r.multiple&&r.maxSelected>0&&n.length>r.maxSelected)console.warn(`Cannot select more than ${r.maxSelected} items`);else if(l||!this.disabled&&!this.readonly){if(t.Pn?.oe?.()){const{ge:i}=t.Pn.de(n);if(i.length>0)return void(async()=>{r.loadingfield&&t.ie?.es?.();try{t.Pn.me();const e=await t.Pn.re(i);e.Is&&e.items.length>0?(e.items.forEach(t=>{i.includes(t.value)&&(t.selected=!0)}),t.Pn.Me?.(e.items,!0,!0),setTimeout(()=>{s.Bn().forEach(t=>{t.ci=n.some(s=>s==t.value)}),this.change(!1,!1)},100)):i.length>0&&console.warn(`Could not load ${i.length} values:`,i)}catch(t){console.error("Error loading missing values:",t)}finally{r.loadingfield&&t.ie?.us?.()}})()}if(o){if(e.ht([h()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s.Bn().forEach(t=>{t.ci=n.some(s=>s==t.value)}),!r.multiple&&n.length>0&&(t.targetElement.value=n[0]),this.change(!1,o)}},load(){s.yn&&!s.vn||!r?.ajax||(t.Pn.me(),t.ie.es(),s.yn=!0,s.vn=!1,setTimeout(()=>{t.ie&&t.Pn&&t.Pn.search("").then(()=>t.ie?.ls?.()).catch(t=>console.error("Initial ajax load error:",t))},r.animationtime)),t.ie.load()},open(){if(s.isOpen)return;const i=s.ue?.find?.();if(i&&!i.isEmpty&&i.close().isCancel)return;if(this.disabled)return;if(e.ht([h()],...r.on.beforeShow).isCancel)return;s.isOpen=!0,t.Ln.gt(!0);const n=t.ie.It,o=n.hh();o?n.sh(o,!1):n.nh(),this.load(),t.ie.open(null,!t.ie.Vt.isVisible),t.In.show();const l=t.tags.Hs;l.setAttribute("aria-expanded","true"),l.setAttribute("aria-controls",r.Kt),l.setAttribute("aria-haspopup","listbox"),l.setAttribute("aria-labelledby",r.An),r.multiple&&l.setAttribute("aria-multiselectable","true"),e.ht([h()],...r.on.show),s.Mn&&s.zn("onOpen",t=>t.Nn?.(s.Mn))},close(){s.isOpen&&(e.ht([h()],...r.on.beforeClose).isCancel||(s.isOpen=!1,t.Ln.gt(!1),t.ie.close(()=>{t.In.clear(!1)}),t.In.hide(),t.tags.Hs.setAttribute("aria-expanded","false"),e.ht([h()],...r.on.close),s.Mn&&s.zn("onClose",t=>t.Un?.(s.Mn))))},toggle(){s.isOpen?this.close():this.open()},change(i=null,o=!0){if(o){if(r.multiple&&r.maxSelected>0&&this.valueArray.length>r.maxSelected&&this.setValue(null,this.oldValue,!1,!0),this.disabled||this.readonly)return void this.setValue(null,this.oldValue,!1,!0);if(e.ht([h(),this.value],...r.on.beforeChange).isCancel)return void this.setValue(null,this.oldValue,!1)}if(this.refreshMask(),t.Fn.Qi(this.valueOptions),o&&(t.targetElement&&e.nt(t.targetElement,"change"),e.ht([h(),this.value],...r.on.change),s.options?.autoclose&&this.close()),s.is(n.MOUNTED)&&s.update(),s.Mn&&s.wn){const t=s.wn.Xt();s.zn("onChange",i=>i.Gn?.(this.value,t.ji,t.Zt,s.Mn))}},refreshMask(){let i=r.placeholder;!r.multiple&&s.Bn().length>0&&(i=this.mask[0]),i??(i=r.placeholder),t.placeholder.set(i,!1),t.In.zs(i)},on(t,s,i){r.on[s]||(r.on[s]=[]),r.on[s].push(i)},ajax(i,e){null==e.keepSelected&&(e.keepSelected=s.options.keepSelected),t.Pn.fe(e)},loadAjax:()=>new Promise((i,e)=>{t.ie.es(),t.Pn.me(),s.yn=!0,s.vn=!1,t.ie&&t.Pn?t.Pn.search("").then(()=>{t.ie?.ls?.(),i(h())}).catch(t=>{console.error("Initial ajax load error:",t),e(t)}):i(h())})};return this.Wn(l,"disabled","isDisabled"),this.Wn(l,"readonly","isReadOnly"),this.Wn(l,"visible","isVisible"),l}Wn(t,s,i){const e=this;Object.defineProperty(t,s,{get:()=>e[i],set(t){e[i]=!!t,e.container?.targetElement?.dataset&&(e.container.targetElement.dataset[s]=!!t+"")},enumerable:!0,configurable:!0})}Bn(t=null){if(!this.wn)return[];const{ji:s}=this.wn.Xt(),i=[];for(const t of s)t instanceof w?i.push(t):t instanceof b&&Array.isArray(t.items)&&t.items.length&&i.push(...t.items);return"boolean"==typeof t?i.filter(s=>s.selected===t):i}zn(t,s){this.plugins.length&&this.plugins.forEach(i=>{try{s(i)}catch(s){console.error(`Plugin "${i.id}" ${t} error:`,s)}})}}class E{constructor(){this.isActive=!1,this.Se=null,this.actions=new Set}qn(t){this.actions.add(t)}Kn(){this.actions.clear()}connect(t){if(this.isActive)return;this.isActive=!0;const s=t.toUpperCase(),i=t.toLowerCase();this.Se=new MutationObserver(t=>{for(const e of t)e.addedNodes.forEach(t=>{if(1!==t.nodeType)return;const e=t;e.tagName===s&&this.Qn(e),e.querySelectorAll(i).forEach(t=>this.Qn(t))})}),this.Se.observe(document.body,{childList:!0,subtree:!0})}disconnect(){this.isActive&&(this.isActive=!1,this.Se?.disconnect(),this.Se=null)}Qn(t){for(const s of this.actions)s(t)}}const j=new class extends o{constructor(){super(),this.Yn=new Map,this.plugins=new Map,this.init()}init(){this.is(n.NEW)&&(this.Yn=new Map,this.plugins=new Map,super.init())}bind(t,s){this.is(n.NEW)&&this.init();const h=i.V(i.U(),s);h.on=h.on??{},h.on.load=h.on.load??[],this.Yn.set(t,h);const o=i.M();i.X.on(o,()=>{e.ht([this.find(t)],...h.on.load),i.X.clear(o),h.on.load=[]});const r=i.O(t);let l=!1;r.forEach(t=>{(async()=>{"SELECT"===t.tagName&&(i._(t),this.Jn(t,h)&&(l=!0,i.X.run(o)))})()}),i.t().includes(t)||i.t().push(t),this.is(n.INITIALIZED)&&l&&this.mount(),this.is(n.MOUNTED)&&this.update()}mount(){this.state===n.INITIALIZED&&super.mount()}update(){this.state===n.MOUNTED&&super.update()}find(t="*"){const s={isEmpty:!0};if("*"===t&&""===(t=i.t().join(", ")))return s;const e=i.O(t);if(0===e.length)return s;const h=i.R(e[0]);if(!h||!h.action)return s;const n={};for(const t in h.action)n[t]=this.Xn(t,h.action);const o={isEmpty:!1};for(const t in n){const s=n[t];switch(s.type){case"get-set":this.Zn(o,s.name,e);break;case"func":this.so(o,s.name,e)}}return o}kn(){return Array.from(this.plugins.values())}i(){this.io||(this.io=new E,this.io.qn(t=>{this.Yn.forEach((s,i)=>{try{t.matches(i)&&(this.Jn(t,s),this.is(n.MOUNTED)&&this.update())}catch(t){console.warn("Invalid selector: "+i,t)}})})),this.io.connect("select")}destroy(t=null){null===t?this.eo():"string"==typeof t?this.ho(t):t instanceof HTMLSelectElement&&this.no(t),null!==t&&this.is(n.MOUNTED)&&this.update()}registerPlugin(t){t?.id&&this.plugins.set(t.id,t)}unregisterPlugin(t){t&&this.plugins.delete(t)}oo(t){if(t)return this.plugins.get(t)}eo(){this.state!==n.DESTROYED&&(i.t().forEach(t=>this.ho(t)),this.Yn.clear(),i.t().length=0,this.plugins.forEach(t=>{t.destroy?.(),t.ro?.()}),this.plugins.clear(),this.io?.disconnect(),this.plugins.clear(),super.destroy())}ho(t){i.O(t).forEach(t=>{"SELECT"===t.tagName&&this.no(t)}),this.Yn.delete(t);const s=i.t(),e=s.indexOf(t);e>-1&&s.splice(e,1)}no(t){const s=i.R(t);if(!s)return;const e=s.self;i.N(t,s);const h=!!this.io;h&&this.io?.disconnect(),s.self?._n?.();const n=s.container?.element??t.parentElement;t.style.display="",t.style.visibility="",t.disabled=!1,delete t.dataset.lo,n&&n.parentNode?n.parentNode.replaceChild(t,n):t.appendChild(t),i.k(t),h&&this.Yn.size>0&&this.io?.connect("select"),e?.destroy?.()}rebind(t,s){this.ho(t),this.bind(t,s),this.is(n.MOUNTED)&&this.update()}Jn(t,s){if(i.R(t)||i.B(t))return!1;const e=i.M(8),h=i.j(t,s);h.je=e,h.Kt=`seui-${e}-optionlist`,h.An=`seui-${e}-placeholder`;const n={options:h};i.D(t,n);const o=new F(t,this);return o.on("onMount",()=>{o.container.view&&o.container.view.addEventListener("mouseup",()=>{n.action?.toggle?.()})}),o.mount(),n.container=o.container,n.action=o.Sn(),n.self=o,!0}Xn(t,s){const i=Object.getOwnPropertyDescriptor(s,t);let e="variable";return i?.get||i?.set&&"function"!=typeof s[t]?e="get-set":"function"==typeof s[t]&&(e="func"),{type:e,name:t}}Zn(t,s,e){Object.defineProperty(t,s,{get(){const t=i.R(e[0]);return t.action?.[s]},set(t){e.forEach(e=>{const h=i.R(e);h?.action&&(h.action[s]=t)})},enumerable:!0,configurable:!0})}so(t,s,h){t[s]=(...n)=>{let o=null;for(let t=0;t<h.length;t++){const r=i.R(h[t]);if(!r?.action)continue;const l=e.et();if(o??(o=r.action[s](l.it,...n)),!l.token.isContinue)break}return o??t}}},version="1.3.0",$="SelectiveUI";let V=!1;"undefined"!=typeof document&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",init):init());export{bind,destroy,effector,find,$ as name,rebind,registerPlugin,unregisterPlugin,version};
|
|
1
|
+
/*! Selective UI v1.3.1 | MIT License */
|
|
2
|
+
function t(t){return new f(t??null)}function bind(t,s={}){j.bind(t,s)}function find(t){return j.find(t)}function destroy(t=null){j.destroy(t)}function rebind(t,s={}){j.rebind(t,s)}function effector(s){return t(s)}function registerPlugin(t){j.registerPlugin(t)}function unregisterPlugin(t){j.unregisterPlugin(t)}function init(){V||(V=!0,document.addEventListener("mousedown",()=>{const t=i.t();if(t.length>0){const s=j.find(t.join(", "));s.isEmpty||s.close()}}),j.i())}class s{constructor(){this.h={accessoryVisible:!0,virtualScroll:!0,accessoryStyle:"top",multiple:!1,minWidth:"50px",width:"0px",offsetWidth:null,minHeight:"30px",height:"30px",panelHeight:"220px",panelMinHeight:"100px",disabled:!1,readonly:!1,selectall:!0,keepSelected:!0,placeholder:"Select value",altMask:"",autoclose:!1,autoscroll:!0,autofocus:!0,searchable:!0,loadingfield:!0,preload:!1,visible:!0,skipError:!1,customDelimiter:",",textLoading:"Processing...",textNoData:"No data available",textNotFound:"Not found",textSelectAll:"Select all",textDeselectAll:"Deselect all",textAccessoryDeselect:"Deselect: ",animationtime:200,delaysearchtime:200,allowHtml:!1,maxSelected:0,labelHalign:"left",labelValign:"center",imageMode:!1,imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",imagePosition:"right",ajax:null,on:{load:[],beforeShow:[],show:[],beforeChange:[],change:[],beforeClose:[],close:[]}},this.o=new Map,this.l=new Map,this.u=[]}}class i{static get p(){return this.m||(this.m=new s),this.m}static v(t){if(null===t||"object"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=this.v(t[i]));return s}static M(t=6){let s="";for(let i=0;i<t;i++)s+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return s}static O(t){if(!t)return[];if("string"==typeof t){const s=document.querySelectorAll(t);return Array.from(s)}return t instanceof HTMLElement?[t]:t instanceof NodeList||Array.isArray(t)?Array.from(t):[]}static A(t={}){return this.H(document.createElement(t.node??"div"),t,!0)}static H(t=document.documentElement,s=null,i=!1){const e={...s??{}},h=i?t:t.cloneNode(!0),n=e.classList;return"string"==typeof n?h.classList.add(n):Array.isArray(n)&&h.classList.add(...n),delete e.classList,["style","dataset"].forEach(t=>{const s=e[t];s&&"object"==typeof s&&Object.assign(h[t],s),delete e[t]}),e.role&&(h.setAttribute("role",e.role+""),delete e.role),e.ariaLive&&(h.setAttribute("aria-live",e.ariaLive+""),delete e.ariaLive),e.S&&(h.setAttribute("aria-labelledby",e.S+""),delete e.S),e.T&&(h.setAttribute("aria-controls",e.T+""),delete e.T),e.C&&(h.setAttribute("aria-haspopup",e.C+""),delete e.C),e.P&&(h.setAttribute("aria-multiselectable",e.P+""),delete e.P),e.L&&(h.setAttribute("aria-autocomplete",e.L+""),delete e.L),e.event&&"object"==typeof e.event&&(Object.entries(e.event).forEach(([t,s])=>{h.addEventListener(t,s)}),delete e.event),Object.entries(e).forEach(([t,s])=>{null===s?h.removeAttribute(t):h[t]=s}),h}static I(t,s=null,i=!1,e=!1,h={}){let n=null;for(const o in t){const r=t[o],l=r?.tag?.tagName?r.tag:this.A(r.tag);h[o]=l,r?.F&&this.I(r.F,l,!1,!1,h),s?i?s.prepend(l):s.append(l):e||n||(n=l)}return e||(h.id=this.M(7),s||(h={tags:h,view:n})),h}static j(t,s){const i=this.v(s);for(const s in i){const e=t[s];e?i[s]="boolean"==typeof i[s]?this.$(e):e:void 0!==t?.dataset?.[s]&&(i[s]="boolean"==typeof i[s]?this.$(t.dataset[s]):t.dataset[s])}return i}static V(...t){if(0===t.length)return{};if(1===t.length)return this.v(t[0]);const s=this.v(t[0]);for(let i=1;i<t.length;i++){const e=t[i];for(const t in e)if("on"===t){const i=e[t];for(const e in i)s[t][e].push(i[e])}else s[t]=e[t]}return s}static $(t){if("boolean"==typeof t)return t;if("string"!=typeof t)return!!t;switch(t.trim().toLowerCase()){case"true":case"1":case"yes":case"on":return!0;default:return!1}}static k(t){return this.p.o.delete(t)}static R(t){return this.p.o.get(t)}static D(t,s){this.p.o.set(t,s)}static _(t){return this.p.l.delete(t)}static B(t){return this.p.l.get(t)}static N(t,s){this.p.l.set(t,s)}static U(){return this.p.h}static t(){return this.p.u}static G(t){if(null==t)return"";let s=(t+"").replace(/<`/g,"<").replace(/`>/g,">").replace(/\<\`/g,"<").replace(/\`\>/g,">").trim();const i=globalThis?.document;if(!i||"function"!=typeof i.createElement)return s=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"").replace(/<iframe\b[^>]*>[\s\S]*?<\/iframe>/gi,"").replace(/<(object|embed|link)\b[^>]*>[\s\S]*?<\/\1>/gi,""),s=s.replace(/\son[a-z]+\s*=\s*(['"]).*?\1/gi,""),s=s.replace(/\s([a-z-:]+)\s*=\s*(['"])\s*javascript:[^'"]*\2/gi,""),s;const e=i.createElement("div");return e.innerHTML=s,e.querySelectorAll("script, style, iframe, object, embed, link").forEach(t=>t.remove()),e.querySelectorAll("*").forEach(t=>{for(const s of Array.from(t.attributes)){const i=s.name??"",e=s.value??"";if(/^on/i.test(i))return void t.removeAttribute(i);/^(href|src|xlink:href)$/i.test(i)&&/^javascript:/i.test(e)&&t.removeAttribute(i)}}),(e.innerHTML??"").trim()}static W(t){const s=document.createElement("DIV");s.innerHTML=t;const i=s.textContent??s.innerText??"";return s.remove(),i.trim()}static q(t){return null==t?"":(t+"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/đ/g,"d").replace(/Đ/g,"d")}static K(t){const s=[],i=t.children;for(let t=0;t<i.length;t++){const e=i[t];if("OPTGROUP"===e.tagName){const t=e;s.push(t);for(let i=0;i<t.children.length;i++){const e=t.children[i];e.__parentGroup=t,s.push(e)}}else"OPTION"===e.tagName&&s.push(e)}return s}static Y(){const t=navigator.userAgent;return/iP(hone|ad|od)/.test(t)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1}static J(t){const s=(t+"").trim();if(s.endsWith("px"))return s;if(s.endsWith("vh"))return window.innerHeight*parseFloat(s)/100+"px";if(s.endsWith("vw"))return window.innerWidth*parseFloat(s)/100+"px";const i=parseFloat(getComputedStyle(document.documentElement).fontSize);if(s.endsWith("rem"))return i*parseFloat(s)+"px";const e=this.A({node:"div",style:{height:s,opacity:"0"}});document.body.appendChild(e);const h=e.offsetHeight+"px";return e.remove(),h}}i.m=null,i.X=new class{constructor(){this.Z=new Map,this.tt=new Map}on(t,s,i={}){const e=i.st??50,h=i.once??!1;this.Z.has(t)||this.Z.set(t,[]),this.Z.get(t).push({it:s,timeout:e,once:h})}off(t){const s=this.tt.get(t);if(s){for(const t of s.values())clearTimeout(t);s.clear(),this.tt.delete(t)}this.Z.delete(t)}run(t,...s){const i=this.Z.get(t);if(!i||0===i.length)return Promise.resolve();this.tt.has(t)||this.tt.set(t,new Map);const e=this.tt.get(t),h=[];for(let t=0;t<i.length;t++){const n=i[t];if(!n)continue;const o=e.get(t);o&&clearTimeout(o);const r=new Promise(h=>{const o=setTimeout(async()=>{try{const t=n.it(s.length>0?s:null);t instanceof Promise&&await t}catch{}finally{if(n.once){i[t]=void 0;const s=e.get(t);s&&clearTimeout(s),e.delete(t)}h()}},n.timeout);e.set(t,o)});h.push(r)}return Promise.all(h).then(()=>{})}clear(t){if(void 0===t)for(const t of Array.from(this.Z.keys()))this.off(t);else this.off(t)}};class e{static et(){const t={isContinue:!0,isCancel:!1};return{token:{get isContinue(){return t.isContinue},get isCancel(){return t.isCancel}},it:{stopPropagation(){t.isContinue=!1},cancel(){t.isCancel=!0,t.isContinue=!1}}}}static ht(t,...s){const{token:i,it:e}=this.et();for(let h=0;h<s.length;h++){const n=s[h];if("function"==typeof n&&(t&&Array.isArray(t)?n(e,...t):n(e),i.isCancel||!i.isContinue))break}return i}static nt(t,s,i={bubbles:!0,cancelable:!0}){const e=new Event(s,i);return t.dispatchEvent(e),e}static ot(t,...s){if(Array.isArray(t))for(const i of t)"function"==typeof i&&i(...s)}}class h{static rt(t,s){const e=i.R(t);if(!e?.options)return;const h=e.options,n=h.minWidth,o=h.minHeight,r=Number.parseInt(h.width,10),l=Number.parseInt(h.height,10);let a=t.offsetWidth+"px",u=t.offsetHeight+"px";const c=getComputedStyle(t);"0px"===a&&"auto"!==c.width&&(a=c.width),"0px"===u&&"auto"!==c.height&&(u=c.height),r>0&&(a=h.width),l>0&&(u=h.height),Object.assign(s.style,{width:a,height:u,minWidth:n,minHeight:o})}}var n;(t=>{t.NEW="new",t.INITIALIZED="initialized",t.MOUNTED="mounted",t.UPDATED="updated",t.DESTROYED="destroyed"})(n||(n={}));class o{constructor(){this.state=n.NEW,this.lt=new Map,this.lt.set("onInit",new Set),this.lt.set("onMount",new Set),this.lt.set("onUpdate",new Set),this.lt.set("onDestroy",new Set)}on(t,s){return this.lt.get(t).add(s),this}off(t,s){return this.lt.get(t).delete(s),this}emit(t,s){const i={state:this.state,ut:s};for(const s of this.lt.get(t))try{s(i)}catch(s){this.ct(s,t)}}ct(t,s){console.error(`[Lifecycle:${s}]`,t)}init(){if(this.state!==n.NEW)return;const t=this.state;this.state=n.INITIALIZED,this.emit("onInit",t)}mount(){if(this.state!==n.INITIALIZED)return;const t=this.state;this.state=n.MOUNTED,this.emit("onMount",t)}update(){if(this.state!==n.MOUNTED&&this.state!==n.UPDATED)return;const t=this.state;this.state=n.UPDATED,this.emit("onUpdate",t)}destroy(){if(this.state===n.DESTROYED)return;const t=this.state;this.state=n.DESTROYED,this.emit("onDestroy",t),this.dt()}getState(){return this.state}is(t){return this.state===t}dt(){for(const t of this.lt.values())t.clear()}}class r extends o{constructor(t){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.node=i.A({node:"div",classList:"seui-placeholder",innerHTML:t.placeholder}),this.options=t,this.init()}get(){return this.options?.placeholder??""}set(t,s=!0){if(!this.node||!this.options)return;s&&(this.options.placeholder=t);const e=i.G(t);this.node.innerHTML=this.options.allowHtml?e:i.W(e)}destroy(){this.is(n.DESTROYED)||(this.node?.remove(),this.node=null,this.options=null,super.destroy())}}class l extends o{constructor(){super(),this.init()}init(){this.node=i.A({node:"div",classList:"seui-directive",role:"button",ariaLabel:"Toggle dropdown"}),super.init(),this.mount()}gt(t){this.node.classList.toggle("drop-down",!!t)}destroy(){this.is(n.DESTROYED)||(this.node.remove(),this.node=null,super.destroy())}}class a extends o{constructor(t=null){super(),this.ft=null,this.node=null,this.options=null,this.bt=[],this.wt=[],t&&this.initialize(t)}initialize(t){this.ft=i.I({yt:{tag:{node:"div",classList:["seui-option-handle","hide"]},F:{vt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textSelectAll,onclick:()=>{e.ot(this.bt)}}},xt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textDeselectAll,onclick:()=>{e.ot(this.wt)}}}}}}),this.node=this.ft.view,this.options=t,this.init()}available(){return!!this.options&&i.$(this.options.multiple)&&i.$(this.options.selectall)}update(){this.node&&(this.available()?this.show():this.hide()),super.update()}show(){this.node&&this.node.classList.remove("hide")}hide(){this.node&&this.node.classList.add("hide")}Mt(t=null){"function"==typeof t&&this.bt.push(t)}Ot(t=null){"function"==typeof t&&this.wt.push(t)}destroy(){this.is(n.DESTROYED)||(this.node.remove(),this.options=null,this.bt=null,this.wt=null,this.node=null,super.destroy())}}class u extends o{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=i.A({node:"div",classList:["seui-empty-state","hide"],role:"status",ariaLive:"polite"}),this.init()}show(t="nodata"){this.node&&this.options&&(this.node.textContent="notfound"===t?this.options.textNotFound:this.options.textNoData,this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(n.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class c extends o{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=i.A({node:"div",classList:["seui-loading-state","hide"],textContent:t.textLoading,role:"status",ariaLive:"polite"}),this.init()}show(t){this.node&&this.options&&(this.node.textContent=this.options.textLoading,this.node.classList.toggle("small",!!t),this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(n.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class d{constructor(){this.At=!1,this.element=null,this.Ht=null,this.St=null,this.At=!0,this.Tt=this.Ct.bind(this)}Pt(t){}Ct(){const t=this.element;if(!t||"function"!=typeof t.getBoundingClientRect)return void this.Pt({width:0,height:0,top:0,left:0,padding:{top:0,right:0,bottom:0,left:0},border:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0}});const s=t.getBoundingClientRect(),i="undefined"!=typeof window&&"function"==typeof window.getComputedStyle?window.getComputedStyle(t):null;this.Pt({width:s?.width??0,height:s?.height??0,top:s?.top??0,left:s?.left??0,padding:{top:parseFloat(i?.paddingTop??"0"),right:parseFloat(i?.paddingRight??"0"),bottom:parseFloat(i?.paddingBottom??"0"),left:parseFloat(i?.paddingLeft??"0")},border:{top:parseFloat(i?.borderTopWidth??"0"),right:parseFloat(i?.borderRightWidth??"0"),bottom:parseFloat(i?.borderBottomWidth??"0"),left:parseFloat(i?.borderLeftWidth??"0")},margin:{top:parseFloat(i?.marginTop??"0"),right:parseFloat(i?.marginRight??"0"),bottom:parseFloat(i?.marginBottom??"0"),left:parseFloat(i?.marginLeft??"0")}})}nt(){this.Ct()}connect(t){if(!(t instanceof HTMLElement))throw Error("Invalid element");this.element=t,this.Ht=new ResizeObserver(this.Tt),this.Ht.observe(t),this.St=new MutationObserver(this.Tt),this.St.observe(t,{attributes:!0,attributeFilter:["style","class"]}),window.addEventListener("scroll",this.Tt,!0),window.addEventListener("resize",this.Tt),window.visualViewport&&(window.visualViewport.addEventListener("resize",this.Tt),window.visualViewport.addEventListener("scroll",this.Tt))}disconnect(){this.Ht?.disconnect(),this.St?.disconnect(),this.Pt=()=>{},window.removeEventListener("scroll",this.Tt,!0),window.removeEventListener("resize",this.Tt),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.Tt),window.visualViewport.removeEventListener("scroll",this.Tt)),this.Ht=null,this.St=null,this.element=null}}class p extends o{constructor(t=null,s=null,i=null){super(),this.options=null,this.Lt=!1,this.It=null,this.node=null,this.Ft=null,this.Et=null,this.parent=null,this.jt=null,this.$t=null,this.Vt=null,this.kt=null,this.Rt=null,this.Dt=null,this.zt=null,this._t={Bt:36,Nt:8,Ut:!0},this.Gt=i,t&&s&&this.initialize(t,s)}initialize(t,s){if(!this.Gt)throw Error("Popup requires a ModelManager instance.");this.jt=new a(s),this.$t=new u(s),this.Vt=new c(s);const e=i.I({Wt:{tag:{node:"div",classList:"seui-popup",style:{maxHeight:s.panelHeight}},F:{yt:{tag:this.jt.node},qt:{tag:{id:s.Kt,node:"div",classList:"seui-options-container",role:"listbox"}},Qt:{tag:this.Vt.node},Yt:{tag:this.$t.node}}}},null);this.node=e.view,this.Rt=e.tags.qt,this.parent=i.R(t),this.options=s,this.init(),this.Gt.load(this.Rt,{isMultiple:s.multiple,options:s},s.virtualScroll?{Jt:this.node,Bt:this._t.Bt,Nt:this._t.Nt,Ut:this._t.Ut}:{});const h=this.Gt.Xt();this.It=h.Zt,this.kt=h.kt,this.jt.Mt(()=>{h.Zt.ts(!0)}),this.jt.Ot(()=>{h.Zt.ts(!1)}),this.ss(),this.mount()}async es(){this.options&&this.Vt&&this.jt&&this.It&&this.Gt&&(this.zt&&clearTimeout(this.zt),this.Gt.hs(!0),!1!==i.$(this.options.loadingfield)&&(this.$t.hide(),this.Vt.show(this.It.rs().ns),this.ls()))}async us(){this.options&&this.Vt&&this.It&&this.Gt&&(this.zt&&clearTimeout(this.zt),this.zt=setTimeout(()=>{this.Gt?.hs(!1),this.Vt?.hide();const t=this.It?.rs();this.cs(t??void 0),this.ls()},this.options.animationtime))}ss(){this.It&&(this.It.ds(t=>{this.cs(t)}),this.It.ps("items",()=>{const t=this.It.rs();this.cs(t),this.ls()}))}cs(t){if(!(this.It&&this.$t&&this.jt&&this.Rt))return;const s=t??this.It.rs();s.isEmpty?(this.$t.show("nodata"),this.Rt.classList.add("hide"),this.jt.hide()):s.ns?(this.$t.hide(),this.Rt.classList.remove("hide"),this.jt.update()):(this.$t.show("notfound"),this.Rt.classList.add("hide"),this.jt.hide())}gs(t,s){this.It?.fs(t,s)}bs(t,s){this.It?.ps(t,s)}ws(t){this.Ft=t}load(){this.node&&this.parent&&this.Ft&&(this.Lt||(document.body.appendChild(this.node),this.Lt=!0,this.Et=new d,this.Ft.ys(this.node),this.node.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()})))}open(t=null,s){if(!(this.node&&this.options&&this.jt&&this.parent&&this.Ft))return;this.load(),this.jt.update(),s&&this.cs();const i=this.vs(),{position:e,top:h,maxHeight:n,xs:o}=this.Ms(i);this.Ft.expand({duration:this.options.animationtime,display:"flex",width:i.width,left:i.left,top:h,maxHeight:n,xs:o,position:e,Os:()=>{if(!this.Et||!this.parent)return;this.Et.Pt=()=>{const t=this.vs();this.As(t)},this.Et.connect(this.parent.container.tags.Hs),t?.();const s=this.kt;s?.resume?.()}})}close(t=null){if(!(this.Lt&&this.options&&this.Et&&this.Ft))return;const s=this.kt;s?.suspend?.(),this.Et.disconnect(),this.Ft.collapse({duration:this.options.animationtime,Os:t??void 0})}ls(){this.Lt&&this.Et?.nt()}Ss(t,s){this.node&&(this.Dt=async()=>{const s=t.Ts();if(!s.Cs)return;const i=this.node;if(i.scrollHeight-i.scrollTop-i.clientHeight<100&&!s.Ps&&s.hasMore){const s=await t.Ls();!s.Is&&s.message&&console.log("Load more:",s.message)}},this.node.addEventListener("scroll",this.Dt))}destroy(){if(!this.is(n.DESTROYED)){if(clearTimeout(this.zt),this.zt=null,this.node&&this.Dt&&(this.node.removeEventListener("scroll",this.Dt),this.Dt=null),this.$t.destroy(),this.Vt.destroy(),this.jt.destroy(),this.Et?.disconnect?.(),this.Ft?.ys?.(null),this.Gt?.hs?.(!1),this.kt?.clear?.(),this.node?.remove?.(),this.node)try{const t=i.H(this.node);this.node.replaceWith(t),t.remove()}catch(t){this.node.remove()}this.node=null,this.Rt=null,this.Gt=null,this.jt=null,this.$t=null,this.Vt=null,this.parent=null,this.options=null,this.Lt=!1,this.Ft=null,this.Et=null,this.kt=null,this.It=null,super.destroy()}}vs(){const t=this.parent.container.tags.Hs,s=t.getBoundingClientRect(),i=window.getComputedStyle(t);return{width:s.width,height:s.height,top:s.top,left:s.left,padding:{top:parseFloat(i.paddingTop),right:parseFloat(i.paddingRight),bottom:parseFloat(i.paddingBottom),left:parseFloat(i.paddingLeft)},border:{top:parseFloat(i.borderTopWidth),right:parseFloat(i.borderRightWidth),bottom:parseFloat(i.borderBottomWidth),left:parseFloat(i.borderLeftWidth)}}}Ms(t){const s=window.visualViewport,e=i.Y(),h=s?.height??window.innerHeight,n=this.Ft.Fs("flex").scrollHeight,o=parseFloat(this.options?.panelHeight??"220")||220,r=parseFloat(this.options?.panelMinHeight??"100")||100,l=h-(t.top+t.height)-3,a=t.top-3;let u="bottom",c=o,d=Math.min(n,c);const p=l-15;(d>=r?p>=r:p>=d)?(u="bottom",c=Math.min(l-15,o)):a>=Math.max(d,r)?(u="top",c=Math.min(a-15,o)):l>=a?(u="bottom",c=Math.max(l-15,r)):(u="top",c=Math.max(a-15,r)),d=Math.min(n,c);const g=s&&e?s.offsetTop:0;return{position:u,top:"bottom"===u?t.top+t.height+3+g:t.top-d-3+g,maxHeight:c,xs:d,Es:n}}As(t){if(!this.options||!this.Ft)return;const{position:s,top:i,maxHeight:e,xs:h}=this.Ms(t);this.Ft.resize({duration:this.options.animationtime,width:t.width,left:t.left,top:i,maxHeight:e,xs:h,position:s,animate:!0})}}class g extends o{constructor(t=null){super(),this.ft=null,this.node=null,this.js=null,this.$s=null,this.options=null,this.Vs=null,this.ks=null,this.Rs=null,this.options=t,t&&this.initialize(t)}initialize(t){this.ft=i.I({Ds:{tag:{node:"div",classList:["seui-searchbox","hide"]},F:{js:{tag:{id:i.M(),node:"input",type:"search",classList:["seui-searchbox-input"],placeholder:t.placeholder,role:"searchbox",T:t.Kt,L:"list"}}}}}),this.node=this.ft.view,this.js=this.ft.tags.js;let s=!1;const e=this.ft.tags.js;e.addEventListener("mousedown",t=>{t.stopPropagation()}),e.addEventListener("mouseup",t=>{t.stopPropagation()}),e.addEventListener("keydown",t=>{s=!1,"ArrowDown"===t.key||"Tab"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.Vs?.(1)):"ArrowUp"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.Vs?.(-1)):"Enter"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.ks?.()):"Escape"===t.key&&(t.preventDefault(),t.stopPropagation(),s=!0,this.Rs?.()),t.stopPropagation()}),e.addEventListener("input",()=>{s||this.$s?.(e.value,!0)}),this.init()}show(){this.node&&this.js&&this.options&&(this.node.classList.remove("hide"),this.js.readOnly=!this.options.searchable,this.options.searchable&&requestAnimationFrame(()=>{this.js?.focus()}))}hide(){this.node&&this.node.classList.add("hide")}clear(t=!0){this.ft&&(this.ft.tags.js.value="",this.$s?.("",t))}zs(t){this.js&&(this.js.placeholder=i.W(t))}_s(t){this.js&&this.js.setAttribute("aria-activedescendant",t)}destroy(){this.is(n.DESTROYED)||(this.node?.remove(),this.ft=null,this.node=null,this.js=null,this.$s=null,this.options=null,this.Vs=null,this.ks=null,this.Rs=null,super.destroy())}}class f{constructor(t=null){this.Bs=null,this.Ns=null,this.Us=!1,t&&this.ys(t)}ys(t){if("string"==typeof t){const s=document.querySelector(t);return void(s instanceof HTMLElement&&(this.element=s))}this.element=t}cancel(){return this.Bs&&(clearTimeout(this.Bs),this.Bs=null),this.Ns&&(clearTimeout(this.Ns),this.Ns=null),this.Us=!1,this}Fs(t="flex"){if(!this.element)return{width:0,height:0,scrollHeight:0};const s={display:this.element.style.display,visibility:this.element.style.visibility,position:this.element.style.position,height:this.element.style.height,width:this.element.style.width};Object.assign(this.element.style,{display:t,visibility:"hidden",position:"fixed",height:"fit-content",width:"fit-content"});const i=window.getComputedStyle(this.element),e=parseFloat(i.borderTopWidth),h=parseFloat(i.borderBottomWidth),n=this.element.scrollHeight+e+h,o=this.element.getBoundingClientRect(),r={width:o.width,height:o.height+e+h,scrollHeight:n};return Object.assign(this.element.style,s),r}expand(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="flex",width:e,left:h,top:n,maxHeight:o,xs:r,position:l="bottom",Os:a}=t;return Object.assign(this.element.style,{display:i,width:e+"px",left:h+"px",top:("bottom"===l?n:n+r)+"px",maxHeight:o+"px",height:"0px",opacity:"0",overflow:"hidden",transition:"none"}),this.element.classList.toggle("position-top","top"===l),this.element.classList.toggle("position-bottom","bottom"===l),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`top ${s}ms, height ${s}ms, opacity ${s}ms`,top:n+"px",height:r+"px",opacity:"1",overflow:r>=o?"auto":"hidden"}),this.Bs=setTimeout(()=>{this.element.style.transition="none",this.Us=!1,a?.()},s)}),this}collapse(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Os:i}=t,e=this.element.offsetHeight,h=this.element.offsetTop,n=this.element.classList.contains("position-top")?"top":"bottom",o=this.element.scrollHeight-this.element.offsetHeight>0,r="top"===n?h+e:h;return requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`height ${s}ms, top ${s}ms, opacity ${s}ms`,height:"0px",top:r+"px",opacity:"0",overflow:o?"auto":"hidden"}),this.Bs=setTimeout(()=>{Object.assign(this.element.style,{display:"none",transition:"none"}),this.Us=!1,i?.()},s)}),this}showSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="block",Os:e}=t;Object.assign(this.element.style,{transition:"none",display:i,width:"fit-content"});const h=this.Fs(i).width;return Object.assign(this.element.style,{width:"0px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:h+"px",overflow:"hidden"})}),this.Bs=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:""}),this.Us=!1,e?.()},s),this}hideSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Os:i}=t,e=this.Fs().width;return Object.assign(this.element.style,{transition:"none",width:e+"px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:"0px",overflow:"hidden"})}),this.Bs=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:"",display:""}),this.Us=!1,i?.()},s),this}resize(t){if(!this.element)return this;this.cancel();const{duration:s=200,width:i,left:e,top:h,maxHeight:n,xs:o,position:r="bottom",animate:l=!0,Os:a}=t,u=(this.element.classList.contains("position-top")?"top":"bottom")!==r,c=this.element.scrollHeight>n;return this.element.classList.toggle("position-top","top"===r),this.element.classList.toggle("position-bottom","bottom"===r),u&&(this.element.style.transition=`top ${s}ms ease-out, height ${s}ms ease-out, max-height ${s}ms ease-out;`),requestAnimationFrame(()=>{const t={width:i+"px",left:e+"px",top:h+"px",maxHeight:n+"px",height:o+"px",overflowY:c?"auto":"hidden"},r=Math.abs(this.element.offsetHeight-o);l&&(u||r>5)?t.transition=`height ${s}ms, top ${s}ms`:this.Ns=setTimeout(()=>{this.element?.style&&(this.element.style.transition=null)},s),Object.assign(this.element.style,t),l&&(u||r>1)?this.Ns=setTimeout(()=>{this.element.style.transition=null,u&&delete this.element.style.transition,a?.()},s):(u&&delete this.element.style.transition,a?.())}),this}get Gs(){return this.Us}}class m extends o{get value(){return this.targetElement?.getAttribute("value")??null}constructor(t,s=null,i=null){super(),this.targetElement=null,this.view=null,this.position=-1,this.At=!1,this.Ws=!1,this.options=t,this.targetElement=s,this.view=i,this.init()}qs(t){this.targetElement=t,this.update()}destroy(){this.is(n.DESTROYED)||(this.targetElement=null,this.view?.destroy(),this.view=null,this.Ws=!0,super.destroy())}}class b extends m{constructor(t,s){super(t,s??null,null),this.label="",this.items=[],this.collapsed=!1,this.Ks=[],this.label=this.targetElement.label,this.collapsed=i.$(this.targetElement.dataset?.collapsed)}init(){super.init(),this.mount()}get value(){return this.items.map(t=>t.value)}get Qs(){return this.items.filter(t=>t.selected)}get Ys(){return this.items.filter(t=>t.visible)}get Js(){return this.Ys.length>0}qs(t){this.label=t.label,this.view?.Xs(this.label),this.update()}update(){this.view&&(this.view.Xs(this.label),this.view.Zs(this.collapsed)),super.update()}destroy(){this.is(n.DESTROYED)||(this.items.forEach(t=>{t.destroy()}),this.items=[],super.destroy())}ti(t){this.Ks.push(t)}si(){this.collapsed=!this.collapsed,this.view?.Zs(this.collapsed),e.ht([this,this.collapsed],...this.Ks)}ii(t){this.items.push(t),t.group=this}removeItem(t){const s=this.items.indexOf(t);s>-1&&(this.items.splice(s,1),t.group=null)}ei(){this.view?.ei()}}class w extends m{constructor(t,s=null,i=null){super(t,s,i),this.hi=[],this.ni=[],this.oi=[],this.ri=!0,this.li=!1,this.group=null}init(){this.ai=i.q(this.textContent.toLowerCase()),super.init(),this.mount()}get ui(){return this.dataset?.imgsrc||this.dataset?.image||""}get hasImage(){return!!this.ui}get value(){return this.targetElement?.value??""}get selected(){return!!this.targetElement?.selected}set selected(t){this.ci=t,e.ht([this,t],...this.hi)}get visible(){return this.ri}set visible(t){if(this.ri===t)return;this.ri=t;const s=this.view?.di?.();s&&s.classList.toggle("hide",!t),e.ht([this,t],...this.oi)}get ci(){return this.selected}set ci(t){const s=this.view?.view?.tags?.pi,i=this.view?.di?.();s&&(s.checked=t),i&&this.targetElement&&(i.classList.toggle("checked",!!t),i.setAttribute("aria-selected",t?"true":"false"),this.targetElement.toggleAttribute("selected",!!t)),this.targetElement&&(this.targetElement.selected=t),e.ht([this,t],...this.ni)}get text(){const t=i.G(this.dataset?.mask??this.targetElement?.text??"");return this.options.allowHtml?t:i.W(t)}get textContent(){return this.options.allowHtml?i.W(this.text).trim():this.text.trim()}get dataset(){return this.targetElement?.dataset??{}}get gi(){return this.li}set gi(t){const s=!!t,i=this.view?.di?.();this.li!==s&&(this.li=s),i&&i.classList.toggle("highlight",s)}fi(t){this.hi.push(t)}mi(t){this.ni.push(t)}ds(t){this.oi.push(t)}update(){if(this.ai=i.q(this.textContent.toLowerCase()),!this.view)return void super.update();const t=this.view.view.tags.bi;t&&(this.options.allowHtml?t.innerHTML=this.text:t.textContent=this.textContent);const s=this.view.view.tags.wi;s&&this.hasImage&&(s.src!=this.ui&&(s.src=this.ui),s.alt!=this.text&&(s.alt=this.text)),this.targetElement&&(this.ci=this.targetElement.selected),super.update()}destroy(){this.is(n.DESTROYED)||(this.hi=[],this.ni=[],this.oi=[],this.group=null,this.ai=null,super.destroy())}}class y extends o{constructor(t){super(),this.yi=[],this.xi=null,this.Mi=null,this.options=null,this.Oi=0,this.options=t,this.init()}Ai(t){this.Hi=t}Si(t){this.Ti=t}Ci(t){this.is(n.INITIALIZED)&&this.mount(),this.yi=[];let s=null;return t.forEach(t=>{if("OPTGROUP"===t.tagName)s=new b(this.options,t),this.yi.push(s);else if("OPTION"===t.tagName){const i=new w(this.options,t),e=t.__parentGroup;e&&s&&e===s.targetElement?(s.ii(i),i.group=s):(this.yi.push(i),s=null)}}),this.yi}async replace(t){this.Ci(t),this.xi&&await this.xi.Pi(this.yi),this.refresh(!1)}notify(){this.xi&&this.refresh(!1)}load(t,s={},i={}){this.xi=new this.Hi(this.yi),Object.assign(this.xi,s),this.Mi=new this.Ti(t),Object.assign(this.Mi,i),this.Mi.Li(this.xi)}Ii(t){const s=this.yi,i=[],e=new Map,h=new Map;s.forEach(t=>{t instanceof b?e.set(t.label,t):t instanceof w&&h.set(`${t.value}::${t.textContent}`,t)});let n=null,o=0;t.forEach(t=>{if("OPTGROUP"===t.tagName){const s=t,h=e.get(s.label);h?(h.label!==s.label&&h.qs(s),h.position=o,h.items=[],n=h,i.push(h),e.delete(s.label)):(n=new b(this.options,s),n.position=o,i.push(n)),o++}else if("OPTION"===t.tagName){const s=t,e=`${s.value}::${s.text}`,r=h.get(e);if(r)r.qs(s),r.position=o,s.__parentGroup&&n?(n.ii(r),r.group=n):(r.group=null,i.push(r)),h.delete(e);else{const t=new w(this.options,s);t.position=o,s.__parentGroup&&n?(n.ii(t),t.group=n):i.push(t)}o++}});let r=!0;0==this.Oi&&(r=!1),this.Oi=o,e.forEach(t=>{r=!1,t.destroy()}),h.forEach(t=>{r=!1,t.destroy()}),this.yi=i,this.xi&&this.xi.Fi(this.yi),this.refresh(r)}hs(t){this.xi&&(this.xi.Ei=t)}refresh(t){this.Mi&&(this.Mi.refresh(t),this.update())}destroy(){this.is(n.DESTROYED)||(this.xi.destroy(),this.Mi.destroy(),this.yi=[],this.Hi=null,this.xi=null,this.Ti=null,this.Mi=null,this.options=null,this.Oi=0,super.destroy())}Xt(){return{ji:this.yi,Zt:this.xi,kt:this.Mi}}$i(t){return this.xi?.Vi(t)}ki(t){return this.xi?.Ri(t)}}class v extends o{constructor(t=null){super(),this.Di=null,this.Zt=null,this.Di=t,this.init()}Li(t){this.Zt=t,t.fs("items",()=>{this.clear()}),t.ps("items",()=>{this.zi()}),t.mount(),this.mount(),this.zi()}clear(){this.Di&&this.Di.replaceChildren()}zi(){this.Zt&&this.Di&&(this.Zt._i(this.Di),this.update())}refresh(t){this.zi()}destroy(){this.is(n.DESTROYED)||(this.Di=null,this.Zt=null,super.destroy())}}class x extends o{constructor(t=null){super(),this.ft=null,this.node=null,this.options=null,this.Bi=null,this.Ni=null,this.Gt=null,this.Ui=[],t&&this.initialize(t)}initialize(t){this.options=t,this.init()}init(){this.state===n.NEW&&(this.ft=i.I({Gi:{tag:{node:"div",classList:["seui-accessorybox","hide"],onmouseup:t=>{t.stopPropagation()}}}}),this.node=this.ft.view,super.init())}Wi(t){this.Bi=t,this.Ni=t.parentElement,this.qi(),this.mount()}mount(){this.is(n.INITIALIZED)&&super.mount()}qi(){this.Ni&&this.node&&this.Bi&&this.options&&this.Ni.insertBefore(this.node,"top"===this.options.accessoryStyle?this.Bi:this.Bi.nextSibling)}Ki(t){this.Gt=t}Qi(t){this.node&&this.options&&(this.node.replaceChildren(),t.length>0&&this.options.multiple?t.forEach(t=>{i.I({Yi:{tag:{node:"div",classList:["accessory-item"]},F:{Ji:{tag:{node:"span",classList:["accessory-item-button"],role:"button",ariaLabel:`${this.options.textAccessoryDeselect}${t.textContent}`,title:`${this.options.textAccessoryDeselect}${t.textContent}`,onclick:async s=>{s.preventDefault(),await(this.Gt?.$i?.("select")),t.selected=!1}}},Xi:{tag:{node:"span",classList:["accessory-item-content"],innerHTML:t.text}}}}},this.node)}):t=[],this.Ui=t,this.Zi(),this.update(),e.nt(window,"resize"))}update(){this.state===n.MOUNTED&&super.update()}Zi(){this.options?.accessoryVisible&&this.Ui.length>0&&this.options.multiple?this.show():this.hide()}show(){this.node?.classList.remove("hide")}hide(){this.node?.classList.add("hide")}destroy(){this.state!==n.DESTROYED&&(this.node?.remove(),this.ft=null,this.node=null,this.options=null,this.Bi=null,this.Ni=null,this.Gt=null,this.Ui=[],super.destroy())}}class M extends o{constructor(t,s,i){super(),this.te=null,this.se=null,this.ie=null,this.ee=null,this.he={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,ne:"",Cs:!1},this.initialize(t,s,i)}initialize(t,s,i){this.select=t,this.Gt=s,this.ee=i,this.init()}oe(){return!!this.te}async re(t){if(!this.te)return{Is:!1,items:[],message:"Ajax not configured"};const s=Array.isArray(t)?t:[t];if(0===s.length)return{Is:!0,items:[]};try{const t=this.te;let i,e;if(i="function"==typeof t.le?t.le(s):{values:s.join(","),ae:"1",..."function"==typeof t.data?t.data.bind(this.ee.ue.find(this.ee.container.targetElement))("",0):t.data??{}},"POST"===(t.method??"GET")){const s=new URLSearchParams;Object.keys(i).forEach(t=>s.append(t,i[t]+"")),e=await fetch(t.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"}})}else{const s=""+new URLSearchParams(i);e=await fetch(`${t.url}?${s}`)}if(!e.ok)throw Error("HTTP error! status: "+e.status);const h=await e.json(),n=this.ce(h);return this.update(),{Is:!0,items:n.items}}catch(t){return console.error("Load by values error:",t),{Is:!1,message:t?.message,items:[]}}}de(t){const s=Array.from(this.select.options).map(t=>t.value);return{pe:t.filter(t=>s.includes(t)),ge:t.filter(t=>!s.includes(t))}}fe(t){this.te=t}setPopup(t){this.ie=t}Ts(){return{...this.he}}me(){this.he={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,ne:"",Cs:this.he.Cs}}clear(){this.he.ne="";const{ji:t}=this.Gt.Xt(),s=[];for(const i of t)i instanceof w?s.push(i):i instanceof b&&Array.isArray(i.items)&&s.push(...i.items);s.forEach(t=>{t.visible=!0})}async search(t,s=!1){return this.te?this.be(t,s):this.we(t)}async Ls(){return this.te?this.he.Ps?{Is:!1,message:"Already loading"}:this.he.Cs?this.he.hasMore?(this.he.currentPage++,this.be(this.he.ne,!0)):{Is:!1,message:"No more data"}:{Is:!1,message:"Pagination not enabled"}:{Is:!1,message:"Ajax not enabled"}}async we(t){this.ye(t)&&(this.he.ne=t);const s=((t??"")+"").toLowerCase(),e=i.q(s),{ji:h}=this.Gt.Xt(),n=[];for(const t of h)t instanceof w?n.push(t):t instanceof b&&Array.isArray(t.items)&&n.push(...t.items);let o=!1;return n.forEach(t=>{const i=""===s||t.ai.includes(e);t.visible=i,i&&(o=!0)}),this.update(),{Is:!0,ve:o,isEmpty:0===n.length}}ye(t){return t!==this.he.ne}async be(t,s=!1){const i=this.te;this.ye(t)&&(this.me(),this.he.ne=t,s=!1),this.he.Ps=!0,this.ie?.es(),this.se?.abort(),this.se=new AbortController;const e=this.he.currentPage,h=Array.from(this.select.selectedOptions).map(t=>t.value).join(",");let n;if("function"==typeof i.data){const s=this.ee?.ue?.find(this.ee?.container?.targetElement);n=i.data.call(s,t,e),n&&void 0===n.selectedValue&&(n.selectedValue=h)}else n={search:t,page:e,selectedValue:h,...i.data??{}};try{let t;if("POST"===(i.method??"GET")){const s=new URLSearchParams;Object.keys(n).forEach(t=>s.append(t,n[t]+"")),t=await fetch(i.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:this.se.signal})}else{const s=""+new URLSearchParams(n);t=await fetch(`${i.url}?${s}`,{signal:this.se.signal})}const e=await t.json(),h=this.ce(e);return h.xe?(this.he.Cs=!0,this.he.currentPage=h.page,this.he.totalPages=h.totalPages,this.he.hasMore=h.hasMore):this.he.Cs=!1,this.Me(h.items,!!i.keepSelected,s),this.he.Ps=!1,this.ie?.us(),this.update(),{Is:!0,ve:h.items.length>0,isEmpty:0===h.items.length,xe:h.xe,hasMore:h.hasMore,currentPage:h.page,totalPages:h.totalPages}}catch(t){return this.he.Ps=!1,this.ie?.us(),"AbortError"===t?.name?{Is:!1,message:"Request aborted"}:(console.error("Ajax search error:",t),{Is:!1,message:t?.message})}}ce(t){let s=[],i=!1,e=0,h=1,n=!1;return t.object&&Array.isArray(t.object)?(s=t.object,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=e<h-1)):t.data&&Array.isArray(t.data)?(s=t.data,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=t.hasMore??e<h-1)):Array.isArray(t)?s=t:t.items&&Array.isArray(t.items)&&(s=t.items,t.pagination&&(i=!0,e=parseInt(t.pagination.page??0,10),h=parseInt(t.pagination.totalPages??t.pagination.total_page??1,10),n=t.pagination.hasMore??e<h-1)),{items:s.map(t=>{if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)return t;if("optgroup"===t.type||t.Oe||t.group||t.label)return{type:"optgroup",label:t.label??t.name??t.title??"",data:t.data??{},options:(t.options??t.items??[]).map(t=>({value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:t.data??(t.imgsrc?{imgsrc:t.imgsrc}:{})}))};const s=t.data??{};return t?.imgsrc&&(s.imgsrc=t.imgsrc),{type:"option",value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:s}}),xe:i,page:e,totalPages:h,hasMore:n}}Me(t,s,i=!1){const e=this.select;let h=[];s&&(h=Array.from(e.selectedOptions).map(t=>t.value)),i||(e.innerHTML=""),t.forEach(t=>{if("option"!==t.type&&t.type||""!==t.value||""!==t.text)if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)e.appendChild(t);else if("optgroup"===t.type){const i=document.createElement("optgroup");i.label=t.label,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),Array.isArray(t.options)&&t.options.forEach(t=>{const e=document.createElement("option");e.value=t.value,e.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{e.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(e.value))&&(e.selected=!0),i.appendChild(e)}),e.appendChild(i)}else{const i=document.createElement("option");i.value=t.value,i.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(i.value))&&(i.selected=!0),e.appendChild(i)}})}destroy(){this.is(n.DESTROYED)||(this.select=null,this.Gt=null,this.te=null,this.se=null,this.ie=null,this.ee=null,super.destroy())}}class O{constructor(t){this.Ae=null,this.He=50,this.select=t,this.Se=new MutationObserver(()=>{clearTimeout(this.Ae),this.Ae=setTimeout(()=>{this.Te()},this.He)})}Te(){this.Pt(this.select)}connect(){this.Se.observe(this.select,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["selected","value","disabled"]})}Pt(t){}disconnect(){this.Ae&&clearTimeout(this.Ae),this.Ae=null,this.Se.disconnect()}}class A{constructor(t){this.Ae=null,this.element=t,this.Se=new MutationObserver(t=>{let s=!1;for(const i of t)if("attributes"===i.type&&i.attributeName?.startsWith("data-")){s=!0;break}s&&(this.Ae&&clearTimeout(this.Ae),this.Ae=setTimeout(()=>{this.Pt({...this.element.dataset})},50))}),t.addEventListener("dataset:changed",()=>{this.Pt({...this.element.dataset})})}connect(){this.Se.observe(this.element,{attributes:!0,attributeOldValue:!0})}Pt(t){}disconnect(){this.Ae&&clearTimeout(this.Ae),this.Ae=null,this.Se.disconnect()}}class H extends o{constructor(t=[]){super(),this.items=[],this.Ce=i.M(12),this.Ei=!1,this.items=t,this.init()}Pe(t,s,i){const e=s;t.At?e?.update?.():e?.mount?.()}fs(t,s){i.X.on(`${t}ing_${this.Ce}`,s,{st:0})}ps(t,s){i.X.on(`${t}_${this.Ce}`,s,{st:0})}Ri(t,...s){return i.X.run(`${t}_${this.Ce}`,...s)}Vi(t,...s){return i.X.run(`${t}ing_${this.Ce}`,...s)}Le(t,s){return null}Ie(){return this.items.length}async Fe(t){await this.Vi("items",t),this.items=t,await this.Ri("items",t),this.update()}async Pi(t){await this.Fe(t)}_i(t){for(let s=0;s<this.Ie();s++){const i=this.items[s];let e=i.view;i.At||(e=this.Le(t,i),i.view=e),this.Pe(i,e,s),i.At=!0}}Fi(t){}destroy(){this.is(n.DESTROYED)||(this.kt=null,this.items.forEach(t=>{t?.destroy?.()}),this.items=[])}}class S extends o{constructor(t){super(),this.parent=null,this.view=null,this.parent=t,this.init()}di(){if(!this.view?.view)throw Error("View is not mounted. Did you forget to set this.view?");return this.view.view}destroy(){this.is(n.DESTROYED)||(this.di()?.remove?.(),this.parent=null,this.view=null,super.destroy())}}class T extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.options=s}mount(){const t=i.M(7);this.view=i.I({Ee:{tag:{node:"div",classList:["seui-group"],role:"group",S:`seui-${this.options?.je||"default"}-${t}-header`,id:`seui-${this.options?.je||"default"}-${t}-group`},F:{$e:{tag:{node:"div",classList:["seui-group-header"],role:"presentation",id:`seui-${this.options?.je||"default"}-${t}-header`}},Ve:{tag:{node:"div",classList:["seui-group-items"],role:"group"}}}}}),this.parent.appendChild(this.view.view),super.mount()}update(){this.Xs(),super.update()}Xs(t=null){this.view&&null!==t&&(this.view.tags.$e.textContent=t)}ke(){if(!this.view)throw Error("GroupView has not been rendered.");return this.view.tags.Ve}ei(){if(!this.view)return;const t=Array.from(this.view.tags.Ve.children).filter(t=>!t.classList.contains("hide"));this.view.view.classList.toggle("hide",0===t.length)}Zs(t){this.view&&(this.view.view.classList.toggle("collapsed",t),this.view.tags.$e.setAttribute("aria-expanded",t?"false":"true"))}}class C extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.config=null,this.Re=null,this.De=!1,this.options=s,this.initialize()}initialize(){const t=this;this.config={isMultiple:!1,hasImage:!1,imagePosition:"right",imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",labelValign:"center",labelHalign:"left"},this.Re=new Proxy(this.config,{set(s,i,e){if("string"!=typeof i)return!0;const h=i,n=s[h];return n!==e&&(s[h]=e,t.De&&t.ze(h,e,n)),!0}}),this.init()}get isMultiple(){return this.config.isMultiple}set isMultiple(t){this.Re.isMultiple=!!t}get hasImage(){return this.config.hasImage}set hasImage(t){this.Re.hasImage=!!t}get _e(){return this.Re}set _e(t){if(!t||!this.Re||!this.config)return;const s={};void 0!==t.imageWidth&&t.imageWidth!==this.config.imageWidth&&(s.imageWidth=t.imageWidth),void 0!==t.imageHeight&&t.imageHeight!==this.config.imageHeight&&(s.imageHeight=t.imageHeight),void 0!==t.imageBorderRadius&&t.imageBorderRadius!==this.config.imageBorderRadius&&(s.imageBorderRadius=t.imageBorderRadius),void 0!==t.imagePosition&&t.imagePosition!==this.config.imagePosition&&(s.imagePosition=t.imagePosition),void 0!==t.labelValign&&t.labelValign!==this.config.labelValign&&(s.labelValign=t.labelValign),void 0!==t.labelHalign&&t.labelHalign!==this.config.labelHalign&&(s.labelHalign=t.labelHalign),Object.keys(s).length>0&&Object.assign(this.Re,s)}mount(){const t=["seui-option-view"],s=i.M(7),e=`option_${this.options?.je??"default"}_${s}`;this.config.isMultiple&&t.push("multiple"),this.config.hasImage&&t.push("has-image","image-"+this.config.imagePosition);const h={pi:{tag:{node:"input",type:this.config.isMultiple?"checkbox":"radio",classList:"allow-choice",id:e}},...this.config.hasImage&&{wi:{tag:{node:"img",classList:"option-image",style:{width:this.config.imageWidth,height:this.config.imageHeight,borderRadius:this.config.imageBorderRadius}}}},Be:{tag:{node:"label",htmlFor:e,classList:["align-vertical-"+this.config.labelValign,"align-horizontal-"+this.config.labelHalign]},F:{bi:{tag:{node:"div"}}}}};this.view=i.I({Ne:{tag:{node:"div",id:`seui-${this.options?.je??"default"}-${s}-option`,classList:t,role:"option",ariaSelected:"false",tabIndex:"-1"},F:h}}),this.parent.appendChild(this.view.view),this.De=!0,super.mount()}ze(t,s,i){const e=this.view;if(!e||!e.view)return;const h=e.view,n=e.tags?.pi,o=e.tags?.Be;switch(t){case"isMultiple":{const t=!!s;h.classList.toggle("multiple",t),n&&n.type!==(t?"checkbox":"radio")&&(n.type=t?"checkbox":"radio");break}case"hasImage":{const t=!!s;if(h.classList.toggle("has-image",t),t)h.classList.add("image-"+this.config.imagePosition),this.Ue();else{h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim();const t=e.tags?.wi;t?.remove(),e.tags.wi=null}break}case"imagePosition":this.config.hasImage&&(h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim(),h.classList.add("image-"+s));break;case"imageWidth":case"imageHeight":case"imageBorderRadius":{const i=e.tags?.wi;i&&(i.style["imageWidth"===t?"width":"imageHeight"===t?"height":"borderRadius"]=s+"");break}case"labelValign":case"labelHalign":o&&(o.className=`align-vertical-${this.config.labelValign} align-horizontal-`+this.config.labelHalign)}}Ue(){const t=this.view;if(!t||!t.view)return;if(t.tags?.wi)return;const s=t.view,i=t.tags?.Be,e=document.createElement("img");e.className="option-image",e.style.width=this.config.imageWidth,e.style.height=this.config.imageHeight,e.style.borderRadius=this.config.imageBorderRadius,i?.parentElement?s.insertBefore(e,i):s.appendChild(e),t.tags.wi=e}}class P extends H{constructor(t=[]){super(t),this.isMultiple=!1,this.options=null,this.Ge=[],this.We=-1,this.qe=null,this.groups=[],this.Ke=[],this.Qe()}init(){i.X.on("sche_vis_"+this.Ce,()=>{const t=this.Ke.filter(t=>t.visible).length,s=this.Ke.length;this.Ge.forEach(i=>{i({Ye:t,Je:s,ns:t>0,isEmpty:0===s})}),i.X.run("sche_vis_proxy_"+this.Ce)},{st:10}),super.init(),this.mount()}Qe(){this.Ke=[],this.groups=[],this.items.forEach(t=>{t instanceof b?(this.groups.push(t),this.Ke.push(...t.items)):t instanceof w&&this.Ke.push(t)})}Le(t,s){return s instanceof b?new T(t,this.options):new C(t,this.options)}Pe(t,s,i){t.position=i,t instanceof b?this.Xe(t,s,i):t instanceof w&&this.Ze(t,s,i),t.At=!0}Xe(t,s,i){super.Pe(t,s,i),t.view=s;const e=s.view.tags.$e;e.textContent=t.label,t.At||(e.style.cursor="pointer",e.addEventListener("click",()=>{t.si()}),t.ti((t,s,i)=>{s.items.forEach(t=>{const s=t.view?.di?.();s&&(s.style.display=i?"none":"")}),this.th(s,i)}));const h=s.ke();t.items.forEach((t,s)=>{let i=t.view;t.At&&i||(i=new C(h,this.options)),this.Ze(t,i,s),t.At=!0}),s.Zs(t.collapsed),s.ei()}Ze(t,s,i){if(s.isMultiple=this.isMultiple,s.hasImage=t.hasImage,s._e={imageWidth:t.options.imageWidth,imageHeight:t.options.imageHeight,imageBorderRadius:t.options.imageBorderRadius,imagePosition:t.options.imagePosition,labelValign:t.options.labelValign,labelHalign:t.options.labelHalign},t.At||super.Pe(t,s,i),t.view=s,t.hasImage){const i=s.view.tags.wi;i&&(i.src!==t.ui&&(i.src=t.ui),i.alt!==t.text&&(i.alt=t.text))}s.view.tags.bi.innerHTML=t.text,t.At||(s.view.tags.Ne.addEventListener("click",async s=>{s.stopPropagation(),s.preventDefault(),this.Ei||(this.isMultiple?(await this.Vi("select"),t.selected=!t.selected):!0!==t.selected&&(await this.Vi("select"),this.qe&&(this.qe.selected=!1),t.selected=!0))}),s.view.tags.Ne.title=t.textContent,s.view.tags.Ne.addEventListener("mouseenter",()=>{this.Ei||this.sh(this.Ke.indexOf(t),!1)}),t.fi(()=>{this.Ri("selected")}),t.mi((s,i,e)=>{e&&(this.qe=t),this.Ri("selected_internal")}),t.ds((t,s)=>{s.group?.ei(),this.ih()})),t.selected&&(this.qe=t,t.ci=!0)}async Fe(t){await this.Vi("items",t),this.items=t,this.Qe(),await this.Ri("items",t),this.update()}async Pi(t){await this.Fe(t)}Fi(t){this.items=t,this.Qe(),this.update()}destroy(){this.is(n.DESTROYED)||(i.X.clear("sche_vis_"+this.Ce),this.groups.forEach(t=>{t.destroy()}),this.Ge=[],this.We=-1,this.qe=null,this.groups=[],this.Ke=[],super.destroy())}eh(){return this.Ke.filter(t=>t.selected)}hh(){return this.Ke.find(t=>t.selected)}ts(t){this.isMultiple&&this.Ke.forEach(s=>{s.selected=t})}ds(t){this.Ge.push(t)}ih(){i.X.run("sche_vis_"+this.Ce)}rs(){const t=this.Ke.filter(t=>t.visible).length,s=this.Ke.length;return{Ye:t,Je:s,ns:t>0,isEmpty:0===s}}nh(){this.sh(0)}navigate(t,s=!0){const i=this.Ke.filter(t=>t.visible);if(0===i.length)return;let e=i.findIndex(t=>t===this.Ke[this.We]);-1===e&&(e=-1);let h=e+t;h>=i.length&&(h=0),h<0&&(h=i.length-1);const n=this.Ke.indexOf(i[h]);this.sh(n,s)}oh(){if(this.We>-1&&this.Ke[this.We]){const t=this.Ke[this.We];if(t.visible){const s=t.view?.di?.();s&&s.click()}}}sh(t,s=!0){let i=0;if("number"==typeof t)i=t;else if(t instanceof w){const s=this.Ke.indexOf(t);i=s>-1?s:0}else i=0;this.We>-1&&this.Ke[this.We]&&(this.Ke[this.We].gi=!1);for(let t=i;t<this.Ke.length;t++){const i=this.Ke[t];if(i?.visible){if(i.gi=!0,this.We=t,s){const s=i.view?.di?.();s?s.scrollIntoView({block:"center",behavior:"smooth"}):this.kt?.rh?.(t,{scrollIntoView:!0})}return void this.ah(t,i.view?.di?.()?.id)}}}ah(t,s){}th(t,s){}}class L extends o{constructor(t=0){super(),this.uh=[],this.dh=0,this.initialize(t)}initialize(t){this.init(),this.reset(t)}reset(t){this.dh=t,this.uh=Array(t+1).fill(0)}add(t,s){for(let i=t;i<=this.dh;i+=i&-i)this.uh[i]+=s}ph(t){let s=0;for(let i=t;i>0;i-=i&-i)s+=this.uh[i];return s}gh(t,s){return s<t?0:this.ph(s)-this.ph(t-1)}fh(t){this.reset(t.length),t.forEach((t,s)=>this.add(s+1,t))}mh(t){let s=0,i=1;for(;i<<1<=this.dh;)i<<=1;let e=0;for(let h=i;0!==h;h>>=1){const i=s+h;i<=this.dh&&e+this.uh[i]<=t&&(s=i,e+=this.uh[i])}return s}}class I extends v{constructor(t=null){super(t),this.bh={Jt:void 0,Bt:36,Nt:8,Ut:!0,wh:!0},this.yh=[],this.xh=new L(0),this.Mh=new Map,this.Oh=!1,this.start=0,this.end=-1,this.Ah=null,this.Hh=null,this.updating=!1,this.Sh=!1,this.Th=0,this.Ch=!1,this.Ph=!1,this.Lh=0,this.Ih=0,this.Fh=0,this.Eh=0}configure(t){this.bh={...this.bh,...t}}Li(t){if(this.Zt&&this.dispose(),super.Li(t),t.kt=this,!this.Di)return;this.Di.replaceChildren();const s=i.I({jh:{tag:{node:"div",classList:"seui-virtual-pad-top"}},$h:{tag:{node:"div",classList:"seui-virtual-items"}},Vh:{tag:{node:"div",classList:"seui-virtual-pad-bottom"}}},this.Di);if(this.jh=s.jh,this.$h=s.$h,this.Vh=s.Vh,this.Jt=this.bh.Jt??this.Di.closest(".seui-popup")??this.Di.parentElement,!this.Jt)throw Error("VirtualRecyclerView: scrollEl not found");this.kh=this.Rh.bind(this),this.Jt.addEventListener("scroll",this.kh,{passive:!0}),this.refresh(!1),this.Dh(),t?.ds?.(()=>this.zh())}suspend(){this.Ch=!0,this._h(),this.Jt&&this.kh&&this.Jt.removeEventListener("scroll",this.kh),this.Bh&&(this.Bh.disconnect(),this.Ph=!0)}resume(){this.Ch=!1,this.Jt&&this.kh&&this.Jt.addEventListener("scroll",this.kh,{passive:!0}),this.Ph&&(this.Dh(),this.Ph=!1),this.Nh()}refresh(t){if(!this.Zt||!this.Di)return;t||this.zh();const s=this.Zt.Ie();if(this.Th=s,0===s)return this.Uh(),void this.update();this.yh.length=s,this.Oh||(this.Gh(),this.Oh=!0),this.Wh(s),this.Nh(),this.update()}rh(t,s){this.qh(t,t),s?.scrollIntoView&&this.Kh(t)}Kh(t){if((this.Zt?.Ie?.()??0)<=0)return;const s=this.Qh(t),i=this.Yh()+s,e=Math.max(0,this.Jt.scrollHeight-this.Jt.clientHeight);this.Jt.scrollTop=Math.min(Math.max(0,i),e)}dispose(){this._h(),this.Jt&&this.kh&&this.Jt.removeEventListener("scroll",this.kh),this.Bh?.disconnect(),this.Mh.forEach(t=>t.remove()),this.Mh.clear()}destroy(){this.is(n.DESTROYED)||(this.Uh(),this.dispose(),this.jh.remove(),this.$h.remove(),this.Vh.remove(),this.jh=null,this.$h=null,this.Vh=null,super.destroy())}zh(){if(!this.Zt)return;const t=this.Zt.Ie();t<=0||(this.suspend(),this.Uh(),this.Jh(),this.Xh(t),this.Wh(t),this.start=0,this.end=-1,this.resume())}_h(){null!=this.Ah&&(cancelAnimationFrame(this.Ah),this.Ah=null),null!=this.Hh&&(cancelAnimationFrame(this.Hh),this.Hh=null)}Uh(){this.Mh.forEach(t=>t.remove()),this.Mh.clear(),this.yh=[],this.xh.reset(0),this.jh.style.height="0px",this.Vh.style.height="0px",this.Oh=!1,this.Fh=0,this.Eh=0}Gh(){this.Zh(0);const t=this.Mh.get(0);if(!t)return;const s=this.tn(t);if(isNaN(s)||(this.bh.Bt=s),!this.bh.Ut){t.remove(),this.Mh.delete(0);const s=this.Zt.items[0];s&&(s.At=!1,s.view=null)}}sn(t){const s=this.Zt?.items?.[t];return s?.visible??!0}en(t,s){for(let i=Math.max(0,t);i<s;i++)if(this.sn(i))return i;return-1}Xh(t){this.Fh=0,this.Eh=0;for(let s=0;s<t;s++){if(!this.sn(s))continue;const t=this.yh[s];null!=t&&(this.Fh+=t,this.Eh++)}}Yh(){const t=this.Di.getBoundingClientRect(),s=this.Jt.getBoundingClientRect();return Math.max(0,t.top-s.top+this.Jt.scrollTop)}hn(){const t=performance.now();if(t-this.Lh<16)return this.Ih;const s=this.Jt.querySelector(".seui-option-handle:not(.hide)");return this.Ih=s?.offsetHeight??0,this.Lh=t,this.Ih}Nh(){null!=this.Ah||this.Ch||(this.Ah=requestAnimationFrame(()=>{this.Ah=null,this.nn()}))}tn(t){const s=t.getBoundingClientRect(),i=getComputedStyle(t);return Math.max(1,s.height+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0))}rn(){return this.bh.wh&&this.Eh>0?Math.max(1,this.Fh/this.Eh):this.bh.Bt}Wh(t){const s=this.rn(),i=Array.from({length:t},(t,i)=>this.sn(i)?this.yh[i]??s:0);this.xh.fh(i)}ln(t,s){if(!this.sn(t))return!1;const i=this.rn(),e=this.yh[t]??i;if(Math.abs(s-e)<=I.an)return!1;const h=this.yh[t];return null==h?(this.Fh+=s,this.Eh++):this.Fh+=s-h,this.yh[t]=s,this.xh.add(t+1,s-e),!0}un(t,s){const i=this.xh.mh(Math.max(0,t)),e=Math.min(s-1,i),h=this.en(e,s);return-1===h?Math.max(0,e):h}cn(t,s){s.setAttribute(I.dn,t+"");const i=this.Mh.get(t-1);if(i?.parentElement===this.$h)return void i.after(s);const e=this.Mh.get(t+1);if(e?.parentElement===this.$h)return void this.$h.insertBefore(s,e);const h=Array.from(this.$h.children);for(const i of h){const e=i.getAttribute(I.dn);if(e&&+e>t)return void this.$h.insertBefore(s,i)}this.$h.appendChild(s)}pn(t,s){if(s.parentElement!==this.$h)return void this.cn(t,s);s.setAttribute(I.dn,t+"");const i=s.previousElementSibling,e=s.nextElementSibling;(i&&+i.getAttribute(I.dn)>t||e&&+e.getAttribute(I.dn)<t)&&(s.remove(),this.cn(t,s))}Dh(){this.Bh||(this.Bh=new ResizeObserver(()=>{this.Sh||this.Ch||!this.Zt||null!=this.Hh||(this.Hh=requestAnimationFrame(()=>{this.Hh=null,this.gn()}))}),this.Bh.observe(this.$h))}gn(){if(!this.Zt)return;const t=this.Zt.Ie();if(t<=0)return;let s=!1;for(let t=this.start;t<=this.end;t++){if(!this.sn(t))continue;const i=this.Zt.items[t],e=i?.view?.di?.();if(!e)continue;const h=this.tn(e);this.ln(t,h)&&(s=!0)}s&&(this.bh.wh&&this.Wh(t),this.Nh())}Rh(){this.Nh()}nn(){if(!this.updating&&!this.Ch){this.updating=!0;try{if(!this.Zt)return;const t=this.Zt.Ie();if(t<=0)return;this.Th!==t&&(this.Th=t,this.yh.length=t,this.Wh(t));const s=this.Yh(),i=Math.max(0,this.Jt.scrollTop-s),e=this.hn(),h=Math.max(0,this.Jt.clientHeight-e),n=this.un(i,t),o=this.Qh(n),r=s+o-this.Jt.scrollTop,l=this.un(i,t);if(-1===l)return void this.Uh();const a=this.rn(),u=this.bh.Nt*a;let c=this.en(Math.min(t-1,this.xh.mh(Math.max(0,i-u))),t)??l,d=Math.min(t-1,this.xh.mh(i+h+u));if(c===this.start&&d===this.end)return;this.start=c,this.end=d,this.Sh=!0;try{this.qh(this.start,this.end),this.fn(this.start,this.end),this.bh.Ut&&this.gn();const s=this.Qh(this.start),i=this.mn(this.start,this.end),e=this.bn(t),h=Math.max(0,e-s-i);this.jh.style.height=s+"px",this.Vh.style.height=h+"px"}finally{this.Sh=!1}const p=this.Qh(n),g=this.Yh()+p-r,f=Math.max(0,this.Jt.scrollHeight-this.Jt.clientHeight),m=Math.min(Math.max(0,g),f),b=Math.abs(p-o)>1,w=Math.abs(this.Jt.scrollTop-m);b&&w>.5&&w<100&&(this.Jt.scrollTop=m)}finally{this.updating=!1}}}qh(t,s){for(let i=t;i<=s;i++)this.Zh(i)}Zh(t){if(!this.sn(t)){const s=this.Mh.get(t);return s?.parentElement===this.$h&&s.remove(),void this.Mh.delete(t)}const s=this.Zt.items[t];if(!s)return;const i=this.Mh.get(t);if(i)return void(s?.view?(this.pn(t,i),this.Zt.Pe(s,s.view,t)):(i.remove(),this.Mh.delete(t)));if(s.At)s.view&&this.Zt.Pe(s,s.view,t);else{const i=this.Zt.Le(this.$h,s);s.view=i,this.Zt.Pe(s,i,t),s.At=!0}const e=s.view?.di?.();e&&(this.pn(t,e),this.Mh.set(t,e))}fn(t,s){this.Mh.forEach((i,e)=>{(e<t||e>s)&&(i.parentElement===this.$h&&i.remove(),this.Mh.delete(e))})}Jh(){this.Mh.forEach((t,s)=>{this.sn(s)||(t.parentElement===this.$h&&t.remove(),this.Mh.delete(s))})}Qh(t){return this.xh.ph(t)}mn(t,s){return this.xh.gh(t+1,s+1)}bn(t){return this.xh.ph(t)}}I.an=.5,I.dn="data-vindex";class F extends o{constructor(t,s){super(),this.container={},this.oldValue=null,this.node=null,this.options=null,this.wn=null,this.isOpen=!1,this.yn=!1,this.vn=!1,this.xn=!1,this.ue=null,this.plugins=[],this.Mn=null,t&&s&&this.initialize(t,s)}get isDisabled(){return!!this.options?.disabled}set isDisabled(t){this.options&&this.node&&(this.options.disabled=t,this.node.classList.toggle("disabled",t),this.node.setAttribute("aria-disabled",t+""),this.container.tags?.Hs?.setAttribute("aria-disabled",t+""))}get On(){return!!this.options?.readonly}set On(t){this.options&&this.node&&(this.options.readonly=t,this.node.classList.toggle("readonly",t))}get isVisible(){return!!this.options?.visible}set isVisible(t){this.options&&this.node&&(this.options.visible=t,this.node.classList.toggle("invisible",!t))}initialize(t,s){const e=i.R(t);this.options=e.options,this.ue=s,this.init(t)}init(s){if(this.state!==n.NEW)return;if(!s||!this.options)return;const e=this.options,h=new r(e),o=new l,a=new g(e),effector=t(),u=new y(e),c=new x(e),d=new M(s,u,this),f=new O(s),m=new A(s);h.node&&(h.node.id=(e.An??"")+"");const b=i.I({Hn:{tag:{node:"div",classList:"seui-MAIN"},F:{Hs:{tag:{node:"div",classList:"seui-view",tabIndex:0,onkeydown:t=>{"Enter"!==t.key&&" "!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.Sn()?.open())}},F:{Tn:{tag:h.node},Cn:{tag:o.node},Ds:{tag:a.node}}}}}},null);this.container=b,this.node=b.view,b.Pn=d,b.placeholder=h,b.Ln=o,b.In=a,b.effector=effector,b.targetElement=s,b.Fn=c,b.En=f,b.jn=m,u.Ai(P),u.Si(e.virtualScroll?I:v),u.Ci(i.K(s)),u.on("onUpdate",()=>{b.ie?.ls?.()}),this.wn=u;const w=new p(s,e,u);if(b.ie=w,w.ws(effector),w.Ss(d,e),w.bs("selected",()=>{this.Sn()?.change(null,!0)}),w.bs("selected_internal",()=>{this.Sn()?.change(null,!1)}),w.gs("select",()=>{this.oldValue=this.Sn()?.value??""}),c.Wi(b.tags.Hs),c.Ki(u),this.$n(s,b,e,d,a),this.Vn(f,m,s,u),this.plugins=this.ue?.kn?.()??[],this.plugins.length){const t=u.Xt(),s={ee:this,options:e,Zt:t.Zt,Rn:t.kt,Dn:b.tags,actions:this.Sn()};this.Mn=s,this.zn("init",t=>t.init?.(s))}this.isDisabled=i.$(e.disabled),this.On=i.$(e.readonly),super.init()}mount(){if(this.state!==n.INITIALIZED)return;if(!this.node||!this.container.targetElement)return;const t=this.container.targetElement,s=this.container;t.parentNode?.insertBefore(this.node,t),this.node.insertBefore(t,s.tags.Hs),s.tags.Hs.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()}),h.rt(t,s.tags.Hs),t.classList.add("init");const i=this.Sn();i?.change?.(null,!1),this.options.preload&&i?.load?.(),super.mount()}update(){this.state===n.MOUNTED&&(this.container.ie?.ls?.(),super.update())}$n(t,s,e,h,n){const o=s.ie.It;let r=null;const l=(t,n)=>{n||""!==t?(""!==t&&(this.vn=!0),h.search(t).then(t=>{clearTimeout(r),i.X.clear("sche_vis_proxy_"+o.Ce),i.X.on("sche_vis_proxy_"+o.Ce,()=>{s.ie?.ls?.(),t?.ve&&(r=setTimeout(()=>{o.nh(),s.ie?.ls?.()},e.animationtime??0))},{st:10})}).catch(t=>{console.error("Search error:",t)})):h.clear()};let a=null;n.$s=(t,i)=>{h.ye(t)&&(a&&clearTimeout(a),h.oe()?(s.ie?.es?.(),a=setTimeout(()=>{l(t,i)},e.delaysearchtime??0)):a=setTimeout(()=>{l(t,i)},10))},h.setPopup(s.ie),n.Vs=t=>{o.navigate(t)},n.ks=()=>{o.oh()},n.Rs=()=>{this.Sn()?.close(),s.tags.Hs.focus()},o.ah=(t,s)=>{s&&n._s(s)},o.th=()=>{s.ie?.ls?.()},e.ajax&&(null==e.ajax?.keepSelected&&(e.ajax.keepSelected=e.keepSelected),h.fe(e.ajax))}Vn(t,s,e,h){t.connect(),t.Pt=t=>{h.Ii(i.K(t)),this.Sn()?.refreshMask()},s.connect(),s.Pt=t=>{i.$(t.disabled)!==this.isDisabled&&(this.isDisabled=i.$(t.disabled)),i.$(t.readonly)!==this.On&&(this.On=i.$(t.readonly)),i.$(t.visible)!==this.isVisible&&(this.isVisible=i.$(t.visible??"1"))}}_n(){if(this.xn)return;const t=this.container??{},{En:s,jn:i}=t;this.plugins.length&&this.zn("destroy",t=>t.destroy?.()),this.plugins=[],this.Mn=null,s?.disconnect&&s.disconnect(),i?.disconnect&&i.disconnect(),this.xn=!0}destroy(){if(this.is(n.DESTROYED))return;this._n();const t=this.container;t.Pn.destroy(),t.Ln.destroy(),t.ie.destroy(),t.Fn.destroy(),t.placeholder.destroy(),t.In.destroy(),this.wn.destroy(),this.node?.remove(),this.container={},this.node=null,this.options=null,this.wn=null,this.ue=null,this.oldValue=null,this.isOpen=!1,this.yn=!1,this.vn=!1,super.destroy()}Sn(){const t=this.container,s=this,h=()=>this.ue.find(t.targetElement),o=i.R(t.targetElement);if(!o)return null;const r=o.options,l={get targetElement(){return t.targetElement},get placeholder(){return t.placeholder.get()},set placeholder(s){t.placeholder?.set(s),t.In?.zs(s)},get oldValue(){return s.oldValue},set value(t){this.setValue(null,t,!0)},get value(){const t=this.valueArray,s=t.length;return s>1?t:0===s?"":t[0]},get valueArray(){const t=[];return s.Bn().forEach(s=>{s.selected&&t.push(s.value)}),t},get valueString(){return this.valueArray.join(r.customDelimiter)},get valueOptions(){const t=[];return s.Bn(!0).forEach(s=>{t.push(s)}),t},get mask(){const t=[];return s.Bn(!0).forEach(s=>{t.push(s.text)}),t},get valueText(){const t=[];s.Bn(!0).forEach(s=>{t.push(s.text)});const i=t.length;return i>1?t:0===i?"":t[0]},get isOpen(){return s.isOpen},getParent:()=>t.view.parentElement,valueDataset(t,i=null,e=!1){var h=[];if(s.Bn(!0).forEach(t=>{h.push(i?t.dataset[i]:t.dataset)}),!e){if(0==h.length)return"";if(1==h.length)return h[0]}return h},selectAll(t,i=!0){if(!(r.multiple&&r.maxSelected>0&&s.Bn().length>r.maxSelected)&&!this.disabled&&!this.readonly&&r.multiple){if(i){if(e.ht([h()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s.Bn().forEach(t=>{t.ci=!0}),this.change(!1,i)}},deSelectAll(t,i=!0){if(!this.disabled&&!this.readonly&&r.multiple){if(i){if(e.ht([h()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s.Bn().forEach(t=>{t.ci=!1}),this.change(!1,i)}},setValue(i=null,n,o=!0,l=!1){if(Array.isArray(n)||(n=[n]),0===(n=n.filter(t=>""!==t&&null!=t)).length)return s.Bn().forEach(t=>t.ci=!1),void this.change(!1,o);if(r.multiple&&r.maxSelected>0&&n.length>r.maxSelected)console.warn(`Cannot select more than ${r.maxSelected} items`);else if(l||!this.disabled&&!this.readonly){if(t.Pn?.oe?.()){const{ge:i}=t.Pn.de(n);if(i.length>0)return void(async()=>{r.loadingfield&&t.ie?.es?.();try{t.Pn.me();const e=await t.Pn.re(i);e.Is&&e.items.length>0?(e.items.forEach(t=>{i.includes(t.value)&&(t.selected=!0)}),t.Pn.Me?.(e.items,!0,!0),setTimeout(()=>{s.Bn().forEach(t=>{t.ci=n.some(s=>s==t.value)}),this.change(!1,!1)},100)):i.length>0&&console.warn(`Could not load ${i.length} values:`,i)}catch(t){console.error("Error loading missing values:",t)}finally{r.loadingfield&&t.ie?.us?.()}})()}if(o){if(e.ht([h()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s.Bn().forEach(t=>{t.ci=n.some(s=>s==t.value)}),!r.multiple&&n.length>0&&(t.targetElement.value=n[0]),this.change(!1,o)}},load(){s.yn&&!s.vn||!r?.ajax||(t.Pn.me(),t.ie.es(),s.yn=!0,s.vn=!1,setTimeout(()=>{t.ie&&t.Pn&&t.Pn.search("").then(()=>t.ie?.ls?.()).catch(t=>console.error("Initial ajax load error:",t))},r.animationtime)),t.ie.load()},open(){if(s.isOpen)return;const i=s.ue?.find?.();if(i&&!i.isEmpty&&i.close().isCancel)return;if(this.disabled)return;if(e.ht([h()],...r.on.beforeShow).isCancel)return;s.isOpen=!0,t.Ln.gt(!0);const n=t.ie.It,o=n.hh();o?n.sh(o,!1):n.nh(),this.load(),t.ie.open(null,!t.ie.Vt.isVisible),t.In.show();const l=t.tags.Hs;l.setAttribute("aria-expanded","true"),l.setAttribute("aria-controls",r.Kt),l.setAttribute("aria-haspopup","listbox"),l.setAttribute("aria-labelledby",r.An),r.multiple&&l.setAttribute("aria-multiselectable","true"),e.ht([h()],...r.on.show),s.Mn&&s.zn("onOpen",t=>t.Nn?.(s.Mn))},close(){s.isOpen&&(e.ht([h()],...r.on.beforeClose).isCancel||(s.isOpen=!1,t.Ln.gt(!1),t.ie.close(()=>{t.In.clear(!1)}),t.In.hide(),t.tags.Hs.setAttribute("aria-expanded","false"),e.ht([h()],...r.on.close),s.Mn&&s.zn("onClose",t=>t.Un?.(s.Mn))))},toggle(){s.isOpen?this.close():this.open()},change(i=null,o=!0){if(o){if(r.multiple&&r.maxSelected>0&&this.valueArray.length>r.maxSelected&&this.setValue(null,this.oldValue,!1,!0),this.disabled||this.readonly)return void this.setValue(null,this.oldValue,!1,!0);if(e.ht([h(),this.value],...r.on.beforeChange).isCancel)return void this.setValue(null,this.oldValue,!1)}if(this.refreshMask(),t.Fn.Qi(this.valueOptions),o&&(t.targetElement&&e.nt(t.targetElement,"change"),e.ht([h(),this.value],...r.on.change),s.options?.autoclose&&this.close()),s.is(n.MOUNTED)&&s.update(),s.Mn&&s.wn){const t=s.wn.Xt();s.zn("onChange",i=>i.Gn?.(this.value,t.ji,t.Zt,s.Mn))}},refreshMask(){let i=r.placeholder;!r.multiple&&s.Bn().length>0&&(i=this.mask[0]),i??(i=r.placeholder),t.placeholder.set(i,!1),t.In.zs(i)},on(t,s,i){r.on[s]||(r.on[s]=[]),r.on[s].push(i)},ajax(i,e){null==e.keepSelected&&(e.keepSelected=s.options.keepSelected),t.Pn.fe(e)},loadAjax:()=>new Promise((i,e)=>{t.ie.es(),t.Pn.me(),s.yn=!0,s.vn=!1,t.ie&&t.Pn?t.Pn.search("").then(()=>{t.ie?.ls?.(),i(h())}).catch(t=>{console.error("Initial ajax load error:",t),e(t)}):i(h())})};return this.Wn(l,"disabled","isDisabled"),this.Wn(l,"readonly","isReadOnly"),this.Wn(l,"visible","isVisible"),l}Wn(t,s,i){const e=this;Object.defineProperty(t,s,{get:()=>e[i],set(t){e[i]=!!t,e.container?.targetElement?.dataset&&(e.container.targetElement.dataset[s]=!!t+"")},enumerable:!0,configurable:!0})}Bn(t=null){if(!this.wn)return[];const{ji:s}=this.wn.Xt(),i=[];for(const t of s)t instanceof w?i.push(t):t instanceof b&&Array.isArray(t.items)&&t.items.length&&i.push(...t.items);return"boolean"==typeof t?i.filter(s=>s.selected===t):i}zn(t,s){this.plugins.length&&this.plugins.forEach(i=>{try{s(i)}catch(s){console.error(`Plugin "${i.id}" ${t} error:`,s)}})}}class E{constructor(){this.isActive=!1,this.Se=null,this.actions=new Set}qn(t){this.actions.add(t)}Kn(){this.actions.clear()}connect(t){if(this.isActive)return;this.isActive=!0;const s=t.toUpperCase(),i=t.toLowerCase();this.Se=new MutationObserver(t=>{for(const e of t)e.addedNodes.forEach(t=>{if(1!==t.nodeType)return;const e=t;e.tagName===s&&this.Qn(e),e.querySelectorAll(i).forEach(t=>this.Qn(t))})}),this.Se.observe(document.body,{childList:!0,subtree:!0})}disconnect(){this.isActive&&(this.isActive=!1,this.Se?.disconnect(),this.Se=null)}Qn(t){for(const s of this.actions)s(t)}}const j=new class extends o{constructor(){super(),this.Yn=new Map,this.plugins=new Map,this.init()}init(){this.is(n.NEW)&&(this.Yn=new Map,this.plugins=new Map,super.init())}bind(t,s){this.is(n.NEW)&&this.init();const h=i.V(i.U(),s);h.on=h.on??{},h.on.load=h.on.load??[],this.Yn.set(t,h);const o=i.M();i.X.on(o,()=>{e.ht([this.find(t)],...h.on.load),i.X.clear(o),h.on.load=[]});const r=i.O(t);let l=!1;r.forEach(t=>{(async()=>{"SELECT"===t.tagName&&(i._(t),this.Jn(t,h)&&(l=!0,i.X.run(o)))})()}),i.t().includes(t)||i.t().push(t),this.is(n.INITIALIZED)&&l&&this.mount(),this.is(n.MOUNTED)&&this.update()}mount(){this.state===n.INITIALIZED&&super.mount()}update(){this.state===n.MOUNTED&&super.update()}find(t="*"){const s={isEmpty:!0};if("*"===t&&""===(t=i.t().join(", ")))return s;const e=i.O(t);if(0===e.length)return s;const h=i.R(e[0]);if(!h||!h.action)return s;const n={};for(const t in h.action)n[t]=this.Xn(t,h.action);const o={isEmpty:!1};for(const t in n){const s=n[t];switch(s.type){case"get-set":this.Zn(o,s.name,e);break;case"func":this.so(o,s.name,e)}}return o}kn(){return Array.from(this.plugins.values())}i(){this.io||(this.io=new E,this.io.qn(t=>{this.Yn.forEach((s,i)=>{try{t.matches(i)&&(this.Jn(t,s),this.is(n.MOUNTED)&&this.update())}catch(t){console.warn("Invalid selector: "+i,t)}})})),this.io.connect("select")}destroy(t=null){null===t?this.eo():"string"==typeof t?this.ho(t):t instanceof HTMLSelectElement&&this.no(t),null!==t&&this.is(n.MOUNTED)&&this.update()}registerPlugin(t){t?.id&&this.plugins.set(t.id,t)}unregisterPlugin(t){t&&this.plugins.delete(t)}oo(t){if(t)return this.plugins.get(t)}eo(){this.state!==n.DESTROYED&&(i.t().forEach(t=>this.ho(t)),this.Yn.clear(),i.t().length=0,this.plugins.forEach(t=>{t.destroy?.(),t.ro?.()}),this.plugins.clear(),this.io?.disconnect(),this.plugins.clear(),super.destroy())}ho(t){i.O(t).forEach(t=>{"SELECT"===t.tagName&&this.no(t)}),this.Yn.delete(t);const s=i.t(),e=s.indexOf(t);e>-1&&s.splice(e,1)}no(t){const s=i.R(t);if(!s)return;const e=s.self;i.N(t,s);const h=!!this.io;h&&this.io?.disconnect(),s.self?._n?.();const n=s.container?.element??t.parentElement;t.style.display="",t.style.visibility="",t.disabled=!1,delete t.dataset.lo,n&&n.parentNode?n.parentNode.replaceChild(t,n):t.appendChild(t),i.k(t),h&&this.Yn.size>0&&this.io?.connect("select"),e?.destroy?.()}rebind(t,s){this.ho(t),this.bind(t,s),this.is(n.MOUNTED)&&this.update()}Jn(t,s){if(i.R(t)||i.B(t))return!1;const e=i.M(8),h=i.j(t,s);h.je=e,h.Kt=`seui-${e}-optionlist`,h.An=`seui-${e}-placeholder`;const n={options:h};i.D(t,n);const o=new F(t,this);return o.on("onMount",()=>{o.container.view&&o.container.view.addEventListener("mouseup",()=>{n.action?.toggle?.()})}),o.mount(),n.container=o.container,n.action=o.Sn(),n.self=o,!0}Xn(t,s){const i=Object.getOwnPropertyDescriptor(s,t);let e="variable";return i?.get||i?.set&&"function"!=typeof s[t]?e="get-set":"function"==typeof s[t]&&(e="func"),{type:e,name:t}}Zn(t,s,e){Object.defineProperty(t,s,{get(){const t=i.R(e[0]);return t.action?.[s]},set(t){e.forEach(e=>{const h=i.R(e);h?.action&&(h.action[s]=t)})},enumerable:!0,configurable:!0})}so(t,s,h){t[s]=(...n)=>{let o=null;for(let t=0;t<h.length;t++){const r=i.R(h[t]);if(!r?.action)continue;const l=e.et();if(o??(o=r.action[s](l.it,...n)),!l.token.isContinue)break}return o??t}}},version="1.3.1",$="SelectiveUI";let V=!1;"undefined"!=typeof document&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",init):init());export{bind,destroy,effector,find,$ as name,rebind,registerPlugin,unregisterPlugin,version};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--seui-transparent-color:#0000;--seui-view-text-color:#121212;--seui-view-ro-text-color:#a3a3a3;--seui-view-text-style:Arial,Helvetica,sans-serif;--seui-view-text-size:13px;--seui-view-mobile-text-size:16px;--seui-view-background-color:#fff;--seui-view-ro-background-color:#00000029;--seui-view-optgroup-background-color:#a3c6e9;--seui-view-border-color:#a3a3a3;--seui-view-ro-border-color:#bdbdbd;--seui-view-border-size:1px;--seui-view-border-style:solid;--seui-view-border-radius:5px;--seui-directive-color:#000;--seui-directive-ro-color:#a3a3a3;--seui-option-crtl-text-color:#307ecc;--seui-option-crtl-text-color-hover:red;--seui-option-crtl-background-color:#f3f3f3;--seui-option-crtl-border-color:#ccc;--seui-option-crtl-text-size:13px;--seui-option-padding:5px;--seui-option-border-radius:5px;--seui-accessory-max-width:100%;--seui-accessory-max-height:50px;--seui-accessory-padding:2px 0;--seui-accessory-item-border-color:#a3a3a3;--seui-accessory-item-border-style:solid;--seui-accessory-item-border-width:1px;--seui-accessory-item-border-radius:3px;--seui-accessory-item-background:#f7f7f9;--seui-accessory-item-font-size:11px;--seui-accessory-item-padding:2px;--seui-accessory-item-gap:3px;--seui-accessory-item-button-color:#757575;--seui-accessory-item-button-width:16px;--seui-accessory-item-button-height:16px;--seui-accessory-item-button-border-color:#a3a3a3;--seui-accessory-item-button-border-style:solid;--seui-accessory-item-button-border-width:1px;--seui-accessory-item-button-border-radius:2px;--seui-accessory-item-content-color:#307ecc;--seui-accessory-item-content-font-size:11px;--seui-accessory-item-content-padding:0 4px 0 2px;--seui-popup-background-color:#fbfbfb;--seui-popup-border-color:#a3a3a3;--seui-popup-border-style:solid;--seui-popup-border-width:1px;--seui-popup-border-radius:6px;--seui-chkbox-background-color:#fff;--seui-chkbox-border-color:#8f9194;--seui-chkbox-hover-background-color:#dbdbdb;--seui-chkbox-hover-border-color:#b7b7b7;--seui-chkbox-checked-background-color:#9dcff8;--seui-chkbox-checked-border-color:#9dcff8;--seui-chkbox-checked-hover-background-color:#9dcff8;--seui-chkbox-checked-hover-border-color:#007eff;--seui-chkbox-checked-color:#0075ff;--seui-empty-state-color:#999;--seui-empty-state-background:#f9f9f9;--seui-empty-state-padding:10px 5px}.seui-MAIN{display:inline-block;max-width:-webkit-min-content;max-width:min-content}.seui-MAIN,.seui-MAIN *{box-sizing:border-box;line-height:normal;margin:0;padding:0;touch-action:manipulation}.seui-MAIN>select.init{display:none}.seui-MAIN>.seui-view{align-items:center;background-color:var(--seui-view-background-color);border:var(--seui-view-border-style) var(--seui-view-border-size) var(--seui-view-border-color);border-radius:var(--seui-view-border-radius);display:flex;flex-direction:row;height:100%;position:relative;width:100%}.seui-MAIN.invisible{display:none}.seui-MAIN.disabled{--seui-view-background-color:var(--seui-view-ro-background-color);--seui-view-border-color:var(--seui-view-ro-border-color);--seui-view-text-color:var(--seui-view-ro-text-color);--seui-directive-color:var(--seui-directive-ro-color)}.seui-MAIN .hide{display:none}@supports (-webkit-touch-callout:none){:root{--seui-view-text-size:var(--seui-view-mobile-text-size)}}.seui-placeholder{align-items:center;color:var(--seui-view-text-color);display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size)!important;height:calc(100% - 10px);margin-left:10px;max-width:calc(100% - 30px);overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.seui-directive{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--seui-directive-color);content:" ";display:inline-block;height:0;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%) rotate(0deg);transition:all .2s linear;vertical-align:middle;width:0;z-index:1}.seui-directive.drop-down{transform:translateY(-50%) rotate(180deg)}.seui-empty-state{align-items:center;background-color:var(--seui-empty-state-background,#0000);border-radius:var(--seui-option-border-radius);bottom:0;color:var(--seui-empty-state-color,#999);display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);justify-content:center;min-height:60px;padding:var(--seui-empty-state-padding,20px);position:-webkit-sticky;position:sticky;text-align:center}.seui-empty-state.small{justify-content:flex-start;min-height:30px;text-align:left}.seui-empty-state.hide{display:none}.seui-loading-state{align-items:center;background-color:var(--seui-empty-state-background,#0000);border-radius:var(--seui-option-border-radius);bottom:0;color:var(--seui-empty-state-color,#999);display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);justify-content:center;min-height:60px;padding:var(--seui-empty-state-padding,20px);position:-webkit-sticky;position:sticky;text-align:center}.seui-loading-state.small{justify-content:flex-start;min-height:30px;text-align:left}.seui-loading-state.hide{display:none}.seui-group{display:flex;flex-direction:column;gap:2px}.seui-group.hide{display:none}.seui-group-header{align-items:center;background-color:var(--seui-view-optgroup-background-color);border-radius:var(--seui-option-border-radius);color:var(--seui-view-text-color);cursor:pointer;display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);font-weight:600;gap:8px;padding:8px 12px;-webkit-user-select:none;user-select:none;z-index:1}.seui-group-header:before{border-bottom:5px solid #0000;border-left:7px solid;border-top:5px solid #0000;content:"";display:inline-block;height:0;transform:rotate(90deg);transition:transform .2s ease;width:0}.seui-group.collapsed .seui-group-header:before{transform:rotate(0deg)}.seui-group-items{display:flex;flex-direction:column;gap:2px;padding-left:16px}.seui-group.collapsed .seui-group-items{display:none}.seui-group-items .seui-option-view{border-left:2px solid #e0e0e0;margin-left:4px;padding-left:12px}.seui-popup,.seui-popup *{box-sizing:border-box;line-height:normal}.seui-popup{background-color:var(--seui-popup-background-color);border-color:var(--seui-popup-border-color);border-radius:var(--seui-popup-border-radius);border-style:var(--seui-popup-border-style);border-width:var(--seui-popup-border-width);display:none;flex-direction:column;gap:2px;height:0;overflow:hidden;padding:2px;position:fixed;transition:none;z-index:9999}.seui-options-container{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;touch-action:pan-y;width:100%}.seui-options-container.hide{display:none}.seui-options-container .seui-virtual-items{display:flex;flex-direction:column;gap:2px;width:100%}.seui-searchbox{align-items:center;background-color:var(--seui-view-background-color);border-radius:5px;display:flex;flex-direction:row;height:100%;position:absolute;width:calc(100% - 30px);z-index:2}.seui-searchbox-input{background:var(--seui-transparent-color);border:0;color:var(--seui-view-text-color);font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size)!important;height:calc(100% - 10px);margin-left:10px;outline:none!important;overflow:hidden;padding:0!important;text-indent:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.seui-option-handle{align-items:center;background-color:var(--seui-option-crtl-background-color);border:1px solid var(--seui-option-crtl-border-color);border-radius:var(--seui-option-border-radius);display:flex;flex-direction:row;font-family:var(--seui-view-text-style);font-size:var(--seui-option-crtl-text-size);justify-content:space-between;padding:var(--seui-option-padding);position:-webkit-sticky;position:sticky;top:0;width:unset;z-index:2}.seui-option-handle.hide{display:none}.seui-option-handle-item{color:var(--seui-option-crtl-text-color);cursor:pointer;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.seui-option-handle-item:hover{color:var(--seui-option-crtl-text-color-hover)}.seui-option-view{align-items:center!important;background-color:var(--seui-transparent-color);border:1px solid var(--seui-transparent-color);border-radius:4px;display:flex;flex-direction:row;gap:7px;line-height:normal;padding:5px;position:relative;transition:all .18s;width:auto}.seui-option-view.checked{background-color:var(--seui-chkbox-checked-background-color);border-color:var(--seui-chkbox-checked-border-color)}.seui-option-view>input{display:none}.seui-option-view>label{align-items:center;color:var(--seui-view-text-color);display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);gap:7px;height:100%;width:100%}.seui-option-view.multiple>label:before{background:var(--seui-chkbox-background-color);border:1px solid var(--seui-chkbox-border-color);border-radius:.2em;content:"";display:block;height:17px;min-height:17px;min-width:17px;transition:all .2s,background .2s ease-in-out;width:17px}.seui-option-view.multiple.checked>label:before{background:var(--seui-chkbox-checked-color) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4xNjggMTIuMzhhMSAxIDAgMCAxLTEuNDE1IDBMMi43NDUgOC4zNjZhMSAxIDAgMCAxIDAtMS40MTNsLjQyLS40MmExIDEgMCAwIDEgMS40MTUgMEw2Ljc1MyA4LjcxYTEgMSAwIDAgMCAxLjQxNSAwbDQuMDgyLTQuMDlhMSAxIDAgMCAxIDEuNDE1IDBsLjQyLjQyYTEgMSAwIDAgMSAwIDEuNDEzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) 50% 40% no-repeat;border:1px solid var(--seui-chkbox-checked-color);color:var(--seui-view-background-color)}.seui-option-view>label>div{display:flex;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.seui-option-view>label.align-horizontal-left>div{justify-content:flex-start}.seui-option-view>label.align-horizontal-center>div{justify-content:center}.seui-option-view>label.align-horizontal-right>div{justify-content:flex-end}.seui-option-view>label.align-vertical-left>div{align-items:flex-start}.seui-option-view>label.align-vertical-center>div{align-items:center}.seui-option-view>label.align-vertical-right>div{align-items:flex-end}.seui-option-view.hide{display:none}.seui-option-view.highlight{background-color:var(--seui-chkbox-hover-background-color);border-color:var(--seui-chkbox-hover-border-color)}.seui-option-view.highlight.checked{background-color:var(--seui-chkbox-checked-hover-background-color);border-color:var(--seui-chkbox-checked-hover-border-color)}.seui-option-view.has-image{gap:10px}.seui-option-view.has-image.image-top{align-items:center;flex-direction:column;text-align:center}.seui-option-view.has-image.image-right{flex-direction:row-reverse}.seui-option-view.has-image.image-bottom{flex-direction:column-reverse}.seui-option-view .option-image{flex-shrink:0;object-fit:cover}.seui-option-view.multiple.has-image>label:before{display:none;order:-1}.seui-accessorybox{display:flex;flex-direction:row;flex-wrap:wrap;gap:2px;max-height:var(--seui-accessory-max-height);max-width:var(--seui-accessory-max-width);overflow-y:scroll;padding:var(--seui-accessory-padding)}.accessory-item{align-items:center;background:var(--seui-accessory-item-background);border-color:var(--seui-accessory-item-border-color);border-radius:var(--seui-accessory-item-border-radius);border-style:var(--seui-accessory-item-border-style);border-width:var(--seui-accessory-item-border-width);display:flex;font-size:var(--seui-accessory-item-font-size);gap:var(--seui-accessory-item-gap);overflow:hidden;padding:var(--seui-accessory-item-padding)}.accessory-item>.accessory-item-button{border-color:var(--seui-accessory-item-button-border-color);border-radius:var(--seui-accessory-item-button-border-radius);border-style:var(--seui-accessory-item-button-border-style);border-width:var(--seui-accessory-item-button-border-width);color:var(--seui-accessory-item-button-color);cursor:pointer;font-weight:700;height:var(--seui-accessory-item-button-height);min-height:var(--seui-accessory-item-button-height);min-width:var(--seui-accessory-item-button-width);position:relative;width:var(--seui-accessory-item-button-width)}.accessory-item>.accessory-item-button:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='%234c4c4c' transform='rotate(45 8 8)'%3E%3Crect width='7.762' height='1.411' x='4.119' y='7.294' rx='1'/%3E%3Crect width='11' height='2' x='.206' y='4.706' rx='1' transform='rotate(90 4.026 8) scale(.70565)'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;content:"";display:block;height:100%;position:absolute;width:100%}.accessory-item>.accessory-item-content{color:var(--seui-accessory-item-content-color);font-size:var(--seui-accessory-item-content-font-size);overflow:hidden;padding:var(--seui-accessory-item-content-padding);text-overflow:ellipsis;white-space:nowrap}
|
|
1
|
+
:root{--seui-transparent-color:#0000;--seui-view-text-color:#121212;--seui-view-ro-text-color:#a3a3a3;--seui-view-text-style:Arial,Helvetica,sans-serif;--seui-view-text-size:13px;--seui-view-mobile-text-size:16px;--seui-view-background-color:#fff;--seui-view-ro-background-color:#00000029;--seui-view-optgroup-background-color:#a3c6e9;--seui-view-border-color:#a3a3a3;--seui-view-ro-border-color:#bdbdbd;--seui-view-border-size:1px;--seui-view-border-style:solid;--seui-view-border-radius:5px;--seui-directive-color:#000;--seui-directive-ro-color:#a3a3a3;--seui-option-crtl-text-color:#307ecc;--seui-option-crtl-text-color-hover:red;--seui-option-crtl-background-color:#f3f3f3;--seui-option-crtl-border-color:#ccc;--seui-option-crtl-text-size:13px;--seui-option-padding:5px;--seui-option-border-radius:5px;--seui-accessory-max-width:100%;--seui-accessory-max-height:50px;--seui-accessory-padding:2px 0;--seui-accessory-item-border-color:#a3a3a3;--seui-accessory-item-border-style:solid;--seui-accessory-item-border-width:1px;--seui-accessory-item-border-radius:3px;--seui-accessory-item-background:#f7f7f9;--seui-accessory-item-font-size:11px;--seui-accessory-item-padding:2px;--seui-accessory-item-gap:3px;--seui-accessory-item-button-color:#757575;--seui-accessory-item-button-width:16px;--seui-accessory-item-button-height:16px;--seui-accessory-item-button-border-color:#a3a3a3;--seui-accessory-item-button-border-style:solid;--seui-accessory-item-button-border-width:1px;--seui-accessory-item-button-border-radius:2px;--seui-accessory-item-content-color:#307ecc;--seui-accessory-item-content-font-size:11px;--seui-accessory-item-content-padding:0 4px 0 2px;--seui-popup-background-color:#fbfbfb;--seui-popup-border-color:#a3a3a3;--seui-popup-border-style:solid;--seui-popup-border-width:1px;--seui-popup-border-radius:6px;--seui-chkbox-background-color:#fff;--seui-chkbox-border-color:#8f9194;--seui-chkbox-hover-background-color:#dbdbdb;--seui-chkbox-hover-border-color:#b7b7b7;--seui-chkbox-checked-background-color:#9dcff8;--seui-chkbox-checked-border-color:#9dcff8;--seui-chkbox-checked-hover-background-color:#9dcff8;--seui-chkbox-checked-hover-border-color:#007eff;--seui-chkbox-checked-color:#0075ff;--seui-empty-state-color:#999;--seui-empty-state-background:#f9f9f9;--seui-empty-state-padding:10px 5px}.seui-MAIN{display:inline-block;max-width:-webkit-min-content;max-width:min-content}.seui-MAIN,.seui-MAIN *{box-sizing:border-box;line-height:normal;margin:0;padding:0;touch-action:manipulation}.seui-MAIN>select.init{display:none}.seui-MAIN>.seui-view{align-items:center;background-color:var(--seui-view-background-color);border:var(--seui-view-border-style) var(--seui-view-border-size) var(--seui-view-border-color);border-radius:var(--seui-view-border-radius);display:flex;flex-direction:row;height:100%;position:relative;width:100%}.seui-MAIN.invisible{display:none}.seui-MAIN.disabled{--seui-view-background-color:var(--seui-view-ro-background-color);--seui-view-border-color:var(--seui-view-ro-border-color);--seui-view-text-color:var(--seui-view-ro-text-color);--seui-directive-color:var(--seui-directive-ro-color)}.seui-MAIN .hide{display:none}@supports (-webkit-touch-callout:none){:root{--seui-view-text-size:var(--seui-view-mobile-text-size)}}.seui-placeholder{align-items:center;color:var(--seui-view-text-color);font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size)!important;margin-left:10px;max-width:calc(100% - 40px);overflow:hidden;pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.seui-directive{border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--seui-directive-color);content:" ";display:inline-block;height:0;pointer-events:none;position:absolute;right:10px;top:50%;transform:translateY(-50%) rotate(0deg);transition:all .2s linear;vertical-align:middle;width:0;z-index:1}.seui-directive.drop-down{transform:translateY(-50%) rotate(180deg)}.seui-empty-state{align-items:center;background-color:var(--seui-empty-state-background,#0000);border-radius:var(--seui-option-border-radius);bottom:0;color:var(--seui-empty-state-color,#999);display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);justify-content:center;min-height:60px;padding:var(--seui-empty-state-padding,20px);position:-webkit-sticky;position:sticky;text-align:center}.seui-empty-state.small{justify-content:flex-start;min-height:30px;text-align:left}.seui-empty-state.hide{display:none}.seui-loading-state{align-items:center;background-color:var(--seui-empty-state-background,#0000);border-radius:var(--seui-option-border-radius);bottom:0;color:var(--seui-empty-state-color,#999);display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);justify-content:center;min-height:60px;padding:var(--seui-empty-state-padding,20px);position:-webkit-sticky;position:sticky;text-align:center}.seui-loading-state.small{justify-content:flex-start;min-height:30px;text-align:left}.seui-loading-state.hide{display:none}.seui-group{display:flex;flex-direction:column;gap:2px}.seui-group.hide{display:none}.seui-group-header{align-items:center;background-color:var(--seui-view-optgroup-background-color);border-radius:var(--seui-option-border-radius);color:var(--seui-view-text-color);cursor:pointer;display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);font-weight:600;gap:8px;padding:8px 12px;-webkit-user-select:none;user-select:none;z-index:1}.seui-group-header:before{border-bottom:5px solid #0000;border-left:7px solid;border-top:5px solid #0000;content:"";display:inline-block;height:0;transform:rotate(90deg);transition:transform .2s ease;width:0}.seui-group.collapsed .seui-group-header:before{transform:rotate(0deg)}.seui-group-items{display:flex;flex-direction:column;gap:2px;padding-left:16px}.seui-group.collapsed .seui-group-items{display:none}.seui-group-items .seui-option-view{border-left:2px solid #e0e0e0;margin-left:4px;padding-left:12px}.seui-popup,.seui-popup *{box-sizing:border-box;line-height:normal}.seui-popup{background-color:var(--seui-popup-background-color);border-color:var(--seui-popup-border-color);border-radius:var(--seui-popup-border-radius);border-style:var(--seui-popup-border-style);border-width:var(--seui-popup-border-width);display:none;flex-direction:column;gap:2px;height:0;overflow:hidden;padding:2px;position:fixed;transition:none;z-index:9999}.seui-options-container{-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;touch-action:pan-y;width:100%}.seui-options-container.hide{display:none}.seui-options-container .seui-virtual-items{display:flex;flex-direction:column;gap:2px;width:100%}.seui-searchbox{align-items:center;background-color:var(--seui-view-background-color);border-radius:5px;display:flex;flex-direction:row;height:100%;position:absolute;width:calc(100% - 30px);z-index:2}.seui-searchbox-input{background:var(--seui-transparent-color);border:0;color:var(--seui-view-text-color);font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size)!important;height:calc(100% - 10px);margin-left:10px;outline:none!important;overflow:hidden;padding:0!important;text-indent:0;text-overflow:ellipsis;white-space:nowrap;width:100%}.seui-option-handle{align-items:center;background-color:var(--seui-option-crtl-background-color);border:1px solid var(--seui-option-crtl-border-color);border-radius:var(--seui-option-border-radius);display:flex;flex-direction:row;font-family:var(--seui-view-text-style);font-size:var(--seui-option-crtl-text-size);justify-content:space-between;padding:var(--seui-option-padding);position:-webkit-sticky;position:sticky;top:0;width:unset;z-index:2}.seui-option-handle.hide{display:none}.seui-option-handle-item{color:var(--seui-option-crtl-text-color);cursor:pointer;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.seui-option-handle-item:hover{color:var(--seui-option-crtl-text-color-hover)}.seui-option-view{align-items:center!important;background-color:var(--seui-transparent-color);border:1px solid var(--seui-transparent-color);border-radius:4px;display:flex;flex-direction:row;gap:7px;line-height:normal;padding:5px;position:relative;transition:all .18s;width:auto}.seui-option-view.checked{background-color:var(--seui-chkbox-checked-background-color);border-color:var(--seui-chkbox-checked-border-color)}.seui-option-view>input{display:none}.seui-option-view>label{align-items:center;color:var(--seui-view-text-color);display:flex;font-family:var(--seui-view-text-style);font-size:var(--seui-view-text-size);gap:7px;height:100%;width:100%}.seui-option-view.multiple>label:before{background:var(--seui-chkbox-background-color);border:1px solid var(--seui-chkbox-border-color);border-radius:.2em;content:"";display:block;height:17px;min-height:17px;min-width:17px;transition:all .2s,background .2s ease-in-out;width:17px}.seui-option-view.multiple.checked>label:before{background:var(--seui-chkbox-checked-color) url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNyIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4xNjggMTIuMzhhMSAxIDAgMCAxLTEuNDE1IDBMMi43NDUgOC4zNjZhMSAxIDAgMCAxIDAtMS40MTNsLjQyLS40MmExIDEgMCAwIDEgMS40MTUgMEw2Ljc1MyA4LjcxYTEgMSAwIDAgMCAxLjQxNSAwbDQuMDgyLTQuMDlhMSAxIDAgMCAxIDEuNDE1IDBsLjQyLjQyYTEgMSAwIDAgMSAwIDEuNDEzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+) 50% 40% no-repeat;border:1px solid var(--seui-chkbox-checked-color);color:var(--seui-view-background-color)}.seui-option-view>label>div{display:flex;height:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.seui-option-view>label.align-horizontal-left>div{justify-content:flex-start}.seui-option-view>label.align-horizontal-center>div{justify-content:center}.seui-option-view>label.align-horizontal-right>div{justify-content:flex-end}.seui-option-view>label.align-vertical-left>div{align-items:flex-start}.seui-option-view>label.align-vertical-center>div{align-items:center}.seui-option-view>label.align-vertical-right>div{align-items:flex-end}.seui-option-view.hide{display:none}.seui-option-view.highlight{background-color:var(--seui-chkbox-hover-background-color);border-color:var(--seui-chkbox-hover-border-color)}.seui-option-view.highlight.checked{background-color:var(--seui-chkbox-checked-hover-background-color);border-color:var(--seui-chkbox-checked-hover-border-color)}.seui-option-view.has-image{gap:10px}.seui-option-view.has-image.image-top{align-items:center;flex-direction:column;text-align:center}.seui-option-view.has-image.image-right{flex-direction:row-reverse}.seui-option-view.has-image.image-bottom{flex-direction:column-reverse}.seui-option-view .option-image{flex-shrink:0;object-fit:cover}.seui-option-view.multiple.has-image>label:before{display:none;order:-1}.seui-accessorybox{display:flex;flex-direction:row;flex-wrap:wrap;gap:2px;max-height:var(--seui-accessory-max-height);max-width:var(--seui-accessory-max-width);overflow-y:scroll;padding:var(--seui-accessory-padding)}.accessory-item{align-items:center;background:var(--seui-accessory-item-background);border-color:var(--seui-accessory-item-border-color);border-radius:var(--seui-accessory-item-border-radius);border-style:var(--seui-accessory-item-border-style);border-width:var(--seui-accessory-item-border-width);display:flex;font-size:var(--seui-accessory-item-font-size);gap:var(--seui-accessory-item-gap);overflow:hidden;padding:var(--seui-accessory-item-padding)}.accessory-item>.accessory-item-button{border-color:var(--seui-accessory-item-button-border-color);border-radius:var(--seui-accessory-item-button-border-radius);border-style:var(--seui-accessory-item-button-border-style);border-width:var(--seui-accessory-item-button-border-width);color:var(--seui-accessory-item-button-color);cursor:pointer;font-weight:700;height:var(--seui-accessory-item-button-height);min-height:var(--seui-accessory-item-button-height);min-width:var(--seui-accessory-item-button-width);position:relative;width:var(--seui-accessory-item-button-width)}.accessory-item>.accessory-item-button:after{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='%234c4c4c' transform='rotate(45 8 8)'%3E%3Crect width='7.762' height='1.411' x='4.119' y='7.294' rx='1'/%3E%3Crect width='11' height='2' x='.206' y='4.706' rx='1' transform='rotate(90 4.026 8) scale(.70565)'/%3E%3C/g%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;content:"";display:block;height:100%;position:absolute;width:100%}.accessory-item>.accessory-item-content{color:var(--seui-accessory-item-content-color);font-size:var(--seui-accessory-item-content-font-size);overflow:hidden;padding:var(--seui-accessory-item-content-padding);text-overflow:ellipsis;white-space:nowrap}
|
|
Binary file
|
package/dist/selective-ui.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! Selective UI v1.3.
|
|
2
|
-
var t,s;t=this,s=function(t){"use strict";function s(t){return new m(t??null)}class i{constructor(){this.t={accessoryVisible:!0,virtualScroll:!0,accessoryStyle:"top",multiple:!1,minWidth:"50px",width:"0px",offsetWidth:null,minHeight:"30px",height:"30px",panelHeight:"220px",panelMinHeight:"100px",disabled:!1,readonly:!1,selectall:!0,keepSelected:!0,placeholder:"Select value",altMask:"",autoclose:!1,autoscroll:!0,autofocus:!0,searchable:!0,loadingfield:!0,preload:!1,visible:!0,skipError:!1,customDelimiter:",",textLoading:"Processing...",textNoData:"No data available",textNotFound:"Not found",textSelectAll:"Select all",textDeselectAll:"Deselect all",textAccessoryDeselect:"Deselect: ",animationtime:200,delaysearchtime:200,allowHtml:!1,maxSelected:0,labelHalign:"left",labelValign:"center",imageMode:!1,imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",imagePosition:"right",ajax:null,on:{load:[],beforeShow:[],show:[],beforeChange:[],change:[],beforeClose:[],close:[]}},this.i=new Map,this.h=new Map,this.o=[]}}class e{static get l(){return this.u||(this.u=new i),this.u}static p(t){if(null===t||"object"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=this.p(t[i]));return s}static m(t=6){let s="";for(let i=0;i<t;i++)s+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return s}static v(t){if(!t)return[];if("string"==typeof t){const s=document.querySelectorAll(t);return Array.from(s)}return t instanceof HTMLElement?[t]:t instanceof NodeList||Array.isArray(t)?Array.from(t):[]}static M(t={}){return this.T(document.createElement(t.node??"div"),t,!0)}static T(t=document.documentElement,s=null,i=!1){const e={...s??{}},h=i?t:t.cloneNode(!0),n=e.classList;return"string"==typeof n?h.classList.add(n):Array.isArray(n)&&h.classList.add(...n),delete e.classList,["style","dataset"].forEach(t=>{const s=e[t];s&&"object"==typeof s&&Object.assign(h[t],s),delete e[t]}),e.role&&(h.setAttribute("role",e.role+""),delete e.role),e.ariaLive&&(h.setAttribute("aria-live",e.ariaLive+""),delete e.ariaLive),e.O&&(h.setAttribute("aria-labelledby",e.O+""),delete e.O),e.A&&(h.setAttribute("aria-controls",e.A+""),delete e.A),e.H&&(h.setAttribute("aria-haspopup",e.H+""),delete e.H),e.S&&(h.setAttribute("aria-multiselectable",e.S+""),delete e.S),e.P&&(h.setAttribute("aria-autocomplete",e.P+""),delete e.P),e.event&&"object"==typeof e.event&&(Object.entries(e.event).forEach(([t,s])=>{h.addEventListener(t,s)}),delete e.event),Object.entries(e).forEach(([t,s])=>{null===s?h.removeAttribute(t):h[t]=s}),h}static C(t,s=null,i=!1,e=!1,h={}){let n=null;for(const o in t){const r=t[o],l=r?.tag?.tagName?r.tag:this.M(r.tag);h[o]=l,r?.L&&this.C(r.L,l,!1,!1,h),s?i?s.prepend(l):s.append(l):e||n||(n=l)}return e||(h.id=this.m(7),s||(h={tags:h,view:n})),h}static I(t,s){const i=this.p(s);for(const e in i){const s=t[e];s?i[e]="boolean"==typeof i[e]?this.F(s):s:void 0!==t?.dataset?.[e]&&(i[e]="boolean"==typeof i[e]?this.F(t.dataset[e]):t.dataset[e])}return i}static j(...t){if(0===t.length)return{};if(1===t.length)return this.p(t[0]);const s=this.p(t[0]);for(let i=1;i<t.length;i++){const e=t[i];for(const t in e)if("on"===t){const i=e[t];for(const e in i)s[t][e].push(i[e])}else s[t]=e[t]}return s}static F(t){if("boolean"==typeof t)return t;if("string"!=typeof t)return!!t;switch(t.trim().toLowerCase()){case"true":case"1":case"yes":case"on":return!0;default:return!1}}static $(t){return this.l.i.delete(t)}static V(t){return this.l.i.get(t)}static k(t,s){this.l.i.set(t,s)}static R(t){return this.l.h.delete(t)}static D(t){return this.l.h.get(t)}static _(t,s){this.l.h.set(t,s)}static B(){return this.l.t}static U(){return this.l.o}static N(t){if(null==t)return"";let s=(t+"").replace(/<`/g,"<").replace(/`>/g,">").replace(/\<\`/g,"<").replace(/\`\>/g,">").trim();const i=globalThis?.document;if(!i||"function"!=typeof i.createElement)return s=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"").replace(/<iframe\b[^>]*>[\s\S]*?<\/iframe>/gi,"").replace(/<(object|embed|link)\b[^>]*>[\s\S]*?<\/\1>/gi,""),s=s.replace(/\son[a-z]+\s*=\s*(['"]).*?\1/gi,""),s=s.replace(/\s([a-z-:]+)\s*=\s*(['"])\s*javascript:[^'"]*\2/gi,""),s;const e=i.createElement("div");return e.innerHTML=s,e.querySelectorAll("script, style, iframe, object, embed, link").forEach(t=>t.remove()),e.querySelectorAll("*").forEach(t=>{for(const s of Array.from(t.attributes)){const i=s.name??"",e=s.value??"";if(/^on/i.test(i))return void t.removeAttribute(i);/^(href|src|xlink:href)$/i.test(i)&&/^javascript:/i.test(e)&&t.removeAttribute(i)}}),(e.innerHTML??"").trim()}static G(t){const s=document.createElement("DIV");s.innerHTML=t;const i=s.textContent??s.innerText??"";return s.remove(),i.trim()}static W(t){return null==t?"":(t+"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/đ/g,"d").replace(/Đ/g,"d")}static q(t){const s=[],i=t.children;for(let e=0;e<i.length;e++){const t=i[e];if("OPTGROUP"===t.tagName){const i=t;s.push(i);for(let t=0;t<i.children.length;t++){const e=i.children[t];e.__parentGroup=i,s.push(e)}}else"OPTION"===t.tagName&&s.push(t)}return s}static K(){const t=navigator.userAgent;return/iP(hone|ad|od)/.test(t)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1}static Y(t){const s=(t+"").trim();if(s.endsWith("px"))return s;if(s.endsWith("vh"))return window.innerHeight*parseFloat(s)/100+"px";if(s.endsWith("vw"))return window.innerWidth*parseFloat(s)/100+"px";const i=parseFloat(getComputedStyle(document.documentElement).fontSize);if(s.endsWith("rem"))return i*parseFloat(s)+"px";const e=this.M({node:"div",style:{height:s,opacity:"0"}});document.body.appendChild(e);const h=e.offsetHeight+"px";return e.remove(),h}}e.u=null,e.J=new class{constructor(){this.X=new Map,this.Z=new Map}on(t,s,i={}){const e=i.tt??50,h=i.once??!1;this.X.has(t)||this.X.set(t,[]),this.X.get(t).push({st:s,timeout:e,once:h})}off(t){const s=this.Z.get(t);if(s){for(const t of s.values())clearTimeout(t);s.clear(),this.Z.delete(t)}this.X.delete(t)}run(t,...s){const i=this.X.get(t);if(!i||0===i.length)return Promise.resolve();this.Z.has(t)||this.Z.set(t,new Map);const e=this.Z.get(t),h=[];for(let n=0;n<i.length;n++){const t=i[n];if(!t)continue;const o=e.get(n);o&&clearTimeout(o);const r=new Promise(h=>{const o=setTimeout(async()=>{try{const i=t.st(s.length>0?s:null);i instanceof Promise&&await i}catch{}finally{if(t.once){i[n]=void 0;const t=e.get(n);t&&clearTimeout(t),e.delete(n)}h()}},t.timeout);e.set(n,o)});h.push(r)}return Promise.all(h).then(()=>{})}clear(t){if(void 0===t)for(const s of Array.from(this.X.keys()))this.off(s);else this.off(t)}};class h{static it(){const t={isContinue:!0,isCancel:!1};return{token:{get isContinue(){return t.isContinue},get isCancel(){return t.isCancel}},st:{stopPropagation(){t.isContinue=!1},cancel(){t.isCancel=!0,t.isContinue=!1}}}}static et(t,...s){const{token:i,st:e}=this.it();for(let h=0;h<s.length;h++){const n=s[h];if("function"==typeof n&&(t&&Array.isArray(t)?n(e,...t):n(e),i.isCancel||!i.isContinue))break}return i}static ht(t,s,i={bubbles:!0,cancelable:!0}){const e=new Event(s,i);return t.dispatchEvent(e),e}static nt(t,...s){if(Array.isArray(t))for(const i of t)"function"==typeof i&&i(...s)}}class n{static ot(t,s){const i=e.V(t);if(!i?.options)return;const h=i.options,n=h.minWidth,o=h.minHeight,r=Number.parseInt(h.width,10),l=Number.parseInt(h.height,10);let a=t.offsetWidth+"px",u=t.offsetHeight+"px";const c=getComputedStyle(t);"0px"===a&&"auto"!==c.width&&(a=c.width),"0px"===u&&"auto"!==c.height&&(u=c.height),r>0&&(a=h.width),l>0&&(u=h.height),Object.assign(s.style,{width:a,height:u,minWidth:n,minHeight:o})}}var o;(t=>{t.NEW="new",t.INITIALIZED="initialized",t.MOUNTED="mounted",t.UPDATED="updated",t.DESTROYED="destroyed"})(o||(o={}));class r{constructor(){this.state=o.NEW,this.rt=new Map,this.rt.set("onInit",new Set),this.rt.set("onMount",new Set),this.rt.set("onUpdate",new Set),this.rt.set("onDestroy",new Set)}on(t,s){return this.rt.get(t).add(s),this}off(t,s){return this.rt.get(t).delete(s),this}emit(t,s){const i={state:this.state,lt:s};for(const h of this.rt.get(t))try{h(i)}catch(e){this.ut(e,t)}}ut(t,s){console.error(`[Lifecycle:${s}]`,t)}init(){if(this.state!==o.NEW)return;const t=this.state;this.state=o.INITIALIZED,this.emit("onInit",t)}mount(){if(this.state!==o.INITIALIZED)return;const t=this.state;this.state=o.MOUNTED,this.emit("onMount",t)}update(){if(this.state!==o.MOUNTED&&this.state!==o.UPDATED)return;const t=this.state;this.state=o.UPDATED,this.emit("onUpdate",t)}destroy(){if(this.state===o.DESTROYED)return;const t=this.state;this.state=o.DESTROYED,this.emit("onDestroy",t),this.ct()}getState(){return this.state}is(t){return this.state===t}ct(){for(const t of this.rt.values())t.clear()}}class l extends r{constructor(t){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.node=e.M({node:"div",classList:"seui-placeholder",innerHTML:t.placeholder}),this.options=t,this.init()}get(){return this.options?.placeholder??""}set(t,s=!0){if(!this.node||!this.options)return;s&&(this.options.placeholder=t);const i=e.N(t);this.node.innerHTML=this.options.allowHtml?i:e.G(i)}destroy(){this.is(o.DESTROYED)||(this.node?.remove(),this.node=null,this.options=null,super.destroy())}}class a extends r{constructor(){super(),this.init()}init(){this.node=e.M({node:"div",classList:"seui-directive",role:"button",ariaLabel:"Toggle dropdown"}),super.init(),this.mount()}dt(t){this.node.classList.toggle("drop-down",!!t)}destroy(){this.is(o.DESTROYED)||(this.node.remove(),this.node=null,super.destroy())}}class u extends r{constructor(t=null){super(),this.gt=null,this.node=null,this.options=null,this.ft=[],this.bt=[],t&&this.initialize(t)}initialize(t){this.gt=e.C({yt:{tag:{node:"div",classList:["seui-option-handle","hide"]},L:{wt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textSelectAll,onclick:()=>{h.nt(this.ft)}}},vt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textDeselectAll,onclick:()=>{h.nt(this.bt)}}}}}}),this.node=this.gt.view,this.options=t,this.init()}available(){return!!this.options&&e.F(this.options.multiple)&&e.F(this.options.selectall)}update(){this.node&&(this.available()?this.show():this.hide()),super.update()}show(){this.node&&this.node.classList.remove("hide")}hide(){this.node&&this.node.classList.add("hide")}xt(t=null){"function"==typeof t&&this.ft.push(t)}Mt(t=null){"function"==typeof t&&this.bt.push(t)}destroy(){this.is(o.DESTROYED)||(this.node.remove(),this.options=null,this.ft=null,this.bt=null,this.node=null,super.destroy())}}class c extends r{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=e.M({node:"div",classList:["seui-empty-state","hide"],role:"status",ariaLive:"polite"}),this.init()}show(t="nodata"){this.node&&this.options&&(this.node.textContent="notfound"===t?this.options.textNotFound:this.options.textNoData,this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(o.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class d extends r{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=e.M({node:"div",classList:["seui-loading-state","hide"],textContent:t.textLoading,role:"status",ariaLive:"polite"}),this.init()}show(t){this.node&&this.options&&(this.node.textContent=this.options.textLoading,this.node.classList.toggle("small",!!t),this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(o.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class p{constructor(){this.Tt=!1,this.element=null,this.Ot=null,this.At=null,this.Tt=!0,this.Ht=this.St.bind(this)}Pt(t){}St(){const t=this.element;if(!t||"function"!=typeof t.getBoundingClientRect)return void this.Pt({width:0,height:0,top:0,left:0,padding:{top:0,right:0,bottom:0,left:0},border:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0}});const s=t.getBoundingClientRect(),i="undefined"!=typeof window&&"function"==typeof window.getComputedStyle?window.getComputedStyle(t):null;this.Pt({width:s?.width??0,height:s?.height??0,top:s?.top??0,left:s?.left??0,padding:{top:parseFloat(i?.paddingTop??"0"),right:parseFloat(i?.paddingRight??"0"),bottom:parseFloat(i?.paddingBottom??"0"),left:parseFloat(i?.paddingLeft??"0")},border:{top:parseFloat(i?.borderTopWidth??"0"),right:parseFloat(i?.borderRightWidth??"0"),bottom:parseFloat(i?.borderBottomWidth??"0"),left:parseFloat(i?.borderLeftWidth??"0")},margin:{top:parseFloat(i?.marginTop??"0"),right:parseFloat(i?.marginRight??"0"),bottom:parseFloat(i?.marginBottom??"0"),left:parseFloat(i?.marginLeft??"0")}})}ht(){this.St()}connect(t){if(!(t instanceof HTMLElement))throw Error("Invalid element");this.element=t,this.Ot=new ResizeObserver(this.Ht),this.Ot.observe(t),this.At=new MutationObserver(this.Ht),this.At.observe(t,{attributes:!0,attributeFilter:["style","class"]}),window.addEventListener("scroll",this.Ht,!0),window.addEventListener("resize",this.Ht),window.visualViewport&&(window.visualViewport.addEventListener("resize",this.Ht),window.visualViewport.addEventListener("scroll",this.Ht))}disconnect(){this.Ot?.disconnect(),this.At?.disconnect(),this.Pt=()=>{},window.removeEventListener("scroll",this.Ht,!0),window.removeEventListener("resize",this.Ht),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.Ht),window.visualViewport.removeEventListener("scroll",this.Ht)),this.Ot=null,this.At=null,this.element=null}}class g extends r{constructor(t=null,s=null,i=null){super(),this.options=null,this.Ct=!1,this.Lt=null,this.node=null,this.It=null,this.Ft=null,this.parent=null,this.jt=null,this.Et=null,this.$t=null,this.Vt=null,this.kt=null,this.Rt=null,this.Dt=null,this.zt={_t:36,Bt:8,Ut:!0},this.Nt=i,t&&s&&this.initialize(t,s)}initialize(t,s){if(!this.Nt)throw Error("Popup requires a ModelManager instance.");this.jt=new u(s),this.Et=new c(s),this.$t=new d(s);const i=e.C({Gt:{tag:{node:"div",classList:"seui-popup",style:{maxHeight:s.panelHeight}},L:{yt:{tag:this.jt.node},Wt:{tag:{id:s.qt,node:"div",classList:"seui-options-container",role:"listbox"}},Kt:{tag:this.$t.node},Qt:{tag:this.Et.node}}}},null);this.node=i.view,this.kt=i.tags.Wt,this.parent=e.V(t),this.options=s,this.init(),this.Nt.load(this.kt,{isMultiple:s.multiple,options:s},s.virtualScroll?{Yt:this.node,_t:this.zt._t,Bt:this.zt.Bt,Ut:this.zt.Ut}:{});const h=this.Nt.Jt();this.Lt=h.Xt,this.Vt=h.Vt,this.jt.xt(()=>{h.Xt.Zt(!0)}),this.jt.Mt(()=>{h.Xt.Zt(!1)}),this.ts(),this.mount()}async ss(){this.options&&this.$t&&this.jt&&this.Lt&&this.Nt&&(this.Dt&&clearTimeout(this.Dt),this.Nt.es(!0),!1!==e.F(this.options.loadingfield)&&(this.Et.hide(),this.$t.show(this.Lt.ns().hs),this.rs()))}async ls(){this.options&&this.$t&&this.Lt&&this.Nt&&(this.Dt&&clearTimeout(this.Dt),this.Dt=setTimeout(()=>{this.Nt?.es(!1),this.$t?.hide();const t=this.Lt?.ns();this.us(t??void 0),this.rs()},this.options.animationtime))}ts(){this.Lt&&(this.Lt.cs(t=>{this.us(t)}),this.Lt.ds("items",()=>{const t=this.Lt.ns();this.us(t),this.rs()}))}us(t){if(!(this.Lt&&this.Et&&this.jt&&this.kt))return;const s=t??this.Lt.ns();s.isEmpty?(this.Et.show("nodata"),this.kt.classList.add("hide"),this.jt.hide()):s.hs?(this.Et.hide(),this.kt.classList.remove("hide"),this.jt.update()):(this.Et.show("notfound"),this.kt.classList.add("hide"),this.jt.hide())}ps(t,s){this.Lt?.gs(t,s)}fs(t,s){this.Lt?.ds(t,s)}bs(t){this.It=t}load(){this.node&&this.parent&&this.It&&(this.Ct||(document.body.appendChild(this.node),this.Ct=!0,this.Ft=new p,this.It.ys(this.node),this.node.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()})))}open(t=null,s){if(!(this.node&&this.options&&this.jt&&this.parent&&this.It))return;this.load(),this.jt.update(),s&&this.us();const i=this.ws(),{position:e,top:h,maxHeight:n,vs:o}=this.xs(i);this.It.expand({duration:this.options.animationtime,display:"flex",width:i.width,left:i.left,top:h,maxHeight:n,vs:o,position:e,Ms:()=>{if(!this.Ft||!this.parent)return;this.Ft.Pt=()=>{const t=this.ws();this.Ts(t)},this.Ft.connect(this.parent.container.tags.Os),t?.();const s=this.Vt;s?.resume?.()}})}close(t=null){if(!(this.Ct&&this.options&&this.Ft&&this.It))return;const s=this.Vt;s?.suspend?.(),this.Ft.disconnect(),this.It.collapse({duration:this.options.animationtime,Ms:t??void 0})}rs(){this.Ct&&this.Ft?.ht()}As(t,s){this.node&&(this.Rt=async()=>{const s=t.Hs();if(!s.Ss)return;const i=this.node;if(i.scrollHeight-i.scrollTop-i.clientHeight<100&&!s.Ps&&s.hasMore){const s=await t.Cs();!s.Ls&&s.message&&console.log("Load more:",s.message)}},this.node.addEventListener("scroll",this.Rt))}destroy(){if(!this.is(o.DESTROYED)){if(clearTimeout(this.Dt),this.Dt=null,this.node&&this.Rt&&(this.node.removeEventListener("scroll",this.Rt),this.Rt=null),this.Et.destroy(),this.$t.destroy(),this.jt.destroy(),this.Ft?.disconnect?.(),this.It?.ys?.(null),this.Nt?.es?.(!1),this.Vt?.clear?.(),this.node?.remove?.(),this.node)try{const t=e.T(this.node);this.node.replaceWith(t),t.remove()}catch(t){this.node.remove()}this.node=null,this.kt=null,this.Nt=null,this.jt=null,this.Et=null,this.$t=null,this.parent=null,this.options=null,this.Ct=!1,this.It=null,this.Ft=null,this.Vt=null,this.Lt=null,super.destroy()}}ws(){const t=this.parent.container.tags.Os,s=t.getBoundingClientRect(),i=window.getComputedStyle(t);return{width:s.width,height:s.height,top:s.top,left:s.left,padding:{top:parseFloat(i.paddingTop),right:parseFloat(i.paddingRight),bottom:parseFloat(i.paddingBottom),left:parseFloat(i.paddingLeft)},border:{top:parseFloat(i.borderTopWidth),right:parseFloat(i.borderRightWidth),bottom:parseFloat(i.borderBottomWidth),left:parseFloat(i.borderLeftWidth)}}}xs(t){const s=window.visualViewport,i=e.K(),h=s?.height??window.innerHeight,n=this.It.Is("flex").scrollHeight,o=parseFloat(this.options?.panelHeight??"220")||220,r=parseFloat(this.options?.panelMinHeight??"100")||100,l=h-(t.top+t.height)-3,a=t.top-3;let u="bottom",c=o,d=Math.min(n,c);const p=l-15;(d>=r?p>=r:p>=d)?(u="bottom",c=Math.min(l-15,o)):a>=Math.max(d,r)?(u="top",c=Math.min(a-15,o)):l>=a?(u="bottom",c=Math.max(l-15,r)):(u="top",c=Math.max(a-15,r)),d=Math.min(n,c);const g=s&&i?s.offsetTop:0;return{position:u,top:"bottom"===u?t.top+t.height+3+g:t.top-d-3+g,maxHeight:c,vs:d,Fs:n}}Ts(t){if(!this.options||!this.It)return;const{position:s,top:i,maxHeight:e,vs:h}=this.xs(t);this.It.resize({duration:this.options.animationtime,width:t.width,left:t.left,top:i,maxHeight:e,vs:h,position:s,animate:!0})}}class f extends r{constructor(t=null){super(),this.gt=null,this.node=null,this.js=null,this.Es=null,this.options=null,this.$s=null,this.Vs=null,this.ks=null,this.options=t,t&&this.initialize(t)}initialize(t){this.gt=e.C({Rs:{tag:{node:"div",classList:["seui-searchbox","hide"]},L:{js:{tag:{id:e.m(),node:"input",type:"search",classList:["seui-searchbox-input"],placeholder:t.placeholder,role:"searchbox",A:t.qt,P:"list"}}}}}),this.node=this.gt.view,this.js=this.gt.tags.js;let s=!1;const i=this.gt.tags.js;i.addEventListener("mousedown",t=>{t.stopPropagation()}),i.addEventListener("mouseup",t=>{t.stopPropagation()}),i.addEventListener("keydown",t=>{s=!1,"ArrowDown"===t.key||"Tab"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.$s?.(1)):"ArrowUp"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.$s?.(-1)):"Enter"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.Vs?.()):"Escape"===t.key&&(t.preventDefault(),t.stopPropagation(),s=!0,this.ks?.()),t.stopPropagation()}),i.addEventListener("input",()=>{s||this.Es?.(i.value,!0)}),this.init()}show(){this.node&&this.js&&this.options&&(this.node.classList.remove("hide"),this.js.readOnly=!this.options.searchable,this.options.searchable&&requestAnimationFrame(()=>{this.js?.focus()}))}hide(){this.node&&this.node.classList.add("hide")}clear(t=!0){this.gt&&(this.gt.tags.js.value="",this.Es?.("",t))}Ds(t){this.js&&(this.js.placeholder=e.G(t))}zs(t){this.js&&this.js.setAttribute("aria-activedescendant",t)}destroy(){this.is(o.DESTROYED)||(this.node?.remove(),this.gt=null,this.node=null,this.js=null,this.Es=null,this.options=null,this.$s=null,this.Vs=null,this.ks=null,super.destroy())}}class m{constructor(t=null){this._s=null,this.Bs=null,this.Us=!1,t&&this.ys(t)}ys(t){if("string"==typeof t){const s=document.querySelector(t);return void(s instanceof HTMLElement&&(this.element=s))}this.element=t}cancel(){return this._s&&(clearTimeout(this._s),this._s=null),this.Bs&&(clearTimeout(this.Bs),this.Bs=null),this.Us=!1,this}Is(t="flex"){if(!this.element)return{width:0,height:0,scrollHeight:0};const s={display:this.element.style.display,visibility:this.element.style.visibility,position:this.element.style.position,height:this.element.style.height,width:this.element.style.width};Object.assign(this.element.style,{display:t,visibility:"hidden",position:"fixed",height:"fit-content",width:"fit-content"});const i=window.getComputedStyle(this.element),e=parseFloat(i.borderTopWidth),h=parseFloat(i.borderBottomWidth),n=this.element.scrollHeight+e+h,o=this.element.getBoundingClientRect(),r={width:o.width,height:o.height+e+h,scrollHeight:n};return Object.assign(this.element.style,s),r}expand(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="flex",width:e,left:h,top:n,maxHeight:o,vs:r,position:l="bottom",Ms:a}=t;return Object.assign(this.element.style,{display:i,width:e+"px",left:h+"px",top:("bottom"===l?n:n+r)+"px",maxHeight:o+"px",height:"0px",opacity:"0",overflow:"hidden",transition:"none"}),this.element.classList.toggle("position-top","top"===l),this.element.classList.toggle("position-bottom","bottom"===l),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`top ${s}ms, height ${s}ms, opacity ${s}ms`,top:n+"px",height:r+"px",opacity:"1",overflow:r>=o?"auto":"hidden"}),this._s=setTimeout(()=>{this.element.style.transition="none",this.Us=!1,a?.()},s)}),this}collapse(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Ms:i}=t,e=this.element.offsetHeight,h=this.element.offsetTop,n=this.element.classList.contains("position-top")?"top":"bottom",o=this.element.scrollHeight-this.element.offsetHeight>0,r="top"===n?h+e:h;return requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`height ${s}ms, top ${s}ms, opacity ${s}ms`,height:"0px",top:r+"px",opacity:"0",overflow:o?"auto":"hidden"}),this._s=setTimeout(()=>{Object.assign(this.element.style,{display:"none",transition:"none"}),this.Us=!1,i?.()},s)}),this}showSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="block",Ms:e}=t;Object.assign(this.element.style,{transition:"none",display:i,width:"fit-content"});const h=this.Is(i).width;return Object.assign(this.element.style,{width:"0px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:h+"px",overflow:"hidden"})}),this._s=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:""}),this.Us=!1,e?.()},s),this}hideSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Ms:i}=t,e=this.Is().width;return Object.assign(this.element.style,{transition:"none",width:e+"px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:"0px",overflow:"hidden"})}),this._s=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:"",display:""}),this.Us=!1,i?.()},s),this}resize(t){if(!this.element)return this;this.cancel();const{duration:s=200,width:i,left:e,top:h,maxHeight:n,vs:o,position:r="bottom",animate:l=!0,Ms:a}=t,u=(this.element.classList.contains("position-top")?"top":"bottom")!==r,c=this.element.scrollHeight>n;return this.element.classList.toggle("position-top","top"===r),this.element.classList.toggle("position-bottom","bottom"===r),u&&(this.element.style.transition=`top ${s}ms ease-out, height ${s}ms ease-out, max-height ${s}ms ease-out;`),requestAnimationFrame(()=>{const t={width:i+"px",left:e+"px",top:h+"px",maxHeight:n+"px",height:o+"px",overflowY:c?"auto":"hidden"},r=Math.abs(this.element.offsetHeight-o);l&&(u||r>5)?t.transition=`height ${s}ms, top ${s}ms`:this.Bs=setTimeout(()=>{this.element?.style&&(this.element.style.transition=null)},s),Object.assign(this.element.style,t),l&&(u||r>1)?this.Bs=setTimeout(()=>{this.element.style.transition=null,u&&delete this.element.style.transition,a?.()},s):(u&&delete this.element.style.transition,a?.())}),this}get Ns(){return this.Us}}class b extends r{get value(){return this.targetElement?.getAttribute("value")??null}constructor(t,s=null,i=null){super(),this.targetElement=null,this.view=null,this.position=-1,this.Tt=!1,this.Gs=!1,this.options=t,this.targetElement=s,this.view=i,this.init()}Ws(t){this.targetElement=t,this.update()}destroy(){this.is(o.DESTROYED)||(this.targetElement=null,this.view?.destroy(),this.view=null,this.Gs=!0,super.destroy())}}class y extends b{constructor(t,s){super(t,s??null,null),this.label="",this.items=[],this.collapsed=!1,this.qs=[],this.label=this.targetElement.label,this.collapsed=e.F(this.targetElement.dataset?.collapsed)}init(){super.init(),this.mount()}get value(){return this.items.map(t=>t.value)}get Ks(){return this.items.filter(t=>t.selected)}get Qs(){return this.items.filter(t=>t.visible)}get Ys(){return this.Qs.length>0}Ws(t){this.label=t.label,this.view?.Js(this.label),this.update()}update(){this.view&&(this.view.Js(this.label),this.view.Xs(this.collapsed)),super.update()}destroy(){this.is(o.DESTROYED)||(this.items.forEach(t=>{t.destroy()}),this.items=[],super.destroy())}Zs(t){this.qs.push(t)}ti(){this.collapsed=!this.collapsed,this.view?.Xs(this.collapsed),h.et([this,this.collapsed],...this.qs)}si(t){this.items.push(t),t.group=this}removeItem(t){const s=this.items.indexOf(t);s>-1&&(this.items.splice(s,1),t.group=null)}ii(){this.view?.ii()}}class w extends b{constructor(t,s=null,i=null){super(t,s,i),this.ei=[],this.hi=[],this.ni=[],this.oi=!0,this.ri=!1,this.group=null}init(){this.li=e.W(this.textContent.toLowerCase()),super.init(),this.mount()}get ai(){return this.dataset?.imgsrc||this.dataset?.image||""}get hasImage(){return!!this.ai}get value(){return this.targetElement?.value??""}get selected(){return!!this.targetElement?.selected}set selected(t){this.ui=t,h.et([this,t],...this.ei)}get visible(){return this.oi}set visible(t){if(this.oi===t)return;this.oi=t;const s=this.view?.ci?.();s&&s.classList.toggle("hide",!t),h.et([this,t],...this.ni)}get ui(){return this.selected}set ui(t){const s=this.view?.view?.tags?.di,i=this.view?.ci?.();s&&(s.checked=t),i&&this.targetElement&&(i.classList.toggle("checked",!!t),i.setAttribute("aria-selected",t?"true":"false"),this.targetElement.toggleAttribute("selected",!!t)),this.targetElement&&(this.targetElement.selected=t),h.et([this,t],...this.hi)}get text(){const t=e.N(this.dataset?.mask??this.targetElement?.text??"");return this.options.allowHtml?t:e.G(t)}get textContent(){return this.options.allowHtml?e.G(this.text).trim():this.text.trim()}get dataset(){return this.targetElement?.dataset??{}}get pi(){return this.ri}set pi(t){const s=!!t,i=this.view?.ci?.();this.ri!==s&&(this.ri=s),i&&i.classList.toggle("highlight",s)}gi(t){this.ei.push(t)}fi(t){this.hi.push(t)}cs(t){this.ni.push(t)}update(){if(this.li=e.W(this.textContent.toLowerCase()),!this.view)return void super.update();const t=this.view.view.tags.mi;t&&(this.options.allowHtml?t.innerHTML=this.text:t.textContent=this.textContent);const s=this.view.view.tags.bi;s&&this.hasImage&&(s.src!=this.ai&&(s.src=this.ai),s.alt!=this.text&&(s.alt=this.text)),this.targetElement&&(this.ui=this.targetElement.selected),super.update()}destroy(){this.is(o.DESTROYED)||(this.ei=[],this.hi=[],this.ni=[],this.group=null,this.li=null,super.destroy())}}class v extends r{constructor(t){super(),this.yi=[],this.wi=null,this.xi=null,this.options=null,this.Mi=0,this.options=t,this.init()}Ti(t){this.Oi=t}Ai(t){this.Hi=t}Si(t){this.is(o.INITIALIZED)&&this.mount(),this.yi=[];let s=null;return t.forEach(t=>{if("OPTGROUP"===t.tagName)s=new y(this.options,t),this.yi.push(s);else if("OPTION"===t.tagName){const i=new w(this.options,t),e=t.__parentGroup;e&&s&&e===s.targetElement?(s.si(i),i.group=s):(this.yi.push(i),s=null)}}),this.yi}async replace(t){this.Si(t),this.wi&&await this.wi.Pi(this.yi),this.refresh(!1)}notify(){this.wi&&this.refresh(!1)}load(t,s={},i={}){this.wi=new this.Oi(this.yi),Object.assign(this.wi,s),this.xi=new this.Hi(t),Object.assign(this.xi,i),this.xi.Ci(this.wi)}Li(t){const s=this.yi,i=[],e=new Map,h=new Map;s.forEach(t=>{t instanceof y?e.set(t.label,t):t instanceof w&&h.set(`${t.value}::${t.textContent}`,t)});let n=null,o=0;t.forEach(t=>{if("OPTGROUP"===t.tagName){const s=t,h=e.get(s.label);h?(h.label!==s.label&&h.Ws(s),h.position=o,h.items=[],n=h,i.push(h),e.delete(s.label)):(n=new y(this.options,s),n.position=o,i.push(n)),o++}else if("OPTION"===t.tagName){const s=t,e=`${s.value}::${s.text}`,r=h.get(e);if(r)r.Ws(s),r.position=o,s.__parentGroup&&n?(n.si(r),r.group=n):(r.group=null,i.push(r)),h.delete(e);else{const t=new w(this.options,s);t.position=o,s.__parentGroup&&n?(n.si(t),t.group=n):i.push(t)}o++}});let r=!0;0==this.Mi&&(r=!1),this.Mi=o,e.forEach(t=>{r=!1,t.destroy()}),h.forEach(t=>{r=!1,t.destroy()}),this.yi=i,this.wi&&this.wi.Ii(this.yi),this.refresh(r)}es(t){this.wi&&(this.wi.Fi=t)}refresh(t){this.xi&&(this.xi.refresh(t),this.update())}destroy(){this.is(o.DESTROYED)||(this.wi.destroy(),this.xi.destroy(),this.yi=[],this.Oi=null,this.wi=null,this.Hi=null,this.xi=null,this.options=null,this.Mi=0,super.destroy())}Jt(){return{ji:this.yi,Xt:this.wi,Vt:this.xi}}Ei(t){return this.wi?.$i(t)}Vi(t){return this.wi?.ki(t)}}class x extends r{constructor(t=null){super(),this.Ri=null,this.Xt=null,this.Ri=t,this.init()}Ci(t){this.Xt=t,t.gs("items",()=>{this.clear()}),t.ds("items",()=>{this.Di()}),t.mount(),this.mount(),this.Di()}clear(){this.Ri&&this.Ri.replaceChildren()}Di(){this.Xt&&this.Ri&&(this.Xt.zi(this.Ri),this.update())}refresh(t){this.Di()}destroy(){this.is(o.DESTROYED)||(this.Ri=null,this.Xt=null,super.destroy())}}class M extends r{constructor(t=null){super(),this.gt=null,this.node=null,this.options=null,this._i=null,this.Bi=null,this.Nt=null,this.Ui=[],t&&this.initialize(t)}initialize(t){this.options=t,this.init()}init(){this.state===o.NEW&&(this.gt=e.C({Ni:{tag:{node:"div",classList:["seui-accessorybox","hide"],onmouseup:t=>{t.stopPropagation()}}}}),this.node=this.gt.view,super.init())}Gi(t){this._i=t,this.Bi=t.parentElement,this.Wi(),this.mount()}mount(){this.is(o.INITIALIZED)&&super.mount()}Wi(){this.Bi&&this.node&&this._i&&this.options&&this.Bi.insertBefore(this.node,"top"===this.options.accessoryStyle?this._i:this._i.nextSibling)}qi(t){this.Nt=t}Ki(t){this.node&&this.options&&(this.node.replaceChildren(),t.length>0&&this.options.multiple?t.forEach(t=>{e.C({Qi:{tag:{node:"div",classList:["accessory-item"]},L:{Yi:{tag:{node:"span",classList:["accessory-item-button"],role:"button",ariaLabel:`${this.options.textAccessoryDeselect}${t.textContent}`,title:`${this.options.textAccessoryDeselect}${t.textContent}`,onclick:async s=>{s.preventDefault(),await(this.Nt?.Ei?.("select")),t.selected=!1}}},Ji:{tag:{node:"span",classList:["accessory-item-content"],innerHTML:t.text}}}}},this.node)}):t=[],this.Ui=t,this.Xi(),this.update(),h.ht(window,"resize"))}update(){this.state===o.MOUNTED&&super.update()}Xi(){this.options?.accessoryVisible&&this.Ui.length>0&&this.options.multiple?this.show():this.hide()}show(){this.node?.classList.remove("hide")}hide(){this.node?.classList.add("hide")}destroy(){this.state!==o.DESTROYED&&(this.node?.remove(),this.gt=null,this.node=null,this.options=null,this._i=null,this.Bi=null,this.Nt=null,this.Ui=[],super.destroy())}}class T extends r{constructor(t,s,i){super(),this.Zi=null,this.te=null,this.se=null,this.ie=null,this.ee={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,he:"",Ss:!1},this.initialize(t,s,i)}initialize(t,s,i){this.select=t,this.Nt=s,this.ie=i,this.init()}ne(){return!!this.Zi}async oe(t){if(!this.Zi)return{Ls:!1,items:[],message:"Ajax not configured"};const s=Array.isArray(t)?t:[t];if(0===s.length)return{Ls:!0,items:[]};try{const t=this.Zi;let i,e;if(i="function"==typeof t.re?t.re(s):{values:s.join(","),le:"1",..."function"==typeof t.data?t.data.bind(this.ie.ae.find(this.ie.container.targetElement))("",0):t.data??{}},"POST"===(t.method??"GET")){const s=new URLSearchParams;Object.keys(i).forEach(t=>s.append(t,i[t]+"")),e=await fetch(t.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"}})}else{const s=""+new URLSearchParams(i);e=await fetch(`${t.url}?${s}`)}if(!e.ok)throw Error("HTTP error! status: "+e.status);const h=await e.json(),n=this.ue(h);return this.update(),{Ls:!0,items:n.items}}catch(i){return console.error("Load by values error:",i),{Ls:!1,message:i?.message,items:[]}}}ce(t){const s=Array.from(this.select.options).map(t=>t.value);return{de:t.filter(t=>s.includes(t)),pe:t.filter(t=>!s.includes(t))}}ge(t){this.Zi=t}setPopup(t){this.se=t}Hs(){return{...this.ee}}fe(){this.ee={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,he:"",Ss:this.ee.Ss}}clear(){this.ee.he="";const{ji:t}=this.Nt.Jt(),s=[];for(const i of t)i instanceof w?s.push(i):i instanceof y&&Array.isArray(i.items)&&s.push(...i.items);s.forEach(t=>{t.visible=!0})}async search(t,s=!1){return this.Zi?this.me(t,s):this.be(t)}async Cs(){return this.Zi?this.ee.Ps?{Ls:!1,message:"Already loading"}:this.ee.Ss?this.ee.hasMore?(this.ee.currentPage++,this.me(this.ee.he,!0)):{Ls:!1,message:"No more data"}:{Ls:!1,message:"Pagination not enabled"}:{Ls:!1,message:"Ajax not enabled"}}async be(t){this.ye(t)&&(this.ee.he=t);const s=((t??"")+"").toLowerCase(),i=e.W(s),{ji:h}=this.Nt.Jt(),n=[];for(const e of h)e instanceof w?n.push(e):e instanceof y&&Array.isArray(e.items)&&n.push(...e.items);let o=!1;return n.forEach(t=>{const e=""===s||t.li.includes(i);t.visible=e,e&&(o=!0)}),this.update(),{Ls:!0,we:o,isEmpty:0===n.length}}ye(t){return t!==this.ee.he}async me(t,s=!1){const i=this.Zi;this.ye(t)&&(this.fe(),this.ee.he=t,s=!1),this.ee.Ps=!0,this.se?.ss(),this.te?.abort(),this.te=new AbortController;const e=this.ee.currentPage,h=Array.from(this.select.selectedOptions).map(t=>t.value).join(",");let n;if("function"==typeof i.data){const s=this.ie?.ae?.find(this.ie?.container?.targetElement);n=i.data.call(s,t,e),n&&void 0===n.selectedValue&&(n.selectedValue=h)}else n={search:t,page:e,selectedValue:h,...i.data??{}};try{let t;if("POST"===(i.method??"GET")){const s=new URLSearchParams;Object.keys(n).forEach(t=>s.append(t,n[t]+"")),t=await fetch(i.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:this.te.signal})}else{const s=""+new URLSearchParams(n);t=await fetch(`${i.url}?${s}`,{signal:this.te.signal})}const e=await t.json(),h=this.ue(e);return h.ve?(this.ee.Ss=!0,this.ee.currentPage=h.page,this.ee.totalPages=h.totalPages,this.ee.hasMore=h.hasMore):this.ee.Ss=!1,this.xe(h.items,!!i.keepSelected,s),this.ee.Ps=!1,this.se?.ls(),this.update(),{Ls:!0,we:h.items.length>0,isEmpty:0===h.items.length,ve:h.ve,hasMore:h.hasMore,currentPage:h.page,totalPages:h.totalPages}}catch(o){return this.ee.Ps=!1,this.se?.ls(),"AbortError"===o?.name?{Ls:!1,message:"Request aborted"}:(console.error("Ajax search error:",o),{Ls:!1,message:o?.message})}}ue(t){let s=[],i=!1,e=0,h=1,n=!1;return t.object&&Array.isArray(t.object)?(s=t.object,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=e<h-1)):t.data&&Array.isArray(t.data)?(s=t.data,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=t.hasMore??e<h-1)):Array.isArray(t)?s=t:t.items&&Array.isArray(t.items)&&(s=t.items,t.pagination&&(i=!0,e=parseInt(t.pagination.page??0,10),h=parseInt(t.pagination.totalPages??t.pagination.total_page??1,10),n=t.pagination.hasMore??e<h-1)),{items:s.map(t=>{if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)return t;if("optgroup"===t.type||t.Me||t.group||t.label)return{type:"optgroup",label:t.label??t.name??t.title??"",data:t.data??{},options:(t.options??t.items??[]).map(t=>({value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:t.data??(t.imgsrc?{imgsrc:t.imgsrc}:{})}))};const s=t.data??{};return t?.imgsrc&&(s.imgsrc=t.imgsrc),{type:"option",value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:s}}),ve:i,page:e,totalPages:h,hasMore:n}}xe(t,s,i=!1){const e=this.select;let h=[];s&&(h=Array.from(e.selectedOptions).map(t=>t.value)),i||(e.innerHTML=""),t.forEach(t=>{if("option"!==t.type&&t.type||""!==t.value||""!==t.text)if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)e.appendChild(t);else if("optgroup"===t.type){const i=document.createElement("optgroup");i.label=t.label,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),Array.isArray(t.options)&&t.options.forEach(t=>{const e=document.createElement("option");e.value=t.value,e.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{e.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(e.value))&&(e.selected=!0),i.appendChild(e)}),e.appendChild(i)}else{const i=document.createElement("option");i.value=t.value,i.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(i.value))&&(i.selected=!0),e.appendChild(i)}})}destroy(){this.is(o.DESTROYED)||(this.select=null,this.Nt=null,this.Zi=null,this.te=null,this.se=null,this.ie=null,super.destroy())}}class O{constructor(t){this.Te=null,this.Oe=50,this.select=t,this.Ae=new MutationObserver(()=>{clearTimeout(this.Te),this.Te=setTimeout(()=>{this.He()},this.Oe)})}He(){this.Pt(this.select)}connect(){this.Ae.observe(this.select,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["selected","value","disabled"]})}Pt(t){}disconnect(){this.Te&&clearTimeout(this.Te),this.Te=null,this.Ae.disconnect()}}class A{constructor(t){this.Te=null,this.element=t,this.Ae=new MutationObserver(t=>{let s=!1;for(const i of t)if("attributes"===i.type&&i.attributeName?.startsWith("data-")){s=!0;break}s&&(this.Te&&clearTimeout(this.Te),this.Te=setTimeout(()=>{this.Pt({...this.element.dataset})},50))}),t.addEventListener("dataset:changed",()=>{this.Pt({...this.element.dataset})})}connect(){this.Ae.observe(this.element,{attributes:!0,attributeOldValue:!0})}Pt(t){}disconnect(){this.Te&&clearTimeout(this.Te),this.Te=null,this.Ae.disconnect()}}class H extends r{constructor(t=[]){super(),this.items=[],this.Se=e.m(12),this.Fi=!1,this.items=t,this.init()}Pe(t,s,i){const e=s;t.Tt?e?.update?.():e?.mount?.()}gs(t,s){e.J.on(`${t}ing_${this.Se}`,s,{tt:0})}ds(t,s){e.J.on(`${t}_${this.Se}`,s,{tt:0})}ki(t,...s){return e.J.run(`${t}_${this.Se}`,...s)}$i(t,...s){return e.J.run(`${t}ing_${this.Se}`,...s)}Ce(t,s){return null}Le(){return this.items.length}async Ie(t){await this.$i("items",t),this.items=t,await this.ki("items",t),this.update()}async Pi(t){await this.Ie(t)}zi(t){for(let s=0;s<this.Le();s++){const i=this.items[s];let e=i.view;i.Tt||(e=this.Ce(t,i),i.view=e),this.Pe(i,e,s),i.Tt=!0}}Ii(t){}destroy(){this.is(o.DESTROYED)||(this.Vt=null,this.items.forEach(t=>{t?.destroy?.()}),this.items=[])}}class S extends r{constructor(t){super(),this.parent=null,this.view=null,this.parent=t,this.init()}ci(){if(!this.view?.view)throw Error("View is not mounted. Did you forget to set this.view?");return this.view.view}destroy(){this.is(o.DESTROYED)||(this.ci()?.remove?.(),this.parent=null,this.view=null,super.destroy())}}class P extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.options=s}mount(){const t=e.m(7);this.view=e.C({Fe:{tag:{node:"div",classList:["seui-group"],role:"group",O:`seui-${this.options?.je||"default"}-${t}-header`,id:`seui-${this.options?.je||"default"}-${t}-group`},L:{Ee:{tag:{node:"div",classList:["seui-group-header"],role:"presentation",id:`seui-${this.options?.je||"default"}-${t}-header`}},$e:{tag:{node:"div",classList:["seui-group-items"],role:"group"}}}}}),this.parent.appendChild(this.view.view),super.mount()}update(){this.Js(),super.update()}Js(t=null){this.view&&null!==t&&(this.view.tags.Ee.textContent=t)}Ve(){if(!this.view)throw Error("GroupView has not been rendered.");return this.view.tags.$e}ii(){if(!this.view)return;const t=Array.from(this.view.tags.$e.children).filter(t=>!t.classList.contains("hide"));this.view.view.classList.toggle("hide",0===t.length)}Xs(t){this.view&&(this.view.view.classList.toggle("collapsed",t),this.view.tags.Ee.setAttribute("aria-expanded",t?"false":"true"))}}class C extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.config=null,this.ke=null,this.Re=!1,this.options=s,this.initialize()}initialize(){const t=this;this.config={isMultiple:!1,hasImage:!1,imagePosition:"right",imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",labelValign:"center",labelHalign:"left"},this.ke=new Proxy(this.config,{set(s,i,e){if("string"!=typeof i)return!0;const h=i,n=s[h];return n!==e&&(s[h]=e,t.Re&&t.De(h,e,n)),!0}}),this.init()}get isMultiple(){return this.config.isMultiple}set isMultiple(t){this.ke.isMultiple=!!t}get hasImage(){return this.config.hasImage}set hasImage(t){this.ke.hasImage=!!t}get ze(){return this.ke}set ze(t){if(!t||!this.ke||!this.config)return;const s={};void 0!==t.imageWidth&&t.imageWidth!==this.config.imageWidth&&(s.imageWidth=t.imageWidth),void 0!==t.imageHeight&&t.imageHeight!==this.config.imageHeight&&(s.imageHeight=t.imageHeight),void 0!==t.imageBorderRadius&&t.imageBorderRadius!==this.config.imageBorderRadius&&(s.imageBorderRadius=t.imageBorderRadius),void 0!==t.imagePosition&&t.imagePosition!==this.config.imagePosition&&(s.imagePosition=t.imagePosition),void 0!==t.labelValign&&t.labelValign!==this.config.labelValign&&(s.labelValign=t.labelValign),void 0!==t.labelHalign&&t.labelHalign!==this.config.labelHalign&&(s.labelHalign=t.labelHalign),Object.keys(s).length>0&&Object.assign(this.ke,s)}mount(){const t=["seui-option-view"],s=e.m(7),i=`option_${this.options?.je??"default"}_${s}`;this.config.isMultiple&&t.push("multiple"),this.config.hasImage&&t.push("has-image","image-"+this.config.imagePosition);const h={di:{tag:{node:"input",type:this.config.isMultiple?"checkbox":"radio",classList:"allow-choice",id:i}},...this.config.hasImage&&{bi:{tag:{node:"img",classList:"option-image",style:{width:this.config.imageWidth,height:this.config.imageHeight,borderRadius:this.config.imageBorderRadius}}}},_e:{tag:{node:"label",htmlFor:i,classList:["align-vertical-"+this.config.labelValign,"align-horizontal-"+this.config.labelHalign]},L:{mi:{tag:{node:"div"}}}}};this.view=e.C({Be:{tag:{node:"div",id:`seui-${this.options?.je??"default"}-${s}-option`,classList:t,role:"option",ariaSelected:"false",tabIndex:"-1"},L:h}}),this.parent.appendChild(this.view.view),this.Re=!0,super.mount()}De(t,s,i){const e=this.view;if(!e||!e.view)return;const h=e.view,n=e.tags?.di,o=e.tags?._e;switch(t){case"isMultiple":{const t=!!s;h.classList.toggle("multiple",t),n&&n.type!==(t?"checkbox":"radio")&&(n.type=t?"checkbox":"radio");break}case"hasImage":{const t=!!s;if(h.classList.toggle("has-image",t),t)h.classList.add("image-"+this.config.imagePosition),this.Ue();else{h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim();const t=e.tags?.bi;t?.remove(),e.tags.bi=null}break}case"imagePosition":this.config.hasImage&&(h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim(),h.classList.add("image-"+s));break;case"imageWidth":case"imageHeight":case"imageBorderRadius":{const i=e.tags?.bi;i&&(i.style["imageWidth"===t?"width":"imageHeight"===t?"height":"borderRadius"]=s+"");break}case"labelValign":case"labelHalign":o&&(o.className=`align-vertical-${this.config.labelValign} align-horizontal-`+this.config.labelHalign)}}Ue(){const t=this.view;if(!t||!t.view)return;if(t.tags?.bi)return;const s=t.view,i=t.tags?._e,e=document.createElement("img");e.className="option-image",e.style.width=this.config.imageWidth,e.style.height=this.config.imageHeight,e.style.borderRadius=this.config.imageBorderRadius,i?.parentElement?s.insertBefore(e,i):s.appendChild(e),t.tags.bi=e}}class L extends H{constructor(t=[]){super(t),this.isMultiple=!1,this.options=null,this.Ne=[],this.Ge=-1,this.We=null,this.groups=[],this.qe=[],this.Ke()}init(){e.J.on("sche_vis_"+this.Se,()=>{const t=this.qe.filter(t=>t.visible).length,s=this.qe.length;this.Ne.forEach(i=>{i({Qe:t,Ye:s,hs:t>0,isEmpty:0===s})}),e.J.run("sche_vis_proxy_"+this.Se)},{tt:10}),super.init(),this.mount()}Ke(){this.qe=[],this.groups=[],this.items.forEach(t=>{t instanceof y?(this.groups.push(t),this.qe.push(...t.items)):t instanceof w&&this.qe.push(t)})}Ce(t,s){return s instanceof y?new P(t,this.options):new C(t,this.options)}Pe(t,s,i){t.position=i,t instanceof y?this.Je(t,s,i):t instanceof w&&this.Xe(t,s,i),t.Tt=!0}Je(t,s,i){super.Pe(t,s,i),t.view=s;const e=s.view.tags.Ee;e.textContent=t.label,t.Tt||(e.style.cursor="pointer",e.addEventListener("click",()=>{t.ti()}),t.Zs((t,s,i)=>{s.items.forEach(t=>{const s=t.view?.ci?.();s&&(s.style.display=i?"none":"")}),this.Ze(s,i)}));const h=s.Ve();t.items.forEach((t,s)=>{let i=t.view;t.Tt&&i||(i=new C(h,this.options)),this.Xe(t,i,s),t.Tt=!0}),s.Xs(t.collapsed),s.ii()}Xe(t,s,i){if(s.isMultiple=this.isMultiple,s.hasImage=t.hasImage,s.ze={imageWidth:t.options.imageWidth,imageHeight:t.options.imageHeight,imageBorderRadius:t.options.imageBorderRadius,imagePosition:t.options.imagePosition,labelValign:t.options.labelValign,labelHalign:t.options.labelHalign},t.Tt||super.Pe(t,s,i),t.view=s,t.hasImage){const i=s.view.tags.bi;i&&(i.src!==t.ai&&(i.src=t.ai),i.alt!==t.text&&(i.alt=t.text))}s.view.tags.mi.innerHTML=t.text,t.Tt||(s.view.tags.Be.addEventListener("click",async s=>{s.stopPropagation(),s.preventDefault(),this.Fi||(this.isMultiple?(await this.$i("select"),t.selected=!t.selected):!0!==t.selected&&(await this.$i("select"),this.We&&(this.We.selected=!1),t.selected=!0))}),s.view.tags.Be.title=t.textContent,s.view.tags.Be.addEventListener("mouseenter",()=>{this.Fi||this.th(this.qe.indexOf(t),!1)}),t.gi(()=>{this.ki("selected")}),t.fi((s,i,e)=>{e&&(this.We=t),this.ki("selected_internal")}),t.cs((t,s)=>{s.group?.ii(),this.sh()})),t.selected&&(this.We=t,t.ui=!0)}async Ie(t){await this.$i("items",t),this.items=t,this.Ke(),await this.ki("items",t),this.update()}async Pi(t){await this.Ie(t)}Ii(t){this.items=t,this.Ke(),this.update()}destroy(){this.is(o.DESTROYED)||(e.J.clear("sche_vis_"+this.Se),this.groups.forEach(t=>{t.destroy()}),this.Ne=[],this.Ge=-1,this.We=null,this.groups=[],this.qe=[],super.destroy())}ih(){return this.qe.filter(t=>t.selected)}eh(){return this.qe.find(t=>t.selected)}Zt(t){this.isMultiple&&this.qe.forEach(s=>{s.selected=t})}cs(t){this.Ne.push(t)}sh(){e.J.run("sche_vis_"+this.Se)}ns(){const t=this.qe.filter(t=>t.visible).length,s=this.qe.length;return{Qe:t,Ye:s,hs:t>0,isEmpty:0===s}}hh(){this.th(0)}navigate(t,s=!0){const i=this.qe.filter(t=>t.visible);if(0===i.length)return;let e=i.findIndex(t=>t===this.qe[this.Ge]);-1===e&&(e=-1);let h=e+t;h>=i.length&&(h=0),h<0&&(h=i.length-1);const n=this.qe.indexOf(i[h]);this.th(n,s)}nh(){if(this.Ge>-1&&this.qe[this.Ge]){const t=this.qe[this.Ge];if(t.visible){const s=t.view?.ci?.();s&&s.click()}}}th(t,s=!0){let i=0;if("number"==typeof t)i=t;else if(t instanceof w){const s=this.qe.indexOf(t);i=s>-1?s:0}else i=0;this.Ge>-1&&this.qe[this.Ge]&&(this.qe[this.Ge].pi=!1);for(let e=i;e<this.qe.length;e++){const t=this.qe[e];if(t?.visible){if(t.pi=!0,this.Ge=e,s){const s=t.view?.ci?.();s?s.scrollIntoView({block:"center",behavior:"smooth"}):this.Vt?.oh?.(e,{scrollIntoView:!0})}return void this.rh(e,t.view?.ci?.()?.id)}}}rh(t,s){}Ze(t,s){}}class I extends r{constructor(t=0){super(),this.ah=[],this.uh=0,this.initialize(t)}initialize(t){this.init(),this.reset(t)}reset(t){this.uh=t,this.ah=Array(t+1).fill(0)}add(t,s){for(let i=t;i<=this.uh;i+=i&-i)this.ah[i]+=s}dh(t){let s=0;for(let i=t;i>0;i-=i&-i)s+=this.ah[i];return s}ph(t,s){return s<t?0:this.dh(s)-this.dh(t-1)}gh(t){this.reset(t.length),t.forEach((t,s)=>this.add(s+1,t))}fh(t){let s=0,i=1;for(;i<<1<=this.uh;)i<<=1;let e=0;for(let h=i;0!==h;h>>=1){const i=s+h;i<=this.uh&&e+this.ah[i]<=t&&(s=i,e+=this.ah[i])}return s}}class F extends x{constructor(t=null){super(t),this.mh={Yt:void 0,_t:36,Bt:8,Ut:!0,bh:!0},this.yh=[],this.wh=new I(0),this.xh=new Map,this.Mh=!1,this.start=0,this.end=-1,this.Th=null,this.Oh=null,this.updating=!1,this.Ah=!1,this.Hh=0,this.Sh=!1,this.Ph=!1,this.Ch=0,this.Lh=0,this.Ih=0,this.Fh=0}configure(t){this.mh={...this.mh,...t}}Ci(t){if(this.Xt&&this.dispose(),super.Ci(t),t.Vt=this,!this.Ri)return;this.Ri.replaceChildren();const s=e.C({jh:{tag:{node:"div",classList:"seui-virtual-pad-top"}},Eh:{tag:{node:"div",classList:"seui-virtual-items"}},$h:{tag:{node:"div",classList:"seui-virtual-pad-bottom"}}},this.Ri);if(this.jh=s.jh,this.Eh=s.Eh,this.$h=s.$h,this.Yt=this.mh.Yt??this.Ri.closest(".seui-popup")??this.Ri.parentElement,!this.Yt)throw Error("VirtualRecyclerView: scrollEl not found");this.Vh=this.kh.bind(this),this.Yt.addEventListener("scroll",this.Vh,{passive:!0}),this.refresh(!1),this.Rh(),t?.cs?.(()=>this.Dh())}suspend(){this.Sh=!0,this.zh(),this.Yt&&this.Vh&&this.Yt.removeEventListener("scroll",this.Vh),this._h&&(this._h.disconnect(),this.Ph=!0)}resume(){this.Sh=!1,this.Yt&&this.Vh&&this.Yt.addEventListener("scroll",this.Vh,{passive:!0}),this.Ph&&(this.Rh(),this.Ph=!1),this.Bh()}refresh(t){if(!this.Xt||!this.Ri)return;t||this.Dh();const s=this.Xt.Le();if(this.Hh=s,0===s)return this.Uh(),void this.update();this.yh.length=s,this.Mh||(this.Nh(),this.Mh=!0),this.Gh(s),this.Bh(),this.update()}oh(t,s){this.Wh(t,t),s?.scrollIntoView&&this.qh(t)}qh(t){if((this.Xt?.Le?.()??0)<=0)return;const s=this.Kh(t),i=this.Qh()+s,e=Math.max(0,this.Yt.scrollHeight-this.Yt.clientHeight);this.Yt.scrollTop=Math.min(Math.max(0,i),e)}dispose(){this.zh(),this.Yt&&this.Vh&&this.Yt.removeEventListener("scroll",this.Vh),this._h?.disconnect(),this.xh.forEach(t=>t.remove()),this.xh.clear()}destroy(){this.is(o.DESTROYED)||(this.Uh(),this.dispose(),this.jh.remove(),this.Eh.remove(),this.$h.remove(),this.jh=null,this.Eh=null,this.$h=null,super.destroy())}Dh(){if(!this.Xt)return;const t=this.Xt.Le();t<=0||(this.suspend(),this.Uh(),this.Yh(),this.Jh(t),this.Gh(t),this.start=0,this.end=-1,this.resume())}zh(){null!=this.Th&&(cancelAnimationFrame(this.Th),this.Th=null),null!=this.Oh&&(cancelAnimationFrame(this.Oh),this.Oh=null)}Uh(){this.xh.forEach(t=>t.remove()),this.xh.clear(),this.yh=[],this.wh.reset(0),this.jh.style.height="0px",this.$h.style.height="0px",this.Mh=!1,this.Ih=0,this.Fh=0}Nh(){this.Xh(0);const t=this.xh.get(0);if(!t)return;const s=this.Zh(t);if(isNaN(s)||(this.mh._t=s),!this.mh.Ut){t.remove(),this.xh.delete(0);const s=this.Xt.items[0];s&&(s.Tt=!1,s.view=null)}}tn(t){const s=this.Xt?.items?.[t];return s?.visible??!0}sn(t,s){for(let i=Math.max(0,t);i<s;i++)if(this.tn(i))return i;return-1}Jh(t){this.Ih=0,this.Fh=0;for(let s=0;s<t;s++){if(!this.tn(s))continue;const t=this.yh[s];null!=t&&(this.Ih+=t,this.Fh++)}}Qh(){const t=this.Ri.getBoundingClientRect(),s=this.Yt.getBoundingClientRect();return Math.max(0,t.top-s.top+this.Yt.scrollTop)}en(){const t=performance.now();if(t-this.Ch<16)return this.Lh;const s=this.Yt.querySelector(".seui-option-handle:not(.hide)");return this.Lh=s?.offsetHeight??0,this.Ch=t,this.Lh}Bh(){null!=this.Th||this.Sh||(this.Th=requestAnimationFrame(()=>{this.Th=null,this.hn()}))}Zh(t){const s=t.getBoundingClientRect(),i=getComputedStyle(t);return Math.max(1,s.height+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0))}nn(){return this.mh.bh&&this.Fh>0?Math.max(1,this.Ih/this.Fh):this.mh._t}Gh(t){const s=this.nn(),i=Array.from({length:t},(t,i)=>this.tn(i)?this.yh[i]??s:0);this.wh.gh(i)}rn(t,s){if(!this.tn(t))return!1;const i=this.nn(),e=this.yh[t]??i;if(Math.abs(s-e)<=F.ln)return!1;const h=this.yh[t];return null==h?(this.Ih+=s,this.Fh++):this.Ih+=s-h,this.yh[t]=s,this.wh.add(t+1,s-e),!0}an(t,s){const i=this.wh.fh(Math.max(0,t)),e=Math.min(s-1,i),h=this.sn(e,s);return-1===h?Math.max(0,e):h}un(t,s){s.setAttribute(F.cn,t+"");const i=this.xh.get(t-1);if(i?.parentElement===this.Eh)return void i.after(s);const e=this.xh.get(t+1);if(e?.parentElement===this.Eh)return void this.Eh.insertBefore(s,e);const h=Array.from(this.Eh.children);for(const n of h){const i=n.getAttribute(F.cn);if(i&&+i>t)return void this.Eh.insertBefore(s,n)}this.Eh.appendChild(s)}dn(t,s){if(s.parentElement!==this.Eh)return void this.un(t,s);s.setAttribute(F.cn,t+"");const i=s.previousElementSibling,e=s.nextElementSibling;(i&&+i.getAttribute(F.cn)>t||e&&+e.getAttribute(F.cn)<t)&&(s.remove(),this.un(t,s))}Rh(){this._h||(this._h=new ResizeObserver(()=>{this.Ah||this.Sh||!this.Xt||null!=this.Oh||(this.Oh=requestAnimationFrame(()=>{this.Oh=null,this.pn()}))}),this._h.observe(this.Eh))}pn(){if(!this.Xt)return;const t=this.Xt.Le();if(t<=0)return;let s=!1;for(let i=this.start;i<=this.end;i++){if(!this.tn(i))continue;const t=this.Xt.items[i],e=t?.view?.ci?.();if(!e)continue;const h=this.Zh(e);this.rn(i,h)&&(s=!0)}s&&(this.mh.bh&&this.Gh(t),this.Bh())}kh(){this.Bh()}hn(){if(!this.updating&&!this.Sh){this.updating=!0;try{if(!this.Xt)return;const t=this.Xt.Le();if(t<=0)return;this.Hh!==t&&(this.Hh=t,this.yh.length=t,this.Gh(t));const s=this.Qh(),i=Math.max(0,this.Yt.scrollTop-s),e=this.en(),h=Math.max(0,this.Yt.clientHeight-e),n=this.an(i,t),o=this.Kh(n),r=s+o-this.Yt.scrollTop,l=this.an(i,t);if(-1===l)return void this.Uh();const a=this.nn(),u=this.mh.Bt*a;let c=this.sn(Math.min(t-1,this.wh.fh(Math.max(0,i-u))),t)??l,d=Math.min(t-1,this.wh.fh(i+h+u));if(c===this.start&&d===this.end)return;this.start=c,this.end=d,this.Ah=!0;try{this.Wh(this.start,this.end),this.gn(this.start,this.end),this.mh.Ut&&this.pn();const s=this.Kh(this.start),i=this.fn(this.start,this.end),e=this.mn(t),h=Math.max(0,e-s-i);this.jh.style.height=s+"px",this.$h.style.height=h+"px"}finally{this.Ah=!1}const p=this.Kh(n),g=this.Qh()+p-r,f=Math.max(0,this.Yt.scrollHeight-this.Yt.clientHeight),m=Math.min(Math.max(0,g),f),b=Math.abs(p-o)>1,y=Math.abs(this.Yt.scrollTop-m);b&&y>.5&&y<100&&(this.Yt.scrollTop=m)}finally{this.updating=!1}}}Wh(t,s){for(let i=t;i<=s;i++)this.Xh(i)}Xh(t){if(!this.tn(t)){const s=this.xh.get(t);return s?.parentElement===this.Eh&&s.remove(),void this.xh.delete(t)}const s=this.Xt.items[t];if(!s)return;const i=this.xh.get(t);if(i)return void(s?.view?(this.dn(t,i),this.Xt.Pe(s,s.view,t)):(i.remove(),this.xh.delete(t)));if(s.Tt)s.view&&this.Xt.Pe(s,s.view,t);else{const i=this.Xt.Ce(this.Eh,s);s.view=i,this.Xt.Pe(s,i,t),s.Tt=!0}const e=s.view?.ci?.();e&&(this.dn(t,e),this.xh.set(t,e))}gn(t,s){this.xh.forEach((i,e)=>{(e<t||e>s)&&(i.parentElement===this.Eh&&i.remove(),this.xh.delete(e))})}Yh(){this.xh.forEach((t,s)=>{this.tn(s)||(t.parentElement===this.Eh&&t.remove(),this.xh.delete(s))})}Kh(t){return this.wh.dh(t)}fn(t,s){return this.wh.ph(t+1,s+1)}mn(t){return this.wh.dh(t)}}F.ln=.5,F.cn="data-vindex";class j extends r{constructor(t,s){super(),this.container={},this.oldValue=null,this.node=null,this.options=null,this.bn=null,this.isOpen=!1,this.yn=!1,this.wn=!1,this.vn=!1,this.ae=null,this.plugins=[],this.xn=null,t&&s&&this.initialize(t,s)}get isDisabled(){return!!this.options?.disabled}set isDisabled(t){this.options&&this.node&&(this.options.disabled=t,this.node.classList.toggle("disabled",t),this.node.setAttribute("aria-disabled",t+""),this.container.tags?.Os?.setAttribute("aria-disabled",t+""))}get Mn(){return!!this.options?.readonly}set Mn(t){this.options&&this.node&&(this.options.readonly=t,this.node.classList.toggle("readonly",t))}get isVisible(){return!!this.options?.visible}set isVisible(t){this.options&&this.node&&(this.options.visible=t,this.node.classList.toggle("invisible",!t))}initialize(t,s){const i=e.V(t);this.options=i.options,this.ae=s,this.init(t)}init(t){if(this.state!==o.NEW)return;if(!t||!this.options)return;const i=this.options,h=new l(i),n=new a,r=new f(i),effector=s(),u=new v(i),c=new M(i),d=new T(t,u,this),p=new O(t),m=new A(t);h.node&&(h.node.id=(i.Tn??"")+"");const b=e.C({On:{tag:{node:"div",classList:"seui-MAIN"},L:{Os:{tag:{node:"div",classList:"seui-view",tabIndex:0,onkeydown:t=>{"Enter"!==t.key&&" "!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.An()?.open())}},L:{Hn:{tag:h.node},Sn:{tag:n.node},Rs:{tag:r.node}}}}}},null);this.container=b,this.node=b.view,b.Pn=d,b.placeholder=h,b.Cn=n,b.Ln=r,b.effector=effector,b.targetElement=t,b.In=c,b.Fn=p,b.jn=m,u.Ti(L),u.Ai(i.virtualScroll?F:x),u.Si(e.q(t)),u.on("onUpdate",()=>{b.se?.rs?.()}),this.bn=u;const y=new g(t,i,u);if(b.se=y,y.bs(effector),y.As(d,i),y.fs("selected",()=>{this.An()?.change(null,!0)}),y.fs("selected_internal",()=>{this.An()?.change(null,!1)}),y.ps("select",()=>{this.oldValue=this.An()?.value??""}),c.Gi(b.tags.Os),c.qi(u),this.En(t,b,i,d,r),this.$n(p,m,t,u),this.plugins=this.ae?.Vn?.()??[],this.plugins.length){const t=u.Jt(),s={ie:this,options:i,Xt:t.Xt,kn:t.Vt,Rn:b.tags,actions:this.An()};this.xn=s,this.Dn("init",t=>t.init?.(s))}this.isDisabled=e.F(i.disabled),this.Mn=e.F(i.readonly),super.init()}mount(){if(this.state!==o.INITIALIZED)return;if(!this.node||!this.container.targetElement)return;const t=this.container.targetElement,s=this.container;t.parentNode?.insertBefore(this.node,t),this.node.insertBefore(t,s.tags.Os),s.tags.Os.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()}),n.ot(t,s.tags.Os),t.classList.add("init");const i=this.An();i?.change?.(null,!1),this.options.preload&&i?.load?.(),super.mount()}update(){this.state===o.MOUNTED&&(this.container.se?.rs?.(),super.update())}En(t,s,i,h,n){const o=s.se.Lt;let r=null;const l=(t,n)=>{n||""!==t?(""!==t&&(this.wn=!0),h.search(t).then(t=>{clearTimeout(r),e.J.clear("sche_vis_proxy_"+o.Se),e.J.on("sche_vis_proxy_"+o.Se,()=>{s.se?.rs?.(),t?.we&&(r=setTimeout(()=>{o.hh(),s.se?.rs?.()},i.animationtime??0))},{tt:10})}).catch(t=>{console.error("Search error:",t)})):h.clear()};let a=null;n.Es=(t,e)=>{h.ye(t)&&(a&&clearTimeout(a),h.ne()?(s.se?.ss?.(),a=setTimeout(()=>{l(t,e)},i.delaysearchtime??0)):a=setTimeout(()=>{l(t,e)},10))},h.setPopup(s.se),n.$s=t=>{o.navigate(t)},n.Vs=()=>{o.nh()},n.ks=()=>{this.An()?.close(),s.tags.Os.focus()},o.rh=(t,s)=>{s&&n.zs(s)},o.Ze=()=>{s.se?.rs?.()},i.ajax&&(null==i.ajax?.keepSelected&&(i.ajax.keepSelected=i.keepSelected),h.ge(i.ajax))}$n(t,s,i,h){t.connect(),t.Pt=t=>{h.Li(e.q(t)),this.An()?.refreshMask()},s.connect(),s.Pt=t=>{e.F(t.disabled)!==this.isDisabled&&(this.isDisabled=e.F(t.disabled)),e.F(t.readonly)!==this.Mn&&(this.Mn=e.F(t.readonly)),e.F(t.visible)!==this.isVisible&&(this.isVisible=e.F(t.visible??"1"))}}zn(){if(this.vn)return;const t=this.container??{},{Fn:s,jn:i}=t;this.plugins.length&&this.Dn("destroy",t=>t.destroy?.()),this.plugins=[],this.xn=null,s?.disconnect&&s.disconnect(),i?.disconnect&&i.disconnect(),this.vn=!0}destroy(){if(this.is(o.DESTROYED))return;this.zn();const t=this.container;t.Pn.destroy(),t.Cn.destroy(),t.se.destroy(),t.In.destroy(),t.placeholder.destroy(),t.Ln.destroy(),this.bn.destroy(),this.node?.remove(),this.container={},this.node=null,this.options=null,this.bn=null,this.ae=null,this.oldValue=null,this.isOpen=!1,this.yn=!1,this.wn=!1,super.destroy()}An(){const t=this.container,s=this,i=()=>this.ae.find(t.targetElement),n=e.V(t.targetElement);if(!n)return null;const r=n.options,l={get targetElement(){return t.targetElement},get placeholder(){return t.placeholder.get()},set placeholder(s){t.placeholder?.set(s),t.Ln?.Ds(s)},get oldValue(){return s.oldValue},set value(t){this.setValue(null,t,!0)},get value(){const t=this.valueArray,s=t.length;return s>1?t:0===s?"":t[0]},get valueArray(){const t=[];return s._n().forEach(s=>{s.selected&&t.push(s.value)}),t},get valueString(){return this.valueArray.join(r.customDelimiter)},get valueOptions(){const t=[];return s._n(!0).forEach(s=>{t.push(s)}),t},get mask(){const t=[];return s._n(!0).forEach(s=>{t.push(s.text)}),t},get valueText(){const t=[];s._n(!0).forEach(s=>{t.push(s.text)});const i=t.length;return i>1?t:0===i?"":t[0]},get isOpen(){return s.isOpen},getParent:()=>t.view.parentElement,valueDataset(t,i=null,e=!1){var h=[];if(s._n(!0).forEach(t=>{h.push(i?t.dataset[i]:t.dataset)}),!e){if(0==h.length)return"";if(1==h.length)return h[0]}return h},selectAll(t,e=!0){if(!(r.multiple&&r.maxSelected>0&&s._n().length>r.maxSelected)&&!this.disabled&&!this.readonly&&r.multiple){if(e){if(h.et([i()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s._n().forEach(t=>{t.ui=!0}),this.change(!1,e)}},deSelectAll(t,e=!0){if(!this.disabled&&!this.readonly&&r.multiple){if(e){if(h.et([i()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s._n().forEach(t=>{t.ui=!1}),this.change(!1,e)}},setValue(e=null,n,o=!0,l=!1){if(Array.isArray(n)||(n=[n]),0===(n=n.filter(t=>""!==t&&null!=t)).length)return s._n().forEach(t=>t.ui=!1),void this.change(!1,o);if(r.multiple&&r.maxSelected>0&&n.length>r.maxSelected)console.warn(`Cannot select more than ${r.maxSelected} items`);else if(l||!this.disabled&&!this.readonly){if(t.Pn?.ne?.()){const{pe:i}=t.Pn.ce(n);if(i.length>0)return void(async()=>{r.loadingfield&&t.se?.ss?.();try{t.Pn.fe();const e=await t.Pn.oe(i);e.Ls&&e.items.length>0?(e.items.forEach(t=>{i.includes(t.value)&&(t.selected=!0)}),t.Pn.xe?.(e.items,!0,!0),setTimeout(()=>{s._n().forEach(t=>{t.ui=n.some(s=>s==t.value)}),this.change(!1,!1)},100)):i.length>0&&console.warn(`Could not load ${i.length} values:`,i)}catch(e){console.error("Error loading missing values:",e)}finally{r.loadingfield&&t.se?.ls?.()}})()}if(o){if(h.et([i()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s._n().forEach(t=>{t.ui=n.some(s=>s==t.value)}),!r.multiple&&n.length>0&&(t.targetElement.value=n[0]),this.change(!1,o)}},load(){s.yn&&!s.wn||!r?.ajax||(t.Pn.fe(),t.se.ss(),s.yn=!0,s.wn=!1,setTimeout(()=>{t.se&&t.Pn&&t.Pn.search("").then(()=>t.se?.rs?.()).catch(t=>console.error("Initial ajax load error:",t))},r.animationtime)),t.se.load()},open(){if(s.isOpen)return;const e=s.ae?.find?.();if(e&&!e.isEmpty&&e.close().isCancel)return;if(this.disabled)return;if(h.et([i()],...r.on.beforeShow).isCancel)return;s.isOpen=!0,t.Cn.dt(!0);const n=t.se.Lt,o=n.eh();o?n.th(o,!1):n.hh(),this.load(),t.se.open(null,!t.se.$t.isVisible),t.Ln.show();const l=t.tags.Os;l.setAttribute("aria-expanded","true"),l.setAttribute("aria-controls",r.qt),l.setAttribute("aria-haspopup","listbox"),l.setAttribute("aria-labelledby",r.Tn),r.multiple&&l.setAttribute("aria-multiselectable","true"),h.et([i()],...r.on.show),s.xn&&s.Dn("onOpen",t=>t.Bn?.(s.xn))},close(){s.isOpen&&(h.et([i()],...r.on.beforeClose).isCancel||(s.isOpen=!1,t.Cn.dt(!1),t.se.close(()=>{t.Ln.clear(!1)}),t.Ln.hide(),t.tags.Os.setAttribute("aria-expanded","false"),h.et([i()],...r.on.close),s.xn&&s.Dn("onClose",t=>t.Un?.(s.xn))))},toggle(){s.isOpen?this.close():this.open()},change(e=null,n=!0){if(n){if(r.multiple&&r.maxSelected>0&&this.valueArray.length>r.maxSelected&&this.setValue(null,this.oldValue,!1,!0),this.disabled||this.readonly)return void this.setValue(null,this.oldValue,!1,!0);if(h.et([i(),this.value],...r.on.beforeChange).isCancel)return void this.setValue(null,this.oldValue,!1)}if(this.refreshMask(),t.In.Ki(this.valueOptions),n&&(t.targetElement&&h.ht(t.targetElement,"change"),h.et([i(),this.value],...r.on.change),s.options?.autoclose&&this.close()),s.is(o.MOUNTED)&&s.update(),s.xn&&s.bn){const t=s.bn.Jt();s.Dn("onChange",i=>i.Nn?.(this.value,t.ji,t.Xt,s.xn))}},refreshMask(){let i=r.placeholder;!r.multiple&&s._n().length>0&&(i=this.mask[0]),i??(i=r.placeholder),t.placeholder.set(i,!1),t.Ln.Ds(i)},on(t,s,i){r.on[s]||(r.on[s]=[]),r.on[s].push(i)},ajax(i,e){null==e.keepSelected&&(e.keepSelected=s.options.keepSelected),t.Pn.ge(e)},loadAjax:()=>new Promise((e,h)=>{t.se.ss(),t.Pn.fe(),s.yn=!0,s.wn=!1,t.se&&t.Pn?t.Pn.search("").then(()=>{t.se?.rs?.(),e(i())}).catch(t=>{console.error("Initial ajax load error:",t),h(t)}):e(i())})};return this.Gn(l,"disabled","isDisabled"),this.Gn(l,"readonly","isReadOnly"),this.Gn(l,"visible","isVisible"),l}Gn(t,s,i){const e=this;Object.defineProperty(t,s,{get:()=>e[i],set(t){e[i]=!!t,e.container?.targetElement?.dataset&&(e.container.targetElement.dataset[s]=!!t+"")},enumerable:!0,configurable:!0})}_n(t=null){if(!this.bn)return[];const{ji:s}=this.bn.Jt(),i=[];for(const e of s)e instanceof w?i.push(e):e instanceof y&&Array.isArray(e.items)&&e.items.length&&i.push(...e.items);return"boolean"==typeof t?i.filter(s=>s.selected===t):i}Dn(t,s){this.plugins.length&&this.plugins.forEach(i=>{try{s(i)}catch(e){console.error(`Plugin "${i.id}" ${t} error:`,e)}})}}class E{constructor(){this.isActive=!1,this.Ae=null,this.actions=new Set}Wn(t){this.actions.add(t)}qn(){this.actions.clear()}connect(t){if(this.isActive)return;this.isActive=!0;const s=t.toUpperCase(),i=t.toLowerCase();this.Ae=new MutationObserver(t=>{for(const e of t)e.addedNodes.forEach(t=>{if(1!==t.nodeType)return;const e=t;e.tagName===s&&this.Kn(e),e.querySelectorAll(i).forEach(t=>this.Kn(t))})}),this.Ae.observe(document.body,{childList:!0,subtree:!0})}disconnect(){this.isActive&&(this.isActive=!1,this.Ae?.disconnect(),this.Ae=null)}Kn(t){for(const s of this.actions)s(t)}}class $ extends r{constructor(){super(),this.Qn=new Map,this.plugins=new Map,this.init()}init(){this.is(o.NEW)&&(this.Qn=new Map,this.plugins=new Map,super.init())}bind(t,s){this.is(o.NEW)&&this.init();const i=e.j(e.B(),s);i.on=i.on??{},i.on.load=i.on.load??[],this.Qn.set(t,i);const n=e.m();e.J.on(n,()=>{h.et([this.find(t)],...i.on.load),e.J.clear(n),i.on.load=[]});const r=e.v(t);let l=!1;r.forEach(t=>{(async()=>{"SELECT"===t.tagName&&(e.R(t),this.Yn(t,i)&&(l=!0,e.J.run(n)))})()}),e.U().includes(t)||e.U().push(t),this.is(o.INITIALIZED)&&l&&this.mount(),this.is(o.MOUNTED)&&this.update()}mount(){this.state===o.INITIALIZED&&super.mount()}update(){this.state===o.MOUNTED&&super.update()}find(t="*"){const s={isEmpty:!0};if("*"===t&&""===(t=e.U().join(", ")))return s;const i=e.v(t);if(0===i.length)return s;const h=e.V(i[0]);if(!h||!h.action)return s;const n={};for(const e in h.action)n[e]=this.Jn(e,h.action);const o={isEmpty:!1};for(const e in n){const t=n[e];switch(t.type){case"get-set":this.Xn(o,t.name,i);break;case"func":this.Zn(o,t.name,i)}}return o}Vn(){return Array.from(this.plugins.values())}so(){this.io||(this.io=new E,this.io.Wn(t=>{this.Qn.forEach((s,i)=>{try{t.matches(i)&&(this.Yn(t,s),this.is(o.MOUNTED)&&this.update())}catch(e){console.warn("Invalid selector: "+i,e)}})})),this.io.connect("select")}destroy(t=null){null===t?this.eo():"string"==typeof t?this.ho(t):t instanceof HTMLSelectElement&&this.no(t),null!==t&&this.is(o.MOUNTED)&&this.update()}registerPlugin(t){t?.id&&this.plugins.set(t.id,t)}unregisterPlugin(t){t&&this.plugins.delete(t)}oo(t){if(t)return this.plugins.get(t)}eo(){this.state!==o.DESTROYED&&(e.U().forEach(t=>this.ho(t)),this.Qn.clear(),e.U().length=0,this.plugins.forEach(t=>{t.destroy?.(),t.ro?.()}),this.plugins.clear(),this.io?.disconnect(),this.plugins.clear(),super.destroy())}ho(t){e.v(t).forEach(t=>{"SELECT"===t.tagName&&this.no(t)}),this.Qn.delete(t);const s=e.U(),i=s.indexOf(t);i>-1&&s.splice(i,1)}no(t){const s=e.V(t);if(!s)return;const i=s.self;e._(t,s);const h=!!this.io;h&&this.io?.disconnect(),s.self?.zn?.();const n=s.container?.element??t.parentElement;t.style.display="",t.style.visibility="",t.disabled=!1,delete t.dataset.lo,n&&n.parentNode?n.parentNode.replaceChild(t,n):t.appendChild(t),e.$(t),h&&this.Qn.size>0&&this.io?.connect("select"),i?.destroy?.()}rebind(t,s){this.ho(t),this.bind(t,s),this.is(o.MOUNTED)&&this.update()}Yn(t,s){if(e.V(t)||e.D(t))return!1;const i=e.m(8),h=e.I(t,s);h.je=i,h.qt=`seui-${i}-optionlist`,h.Tn=`seui-${i}-placeholder`;const n={options:h};e.k(t,n);const o=new j(t,this);return o.on("onMount",()=>{o.container.view&&o.container.view.addEventListener("mouseup",()=>{n.action?.toggle?.()})}),o.mount(),n.container=o.container,n.action=o.An(),n.self=o,!0}Jn(t,s){const i=Object.getOwnPropertyDescriptor(s,t);let e="variable";return i?.get||i?.set&&"function"!=typeof s[t]?e="get-set":"function"==typeof s[t]&&(e="func"),{type:e,name:t}}Xn(t,s,i){Object.defineProperty(t,s,{get(){const t=e.V(i[0]);return t.action?.[s]},set(t){i.forEach(i=>{const h=e.V(i);h?.action&&(h.action[s]=t)})},enumerable:!0,configurable:!0})}Zn(t,s,i){t[s]=(...n)=>{let o=null;for(let t=0;t<i.length;t++){const r=e.V(i[t]);if(!r?.action)continue;const l=h.it();if(o??(o=r.action[s](l.st,...n)),!l.token.isContinue)break}return o??t}}}if(void 0===globalThis.GLOBAL_SEUI){const k=new $;globalThis.GLOBAL_SEUI={version:"1.3.0",name:"SelectiveUI",bind:k.bind.bind(k),find:k.find.bind(k),destroy:k.destroy.bind(k),effector:s.bind(s),rebind:k.rebind.bind(k),registerPlugin:k.registerPlugin.bind(k),unregisterPlugin:k.unregisterPlugin.bind(k)};let R=!1;function init(){R||(R=!0,document.addEventListener("mousedown",()=>{const t=e.U();if(t.length>0){const s=k.find(t.join(", "));s.isEmpty||s.close()}}),k.so())}"undefined"!=typeof document&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",init):init()),console.log("[SelectiveUI] v1.3.0 loaded successfully")}else console.warn(`[${globalThis.GLOBAL_SEUI.name}] Already loaded (v${globalThis.GLOBAL_SEUI.version}). Using existing instance. Please remove duplicate <script> tags.`);const version=globalThis.GLOBAL_SEUI.version,V=globalThis.GLOBAL_SEUI.name;t.bind=(t,s={})=>{globalThis.GLOBAL_SEUI.bind(t,s)},t.destroy=(t=null)=>{globalThis.GLOBAL_SEUI.destroy(t)},t.effector=t=>globalThis.GLOBAL_SEUI.effector(t),t.find=t=>globalThis.GLOBAL_SEUI.find(t),t.name=V,t.rebind=(t,s={})=>{globalThis.GLOBAL_SEUI.rebind(t,s)},t.registerPlugin=t=>{globalThis.GLOBAL_SEUI.registerPlugin(t)},t.unregisterPlugin=t=>{globalThis.GLOBAL_SEUI.unregisterPlugin(t)},t.version=version},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).SelectiveUI={});
|
|
1
|
+
/*! Selective UI v1.3.1 | MIT License */
|
|
2
|
+
var t,s;t=this,s=function(t){"use strict";function s(t){return new m(t??null)}class i{constructor(){this.t={accessoryVisible:!0,virtualScroll:!0,accessoryStyle:"top",multiple:!1,minWidth:"50px",width:"0px",offsetWidth:null,minHeight:"30px",height:"30px",panelHeight:"220px",panelMinHeight:"100px",disabled:!1,readonly:!1,selectall:!0,keepSelected:!0,placeholder:"Select value",altMask:"",autoclose:!1,autoscroll:!0,autofocus:!0,searchable:!0,loadingfield:!0,preload:!1,visible:!0,skipError:!1,customDelimiter:",",textLoading:"Processing...",textNoData:"No data available",textNotFound:"Not found",textSelectAll:"Select all",textDeselectAll:"Deselect all",textAccessoryDeselect:"Deselect: ",animationtime:200,delaysearchtime:200,allowHtml:!1,maxSelected:0,labelHalign:"left",labelValign:"center",imageMode:!1,imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",imagePosition:"right",ajax:null,on:{load:[],beforeShow:[],show:[],beforeChange:[],change:[],beforeClose:[],close:[]}},this.i=new Map,this.h=new Map,this.o=[]}}class e{static get l(){return this.u||(this.u=new i),this.u}static p(t){if(null===t||"object"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=this.p(t[i]));return s}static m(t=6){let s="";for(let i=0;i<t;i++)s+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(Math.floor(62*Math.random()));return s}static v(t){if(!t)return[];if("string"==typeof t){const s=document.querySelectorAll(t);return Array.from(s)}return t instanceof HTMLElement?[t]:t instanceof NodeList||Array.isArray(t)?Array.from(t):[]}static M(t={}){return this.T(document.createElement(t.node??"div"),t,!0)}static T(t=document.documentElement,s=null,i=!1){const e={...s??{}},h=i?t:t.cloneNode(!0),n=e.classList;return"string"==typeof n?h.classList.add(n):Array.isArray(n)&&h.classList.add(...n),delete e.classList,["style","dataset"].forEach(t=>{const s=e[t];s&&"object"==typeof s&&Object.assign(h[t],s),delete e[t]}),e.role&&(h.setAttribute("role",e.role+""),delete e.role),e.ariaLive&&(h.setAttribute("aria-live",e.ariaLive+""),delete e.ariaLive),e.O&&(h.setAttribute("aria-labelledby",e.O+""),delete e.O),e.A&&(h.setAttribute("aria-controls",e.A+""),delete e.A),e.H&&(h.setAttribute("aria-haspopup",e.H+""),delete e.H),e.S&&(h.setAttribute("aria-multiselectable",e.S+""),delete e.S),e.P&&(h.setAttribute("aria-autocomplete",e.P+""),delete e.P),e.event&&"object"==typeof e.event&&(Object.entries(e.event).forEach(([t,s])=>{h.addEventListener(t,s)}),delete e.event),Object.entries(e).forEach(([t,s])=>{null===s?h.removeAttribute(t):h[t]=s}),h}static C(t,s=null,i=!1,e=!1,h={}){let n=null;for(const o in t){const r=t[o],l=r?.tag?.tagName?r.tag:this.M(r.tag);h[o]=l,r?.L&&this.C(r.L,l,!1,!1,h),s?i?s.prepend(l):s.append(l):e||n||(n=l)}return e||(h.id=this.m(7),s||(h={tags:h,view:n})),h}static I(t,s){const i=this.p(s);for(const e in i){const s=t[e];s?i[e]="boolean"==typeof i[e]?this.F(s):s:void 0!==t?.dataset?.[e]&&(i[e]="boolean"==typeof i[e]?this.F(t.dataset[e]):t.dataset[e])}return i}static j(...t){if(0===t.length)return{};if(1===t.length)return this.p(t[0]);const s=this.p(t[0]);for(let i=1;i<t.length;i++){const e=t[i];for(const t in e)if("on"===t){const i=e[t];for(const e in i)s[t][e].push(i[e])}else s[t]=e[t]}return s}static F(t){if("boolean"==typeof t)return t;if("string"!=typeof t)return!!t;switch(t.trim().toLowerCase()){case"true":case"1":case"yes":case"on":return!0;default:return!1}}static $(t){return this.l.i.delete(t)}static V(t){return this.l.i.get(t)}static k(t,s){this.l.i.set(t,s)}static R(t){return this.l.h.delete(t)}static D(t){return this.l.h.get(t)}static _(t,s){this.l.h.set(t,s)}static B(){return this.l.t}static U(){return this.l.o}static N(t){if(null==t)return"";let s=(t+"").replace(/<`/g,"<").replace(/`>/g,">").replace(/\<\`/g,"<").replace(/\`\>/g,">").trim();const i=globalThis?.document;if(!i||"function"!=typeof i.createElement)return s=s.replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi,"").replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi,"").replace(/<iframe\b[^>]*>[\s\S]*?<\/iframe>/gi,"").replace(/<(object|embed|link)\b[^>]*>[\s\S]*?<\/\1>/gi,""),s=s.replace(/\son[a-z]+\s*=\s*(['"]).*?\1/gi,""),s=s.replace(/\s([a-z-:]+)\s*=\s*(['"])\s*javascript:[^'"]*\2/gi,""),s;const e=i.createElement("div");return e.innerHTML=s,e.querySelectorAll("script, style, iframe, object, embed, link").forEach(t=>t.remove()),e.querySelectorAll("*").forEach(t=>{for(const s of Array.from(t.attributes)){const i=s.name??"",e=s.value??"";if(/^on/i.test(i))return void t.removeAttribute(i);/^(href|src|xlink:href)$/i.test(i)&&/^javascript:/i.test(e)&&t.removeAttribute(i)}}),(e.innerHTML??"").trim()}static G(t){const s=document.createElement("DIV");s.innerHTML=t;const i=s.textContent??s.innerText??"";return s.remove(),i.trim()}static W(t){return null==t?"":(t+"").toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/đ/g,"d").replace(/Đ/g,"d")}static q(t){const s=[],i=t.children;for(let e=0;e<i.length;e++){const t=i[e];if("OPTGROUP"===t.tagName){const i=t;s.push(i);for(let t=0;t<i.children.length;t++){const e=i.children[t];e.__parentGroup=i,s.push(e)}}else"OPTION"===t.tagName&&s.push(t)}return s}static K(){const t=navigator.userAgent;return/iP(hone|ad|od)/.test(t)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1}static Y(t){const s=(t+"").trim();if(s.endsWith("px"))return s;if(s.endsWith("vh"))return window.innerHeight*parseFloat(s)/100+"px";if(s.endsWith("vw"))return window.innerWidth*parseFloat(s)/100+"px";const i=parseFloat(getComputedStyle(document.documentElement).fontSize);if(s.endsWith("rem"))return i*parseFloat(s)+"px";const e=this.M({node:"div",style:{height:s,opacity:"0"}});document.body.appendChild(e);const h=e.offsetHeight+"px";return e.remove(),h}}e.u=null,e.J=new class{constructor(){this.X=new Map,this.Z=new Map}on(t,s,i={}){const e=i.tt??50,h=i.once??!1;this.X.has(t)||this.X.set(t,[]),this.X.get(t).push({st:s,timeout:e,once:h})}off(t){const s=this.Z.get(t);if(s){for(const t of s.values())clearTimeout(t);s.clear(),this.Z.delete(t)}this.X.delete(t)}run(t,...s){const i=this.X.get(t);if(!i||0===i.length)return Promise.resolve();this.Z.has(t)||this.Z.set(t,new Map);const e=this.Z.get(t),h=[];for(let n=0;n<i.length;n++){const t=i[n];if(!t)continue;const o=e.get(n);o&&clearTimeout(o);const r=new Promise(h=>{const o=setTimeout(async()=>{try{const i=t.st(s.length>0?s:null);i instanceof Promise&&await i}catch{}finally{if(t.once){i[n]=void 0;const t=e.get(n);t&&clearTimeout(t),e.delete(n)}h()}},t.timeout);e.set(n,o)});h.push(r)}return Promise.all(h).then(()=>{})}clear(t){if(void 0===t)for(const s of Array.from(this.X.keys()))this.off(s);else this.off(t)}};class h{static it(){const t={isContinue:!0,isCancel:!1};return{token:{get isContinue(){return t.isContinue},get isCancel(){return t.isCancel}},st:{stopPropagation(){t.isContinue=!1},cancel(){t.isCancel=!0,t.isContinue=!1}}}}static et(t,...s){const{token:i,st:e}=this.it();for(let h=0;h<s.length;h++){const n=s[h];if("function"==typeof n&&(t&&Array.isArray(t)?n(e,...t):n(e),i.isCancel||!i.isContinue))break}return i}static ht(t,s,i={bubbles:!0,cancelable:!0}){const e=new Event(s,i);return t.dispatchEvent(e),e}static nt(t,...s){if(Array.isArray(t))for(const i of t)"function"==typeof i&&i(...s)}}class n{static ot(t,s){const i=e.V(t);if(!i?.options)return;const h=i.options,n=h.minWidth,o=h.minHeight,r=Number.parseInt(h.width,10),l=Number.parseInt(h.height,10);let a=t.offsetWidth+"px",u=t.offsetHeight+"px";const c=getComputedStyle(t);"0px"===a&&"auto"!==c.width&&(a=c.width),"0px"===u&&"auto"!==c.height&&(u=c.height),r>0&&(a=h.width),l>0&&(u=h.height),Object.assign(s.style,{width:a,height:u,minWidth:n,minHeight:o})}}var o;(t=>{t.NEW="new",t.INITIALIZED="initialized",t.MOUNTED="mounted",t.UPDATED="updated",t.DESTROYED="destroyed"})(o||(o={}));class r{constructor(){this.state=o.NEW,this.rt=new Map,this.rt.set("onInit",new Set),this.rt.set("onMount",new Set),this.rt.set("onUpdate",new Set),this.rt.set("onDestroy",new Set)}on(t,s){return this.rt.get(t).add(s),this}off(t,s){return this.rt.get(t).delete(s),this}emit(t,s){const i={state:this.state,lt:s};for(const h of this.rt.get(t))try{h(i)}catch(e){this.ut(e,t)}}ut(t,s){console.error(`[Lifecycle:${s}]`,t)}init(){if(this.state!==o.NEW)return;const t=this.state;this.state=o.INITIALIZED,this.emit("onInit",t)}mount(){if(this.state!==o.INITIALIZED)return;const t=this.state;this.state=o.MOUNTED,this.emit("onMount",t)}update(){if(this.state!==o.MOUNTED&&this.state!==o.UPDATED)return;const t=this.state;this.state=o.UPDATED,this.emit("onUpdate",t)}destroy(){if(this.state===o.DESTROYED)return;const t=this.state;this.state=o.DESTROYED,this.emit("onDestroy",t),this.ct()}getState(){return this.state}is(t){return this.state===t}ct(){for(const t of this.rt.values())t.clear()}}class l extends r{constructor(t){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.node=e.M({node:"div",classList:"seui-placeholder",innerHTML:t.placeholder}),this.options=t,this.init()}get(){return this.options?.placeholder??""}set(t,s=!0){if(!this.node||!this.options)return;s&&(this.options.placeholder=t);const i=e.N(t);this.node.innerHTML=this.options.allowHtml?i:e.G(i)}destroy(){this.is(o.DESTROYED)||(this.node?.remove(),this.node=null,this.options=null,super.destroy())}}class a extends r{constructor(){super(),this.init()}init(){this.node=e.M({node:"div",classList:"seui-directive",role:"button",ariaLabel:"Toggle dropdown"}),super.init(),this.mount()}dt(t){this.node.classList.toggle("drop-down",!!t)}destroy(){this.is(o.DESTROYED)||(this.node.remove(),this.node=null,super.destroy())}}class u extends r{constructor(t=null){super(),this.gt=null,this.node=null,this.options=null,this.ft=[],this.bt=[],t&&this.initialize(t)}initialize(t){this.gt=e.C({yt:{tag:{node:"div",classList:["seui-option-handle","hide"]},L:{wt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textSelectAll,onclick:()=>{h.nt(this.ft)}}},vt:{tag:{node:"a",classList:"seui-option-handle-item",textContent:t.textDeselectAll,onclick:()=>{h.nt(this.bt)}}}}}}),this.node=this.gt.view,this.options=t,this.init()}available(){return!!this.options&&e.F(this.options.multiple)&&e.F(this.options.selectall)}update(){this.node&&(this.available()?this.show():this.hide()),super.update()}show(){this.node&&this.node.classList.remove("hide")}hide(){this.node&&this.node.classList.add("hide")}xt(t=null){"function"==typeof t&&this.ft.push(t)}Mt(t=null){"function"==typeof t&&this.bt.push(t)}destroy(){this.is(o.DESTROYED)||(this.node.remove(),this.options=null,this.ft=null,this.bt=null,this.node=null,super.destroy())}}class c extends r{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=e.M({node:"div",classList:["seui-empty-state","hide"],role:"status",ariaLive:"polite"}),this.init()}show(t="nodata"){this.node&&this.options&&(this.node.textContent="notfound"===t?this.options.textNotFound:this.options.textNoData,this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(o.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class d extends r{constructor(t=null){super(),this.node=null,this.options=null,t&&this.initialize(t)}initialize(t){this.options=t,this.node=e.M({node:"div",classList:["seui-loading-state","hide"],textContent:t.textLoading,role:"status",ariaLive:"polite"}),this.init()}show(t){this.node&&this.options&&(this.node.textContent=this.options.textLoading,this.node.classList.toggle("small",!!t),this.node.classList.remove("hide"))}hide(){this.node&&this.node.classList.add("hide")}get isVisible(){return!!this.node&&!this.node.classList.contains("hide")}destroy(){this.is(o.DESTROYED)||(this.options=null,this.node?.remove(),this.node=null,super.destroy())}}class p{constructor(){this.Tt=!1,this.element=null,this.Ot=null,this.At=null,this.Tt=!0,this.Ht=this.St.bind(this)}Pt(t){}St(){const t=this.element;if(!t||"function"!=typeof t.getBoundingClientRect)return void this.Pt({width:0,height:0,top:0,left:0,padding:{top:0,right:0,bottom:0,left:0},border:{top:0,right:0,bottom:0,left:0},margin:{top:0,right:0,bottom:0,left:0}});const s=t.getBoundingClientRect(),i="undefined"!=typeof window&&"function"==typeof window.getComputedStyle?window.getComputedStyle(t):null;this.Pt({width:s?.width??0,height:s?.height??0,top:s?.top??0,left:s?.left??0,padding:{top:parseFloat(i?.paddingTop??"0"),right:parseFloat(i?.paddingRight??"0"),bottom:parseFloat(i?.paddingBottom??"0"),left:parseFloat(i?.paddingLeft??"0")},border:{top:parseFloat(i?.borderTopWidth??"0"),right:parseFloat(i?.borderRightWidth??"0"),bottom:parseFloat(i?.borderBottomWidth??"0"),left:parseFloat(i?.borderLeftWidth??"0")},margin:{top:parseFloat(i?.marginTop??"0"),right:parseFloat(i?.marginRight??"0"),bottom:parseFloat(i?.marginBottom??"0"),left:parseFloat(i?.marginLeft??"0")}})}ht(){this.St()}connect(t){if(!(t instanceof HTMLElement))throw Error("Invalid element");this.element=t,this.Ot=new ResizeObserver(this.Ht),this.Ot.observe(t),this.At=new MutationObserver(this.Ht),this.At.observe(t,{attributes:!0,attributeFilter:["style","class"]}),window.addEventListener("scroll",this.Ht,!0),window.addEventListener("resize",this.Ht),window.visualViewport&&(window.visualViewport.addEventListener("resize",this.Ht),window.visualViewport.addEventListener("scroll",this.Ht))}disconnect(){this.Ot?.disconnect(),this.At?.disconnect(),this.Pt=()=>{},window.removeEventListener("scroll",this.Ht,!0),window.removeEventListener("resize",this.Ht),window.visualViewport&&(window.visualViewport.removeEventListener("resize",this.Ht),window.visualViewport.removeEventListener("scroll",this.Ht)),this.Ot=null,this.At=null,this.element=null}}class g extends r{constructor(t=null,s=null,i=null){super(),this.options=null,this.Ct=!1,this.Lt=null,this.node=null,this.It=null,this.Ft=null,this.parent=null,this.jt=null,this.Et=null,this.$t=null,this.Vt=null,this.kt=null,this.Rt=null,this.Dt=null,this.zt={_t:36,Bt:8,Ut:!0},this.Nt=i,t&&s&&this.initialize(t,s)}initialize(t,s){if(!this.Nt)throw Error("Popup requires a ModelManager instance.");this.jt=new u(s),this.Et=new c(s),this.$t=new d(s);const i=e.C({Gt:{tag:{node:"div",classList:"seui-popup",style:{maxHeight:s.panelHeight}},L:{yt:{tag:this.jt.node},Wt:{tag:{id:s.qt,node:"div",classList:"seui-options-container",role:"listbox"}},Kt:{tag:this.$t.node},Qt:{tag:this.Et.node}}}},null);this.node=i.view,this.kt=i.tags.Wt,this.parent=e.V(t),this.options=s,this.init(),this.Nt.load(this.kt,{isMultiple:s.multiple,options:s},s.virtualScroll?{Yt:this.node,_t:this.zt._t,Bt:this.zt.Bt,Ut:this.zt.Ut}:{});const h=this.Nt.Jt();this.Lt=h.Xt,this.Vt=h.Vt,this.jt.xt(()=>{h.Xt.Zt(!0)}),this.jt.Mt(()=>{h.Xt.Zt(!1)}),this.ts(),this.mount()}async ss(){this.options&&this.$t&&this.jt&&this.Lt&&this.Nt&&(this.Dt&&clearTimeout(this.Dt),this.Nt.es(!0),!1!==e.F(this.options.loadingfield)&&(this.Et.hide(),this.$t.show(this.Lt.ns().hs),this.rs()))}async ls(){this.options&&this.$t&&this.Lt&&this.Nt&&(this.Dt&&clearTimeout(this.Dt),this.Dt=setTimeout(()=>{this.Nt?.es(!1),this.$t?.hide();const t=this.Lt?.ns();this.us(t??void 0),this.rs()},this.options.animationtime))}ts(){this.Lt&&(this.Lt.cs(t=>{this.us(t)}),this.Lt.ds("items",()=>{const t=this.Lt.ns();this.us(t),this.rs()}))}us(t){if(!(this.Lt&&this.Et&&this.jt&&this.kt))return;const s=t??this.Lt.ns();s.isEmpty?(this.Et.show("nodata"),this.kt.classList.add("hide"),this.jt.hide()):s.hs?(this.Et.hide(),this.kt.classList.remove("hide"),this.jt.update()):(this.Et.show("notfound"),this.kt.classList.add("hide"),this.jt.hide())}ps(t,s){this.Lt?.gs(t,s)}fs(t,s){this.Lt?.ds(t,s)}bs(t){this.It=t}load(){this.node&&this.parent&&this.It&&(this.Ct||(document.body.appendChild(this.node),this.Ct=!0,this.Ft=new p,this.It.ys(this.node),this.node.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()})))}open(t=null,s){if(!(this.node&&this.options&&this.jt&&this.parent&&this.It))return;this.load(),this.jt.update(),s&&this.us();const i=this.ws(),{position:e,top:h,maxHeight:n,vs:o}=this.xs(i);this.It.expand({duration:this.options.animationtime,display:"flex",width:i.width,left:i.left,top:h,maxHeight:n,vs:o,position:e,Ms:()=>{if(!this.Ft||!this.parent)return;this.Ft.Pt=()=>{const t=this.ws();this.Ts(t)},this.Ft.connect(this.parent.container.tags.Os),t?.();const s=this.Vt;s?.resume?.()}})}close(t=null){if(!(this.Ct&&this.options&&this.Ft&&this.It))return;const s=this.Vt;s?.suspend?.(),this.Ft.disconnect(),this.It.collapse({duration:this.options.animationtime,Ms:t??void 0})}rs(){this.Ct&&this.Ft?.ht()}As(t,s){this.node&&(this.Rt=async()=>{const s=t.Hs();if(!s.Ss)return;const i=this.node;if(i.scrollHeight-i.scrollTop-i.clientHeight<100&&!s.Ps&&s.hasMore){const s=await t.Cs();!s.Ls&&s.message&&console.log("Load more:",s.message)}},this.node.addEventListener("scroll",this.Rt))}destroy(){if(!this.is(o.DESTROYED)){if(clearTimeout(this.Dt),this.Dt=null,this.node&&this.Rt&&(this.node.removeEventListener("scroll",this.Rt),this.Rt=null),this.Et.destroy(),this.$t.destroy(),this.jt.destroy(),this.Ft?.disconnect?.(),this.It?.ys?.(null),this.Nt?.es?.(!1),this.Vt?.clear?.(),this.node?.remove?.(),this.node)try{const t=e.T(this.node);this.node.replaceWith(t),t.remove()}catch(t){this.node.remove()}this.node=null,this.kt=null,this.Nt=null,this.jt=null,this.Et=null,this.$t=null,this.parent=null,this.options=null,this.Ct=!1,this.It=null,this.Ft=null,this.Vt=null,this.Lt=null,super.destroy()}}ws(){const t=this.parent.container.tags.Os,s=t.getBoundingClientRect(),i=window.getComputedStyle(t);return{width:s.width,height:s.height,top:s.top,left:s.left,padding:{top:parseFloat(i.paddingTop),right:parseFloat(i.paddingRight),bottom:parseFloat(i.paddingBottom),left:parseFloat(i.paddingLeft)},border:{top:parseFloat(i.borderTopWidth),right:parseFloat(i.borderRightWidth),bottom:parseFloat(i.borderBottomWidth),left:parseFloat(i.borderLeftWidth)}}}xs(t){const s=window.visualViewport,i=e.K(),h=s?.height??window.innerHeight,n=this.It.Is("flex").scrollHeight,o=parseFloat(this.options?.panelHeight??"220")||220,r=parseFloat(this.options?.panelMinHeight??"100")||100,l=h-(t.top+t.height)-3,a=t.top-3;let u="bottom",c=o,d=Math.min(n,c);const p=l-15;(d>=r?p>=r:p>=d)?(u="bottom",c=Math.min(l-15,o)):a>=Math.max(d,r)?(u="top",c=Math.min(a-15,o)):l>=a?(u="bottom",c=Math.max(l-15,r)):(u="top",c=Math.max(a-15,r)),d=Math.min(n,c);const g=s&&i?s.offsetTop:0;return{position:u,top:"bottom"===u?t.top+t.height+3+g:t.top-d-3+g,maxHeight:c,vs:d,Fs:n}}Ts(t){if(!this.options||!this.It)return;const{position:s,top:i,maxHeight:e,vs:h}=this.xs(t);this.It.resize({duration:this.options.animationtime,width:t.width,left:t.left,top:i,maxHeight:e,vs:h,position:s,animate:!0})}}class f extends r{constructor(t=null){super(),this.gt=null,this.node=null,this.js=null,this.Es=null,this.options=null,this.$s=null,this.Vs=null,this.ks=null,this.options=t,t&&this.initialize(t)}initialize(t){this.gt=e.C({Rs:{tag:{node:"div",classList:["seui-searchbox","hide"]},L:{js:{tag:{id:e.m(),node:"input",type:"search",classList:["seui-searchbox-input"],placeholder:t.placeholder,role:"searchbox",A:t.qt,P:"list"}}}}}),this.node=this.gt.view,this.js=this.gt.tags.js;let s=!1;const i=this.gt.tags.js;i.addEventListener("mousedown",t=>{t.stopPropagation()}),i.addEventListener("mouseup",t=>{t.stopPropagation()}),i.addEventListener("keydown",t=>{s=!1,"ArrowDown"===t.key||"Tab"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.$s?.(1)):"ArrowUp"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.$s?.(-1)):"Enter"===t.key?(t.preventDefault(),t.stopPropagation(),s=!0,this.Vs?.()):"Escape"===t.key&&(t.preventDefault(),t.stopPropagation(),s=!0,this.ks?.()),t.stopPropagation()}),i.addEventListener("input",()=>{s||this.Es?.(i.value,!0)}),this.init()}show(){this.node&&this.js&&this.options&&(this.node.classList.remove("hide"),this.js.readOnly=!this.options.searchable,this.options.searchable&&requestAnimationFrame(()=>{this.js?.focus()}))}hide(){this.node&&this.node.classList.add("hide")}clear(t=!0){this.gt&&(this.gt.tags.js.value="",this.Es?.("",t))}Ds(t){this.js&&(this.js.placeholder=e.G(t))}zs(t){this.js&&this.js.setAttribute("aria-activedescendant",t)}destroy(){this.is(o.DESTROYED)||(this.node?.remove(),this.gt=null,this.node=null,this.js=null,this.Es=null,this.options=null,this.$s=null,this.Vs=null,this.ks=null,super.destroy())}}class m{constructor(t=null){this._s=null,this.Bs=null,this.Us=!1,t&&this.ys(t)}ys(t){if("string"==typeof t){const s=document.querySelector(t);return void(s instanceof HTMLElement&&(this.element=s))}this.element=t}cancel(){return this._s&&(clearTimeout(this._s),this._s=null),this.Bs&&(clearTimeout(this.Bs),this.Bs=null),this.Us=!1,this}Is(t="flex"){if(!this.element)return{width:0,height:0,scrollHeight:0};const s={display:this.element.style.display,visibility:this.element.style.visibility,position:this.element.style.position,height:this.element.style.height,width:this.element.style.width};Object.assign(this.element.style,{display:t,visibility:"hidden",position:"fixed",height:"fit-content",width:"fit-content"});const i=window.getComputedStyle(this.element),e=parseFloat(i.borderTopWidth),h=parseFloat(i.borderBottomWidth),n=this.element.scrollHeight+e+h,o=this.element.getBoundingClientRect(),r={width:o.width,height:o.height+e+h,scrollHeight:n};return Object.assign(this.element.style,s),r}expand(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="flex",width:e,left:h,top:n,maxHeight:o,vs:r,position:l="bottom",Ms:a}=t;return Object.assign(this.element.style,{display:i,width:e+"px",left:h+"px",top:("bottom"===l?n:n+r)+"px",maxHeight:o+"px",height:"0px",opacity:"0",overflow:"hidden",transition:"none"}),this.element.classList.toggle("position-top","top"===l),this.element.classList.toggle("position-bottom","bottom"===l),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`top ${s}ms, height ${s}ms, opacity ${s}ms`,top:n+"px",height:r+"px",opacity:"1",overflow:r>=o?"auto":"hidden"}),this._s=setTimeout(()=>{this.element.style.transition="none",this.Us=!1,a?.()},s)}),this}collapse(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Ms:i}=t,e=this.element.offsetHeight,h=this.element.offsetTop,n=this.element.classList.contains("position-top")?"top":"bottom",o=this.element.scrollHeight-this.element.offsetHeight>0,r="top"===n?h+e:h;return requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`height ${s}ms, top ${s}ms, opacity ${s}ms`,height:"0px",top:r+"px",opacity:"0",overflow:o?"auto":"hidden"}),this._s=setTimeout(()=>{Object.assign(this.element.style,{display:"none",transition:"none"}),this.Us=!1,i?.()},s)}),this}showSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,display:i="block",Ms:e}=t;Object.assign(this.element.style,{transition:"none",display:i,width:"fit-content"});const h=this.Is(i).width;return Object.assign(this.element.style,{width:"0px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:h+"px",overflow:"hidden"})}),this._s=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:""}),this.Us=!1,e?.()},s),this}hideSwipeWidth(t){if(!this.element)return this;this.cancel(),this.Us=!0;const{duration:s=200,Ms:i}=t,e=this.Is().width;return Object.assign(this.element.style,{transition:"none",width:e+"px"}),requestAnimationFrame(()=>{Object.assign(this.element.style,{transition:`width ${s}ms`,width:"0px",overflow:"hidden"})}),this._s=setTimeout(()=>{Object.assign(this.element.style,{width:"",overflow:"",transition:"",display:""}),this.Us=!1,i?.()},s),this}resize(t){if(!this.element)return this;this.cancel();const{duration:s=200,width:i,left:e,top:h,maxHeight:n,vs:o,position:r="bottom",animate:l=!0,Ms:a}=t,u=(this.element.classList.contains("position-top")?"top":"bottom")!==r,c=this.element.scrollHeight>n;return this.element.classList.toggle("position-top","top"===r),this.element.classList.toggle("position-bottom","bottom"===r),u&&(this.element.style.transition=`top ${s}ms ease-out, height ${s}ms ease-out, max-height ${s}ms ease-out;`),requestAnimationFrame(()=>{const t={width:i+"px",left:e+"px",top:h+"px",maxHeight:n+"px",height:o+"px",overflowY:c?"auto":"hidden"},r=Math.abs(this.element.offsetHeight-o);l&&(u||r>5)?t.transition=`height ${s}ms, top ${s}ms`:this.Bs=setTimeout(()=>{this.element?.style&&(this.element.style.transition=null)},s),Object.assign(this.element.style,t),l&&(u||r>1)?this.Bs=setTimeout(()=>{this.element.style.transition=null,u&&delete this.element.style.transition,a?.()},s):(u&&delete this.element.style.transition,a?.())}),this}get Ns(){return this.Us}}class b extends r{get value(){return this.targetElement?.getAttribute("value")??null}constructor(t,s=null,i=null){super(),this.targetElement=null,this.view=null,this.position=-1,this.Tt=!1,this.Gs=!1,this.options=t,this.targetElement=s,this.view=i,this.init()}Ws(t){this.targetElement=t,this.update()}destroy(){this.is(o.DESTROYED)||(this.targetElement=null,this.view?.destroy(),this.view=null,this.Gs=!0,super.destroy())}}class y extends b{constructor(t,s){super(t,s??null,null),this.label="",this.items=[],this.collapsed=!1,this.qs=[],this.label=this.targetElement.label,this.collapsed=e.F(this.targetElement.dataset?.collapsed)}init(){super.init(),this.mount()}get value(){return this.items.map(t=>t.value)}get Ks(){return this.items.filter(t=>t.selected)}get Qs(){return this.items.filter(t=>t.visible)}get Ys(){return this.Qs.length>0}Ws(t){this.label=t.label,this.view?.Js(this.label),this.update()}update(){this.view&&(this.view.Js(this.label),this.view.Xs(this.collapsed)),super.update()}destroy(){this.is(o.DESTROYED)||(this.items.forEach(t=>{t.destroy()}),this.items=[],super.destroy())}Zs(t){this.qs.push(t)}ti(){this.collapsed=!this.collapsed,this.view?.Xs(this.collapsed),h.et([this,this.collapsed],...this.qs)}si(t){this.items.push(t),t.group=this}removeItem(t){const s=this.items.indexOf(t);s>-1&&(this.items.splice(s,1),t.group=null)}ii(){this.view?.ii()}}class w extends b{constructor(t,s=null,i=null){super(t,s,i),this.ei=[],this.hi=[],this.ni=[],this.oi=!0,this.ri=!1,this.group=null}init(){this.li=e.W(this.textContent.toLowerCase()),super.init(),this.mount()}get ai(){return this.dataset?.imgsrc||this.dataset?.image||""}get hasImage(){return!!this.ai}get value(){return this.targetElement?.value??""}get selected(){return!!this.targetElement?.selected}set selected(t){this.ui=t,h.et([this,t],...this.ei)}get visible(){return this.oi}set visible(t){if(this.oi===t)return;this.oi=t;const s=this.view?.ci?.();s&&s.classList.toggle("hide",!t),h.et([this,t],...this.ni)}get ui(){return this.selected}set ui(t){const s=this.view?.view?.tags?.di,i=this.view?.ci?.();s&&(s.checked=t),i&&this.targetElement&&(i.classList.toggle("checked",!!t),i.setAttribute("aria-selected",t?"true":"false"),this.targetElement.toggleAttribute("selected",!!t)),this.targetElement&&(this.targetElement.selected=t),h.et([this,t],...this.hi)}get text(){const t=e.N(this.dataset?.mask??this.targetElement?.text??"");return this.options.allowHtml?t:e.G(t)}get textContent(){return this.options.allowHtml?e.G(this.text).trim():this.text.trim()}get dataset(){return this.targetElement?.dataset??{}}get pi(){return this.ri}set pi(t){const s=!!t,i=this.view?.ci?.();this.ri!==s&&(this.ri=s),i&&i.classList.toggle("highlight",s)}gi(t){this.ei.push(t)}fi(t){this.hi.push(t)}cs(t){this.ni.push(t)}update(){if(this.li=e.W(this.textContent.toLowerCase()),!this.view)return void super.update();const t=this.view.view.tags.mi;t&&(this.options.allowHtml?t.innerHTML=this.text:t.textContent=this.textContent);const s=this.view.view.tags.bi;s&&this.hasImage&&(s.src!=this.ai&&(s.src=this.ai),s.alt!=this.text&&(s.alt=this.text)),this.targetElement&&(this.ui=this.targetElement.selected),super.update()}destroy(){this.is(o.DESTROYED)||(this.ei=[],this.hi=[],this.ni=[],this.group=null,this.li=null,super.destroy())}}class v extends r{constructor(t){super(),this.yi=[],this.wi=null,this.xi=null,this.options=null,this.Mi=0,this.options=t,this.init()}Ti(t){this.Oi=t}Ai(t){this.Hi=t}Si(t){this.is(o.INITIALIZED)&&this.mount(),this.yi=[];let s=null;return t.forEach(t=>{if("OPTGROUP"===t.tagName)s=new y(this.options,t),this.yi.push(s);else if("OPTION"===t.tagName){const i=new w(this.options,t),e=t.__parentGroup;e&&s&&e===s.targetElement?(s.si(i),i.group=s):(this.yi.push(i),s=null)}}),this.yi}async replace(t){this.Si(t),this.wi&&await this.wi.Pi(this.yi),this.refresh(!1)}notify(){this.wi&&this.refresh(!1)}load(t,s={},i={}){this.wi=new this.Oi(this.yi),Object.assign(this.wi,s),this.xi=new this.Hi(t),Object.assign(this.xi,i),this.xi.Ci(this.wi)}Li(t){const s=this.yi,i=[],e=new Map,h=new Map;s.forEach(t=>{t instanceof y?e.set(t.label,t):t instanceof w&&h.set(`${t.value}::${t.textContent}`,t)});let n=null,o=0;t.forEach(t=>{if("OPTGROUP"===t.tagName){const s=t,h=e.get(s.label);h?(h.label!==s.label&&h.Ws(s),h.position=o,h.items=[],n=h,i.push(h),e.delete(s.label)):(n=new y(this.options,s),n.position=o,i.push(n)),o++}else if("OPTION"===t.tagName){const s=t,e=`${s.value}::${s.text}`,r=h.get(e);if(r)r.Ws(s),r.position=o,s.__parentGroup&&n?(n.si(r),r.group=n):(r.group=null,i.push(r)),h.delete(e);else{const t=new w(this.options,s);t.position=o,s.__parentGroup&&n?(n.si(t),t.group=n):i.push(t)}o++}});let r=!0;0==this.Mi&&(r=!1),this.Mi=o,e.forEach(t=>{r=!1,t.destroy()}),h.forEach(t=>{r=!1,t.destroy()}),this.yi=i,this.wi&&this.wi.Ii(this.yi),this.refresh(r)}es(t){this.wi&&(this.wi.Fi=t)}refresh(t){this.xi&&(this.xi.refresh(t),this.update())}destroy(){this.is(o.DESTROYED)||(this.wi.destroy(),this.xi.destroy(),this.yi=[],this.Oi=null,this.wi=null,this.Hi=null,this.xi=null,this.options=null,this.Mi=0,super.destroy())}Jt(){return{ji:this.yi,Xt:this.wi,Vt:this.xi}}Ei(t){return this.wi?.$i(t)}Vi(t){return this.wi?.ki(t)}}class x extends r{constructor(t=null){super(),this.Ri=null,this.Xt=null,this.Ri=t,this.init()}Ci(t){this.Xt=t,t.gs("items",()=>{this.clear()}),t.ds("items",()=>{this.Di()}),t.mount(),this.mount(),this.Di()}clear(){this.Ri&&this.Ri.replaceChildren()}Di(){this.Xt&&this.Ri&&(this.Xt.zi(this.Ri),this.update())}refresh(t){this.Di()}destroy(){this.is(o.DESTROYED)||(this.Ri=null,this.Xt=null,super.destroy())}}class M extends r{constructor(t=null){super(),this.gt=null,this.node=null,this.options=null,this._i=null,this.Bi=null,this.Nt=null,this.Ui=[],t&&this.initialize(t)}initialize(t){this.options=t,this.init()}init(){this.state===o.NEW&&(this.gt=e.C({Ni:{tag:{node:"div",classList:["seui-accessorybox","hide"],onmouseup:t=>{t.stopPropagation()}}}}),this.node=this.gt.view,super.init())}Gi(t){this._i=t,this.Bi=t.parentElement,this.Wi(),this.mount()}mount(){this.is(o.INITIALIZED)&&super.mount()}Wi(){this.Bi&&this.node&&this._i&&this.options&&this.Bi.insertBefore(this.node,"top"===this.options.accessoryStyle?this._i:this._i.nextSibling)}qi(t){this.Nt=t}Ki(t){this.node&&this.options&&(this.node.replaceChildren(),t.length>0&&this.options.multiple?t.forEach(t=>{e.C({Qi:{tag:{node:"div",classList:["accessory-item"]},L:{Yi:{tag:{node:"span",classList:["accessory-item-button"],role:"button",ariaLabel:`${this.options.textAccessoryDeselect}${t.textContent}`,title:`${this.options.textAccessoryDeselect}${t.textContent}`,onclick:async s=>{s.preventDefault(),await(this.Nt?.Ei?.("select")),t.selected=!1}}},Ji:{tag:{node:"span",classList:["accessory-item-content"],innerHTML:t.text}}}}},this.node)}):t=[],this.Ui=t,this.Xi(),this.update(),h.ht(window,"resize"))}update(){this.state===o.MOUNTED&&super.update()}Xi(){this.options?.accessoryVisible&&this.Ui.length>0&&this.options.multiple?this.show():this.hide()}show(){this.node?.classList.remove("hide")}hide(){this.node?.classList.add("hide")}destroy(){this.state!==o.DESTROYED&&(this.node?.remove(),this.gt=null,this.node=null,this.options=null,this._i=null,this.Bi=null,this.Nt=null,this.Ui=[],super.destroy())}}class T extends r{constructor(t,s,i){super(),this.Zi=null,this.te=null,this.se=null,this.ie=null,this.ee={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,he:"",Ss:!1},this.initialize(t,s,i)}initialize(t,s,i){this.select=t,this.Nt=s,this.ie=i,this.init()}ne(){return!!this.Zi}async oe(t){if(!this.Zi)return{Ls:!1,items:[],message:"Ajax not configured"};const s=Array.isArray(t)?t:[t];if(0===s.length)return{Ls:!0,items:[]};try{const t=this.Zi;let i,e;if(i="function"==typeof t.re?t.re(s):{values:s.join(","),le:"1",..."function"==typeof t.data?t.data.bind(this.ie.ae.find(this.ie.container.targetElement))("",0):t.data??{}},"POST"===(t.method??"GET")){const s=new URLSearchParams;Object.keys(i).forEach(t=>s.append(t,i[t]+"")),e=await fetch(t.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"}})}else{const s=""+new URLSearchParams(i);e=await fetch(`${t.url}?${s}`)}if(!e.ok)throw Error("HTTP error! status: "+e.status);const h=await e.json(),n=this.ue(h);return this.update(),{Ls:!0,items:n.items}}catch(i){return console.error("Load by values error:",i),{Ls:!1,message:i?.message,items:[]}}}ce(t){const s=Array.from(this.select.options).map(t=>t.value);return{de:t.filter(t=>s.includes(t)),pe:t.filter(t=>!s.includes(t))}}ge(t){this.Zi=t}setPopup(t){this.se=t}Hs(){return{...this.ee}}fe(){this.ee={currentPage:0,totalPages:1,hasMore:!1,Ps:!1,he:"",Ss:this.ee.Ss}}clear(){this.ee.he="";const{ji:t}=this.Nt.Jt(),s=[];for(const i of t)i instanceof w?s.push(i):i instanceof y&&Array.isArray(i.items)&&s.push(...i.items);s.forEach(t=>{t.visible=!0})}async search(t,s=!1){return this.Zi?this.me(t,s):this.be(t)}async Cs(){return this.Zi?this.ee.Ps?{Ls:!1,message:"Already loading"}:this.ee.Ss?this.ee.hasMore?(this.ee.currentPage++,this.me(this.ee.he,!0)):{Ls:!1,message:"No more data"}:{Ls:!1,message:"Pagination not enabled"}:{Ls:!1,message:"Ajax not enabled"}}async be(t){this.ye(t)&&(this.ee.he=t);const s=((t??"")+"").toLowerCase(),i=e.W(s),{ji:h}=this.Nt.Jt(),n=[];for(const e of h)e instanceof w?n.push(e):e instanceof y&&Array.isArray(e.items)&&n.push(...e.items);let o=!1;return n.forEach(t=>{const e=""===s||t.li.includes(i);t.visible=e,e&&(o=!0)}),this.update(),{Ls:!0,we:o,isEmpty:0===n.length}}ye(t){return t!==this.ee.he}async me(t,s=!1){const i=this.Zi;this.ye(t)&&(this.fe(),this.ee.he=t,s=!1),this.ee.Ps=!0,this.se?.ss(),this.te?.abort(),this.te=new AbortController;const e=this.ee.currentPage,h=Array.from(this.select.selectedOptions).map(t=>t.value).join(",");let n;if("function"==typeof i.data){const s=this.ie?.ae?.find(this.ie?.container?.targetElement);n=i.data.call(s,t,e),n&&void 0===n.selectedValue&&(n.selectedValue=h)}else n={search:t,page:e,selectedValue:h,...i.data??{}};try{let t;if("POST"===(i.method??"GET")){const s=new URLSearchParams;Object.keys(n).forEach(t=>s.append(t,n[t]+"")),t=await fetch(i.url,{method:"POST",body:s,headers:{"Content-Type":"application/x-www-form-urlencoded"},signal:this.te.signal})}else{const s=""+new URLSearchParams(n);t=await fetch(`${i.url}?${s}`,{signal:this.te.signal})}const e=await t.json(),h=this.ue(e);return h.ve?(this.ee.Ss=!0,this.ee.currentPage=h.page,this.ee.totalPages=h.totalPages,this.ee.hasMore=h.hasMore):this.ee.Ss=!1,this.xe(h.items,!!i.keepSelected,s),this.ee.Ps=!1,this.se?.ls(),this.update(),{Ls:!0,we:h.items.length>0,isEmpty:0===h.items.length,ve:h.ve,hasMore:h.hasMore,currentPage:h.page,totalPages:h.totalPages}}catch(o){return this.ee.Ps=!1,this.se?.ls(),"AbortError"===o?.name?{Ls:!1,message:"Request aborted"}:(console.error("Ajax search error:",o),{Ls:!1,message:o?.message})}}ue(t){let s=[],i=!1,e=0,h=1,n=!1;return t.object&&Array.isArray(t.object)?(s=t.object,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=e<h-1)):t.data&&Array.isArray(t.data)?(s=t.data,void 0!==t.page&&(i=!0,e=parseInt(t.page??0,10),h=parseInt(t.totalPages??t.total_page??1,10),n=t.hasMore??e<h-1)):Array.isArray(t)?s=t:t.items&&Array.isArray(t.items)&&(s=t.items,t.pagination&&(i=!0,e=parseInt(t.pagination.page??0,10),h=parseInt(t.pagination.totalPages??t.pagination.total_page??1,10),n=t.pagination.hasMore??e<h-1)),{items:s.map(t=>{if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)return t;if("optgroup"===t.type||t.Me||t.group||t.label)return{type:"optgroup",label:t.label??t.name??t.title??"",data:t.data??{},options:(t.options??t.items??[]).map(t=>({value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:t.data??(t.imgsrc?{imgsrc:t.imgsrc}:{})}))};const s=t.data??{};return t?.imgsrc&&(s.imgsrc=t.imgsrc),{type:"option",value:t.value??t.id??t.key??"",text:t.text??t.label??t.name??t.title??"",selected:t.selected??!1,data:s}}),ve:i,page:e,totalPages:h,hasMore:n}}xe(t,s,i=!1){const e=this.select;let h=[];s&&(h=Array.from(e.selectedOptions).map(t=>t.value)),i||(e.innerHTML=""),t.forEach(t=>{if("option"!==t.type&&t.type||""!==t.value||""!==t.text)if(t instanceof HTMLOptionElement||t instanceof HTMLOptGroupElement)e.appendChild(t);else if("optgroup"===t.type){const i=document.createElement("optgroup");i.label=t.label,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),Array.isArray(t.options)&&t.options.forEach(t=>{const e=document.createElement("option");e.value=t.value,e.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{e.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(e.value))&&(e.selected=!0),i.appendChild(e)}),e.appendChild(i)}else{const i=document.createElement("option");i.value=t.value,i.text=t.text,t.data&&Object.keys(t.data).forEach(s=>{i.dataset[s]=t.data[s]+""}),(t.selected||s&&h.includes(i.value))&&(i.selected=!0),e.appendChild(i)}})}destroy(){this.is(o.DESTROYED)||(this.select=null,this.Nt=null,this.Zi=null,this.te=null,this.se=null,this.ie=null,super.destroy())}}class O{constructor(t){this.Te=null,this.Oe=50,this.select=t,this.Ae=new MutationObserver(()=>{clearTimeout(this.Te),this.Te=setTimeout(()=>{this.He()},this.Oe)})}He(){this.Pt(this.select)}connect(){this.Ae.observe(this.select,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["selected","value","disabled"]})}Pt(t){}disconnect(){this.Te&&clearTimeout(this.Te),this.Te=null,this.Ae.disconnect()}}class A{constructor(t){this.Te=null,this.element=t,this.Ae=new MutationObserver(t=>{let s=!1;for(const i of t)if("attributes"===i.type&&i.attributeName?.startsWith("data-")){s=!0;break}s&&(this.Te&&clearTimeout(this.Te),this.Te=setTimeout(()=>{this.Pt({...this.element.dataset})},50))}),t.addEventListener("dataset:changed",()=>{this.Pt({...this.element.dataset})})}connect(){this.Ae.observe(this.element,{attributes:!0,attributeOldValue:!0})}Pt(t){}disconnect(){this.Te&&clearTimeout(this.Te),this.Te=null,this.Ae.disconnect()}}class H extends r{constructor(t=[]){super(),this.items=[],this.Se=e.m(12),this.Fi=!1,this.items=t,this.init()}Pe(t,s,i){const e=s;t.Tt?e?.update?.():e?.mount?.()}gs(t,s){e.J.on(`${t}ing_${this.Se}`,s,{tt:0})}ds(t,s){e.J.on(`${t}_${this.Se}`,s,{tt:0})}ki(t,...s){return e.J.run(`${t}_${this.Se}`,...s)}$i(t,...s){return e.J.run(`${t}ing_${this.Se}`,...s)}Ce(t,s){return null}Le(){return this.items.length}async Ie(t){await this.$i("items",t),this.items=t,await this.ki("items",t),this.update()}async Pi(t){await this.Ie(t)}zi(t){for(let s=0;s<this.Le();s++){const i=this.items[s];let e=i.view;i.Tt||(e=this.Ce(t,i),i.view=e),this.Pe(i,e,s),i.Tt=!0}}Ii(t){}destroy(){this.is(o.DESTROYED)||(this.Vt=null,this.items.forEach(t=>{t?.destroy?.()}),this.items=[])}}class S extends r{constructor(t){super(),this.parent=null,this.view=null,this.parent=t,this.init()}ci(){if(!this.view?.view)throw Error("View is not mounted. Did you forget to set this.view?");return this.view.view}destroy(){this.is(o.DESTROYED)||(this.ci()?.remove?.(),this.parent=null,this.view=null,super.destroy())}}class P extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.options=s}mount(){const t=e.m(7);this.view=e.C({Fe:{tag:{node:"div",classList:["seui-group"],role:"group",O:`seui-${this.options?.je||"default"}-${t}-header`,id:`seui-${this.options?.je||"default"}-${t}-group`},L:{Ee:{tag:{node:"div",classList:["seui-group-header"],role:"presentation",id:`seui-${this.options?.je||"default"}-${t}-header`}},$e:{tag:{node:"div",classList:["seui-group-items"],role:"group"}}}}}),this.parent.appendChild(this.view.view),super.mount()}update(){this.Js(),super.update()}Js(t=null){this.view&&null!==t&&(this.view.tags.Ee.textContent=t)}Ve(){if(!this.view)throw Error("GroupView has not been rendered.");return this.view.tags.$e}ii(){if(!this.view)return;const t=Array.from(this.view.tags.$e.children).filter(t=>!t.classList.contains("hide"));this.view.view.classList.toggle("hide",0===t.length)}Xs(t){this.view&&(this.view.view.classList.toggle("collapsed",t),this.view.tags.Ee.setAttribute("aria-expanded",t?"false":"true"))}}class C extends S{constructor(t,s){super(t),this.view=null,this.options=null,this.config=null,this.ke=null,this.Re=!1,this.options=s,this.initialize()}initialize(){const t=this;this.config={isMultiple:!1,hasImage:!1,imagePosition:"right",imageWidth:"60px",imageHeight:"60px",imageBorderRadius:"4px",labelValign:"center",labelHalign:"left"},this.ke=new Proxy(this.config,{set(s,i,e){if("string"!=typeof i)return!0;const h=i,n=s[h];return n!==e&&(s[h]=e,t.Re&&t.De(h,e,n)),!0}}),this.init()}get isMultiple(){return this.config.isMultiple}set isMultiple(t){this.ke.isMultiple=!!t}get hasImage(){return this.config.hasImage}set hasImage(t){this.ke.hasImage=!!t}get ze(){return this.ke}set ze(t){if(!t||!this.ke||!this.config)return;const s={};void 0!==t.imageWidth&&t.imageWidth!==this.config.imageWidth&&(s.imageWidth=t.imageWidth),void 0!==t.imageHeight&&t.imageHeight!==this.config.imageHeight&&(s.imageHeight=t.imageHeight),void 0!==t.imageBorderRadius&&t.imageBorderRadius!==this.config.imageBorderRadius&&(s.imageBorderRadius=t.imageBorderRadius),void 0!==t.imagePosition&&t.imagePosition!==this.config.imagePosition&&(s.imagePosition=t.imagePosition),void 0!==t.labelValign&&t.labelValign!==this.config.labelValign&&(s.labelValign=t.labelValign),void 0!==t.labelHalign&&t.labelHalign!==this.config.labelHalign&&(s.labelHalign=t.labelHalign),Object.keys(s).length>0&&Object.assign(this.ke,s)}mount(){const t=["seui-option-view"],s=e.m(7),i=`option_${this.options?.je??"default"}_${s}`;this.config.isMultiple&&t.push("multiple"),this.config.hasImage&&t.push("has-image","image-"+this.config.imagePosition);const h={di:{tag:{node:"input",type:this.config.isMultiple?"checkbox":"radio",classList:"allow-choice",id:i}},...this.config.hasImage&&{bi:{tag:{node:"img",classList:"option-image",style:{width:this.config.imageWidth,height:this.config.imageHeight,borderRadius:this.config.imageBorderRadius}}}},_e:{tag:{node:"label",htmlFor:i,classList:["align-vertical-"+this.config.labelValign,"align-horizontal-"+this.config.labelHalign]},L:{mi:{tag:{node:"div"}}}}};this.view=e.C({Be:{tag:{node:"div",id:`seui-${this.options?.je??"default"}-${s}-option`,classList:t,role:"option",ariaSelected:"false",tabIndex:"-1"},L:h}}),this.parent.appendChild(this.view.view),this.Re=!0,super.mount()}De(t,s,i){const e=this.view;if(!e||!e.view)return;const h=e.view,n=e.tags?.di,o=e.tags?._e;switch(t){case"isMultiple":{const t=!!s;h.classList.toggle("multiple",t),n&&n.type!==(t?"checkbox":"radio")&&(n.type=t?"checkbox":"radio");break}case"hasImage":{const t=!!s;if(h.classList.toggle("has-image",t),t)h.classList.add("image-"+this.config.imagePosition),this.Ue();else{h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim();const t=e.tags?.bi;t?.remove(),e.tags.bi=null}break}case"imagePosition":this.config.hasImage&&(h.className=h.className.replace(/image-(top|right|bottom|left)/g,"").trim(),h.classList.add("image-"+s));break;case"imageWidth":case"imageHeight":case"imageBorderRadius":{const i=e.tags?.bi;i&&(i.style["imageWidth"===t?"width":"imageHeight"===t?"height":"borderRadius"]=s+"");break}case"labelValign":case"labelHalign":o&&(o.className=`align-vertical-${this.config.labelValign} align-horizontal-`+this.config.labelHalign)}}Ue(){const t=this.view;if(!t||!t.view)return;if(t.tags?.bi)return;const s=t.view,i=t.tags?._e,e=document.createElement("img");e.className="option-image",e.style.width=this.config.imageWidth,e.style.height=this.config.imageHeight,e.style.borderRadius=this.config.imageBorderRadius,i?.parentElement?s.insertBefore(e,i):s.appendChild(e),t.tags.bi=e}}class L extends H{constructor(t=[]){super(t),this.isMultiple=!1,this.options=null,this.Ne=[],this.Ge=-1,this.We=null,this.groups=[],this.qe=[],this.Ke()}init(){e.J.on("sche_vis_"+this.Se,()=>{const t=this.qe.filter(t=>t.visible).length,s=this.qe.length;this.Ne.forEach(i=>{i({Qe:t,Ye:s,hs:t>0,isEmpty:0===s})}),e.J.run("sche_vis_proxy_"+this.Se)},{tt:10}),super.init(),this.mount()}Ke(){this.qe=[],this.groups=[],this.items.forEach(t=>{t instanceof y?(this.groups.push(t),this.qe.push(...t.items)):t instanceof w&&this.qe.push(t)})}Ce(t,s){return s instanceof y?new P(t,this.options):new C(t,this.options)}Pe(t,s,i){t.position=i,t instanceof y?this.Je(t,s,i):t instanceof w&&this.Xe(t,s,i),t.Tt=!0}Je(t,s,i){super.Pe(t,s,i),t.view=s;const e=s.view.tags.Ee;e.textContent=t.label,t.Tt||(e.style.cursor="pointer",e.addEventListener("click",()=>{t.ti()}),t.Zs((t,s,i)=>{s.items.forEach(t=>{const s=t.view?.ci?.();s&&(s.style.display=i?"none":"")}),this.Ze(s,i)}));const h=s.Ve();t.items.forEach((t,s)=>{let i=t.view;t.Tt&&i||(i=new C(h,this.options)),this.Xe(t,i,s),t.Tt=!0}),s.Xs(t.collapsed),s.ii()}Xe(t,s,i){if(s.isMultiple=this.isMultiple,s.hasImage=t.hasImage,s.ze={imageWidth:t.options.imageWidth,imageHeight:t.options.imageHeight,imageBorderRadius:t.options.imageBorderRadius,imagePosition:t.options.imagePosition,labelValign:t.options.labelValign,labelHalign:t.options.labelHalign},t.Tt||super.Pe(t,s,i),t.view=s,t.hasImage){const i=s.view.tags.bi;i&&(i.src!==t.ai&&(i.src=t.ai),i.alt!==t.text&&(i.alt=t.text))}s.view.tags.mi.innerHTML=t.text,t.Tt||(s.view.tags.Be.addEventListener("click",async s=>{s.stopPropagation(),s.preventDefault(),this.Fi||(this.isMultiple?(await this.$i("select"),t.selected=!t.selected):!0!==t.selected&&(await this.$i("select"),this.We&&(this.We.selected=!1),t.selected=!0))}),s.view.tags.Be.title=t.textContent,s.view.tags.Be.addEventListener("mouseenter",()=>{this.Fi||this.th(this.qe.indexOf(t),!1)}),t.gi(()=>{this.ki("selected")}),t.fi((s,i,e)=>{e&&(this.We=t),this.ki("selected_internal")}),t.cs((t,s)=>{s.group?.ii(),this.sh()})),t.selected&&(this.We=t,t.ui=!0)}async Ie(t){await this.$i("items",t),this.items=t,this.Ke(),await this.ki("items",t),this.update()}async Pi(t){await this.Ie(t)}Ii(t){this.items=t,this.Ke(),this.update()}destroy(){this.is(o.DESTROYED)||(e.J.clear("sche_vis_"+this.Se),this.groups.forEach(t=>{t.destroy()}),this.Ne=[],this.Ge=-1,this.We=null,this.groups=[],this.qe=[],super.destroy())}ih(){return this.qe.filter(t=>t.selected)}eh(){return this.qe.find(t=>t.selected)}Zt(t){this.isMultiple&&this.qe.forEach(s=>{s.selected=t})}cs(t){this.Ne.push(t)}sh(){e.J.run("sche_vis_"+this.Se)}ns(){const t=this.qe.filter(t=>t.visible).length,s=this.qe.length;return{Qe:t,Ye:s,hs:t>0,isEmpty:0===s}}hh(){this.th(0)}navigate(t,s=!0){const i=this.qe.filter(t=>t.visible);if(0===i.length)return;let e=i.findIndex(t=>t===this.qe[this.Ge]);-1===e&&(e=-1);let h=e+t;h>=i.length&&(h=0),h<0&&(h=i.length-1);const n=this.qe.indexOf(i[h]);this.th(n,s)}nh(){if(this.Ge>-1&&this.qe[this.Ge]){const t=this.qe[this.Ge];if(t.visible){const s=t.view?.ci?.();s&&s.click()}}}th(t,s=!0){let i=0;if("number"==typeof t)i=t;else if(t instanceof w){const s=this.qe.indexOf(t);i=s>-1?s:0}else i=0;this.Ge>-1&&this.qe[this.Ge]&&(this.qe[this.Ge].pi=!1);for(let e=i;e<this.qe.length;e++){const t=this.qe[e];if(t?.visible){if(t.pi=!0,this.Ge=e,s){const s=t.view?.ci?.();s?s.scrollIntoView({block:"center",behavior:"smooth"}):this.Vt?.oh?.(e,{scrollIntoView:!0})}return void this.rh(e,t.view?.ci?.()?.id)}}}rh(t,s){}Ze(t,s){}}class I extends r{constructor(t=0){super(),this.ah=[],this.uh=0,this.initialize(t)}initialize(t){this.init(),this.reset(t)}reset(t){this.uh=t,this.ah=Array(t+1).fill(0)}add(t,s){for(let i=t;i<=this.uh;i+=i&-i)this.ah[i]+=s}dh(t){let s=0;for(let i=t;i>0;i-=i&-i)s+=this.ah[i];return s}ph(t,s){return s<t?0:this.dh(s)-this.dh(t-1)}gh(t){this.reset(t.length),t.forEach((t,s)=>this.add(s+1,t))}fh(t){let s=0,i=1;for(;i<<1<=this.uh;)i<<=1;let e=0;for(let h=i;0!==h;h>>=1){const i=s+h;i<=this.uh&&e+this.ah[i]<=t&&(s=i,e+=this.ah[i])}return s}}class F extends x{constructor(t=null){super(t),this.mh={Yt:void 0,_t:36,Bt:8,Ut:!0,bh:!0},this.yh=[],this.wh=new I(0),this.xh=new Map,this.Mh=!1,this.start=0,this.end=-1,this.Th=null,this.Oh=null,this.updating=!1,this.Ah=!1,this.Hh=0,this.Sh=!1,this.Ph=!1,this.Ch=0,this.Lh=0,this.Ih=0,this.Fh=0}configure(t){this.mh={...this.mh,...t}}Ci(t){if(this.Xt&&this.dispose(),super.Ci(t),t.Vt=this,!this.Ri)return;this.Ri.replaceChildren();const s=e.C({jh:{tag:{node:"div",classList:"seui-virtual-pad-top"}},Eh:{tag:{node:"div",classList:"seui-virtual-items"}},$h:{tag:{node:"div",classList:"seui-virtual-pad-bottom"}}},this.Ri);if(this.jh=s.jh,this.Eh=s.Eh,this.$h=s.$h,this.Yt=this.mh.Yt??this.Ri.closest(".seui-popup")??this.Ri.parentElement,!this.Yt)throw Error("VirtualRecyclerView: scrollEl not found");this.Vh=this.kh.bind(this),this.Yt.addEventListener("scroll",this.Vh,{passive:!0}),this.refresh(!1),this.Rh(),t?.cs?.(()=>this.Dh())}suspend(){this.Sh=!0,this.zh(),this.Yt&&this.Vh&&this.Yt.removeEventListener("scroll",this.Vh),this._h&&(this._h.disconnect(),this.Ph=!0)}resume(){this.Sh=!1,this.Yt&&this.Vh&&this.Yt.addEventListener("scroll",this.Vh,{passive:!0}),this.Ph&&(this.Rh(),this.Ph=!1),this.Bh()}refresh(t){if(!this.Xt||!this.Ri)return;t||this.Dh();const s=this.Xt.Le();if(this.Hh=s,0===s)return this.Uh(),void this.update();this.yh.length=s,this.Mh||(this.Nh(),this.Mh=!0),this.Gh(s),this.Bh(),this.update()}oh(t,s){this.Wh(t,t),s?.scrollIntoView&&this.qh(t)}qh(t){if((this.Xt?.Le?.()??0)<=0)return;const s=this.Kh(t),i=this.Qh()+s,e=Math.max(0,this.Yt.scrollHeight-this.Yt.clientHeight);this.Yt.scrollTop=Math.min(Math.max(0,i),e)}dispose(){this.zh(),this.Yt&&this.Vh&&this.Yt.removeEventListener("scroll",this.Vh),this._h?.disconnect(),this.xh.forEach(t=>t.remove()),this.xh.clear()}destroy(){this.is(o.DESTROYED)||(this.Uh(),this.dispose(),this.jh.remove(),this.Eh.remove(),this.$h.remove(),this.jh=null,this.Eh=null,this.$h=null,super.destroy())}Dh(){if(!this.Xt)return;const t=this.Xt.Le();t<=0||(this.suspend(),this.Uh(),this.Yh(),this.Jh(t),this.Gh(t),this.start=0,this.end=-1,this.resume())}zh(){null!=this.Th&&(cancelAnimationFrame(this.Th),this.Th=null),null!=this.Oh&&(cancelAnimationFrame(this.Oh),this.Oh=null)}Uh(){this.xh.forEach(t=>t.remove()),this.xh.clear(),this.yh=[],this.wh.reset(0),this.jh.style.height="0px",this.$h.style.height="0px",this.Mh=!1,this.Ih=0,this.Fh=0}Nh(){this.Xh(0);const t=this.xh.get(0);if(!t)return;const s=this.Zh(t);if(isNaN(s)||(this.mh._t=s),!this.mh.Ut){t.remove(),this.xh.delete(0);const s=this.Xt.items[0];s&&(s.Tt=!1,s.view=null)}}tn(t){const s=this.Xt?.items?.[t];return s?.visible??!0}sn(t,s){for(let i=Math.max(0,t);i<s;i++)if(this.tn(i))return i;return-1}Jh(t){this.Ih=0,this.Fh=0;for(let s=0;s<t;s++){if(!this.tn(s))continue;const t=this.yh[s];null!=t&&(this.Ih+=t,this.Fh++)}}Qh(){const t=this.Ri.getBoundingClientRect(),s=this.Yt.getBoundingClientRect();return Math.max(0,t.top-s.top+this.Yt.scrollTop)}en(){const t=performance.now();if(t-this.Ch<16)return this.Lh;const s=this.Yt.querySelector(".seui-option-handle:not(.hide)");return this.Lh=s?.offsetHeight??0,this.Ch=t,this.Lh}Bh(){null!=this.Th||this.Sh||(this.Th=requestAnimationFrame(()=>{this.Th=null,this.hn()}))}Zh(t){const s=t.getBoundingClientRect(),i=getComputedStyle(t);return Math.max(1,s.height+(parseFloat(i.marginTop)||0)+(parseFloat(i.marginBottom)||0))}nn(){return this.mh.bh&&this.Fh>0?Math.max(1,this.Ih/this.Fh):this.mh._t}Gh(t){const s=this.nn(),i=Array.from({length:t},(t,i)=>this.tn(i)?this.yh[i]??s:0);this.wh.gh(i)}rn(t,s){if(!this.tn(t))return!1;const i=this.nn(),e=this.yh[t]??i;if(Math.abs(s-e)<=F.ln)return!1;const h=this.yh[t];return null==h?(this.Ih+=s,this.Fh++):this.Ih+=s-h,this.yh[t]=s,this.wh.add(t+1,s-e),!0}an(t,s){const i=this.wh.fh(Math.max(0,t)),e=Math.min(s-1,i),h=this.sn(e,s);return-1===h?Math.max(0,e):h}un(t,s){s.setAttribute(F.cn,t+"");const i=this.xh.get(t-1);if(i?.parentElement===this.Eh)return void i.after(s);const e=this.xh.get(t+1);if(e?.parentElement===this.Eh)return void this.Eh.insertBefore(s,e);const h=Array.from(this.Eh.children);for(const n of h){const i=n.getAttribute(F.cn);if(i&&+i>t)return void this.Eh.insertBefore(s,n)}this.Eh.appendChild(s)}dn(t,s){if(s.parentElement!==this.Eh)return void this.un(t,s);s.setAttribute(F.cn,t+"");const i=s.previousElementSibling,e=s.nextElementSibling;(i&&+i.getAttribute(F.cn)>t||e&&+e.getAttribute(F.cn)<t)&&(s.remove(),this.un(t,s))}Rh(){this._h||(this._h=new ResizeObserver(()=>{this.Ah||this.Sh||!this.Xt||null!=this.Oh||(this.Oh=requestAnimationFrame(()=>{this.Oh=null,this.pn()}))}),this._h.observe(this.Eh))}pn(){if(!this.Xt)return;const t=this.Xt.Le();if(t<=0)return;let s=!1;for(let i=this.start;i<=this.end;i++){if(!this.tn(i))continue;const t=this.Xt.items[i],e=t?.view?.ci?.();if(!e)continue;const h=this.Zh(e);this.rn(i,h)&&(s=!0)}s&&(this.mh.bh&&this.Gh(t),this.Bh())}kh(){this.Bh()}hn(){if(!this.updating&&!this.Sh){this.updating=!0;try{if(!this.Xt)return;const t=this.Xt.Le();if(t<=0)return;this.Hh!==t&&(this.Hh=t,this.yh.length=t,this.Gh(t));const s=this.Qh(),i=Math.max(0,this.Yt.scrollTop-s),e=this.en(),h=Math.max(0,this.Yt.clientHeight-e),n=this.an(i,t),o=this.Kh(n),r=s+o-this.Yt.scrollTop,l=this.an(i,t);if(-1===l)return void this.Uh();const a=this.nn(),u=this.mh.Bt*a;let c=this.sn(Math.min(t-1,this.wh.fh(Math.max(0,i-u))),t)??l,d=Math.min(t-1,this.wh.fh(i+h+u));if(c===this.start&&d===this.end)return;this.start=c,this.end=d,this.Ah=!0;try{this.Wh(this.start,this.end),this.gn(this.start,this.end),this.mh.Ut&&this.pn();const s=this.Kh(this.start),i=this.fn(this.start,this.end),e=this.mn(t),h=Math.max(0,e-s-i);this.jh.style.height=s+"px",this.$h.style.height=h+"px"}finally{this.Ah=!1}const p=this.Kh(n),g=this.Qh()+p-r,f=Math.max(0,this.Yt.scrollHeight-this.Yt.clientHeight),m=Math.min(Math.max(0,g),f),b=Math.abs(p-o)>1,y=Math.abs(this.Yt.scrollTop-m);b&&y>.5&&y<100&&(this.Yt.scrollTop=m)}finally{this.updating=!1}}}Wh(t,s){for(let i=t;i<=s;i++)this.Xh(i)}Xh(t){if(!this.tn(t)){const s=this.xh.get(t);return s?.parentElement===this.Eh&&s.remove(),void this.xh.delete(t)}const s=this.Xt.items[t];if(!s)return;const i=this.xh.get(t);if(i)return void(s?.view?(this.dn(t,i),this.Xt.Pe(s,s.view,t)):(i.remove(),this.xh.delete(t)));if(s.Tt)s.view&&this.Xt.Pe(s,s.view,t);else{const i=this.Xt.Ce(this.Eh,s);s.view=i,this.Xt.Pe(s,i,t),s.Tt=!0}const e=s.view?.ci?.();e&&(this.dn(t,e),this.xh.set(t,e))}gn(t,s){this.xh.forEach((i,e)=>{(e<t||e>s)&&(i.parentElement===this.Eh&&i.remove(),this.xh.delete(e))})}Yh(){this.xh.forEach((t,s)=>{this.tn(s)||(t.parentElement===this.Eh&&t.remove(),this.xh.delete(s))})}Kh(t){return this.wh.dh(t)}fn(t,s){return this.wh.ph(t+1,s+1)}mn(t){return this.wh.dh(t)}}F.ln=.5,F.cn="data-vindex";class j extends r{constructor(t,s){super(),this.container={},this.oldValue=null,this.node=null,this.options=null,this.bn=null,this.isOpen=!1,this.yn=!1,this.wn=!1,this.vn=!1,this.ae=null,this.plugins=[],this.xn=null,t&&s&&this.initialize(t,s)}get isDisabled(){return!!this.options?.disabled}set isDisabled(t){this.options&&this.node&&(this.options.disabled=t,this.node.classList.toggle("disabled",t),this.node.setAttribute("aria-disabled",t+""),this.container.tags?.Os?.setAttribute("aria-disabled",t+""))}get Mn(){return!!this.options?.readonly}set Mn(t){this.options&&this.node&&(this.options.readonly=t,this.node.classList.toggle("readonly",t))}get isVisible(){return!!this.options?.visible}set isVisible(t){this.options&&this.node&&(this.options.visible=t,this.node.classList.toggle("invisible",!t))}initialize(t,s){const i=e.V(t);this.options=i.options,this.ae=s,this.init(t)}init(t){if(this.state!==o.NEW)return;if(!t||!this.options)return;const i=this.options,h=new l(i),n=new a,r=new f(i),effector=s(),u=new v(i),c=new M(i),d=new T(t,u,this),p=new O(t),m=new A(t);h.node&&(h.node.id=(i.Tn??"")+"");const b=e.C({On:{tag:{node:"div",classList:"seui-MAIN"},L:{Os:{tag:{node:"div",classList:"seui-view",tabIndex:0,onkeydown:t=>{"Enter"!==t.key&&" "!==t.key&&"ArrowDown"!==t.key||(t.preventDefault(),this.An()?.open())}},L:{Hn:{tag:h.node},Sn:{tag:n.node},Rs:{tag:r.node}}}}}},null);this.container=b,this.node=b.view,b.Pn=d,b.placeholder=h,b.Cn=n,b.Ln=r,b.effector=effector,b.targetElement=t,b.In=c,b.Fn=p,b.jn=m,u.Ti(L),u.Ai(i.virtualScroll?F:x),u.Si(e.q(t)),u.on("onUpdate",()=>{b.se?.rs?.()}),this.bn=u;const y=new g(t,i,u);if(b.se=y,y.bs(effector),y.As(d,i),y.fs("selected",()=>{this.An()?.change(null,!0)}),y.fs("selected_internal",()=>{this.An()?.change(null,!1)}),y.ps("select",()=>{this.oldValue=this.An()?.value??""}),c.Gi(b.tags.Os),c.qi(u),this.En(t,b,i,d,r),this.$n(p,m,t,u),this.plugins=this.ae?.Vn?.()??[],this.plugins.length){const t=u.Jt(),s={ie:this,options:i,Xt:t.Xt,kn:t.Vt,Rn:b.tags,actions:this.An()};this.xn=s,this.Dn("init",t=>t.init?.(s))}this.isDisabled=e.F(i.disabled),this.Mn=e.F(i.readonly),super.init()}mount(){if(this.state!==o.INITIALIZED)return;if(!this.node||!this.container.targetElement)return;const t=this.container.targetElement,s=this.container;t.parentNode?.insertBefore(this.node,t),this.node.insertBefore(t,s.tags.Os),s.tags.Os.addEventListener("mousedown",t=>{t.stopPropagation(),t.preventDefault()}),n.ot(t,s.tags.Os),t.classList.add("init");const i=this.An();i?.change?.(null,!1),this.options.preload&&i?.load?.(),super.mount()}update(){this.state===o.MOUNTED&&(this.container.se?.rs?.(),super.update())}En(t,s,i,h,n){const o=s.se.Lt;let r=null;const l=(t,n)=>{n||""!==t?(""!==t&&(this.wn=!0),h.search(t).then(t=>{clearTimeout(r),e.J.clear("sche_vis_proxy_"+o.Se),e.J.on("sche_vis_proxy_"+o.Se,()=>{s.se?.rs?.(),t?.we&&(r=setTimeout(()=>{o.hh(),s.se?.rs?.()},i.animationtime??0))},{tt:10})}).catch(t=>{console.error("Search error:",t)})):h.clear()};let a=null;n.Es=(t,e)=>{h.ye(t)&&(a&&clearTimeout(a),h.ne()?(s.se?.ss?.(),a=setTimeout(()=>{l(t,e)},i.delaysearchtime??0)):a=setTimeout(()=>{l(t,e)},10))},h.setPopup(s.se),n.$s=t=>{o.navigate(t)},n.Vs=()=>{o.nh()},n.ks=()=>{this.An()?.close(),s.tags.Os.focus()},o.rh=(t,s)=>{s&&n.zs(s)},o.Ze=()=>{s.se?.rs?.()},i.ajax&&(null==i.ajax?.keepSelected&&(i.ajax.keepSelected=i.keepSelected),h.ge(i.ajax))}$n(t,s,i,h){t.connect(),t.Pt=t=>{h.Li(e.q(t)),this.An()?.refreshMask()},s.connect(),s.Pt=t=>{e.F(t.disabled)!==this.isDisabled&&(this.isDisabled=e.F(t.disabled)),e.F(t.readonly)!==this.Mn&&(this.Mn=e.F(t.readonly)),e.F(t.visible)!==this.isVisible&&(this.isVisible=e.F(t.visible??"1"))}}zn(){if(this.vn)return;const t=this.container??{},{Fn:s,jn:i}=t;this.plugins.length&&this.Dn("destroy",t=>t.destroy?.()),this.plugins=[],this.xn=null,s?.disconnect&&s.disconnect(),i?.disconnect&&i.disconnect(),this.vn=!0}destroy(){if(this.is(o.DESTROYED))return;this.zn();const t=this.container;t.Pn.destroy(),t.Cn.destroy(),t.se.destroy(),t.In.destroy(),t.placeholder.destroy(),t.Ln.destroy(),this.bn.destroy(),this.node?.remove(),this.container={},this.node=null,this.options=null,this.bn=null,this.ae=null,this.oldValue=null,this.isOpen=!1,this.yn=!1,this.wn=!1,super.destroy()}An(){const t=this.container,s=this,i=()=>this.ae.find(t.targetElement),n=e.V(t.targetElement);if(!n)return null;const r=n.options,l={get targetElement(){return t.targetElement},get placeholder(){return t.placeholder.get()},set placeholder(s){t.placeholder?.set(s),t.Ln?.Ds(s)},get oldValue(){return s.oldValue},set value(t){this.setValue(null,t,!0)},get value(){const t=this.valueArray,s=t.length;return s>1?t:0===s?"":t[0]},get valueArray(){const t=[];return s._n().forEach(s=>{s.selected&&t.push(s.value)}),t},get valueString(){return this.valueArray.join(r.customDelimiter)},get valueOptions(){const t=[];return s._n(!0).forEach(s=>{t.push(s)}),t},get mask(){const t=[];return s._n(!0).forEach(s=>{t.push(s.text)}),t},get valueText(){const t=[];s._n(!0).forEach(s=>{t.push(s.text)});const i=t.length;return i>1?t:0===i?"":t[0]},get isOpen(){return s.isOpen},getParent:()=>t.view.parentElement,valueDataset(t,i=null,e=!1){var h=[];if(s._n(!0).forEach(t=>{h.push(i?t.dataset[i]:t.dataset)}),!e){if(0==h.length)return"";if(1==h.length)return h[0]}return h},selectAll(t,e=!0){if(!(r.multiple&&r.maxSelected>0&&s._n().length>r.maxSelected)&&!this.disabled&&!this.readonly&&r.multiple){if(e){if(h.et([i()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s._n().forEach(t=>{t.ui=!0}),this.change(!1,e)}},deSelectAll(t,e=!0){if(!this.disabled&&!this.readonly&&r.multiple){if(e){if(h.et([i()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s._n().forEach(t=>{t.ui=!1}),this.change(!1,e)}},setValue(e=null,n,o=!0,l=!1){if(Array.isArray(n)||(n=[n]),0===(n=n.filter(t=>""!==t&&null!=t)).length)return s._n().forEach(t=>t.ui=!1),void this.change(!1,o);if(r.multiple&&r.maxSelected>0&&n.length>r.maxSelected)console.warn(`Cannot select more than ${r.maxSelected} items`);else if(l||!this.disabled&&!this.readonly){if(t.Pn?.ne?.()){const{pe:i}=t.Pn.ce(n);if(i.length>0)return void(async()=>{r.loadingfield&&t.se?.ss?.();try{t.Pn.fe();const e=await t.Pn.oe(i);e.Ls&&e.items.length>0?(e.items.forEach(t=>{i.includes(t.value)&&(t.selected=!0)}),t.Pn.xe?.(e.items,!0,!0),setTimeout(()=>{s._n().forEach(t=>{t.ui=n.some(s=>s==t.value)}),this.change(!1,!1)},100)):i.length>0&&console.warn(`Could not load ${i.length} values:`,i)}catch(e){console.error("Error loading missing values:",e)}finally{r.loadingfield&&t.se?.ls?.()}})()}if(o){if(h.et([i()],...r.on.beforeChange).isCancel)return;s.oldValue=this.value}s._n().forEach(t=>{t.ui=n.some(s=>s==t.value)}),!r.multiple&&n.length>0&&(t.targetElement.value=n[0]),this.change(!1,o)}},load(){s.yn&&!s.wn||!r?.ajax||(t.Pn.fe(),t.se.ss(),s.yn=!0,s.wn=!1,setTimeout(()=>{t.se&&t.Pn&&t.Pn.search("").then(()=>t.se?.rs?.()).catch(t=>console.error("Initial ajax load error:",t))},r.animationtime)),t.se.load()},open(){if(s.isOpen)return;const e=s.ae?.find?.();if(e&&!e.isEmpty&&e.close().isCancel)return;if(this.disabled)return;if(h.et([i()],...r.on.beforeShow).isCancel)return;s.isOpen=!0,t.Cn.dt(!0);const n=t.se.Lt,o=n.eh();o?n.th(o,!1):n.hh(),this.load(),t.se.open(null,!t.se.$t.isVisible),t.Ln.show();const l=t.tags.Os;l.setAttribute("aria-expanded","true"),l.setAttribute("aria-controls",r.qt),l.setAttribute("aria-haspopup","listbox"),l.setAttribute("aria-labelledby",r.Tn),r.multiple&&l.setAttribute("aria-multiselectable","true"),h.et([i()],...r.on.show),s.xn&&s.Dn("onOpen",t=>t.Bn?.(s.xn))},close(){s.isOpen&&(h.et([i()],...r.on.beforeClose).isCancel||(s.isOpen=!1,t.Cn.dt(!1),t.se.close(()=>{t.Ln.clear(!1)}),t.Ln.hide(),t.tags.Os.setAttribute("aria-expanded","false"),h.et([i()],...r.on.close),s.xn&&s.Dn("onClose",t=>t.Un?.(s.xn))))},toggle(){s.isOpen?this.close():this.open()},change(e=null,n=!0){if(n){if(r.multiple&&r.maxSelected>0&&this.valueArray.length>r.maxSelected&&this.setValue(null,this.oldValue,!1,!0),this.disabled||this.readonly)return void this.setValue(null,this.oldValue,!1,!0);if(h.et([i(),this.value],...r.on.beforeChange).isCancel)return void this.setValue(null,this.oldValue,!1)}if(this.refreshMask(),t.In.Ki(this.valueOptions),n&&(t.targetElement&&h.ht(t.targetElement,"change"),h.et([i(),this.value],...r.on.change),s.options?.autoclose&&this.close()),s.is(o.MOUNTED)&&s.update(),s.xn&&s.bn){const t=s.bn.Jt();s.Dn("onChange",i=>i.Nn?.(this.value,t.ji,t.Xt,s.xn))}},refreshMask(){let i=r.placeholder;!r.multiple&&s._n().length>0&&(i=this.mask[0]),i??(i=r.placeholder),t.placeholder.set(i,!1),t.Ln.Ds(i)},on(t,s,i){r.on[s]||(r.on[s]=[]),r.on[s].push(i)},ajax(i,e){null==e.keepSelected&&(e.keepSelected=s.options.keepSelected),t.Pn.ge(e)},loadAjax:()=>new Promise((e,h)=>{t.se.ss(),t.Pn.fe(),s.yn=!0,s.wn=!1,t.se&&t.Pn?t.Pn.search("").then(()=>{t.se?.rs?.(),e(i())}).catch(t=>{console.error("Initial ajax load error:",t),h(t)}):e(i())})};return this.Gn(l,"disabled","isDisabled"),this.Gn(l,"readonly","isReadOnly"),this.Gn(l,"visible","isVisible"),l}Gn(t,s,i){const e=this;Object.defineProperty(t,s,{get:()=>e[i],set(t){e[i]=!!t,e.container?.targetElement?.dataset&&(e.container.targetElement.dataset[s]=!!t+"")},enumerable:!0,configurable:!0})}_n(t=null){if(!this.bn)return[];const{ji:s}=this.bn.Jt(),i=[];for(const e of s)e instanceof w?i.push(e):e instanceof y&&Array.isArray(e.items)&&e.items.length&&i.push(...e.items);return"boolean"==typeof t?i.filter(s=>s.selected===t):i}Dn(t,s){this.plugins.length&&this.plugins.forEach(i=>{try{s(i)}catch(e){console.error(`Plugin "${i.id}" ${t} error:`,e)}})}}class E{constructor(){this.isActive=!1,this.Ae=null,this.actions=new Set}Wn(t){this.actions.add(t)}qn(){this.actions.clear()}connect(t){if(this.isActive)return;this.isActive=!0;const s=t.toUpperCase(),i=t.toLowerCase();this.Ae=new MutationObserver(t=>{for(const e of t)e.addedNodes.forEach(t=>{if(1!==t.nodeType)return;const e=t;e.tagName===s&&this.Kn(e),e.querySelectorAll(i).forEach(t=>this.Kn(t))})}),this.Ae.observe(document.body,{childList:!0,subtree:!0})}disconnect(){this.isActive&&(this.isActive=!1,this.Ae?.disconnect(),this.Ae=null)}Kn(t){for(const s of this.actions)s(t)}}class $ extends r{constructor(){super(),this.Qn=new Map,this.plugins=new Map,this.init()}init(){this.is(o.NEW)&&(this.Qn=new Map,this.plugins=new Map,super.init())}bind(t,s){this.is(o.NEW)&&this.init();const i=e.j(e.B(),s);i.on=i.on??{},i.on.load=i.on.load??[],this.Qn.set(t,i);const n=e.m();e.J.on(n,()=>{h.et([this.find(t)],...i.on.load),e.J.clear(n),i.on.load=[]});const r=e.v(t);let l=!1;r.forEach(t=>{(async()=>{"SELECT"===t.tagName&&(e.R(t),this.Yn(t,i)&&(l=!0,e.J.run(n)))})()}),e.U().includes(t)||e.U().push(t),this.is(o.INITIALIZED)&&l&&this.mount(),this.is(o.MOUNTED)&&this.update()}mount(){this.state===o.INITIALIZED&&super.mount()}update(){this.state===o.MOUNTED&&super.update()}find(t="*"){const s={isEmpty:!0};if("*"===t&&""===(t=e.U().join(", ")))return s;const i=e.v(t);if(0===i.length)return s;const h=e.V(i[0]);if(!h||!h.action)return s;const n={};for(const e in h.action)n[e]=this.Jn(e,h.action);const o={isEmpty:!1};for(const e in n){const t=n[e];switch(t.type){case"get-set":this.Xn(o,t.name,i);break;case"func":this.Zn(o,t.name,i)}}return o}Vn(){return Array.from(this.plugins.values())}so(){this.io||(this.io=new E,this.io.Wn(t=>{this.Qn.forEach((s,i)=>{try{t.matches(i)&&(this.Yn(t,s),this.is(o.MOUNTED)&&this.update())}catch(e){console.warn("Invalid selector: "+i,e)}})})),this.io.connect("select")}destroy(t=null){null===t?this.eo():"string"==typeof t?this.ho(t):t instanceof HTMLSelectElement&&this.no(t),null!==t&&this.is(o.MOUNTED)&&this.update()}registerPlugin(t){t?.id&&this.plugins.set(t.id,t)}unregisterPlugin(t){t&&this.plugins.delete(t)}oo(t){if(t)return this.plugins.get(t)}eo(){this.state!==o.DESTROYED&&(e.U().forEach(t=>this.ho(t)),this.Qn.clear(),e.U().length=0,this.plugins.forEach(t=>{t.destroy?.(),t.ro?.()}),this.plugins.clear(),this.io?.disconnect(),this.plugins.clear(),super.destroy())}ho(t){e.v(t).forEach(t=>{"SELECT"===t.tagName&&this.no(t)}),this.Qn.delete(t);const s=e.U(),i=s.indexOf(t);i>-1&&s.splice(i,1)}no(t){const s=e.V(t);if(!s)return;const i=s.self;e._(t,s);const h=!!this.io;h&&this.io?.disconnect(),s.self?.zn?.();const n=s.container?.element??t.parentElement;t.style.display="",t.style.visibility="",t.disabled=!1,delete t.dataset.lo,n&&n.parentNode?n.parentNode.replaceChild(t,n):t.appendChild(t),e.$(t),h&&this.Qn.size>0&&this.io?.connect("select"),i?.destroy?.()}rebind(t,s){this.ho(t),this.bind(t,s),this.is(o.MOUNTED)&&this.update()}Yn(t,s){if(e.V(t)||e.D(t))return!1;const i=e.m(8),h=e.I(t,s);h.je=i,h.qt=`seui-${i}-optionlist`,h.Tn=`seui-${i}-placeholder`;const n={options:h};e.k(t,n);const o=new j(t,this);return o.on("onMount",()=>{o.container.view&&o.container.view.addEventListener("mouseup",()=>{n.action?.toggle?.()})}),o.mount(),n.container=o.container,n.action=o.An(),n.self=o,!0}Jn(t,s){const i=Object.getOwnPropertyDescriptor(s,t);let e="variable";return i?.get||i?.set&&"function"!=typeof s[t]?e="get-set":"function"==typeof s[t]&&(e="func"),{type:e,name:t}}Xn(t,s,i){Object.defineProperty(t,s,{get(){const t=e.V(i[0]);return t.action?.[s]},set(t){i.forEach(i=>{const h=e.V(i);h?.action&&(h.action[s]=t)})},enumerable:!0,configurable:!0})}Zn(t,s,i){t[s]=(...n)=>{let o=null;for(let t=0;t<i.length;t++){const r=e.V(i[t]);if(!r?.action)continue;const l=h.it();if(o??(o=r.action[s](l.st,...n)),!l.token.isContinue)break}return o??t}}}if(void 0===globalThis.GLOBAL_SEUI){const k=new $;globalThis.GLOBAL_SEUI={version:"1.3.1",name:"SelectiveUI",bind:k.bind.bind(k),find:k.find.bind(k),destroy:k.destroy.bind(k),effector:s.bind(s),rebind:k.rebind.bind(k),registerPlugin:k.registerPlugin.bind(k),unregisterPlugin:k.unregisterPlugin.bind(k)};let R=!1;function init(){R||(R=!0,document.addEventListener("mousedown",()=>{const t=e.U();if(t.length>0){const s=k.find(t.join(", "));s.isEmpty||s.close()}}),k.so())}"undefined"!=typeof document&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",init):init()),console.log("[SelectiveUI] v1.3.1 loaded successfully")}else console.warn(`[${globalThis.GLOBAL_SEUI.name}] Already loaded (v${globalThis.GLOBAL_SEUI.version}). Using existing instance. Please remove duplicate <script> tags.`);const version=globalThis.GLOBAL_SEUI.version,V=globalThis.GLOBAL_SEUI.name;t.bind=(t,s={})=>{globalThis.GLOBAL_SEUI.bind(t,s)},t.destroy=(t=null)=>{globalThis.GLOBAL_SEUI.destroy(t)},t.effector=t=>globalThis.GLOBAL_SEUI.effector(t),t.find=t=>globalThis.GLOBAL_SEUI.find(t),t.name=V,t.rebind=(t,s={})=>{globalThis.GLOBAL_SEUI.rebind(t,s)},t.registerPlugin=t=>{globalThis.GLOBAL_SEUI.registerPlugin(t)},t.unregisterPlugin=t=>{globalThis.GLOBAL_SEUI.unregisterPlugin(t)},t.version=version},"object"==typeof exports&&"undefined"!=typeof module?s(exports):"function"==typeof define&&define.amd?define(["exports"],s):s((t="undefined"!=typeof globalThis?globalThis:t||self).SelectiveUI={});
|
|
Binary file
|
package/dist/selective-ui.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Selective UI v1.3.
|
|
1
|
+
/*! Selective UI v1.3.1 | MIT License */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
@@ -10895,7 +10895,7 @@
|
|
|
10895
10895
|
if (typeof globalThis.GLOBAL_SEUI == "undefined") {
|
|
10896
10896
|
const SECLASS = new Selective();
|
|
10897
10897
|
globalThis.GLOBAL_SEUI = {
|
|
10898
|
-
version: "1.3.
|
|
10898
|
+
version: "1.3.1",
|
|
10899
10899
|
name: "SelectiveUI",
|
|
10900
10900
|
bind: SECLASS.bind.bind(SECLASS),
|
|
10901
10901
|
find: SECLASS.find.bind(SECLASS),
|
|
@@ -10928,7 +10928,7 @@
|
|
|
10928
10928
|
init();
|
|
10929
10929
|
}
|
|
10930
10930
|
}
|
|
10931
|
-
console.log(`[${"SelectiveUI"}] v${"1.3.
|
|
10931
|
+
console.log(`[${"SelectiveUI"}] v${"1.3.1"} loaded successfully`);
|
|
10932
10932
|
}
|
|
10933
10933
|
else {
|
|
10934
10934
|
console.warn(`[${globalThis.GLOBAL_SEUI.name}] Already loaded (v${globalThis.GLOBAL_SEUI.version}). ` +
|
package/package.json
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
.seui-placeholder {
|
|
2
|
-
display: flex;
|
|
3
2
|
align-items: center;
|
|
4
3
|
|
|
5
4
|
margin-left: 10px;
|
|
6
|
-
max-width: calc(100% -
|
|
7
|
-
height: calc(100% - 10px);
|
|
5
|
+
max-width: calc(100% - 40px);
|
|
8
6
|
text-overflow: ellipsis;
|
|
9
7
|
white-space: nowrap;
|
|
10
8
|
pointer-events: none;
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
|
|
11
11
|
font-family: var(--seui-view-text-style);
|
|
12
12
|
font-size: var(--seui-view-text-size) !important;
|
|
13
|
-
overflow: hidden;
|
|
14
13
|
color: var(--seui-view-text-color);
|
|
15
14
|
}
|