smart-webcomponents 15.0.1 → 15.0.11
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/bootstrap/source/smart.element.js +1 -1
- package/framework/smart.element.js +1 -1
- package/package.json +1 -1
- package/source/angular/accordion/index.ts +1 -0
- package/source/angular/accordion/public_api.ts +5 -0
- package/source/angular/accordion/smart.accordion.module.ts +13 -0
- package/source/angular/accordion/smart.accordion.ts +370 -0
- package/source/angular/accordion/smart.accordionitem.ts +142 -0
- package/source/angular/accordion/smart.element.ts +104 -0
- package/source/angular/array/index.ts +1 -0
- package/source/angular/array/public_api.ts +3 -0
- package/source/angular/array/smart.array.module.ts +12 -0
- package/source/angular/array/smart.array.ts +817 -0
- package/source/angular/array/smart.element.ts +104 -0
- package/source/angular/barcode/index.ts +1 -0
- package/source/angular/barcode/public_api.ts +3 -0
- package/source/angular/barcode/smart.barcode.module.ts +12 -0
- package/source/angular/barcode/smart.barcode.ts +288 -0
- package/source/angular/barcode/smart.element.ts +104 -0
- package/source/angular/bootstrap/bootstrap.button.ts +160 -0
- package/source/angular/bootstrap/bootstrap.checkbox.ts +165 -0
- package/source/angular/bootstrap/bootstrap.circular.ts +151 -0
- package/source/angular/bootstrap/bootstrap.dropdown.ts +253 -0
- package/source/angular/bootstrap/bootstrap.fileinput.ts +133 -0
- package/source/angular/bootstrap/bootstrap.input.ts +160 -0
- package/source/angular/bootstrap/bootstrap.inputgroup.ts +178 -0
- package/source/angular/bootstrap/bootstrap.modal.ts +204 -0
- package/source/angular/bootstrap/bootstrap.progressbar.ts +151 -0
- package/source/angular/bootstrap/bootstrap.radiobutton.ts +156 -0
- package/source/angular/bootstrap/bootstrap.range.ts +133 -0
- package/source/angular/bootstrap/bootstrap.splitbutton.ts +253 -0
- package/source/angular/bootstrap/bootstrap.switchbutton.ts +165 -0
- package/source/angular/bootstrap/bootstrap.tabs.ts +175 -0
- package/source/angular/bootstrap/bootstrap.textarea.ts +160 -0
- package/source/angular/bootstrap/bootstrap.togglebutton.ts +156 -0
- package/source/angular/bootstrap/index.ts +1 -0
- package/source/angular/bootstrap/public_api.ts +17 -0
- package/source/angular/bootstrap/smart.element.ts +104 -0
- package/source/angular/breadcrumb/index.ts +1 -0
- package/source/angular/breadcrumb/public_api.ts +3 -0
- package/source/angular/breadcrumb/smart.breadcrumb.module.ts +12 -0
- package/source/angular/breadcrumb/smart.breadcrumb.ts +306 -0
- package/source/angular/breadcrumb/smart.element.ts +104 -0
- package/source/angular/button/index.ts +1 -0
- package/source/angular/button/public_api.ts +9 -0
- package/source/angular/button/smart.button.module.ts +15 -0
- package/source/angular/button/smart.button.ts +230 -0
- package/source/angular/button/smart.element.ts +104 -0
- package/source/angular/button/smart.powerbutton.ts +283 -0
- package/source/angular/button/smart.repeatbutton.ts +214 -0
- package/source/angular/button/smart.togglebutton.ts +235 -0
- package/source/angular/buttongroup/index.ts +1 -0
- package/source/angular/buttongroup/public_api.ts +3 -0
- package/source/angular/buttongroup/smart.buttongroup.module.ts +12 -0
- package/source/angular/buttongroup/smart.buttongroup.ts +229 -0
- package/source/angular/buttongroup/smart.element.ts +104 -0
- package/source/angular/calendar/index.ts +1 -0
- package/source/angular/calendar/public_api.ts +3 -0
- package/source/angular/calendar/smart.calendar.module.ts +12 -0
- package/source/angular/calendar/smart.calendar.ts +787 -0
- package/source/angular/calendar/smart.element.ts +104 -0
- package/source/angular/card/index.ts +1 -0
- package/source/angular/card/public_api.ts +3 -0
- package/source/angular/card/smart.card.module.ts +12 -0
- package/source/angular/card/smart.card.ts +220 -0
- package/source/angular/card/smart.element.ts +104 -0
- package/source/angular/cardview/index.ts +1 -0
- package/source/angular/cardview/public_api.ts +3 -0
- package/source/angular/cardview/smart.cardview.module.ts +12 -0
- package/source/angular/cardview/smart.cardview.ts +573 -0
- package/source/angular/cardview/smart.element.ts +104 -0
- package/source/angular/carousel/index.ts +1 -0
- package/source/angular/carousel/public_api.ts +3 -0
- package/source/angular/carousel/smart.carousel.module.ts +12 -0
- package/source/angular/carousel/smart.carousel.ts +414 -0
- package/source/angular/carousel/smart.element.ts +104 -0
- package/source/angular/chart/index.ts +1 -0
- package/source/angular/chart/public_api.ts +3 -0
- package/source/angular/chart/smart.chart.module.ts +12 -0
- package/source/angular/chart/smart.chart.ts +930 -0
- package/source/angular/chart/smart.element.ts +104 -0
- package/source/angular/checkbox/index.ts +1 -0
- package/source/angular/checkbox/public_api.ts +3 -0
- package/source/angular/checkbox/smart.checkbox.module.ts +12 -0
- package/source/angular/checkbox/smart.checkbox.ts +341 -0
- package/source/angular/checkbox/smart.element.ts +104 -0
- package/source/angular/checkinput/index.ts +1 -0
- package/source/angular/checkinput/public_api.ts +3 -0
- package/source/angular/checkinput/smart.checkinput.module.ts +12 -0
- package/source/angular/checkinput/smart.checkinput.ts +497 -0
- package/source/angular/checkinput/smart.element.ts +104 -0
- package/source/angular/chip/index.ts +1 -0
- package/source/angular/chip/public_api.ts +3 -0
- package/source/angular/chip/smart.chip.module.ts +12 -0
- package/source/angular/chip/smart.chip.ts +221 -0
- package/source/angular/chip/smart.element.ts +104 -0
- package/source/angular/colorinput/index.ts +1 -0
- package/source/angular/colorinput/public_api.ts +3 -0
- package/source/angular/colorinput/smart.colorinput.module.ts +12 -0
- package/source/angular/colorinput/smart.colorinput.ts +456 -0
- package/source/angular/colorinput/smart.element.ts +104 -0
- package/source/angular/colorpanel/index.ts +1 -0
- package/source/angular/colorpanel/public_api.ts +3 -0
- package/source/angular/colorpanel/smart.colorpanel.module.ts +12 -0
- package/source/angular/colorpanel/smart.colorpanel.ts +501 -0
- package/source/angular/colorpanel/smart.element.ts +104 -0
- package/source/angular/colorpicker/index.ts +1 -0
- package/source/angular/colorpicker/public_api.ts +3 -0
- package/source/angular/colorpicker/smart.colorpicker.module.ts +12 -0
- package/source/angular/colorpicker/smart.colorpicker.ts +756 -0
- package/source/angular/colorpicker/smart.element.ts +104 -0
- package/source/angular/columnpanel/index.ts +1 -0
- package/source/angular/columnpanel/public_api.ts +3 -0
- package/source/angular/columnpanel/smart.columnpanel.module.ts +12 -0
- package/source/angular/columnpanel/smart.columnpanel.ts +183 -0
- package/source/angular/columnpanel/smart.element.ts +104 -0
- package/source/angular/combobox/index.ts +1 -0
- package/source/angular/combobox/public_api.ts +7 -0
- package/source/angular/combobox/smart.combobox.module.ts +14 -0
- package/source/angular/combobox/smart.combobox.ts +1125 -0
- package/source/angular/combobox/smart.element.ts +104 -0
- package/source/angular/combobox/smart.listitem.ts +162 -0
- package/source/angular/combobox/smart.listitemsgroup.ts +72 -0
- package/source/angular/countryinput/index.ts +1 -0
- package/source/angular/countryinput/public_api.ts +3 -0
- package/source/angular/countryinput/smart.countryinput.module.ts +12 -0
- package/source/angular/countryinput/smart.countryinput.ts +391 -0
- package/source/angular/countryinput/smart.element.ts +104 -0
- package/source/angular/customizationdialog/index.ts +1 -0
- package/source/angular/customizationdialog/public_api.ts +3 -0
- package/source/angular/customizationdialog/smart.customizationdialog.module.ts +12 -0
- package/source/angular/customizationdialog/smart.customizationdialog.ts +311 -0
- package/source/angular/customizationdialog/smart.element.ts +104 -0
- package/source/angular/dateinput/index.ts +1 -0
- package/source/angular/dateinput/public_api.ts +3 -0
- package/source/angular/dateinput/smart.dateinput.module.ts +12 -0
- package/source/angular/dateinput/smart.dateinput.ts +465 -0
- package/source/angular/dateinput/smart.element.ts +104 -0
- package/source/angular/daterangeinput/index.ts +1 -0
- package/source/angular/daterangeinput/public_api.ts +3 -0
- package/source/angular/daterangeinput/smart.daterangeinput.module.ts +12 -0
- package/source/angular/daterangeinput/smart.daterangeinput.ts +456 -0
- package/source/angular/daterangeinput/smart.element.ts +104 -0
- package/source/angular/datetimepicker/index.ts +1 -0
- package/source/angular/datetimepicker/public_api.ts +3 -0
- package/source/angular/datetimepicker/smart.datetimepicker.module.ts +12 -0
- package/source/angular/datetimepicker/smart.datetimepicker.ts +835 -0
- package/source/angular/datetimepicker/smart.element.ts +104 -0
- package/source/angular/dockinglayout/index.ts +1 -0
- package/source/angular/dockinglayout/public_api.ts +3 -0
- package/source/angular/dockinglayout/smart.dockinglayout.module.ts +12 -0
- package/source/angular/dockinglayout/smart.dockinglayout.ts +866 -0
- package/source/angular/dockinglayout/smart.element.ts +104 -0
- package/source/angular/dropdownbutton/index.ts +1 -0
- package/source/angular/dropdownbutton/public_api.ts +3 -0
- package/source/angular/dropdownbutton/smart.dropdownbutton.module.ts +12 -0
- package/source/angular/dropdownbutton/smart.dropdownbutton.ts +542 -0
- package/source/angular/dropdownbutton/smart.element.ts +104 -0
- package/source/angular/dropdownlist/index.ts +1 -0
- package/source/angular/dropdownlist/public_api.ts +7 -0
- package/source/angular/dropdownlist/smart.dropdownlist.module.ts +14 -0
- package/source/angular/dropdownlist/smart.dropdownlist.ts +1082 -0
- package/source/angular/dropdownlist/smart.element.ts +104 -0
- package/source/angular/dropdownlist/smart.listitem.ts +162 -0
- package/source/angular/dropdownlist/smart.listitemsgroup.ts +72 -0
- package/source/angular/editor/index.ts +1 -0
- package/source/angular/editor/public_api.ts +3 -0
- package/source/angular/editor/smart.editor.module.ts +12 -0
- package/source/angular/editor/smart.editor.ts +1307 -0
- package/source/angular/editor/smart.element.ts +104 -0
- package/source/angular/element/index.ts +1 -0
- package/source/angular/element/public_api.ts +3 -0
- package/source/angular/element/smart.element.module.ts +10 -0
- package/source/angular/element/smart.element.ts +104 -0
- package/source/angular/fileupload/index.ts +1 -0
- package/source/angular/fileupload/public_api.ts +3 -0
- package/source/angular/fileupload/smart.element.ts +104 -0
- package/source/angular/fileupload/smart.fileupload.module.ts +12 -0
- package/source/angular/fileupload/smart.fileupload.ts +517 -0
- package/source/angular/filterbuilder/index.ts +1 -0
- package/source/angular/filterbuilder/public_api.ts +3 -0
- package/source/angular/filterbuilder/smart.element.ts +104 -0
- package/source/angular/filterbuilder/smart.filterbuilder.module.ts +12 -0
- package/source/angular/filterbuilder/smart.filterbuilder.ts +506 -0
- package/source/angular/filterpanel/index.ts +1 -0
- package/source/angular/filterpanel/public_api.ts +3 -0
- package/source/angular/filterpanel/smart.element.ts +104 -0
- package/source/angular/filterpanel/smart.filterpanel.module.ts +12 -0
- package/source/angular/filterpanel/smart.filterpanel.ts +334 -0
- package/source/angular/form/index.ts +1 -0
- package/source/angular/form/public_api.ts +7 -0
- package/source/angular/form/smart.element.ts +104 -0
- package/source/angular/form/smart.form.module.ts +14 -0
- package/source/angular/form/smart.form.ts +288 -0
- package/source/angular/form/smart.formcontrol.ts +336 -0
- package/source/angular/form/smart.formgroup.ts +220 -0
- package/source/angular/ganttchart/index.ts +1 -0
- package/source/angular/ganttchart/public_api.ts +3 -0
- package/source/angular/ganttchart/smart.element.ts +104 -0
- package/source/angular/ganttchart/smart.ganttchart.module.ts +12 -0
- package/source/angular/ganttchart/smart.ganttchart.ts +2142 -0
- package/source/angular/gauge/index.ts +1 -0
- package/source/angular/gauge/public_api.ts +3 -0
- package/source/angular/gauge/smart.element.ts +104 -0
- package/source/angular/gauge/smart.gauge.module.ts +12 -0
- package/source/angular/gauge/smart.gauge.ts +650 -0
- package/source/angular/grid/index.ts +1 -0
- package/source/angular/grid/public_api.ts +3 -0
- package/source/angular/grid/smart.element.ts +104 -0
- package/source/angular/grid/smart.grid.module.ts +12 -0
- package/source/angular/grid/smart.grid.ts +3091 -0
- package/source/angular/grouppanel/index.ts +1 -0
- package/source/angular/grouppanel/public_api.ts +3 -0
- package/source/angular/grouppanel/smart.element.ts +104 -0
- package/source/angular/grouppanel/smart.grouppanel.module.ts +12 -0
- package/source/angular/grouppanel/smart.grouppanel.ts +220 -0
- package/source/angular/index.d.ts +32978 -0
- package/source/angular/input/index.ts +1 -0
- package/source/angular/input/public_api.ts +3 -0
- package/source/angular/input/smart.element.ts +104 -0
- package/source/angular/input/smart.input.module.ts +12 -0
- package/source/angular/input/smart.input.ts +590 -0
- package/source/angular/kanban/index.ts +1 -0
- package/source/angular/kanban/public_api.ts +3 -0
- package/source/angular/kanban/smart.element.ts +104 -0
- package/source/angular/kanban/smart.kanban.module.ts +12 -0
- package/source/angular/kanban/smart.kanban.ts +1682 -0
- package/source/angular/layout/index.ts +1 -0
- package/source/angular/layout/public_api.ts +11 -0
- package/source/angular/layout/smart.element.ts +104 -0
- package/source/angular/layout/smart.layout.module.ts +16 -0
- package/source/angular/layout/smart.layout.ts +363 -0
- package/source/angular/layout/smart.layoutgroup.ts +140 -0
- package/source/angular/layout/smart.layoutitem.ts +129 -0
- package/source/angular/layout/smart.tablayoutgroup.ts +147 -0
- package/source/angular/layout/smart.tablayoutitem.ts +138 -0
- package/source/angular/led/index.ts +1 -0
- package/source/angular/led/public_api.ts +3 -0
- package/source/angular/led/smart.element.ts +104 -0
- package/source/angular/led/smart.led.module.ts +12 -0
- package/source/angular/led/smart.led.ts +280 -0
- package/source/angular/listbox/index.ts +1 -0
- package/source/angular/listbox/public_api.ts +7 -0
- package/source/angular/listbox/smart.element.ts +104 -0
- package/source/angular/listbox/smart.listbox.module.ts +14 -0
- package/source/angular/listbox/smart.listbox.ts +1007 -0
- package/source/angular/listbox/smart.listitem.ts +162 -0
- package/source/angular/listbox/smart.listitemsgroup.ts +72 -0
- package/source/angular/listmenu/index.ts +1 -0
- package/source/angular/listmenu/public_api.ts +7 -0
- package/source/angular/listmenu/smart.element.ts +104 -0
- package/source/angular/listmenu/smart.listmenu.module.ts +14 -0
- package/source/angular/listmenu/smart.listmenu.ts +597 -0
- package/source/angular/listmenu/smart.menuitem.ts +126 -0
- package/source/angular/listmenu/smart.menuitemsgroup.ts +153 -0
- package/source/angular/map/index.ts +1 -0
- package/source/angular/map/public_api.ts +3 -0
- package/source/angular/map/smart.element.ts +104 -0
- package/source/angular/map/smart.map.module.ts +12 -0
- package/source/angular/map/smart.map.ts +128 -0
- package/source/angular/maskedtextbox/index.ts +1 -0
- package/source/angular/maskedtextbox/public_api.ts +3 -0
- package/source/angular/maskedtextbox/smart.element.ts +104 -0
- package/source/angular/maskedtextbox/smart.maskedtextbox.module.ts +12 -0
- package/source/angular/maskedtextbox/smart.maskedtextbox.ts +539 -0
- package/source/angular/menu/index.ts +1 -0
- package/source/angular/menu/public_api.ts +7 -0
- package/source/angular/menu/smart.element.ts +104 -0
- package/source/angular/menu/smart.menu.module.ts +14 -0
- package/source/angular/menu/smart.menu.ts +695 -0
- package/source/angular/menu/smart.menuitem.ts +126 -0
- package/source/angular/menu/smart.menuitemsgroup.ts +153 -0
- package/source/angular/multicolumnfilterpanel/index.ts +1 -0
- package/source/angular/multicolumnfilterpanel/public_api.ts +3 -0
- package/source/angular/multicolumnfilterpanel/smart.element.ts +104 -0
- package/source/angular/multicolumnfilterpanel/smart.multicolumnfilterpanel.module.ts +12 -0
- package/source/angular/multicolumnfilterpanel/smart.multicolumnfilterpanel.ts +256 -0
- package/source/angular/multicomboinput/index.ts +1 -0
- package/source/angular/multicomboinput/public_api.ts +3 -0
- package/source/angular/multicomboinput/smart.element.ts +104 -0
- package/source/angular/multicomboinput/smart.multicomboinput.module.ts +12 -0
- package/source/angular/multicomboinput/smart.multicomboinput.ts +542 -0
- package/source/angular/multiinput/index.ts +1 -0
- package/source/angular/multiinput/public_api.ts +3 -0
- package/source/angular/multiinput/smart.element.ts +104 -0
- package/source/angular/multiinput/smart.multiinput.module.ts +12 -0
- package/source/angular/multiinput/smart.multiinput.ts +497 -0
- package/source/angular/multilinetextbox/index.ts +1 -0
- package/source/angular/multilinetextbox/public_api.ts +7 -0
- package/source/angular/multilinetextbox/smart.element.ts +104 -0
- package/source/angular/multilinetextbox/smart.listitem.ts +162 -0
- package/source/angular/multilinetextbox/smart.listitemsgroup.ts +72 -0
- package/source/angular/multilinetextbox/smart.multilinetextbox.module.ts +14 -0
- package/source/angular/multilinetextbox/smart.multilinetextbox.ts +561 -0
- package/source/angular/multisplitbutton/index.ts +1 -0
- package/source/angular/multisplitbutton/public_api.ts +7 -0
- package/source/angular/multisplitbutton/smart.element.ts +104 -0
- package/source/angular/multisplitbutton/smart.listitem.ts +162 -0
- package/source/angular/multisplitbutton/smart.listitemsgroup.ts +72 -0
- package/source/angular/multisplitbutton/smart.multisplitbutton.module.ts +14 -0
- package/source/angular/multisplitbutton/smart.multisplitbutton.ts +620 -0
- package/source/angular/numberinput/index.ts +1 -0
- package/source/angular/numberinput/public_api.ts +3 -0
- package/source/angular/numberinput/smart.element.ts +104 -0
- package/source/angular/numberinput/smart.numberinput.module.ts +12 -0
- package/source/angular/numberinput/smart.numberinput.ts +398 -0
- package/source/angular/numerictextbox/index.ts +1 -0
- package/source/angular/numerictextbox/public_api.ts +3 -0
- package/source/angular/numerictextbox/smart.element.ts +104 -0
- package/source/angular/numerictextbox/smart.numerictextbox.module.ts +12 -0
- package/source/angular/numerictextbox/smart.numerictextbox.ts +644 -0
- package/source/angular/pager/index.ts +1 -0
- package/source/angular/pager/public_api.ts +3 -0
- package/source/angular/pager/smart.element.ts +104 -0
- package/source/angular/pager/smart.pager.module.ts +12 -0
- package/source/angular/pager/smart.pager.ts +386 -0
- package/source/angular/passwordinput/index.ts +1 -0
- package/source/angular/passwordinput/public_api.ts +3 -0
- package/source/angular/passwordinput/smart.element.ts +104 -0
- package/source/angular/passwordinput/smart.passwordinput.module.ts +12 -0
- package/source/angular/passwordinput/smart.passwordinput.ts +218 -0
- package/source/angular/passwordtextbox/index.ts +1 -0
- package/source/angular/passwordtextbox/public_api.ts +3 -0
- package/source/angular/passwordtextbox/smart.element.ts +104 -0
- package/source/angular/passwordtextbox/smart.passwordtextbox.module.ts +12 -0
- package/source/angular/passwordtextbox/smart.passwordtextbox.ts +463 -0
- package/source/angular/path/index.ts +1 -0
- package/source/angular/path/public_api.ts +3 -0
- package/source/angular/path/smart.element.ts +104 -0
- package/source/angular/path/smart.path.module.ts +12 -0
- package/source/angular/path/smart.path.ts +491 -0
- package/source/angular/phoneinput/index.ts +1 -0
- package/source/angular/phoneinput/public_api.ts +3 -0
- package/source/angular/phoneinput/smart.element.ts +104 -0
- package/source/angular/phoneinput/smart.phoneinput.module.ts +12 -0
- package/source/angular/phoneinput/smart.phoneinput.ts +493 -0
- package/source/angular/pivottable/index.ts +1 -0
- package/source/angular/pivottable/public_api.ts +3 -0
- package/source/angular/pivottable/smart.element.ts +104 -0
- package/source/angular/pivottable/smart.pivottable.module.ts +12 -0
- package/source/angular/pivottable/smart.pivottable.ts +840 -0
- package/source/angular/progressbar/index.ts +1 -0
- package/source/angular/progressbar/public_api.ts +5 -0
- package/source/angular/progressbar/smart.circularprogressbar.ts +223 -0
- package/source/angular/progressbar/smart.element.ts +104 -0
- package/source/angular/progressbar/smart.progressbar.module.ts +13 -0
- package/source/angular/progressbar/smart.progressbar.ts +235 -0
- package/source/angular/qrcode/index.ts +1 -0
- package/source/angular/qrcode/public_api.ts +3 -0
- package/source/angular/qrcode/smart.element.ts +104 -0
- package/source/angular/qrcode/smart.qrcode.module.ts +12 -0
- package/source/angular/qrcode/smart.qrcode.ts +306 -0
- package/source/angular/querybuilder/index.ts +1 -0
- package/source/angular/querybuilder/public_api.ts +3 -0
- package/source/angular/querybuilder/smart.element.ts +104 -0
- package/source/angular/querybuilder/smart.querybuilder.module.ts +12 -0
- package/source/angular/querybuilder/smart.querybuilder.ts +460 -0
- package/source/angular/radiobutton/index.ts +1 -0
- package/source/angular/radiobutton/public_api.ts +3 -0
- package/source/angular/radiobutton/smart.element.ts +104 -0
- package/source/angular/radiobutton/smart.radiobutton.module.ts +12 -0
- package/source/angular/radiobutton/smart.radiobutton.ts +350 -0
- package/source/angular/rating/index.ts +1 -0
- package/source/angular/rating/public_api.ts +3 -0
- package/source/angular/rating/smart.element.ts +104 -0
- package/source/angular/rating/smart.rating.module.ts +12 -0
- package/source/angular/rating/smart.rating.ts +309 -0
- package/source/angular/scheduler/index.ts +1 -0
- package/source/angular/scheduler/public_api.ts +3 -0
- package/source/angular/scheduler/smart.element.ts +104 -0
- package/source/angular/scheduler/smart.scheduler.module.ts +12 -0
- package/source/angular/scheduler/smart.scheduler.ts +2328 -0
- package/source/angular/scrollbar/index.ts +1 -0
- package/source/angular/scrollbar/public_api.ts +3 -0
- package/source/angular/scrollbar/smart.element.ts +104 -0
- package/source/angular/scrollbar/smart.scrollbar.module.ts +12 -0
- package/source/angular/scrollbar/smart.scrollbar.ts +260 -0
- package/source/angular/slider/index.ts +1 -0
- package/source/angular/slider/public_api.ts +3 -0
- package/source/angular/slider/smart.element.ts +104 -0
- package/source/angular/slider/smart.slider.module.ts +12 -0
- package/source/angular/slider/smart.slider.ts +632 -0
- package/source/angular/sortable/index.ts +1 -0
- package/source/angular/sortable/public_api.ts +3 -0
- package/source/angular/sortable/smart.element.ts +104 -0
- package/source/angular/sortable/smart.sortable.module.ts +12 -0
- package/source/angular/sortable/smart.sortable.ts +217 -0
- package/source/angular/sortpanel/index.ts +1 -0
- package/source/angular/sortpanel/public_api.ts +3 -0
- package/source/angular/sortpanel/smart.element.ts +104 -0
- package/source/angular/sortpanel/smart.sortpanel.module.ts +12 -0
- package/source/angular/sortpanel/smart.sortpanel.ts +180 -0
- package/source/angular/splitter/index.ts +1 -0
- package/source/angular/splitter/public_api.ts +7 -0
- package/source/angular/splitter/smart.element.ts +104 -0
- package/source/angular/splitter/smart.splitter.module.ts +14 -0
- package/source/angular/splitter/smart.splitter.ts +530 -0
- package/source/angular/splitter/smart.splitterbar.ts +121 -0
- package/source/angular/splitter/smart.splitteritem.ts +192 -0
- package/source/angular/switchbutton/index.ts +1 -0
- package/source/angular/switchbutton/public_api.ts +3 -0
- package/source/angular/switchbutton/smart.element.ts +104 -0
- package/source/angular/switchbutton/smart.switchbutton.module.ts +12 -0
- package/source/angular/switchbutton/smart.switchbutton.ts +386 -0
- package/source/angular/table/index.ts +1 -0
- package/source/angular/table/public_api.ts +3 -0
- package/source/angular/table/smart.element.ts +104 -0
- package/source/angular/table/smart.table.module.ts +12 -0
- package/source/angular/table/smart.table.ts +1493 -0
- package/source/angular/tabs/index.ts +1 -0
- package/source/angular/tabs/public_api.ts +7 -0
- package/source/angular/tabs/smart.element.ts +104 -0
- package/source/angular/tabs/smart.tabitem.ts +126 -0
- package/source/angular/tabs/smart.tabitemsgroup.ts +81 -0
- package/source/angular/tabs/smart.tabs.module.ts +14 -0
- package/source/angular/tabs/smart.tabs.ts +622 -0
- package/source/angular/tank/index.ts +1 -0
- package/source/angular/tank/public_api.ts +3 -0
- package/source/angular/tank/smart.element.ts +104 -0
- package/source/angular/tank/smart.tank.module.ts +12 -0
- package/source/angular/tank/smart.tank.ts +593 -0
- package/source/angular/textarea/index.ts +1 -0
- package/source/angular/textarea/public_api.ts +3 -0
- package/source/angular/textarea/smart.element.ts +104 -0
- package/source/angular/textarea/smart.textarea.module.ts +12 -0
- package/source/angular/textarea/smart.textarea.ts +484 -0
- package/source/angular/textbox/index.ts +1 -0
- package/source/angular/textbox/public_api.ts +7 -0
- package/source/angular/textbox/smart.element.ts +104 -0
- package/source/angular/textbox/smart.listitem.ts +162 -0
- package/source/angular/textbox/smart.listitemsgroup.ts +72 -0
- package/source/angular/textbox/smart.textbox.module.ts +14 -0
- package/source/angular/textbox/smart.textbox.ts +708 -0
- package/source/angular/threedchart/index.ts +1 -0
- package/source/angular/threedchart/public_api.ts +3 -0
- package/source/angular/threedchart/smart.element.ts +104 -0
- package/source/angular/threedchart/smart.threedchart.module.ts +12 -0
- package/source/angular/threedchart/smart.threedchart.ts +1043 -0
- package/source/angular/timeinput/index.ts +1 -0
- package/source/angular/timeinput/public_api.ts +3 -0
- package/source/angular/timeinput/smart.element.ts +104 -0
- package/source/angular/timeinput/smart.timeinput.module.ts +12 -0
- package/source/angular/timeinput/smart.timeinput.ts +427 -0
- package/source/angular/timepicker/index.ts +1 -0
- package/source/angular/timepicker/public_api.ts +3 -0
- package/source/angular/timepicker/smart.element.ts +104 -0
- package/source/angular/timepicker/smart.timepicker.module.ts +12 -0
- package/source/angular/timepicker/smart.timepicker.ts +370 -0
- package/source/angular/toast/index.ts +1 -0
- package/source/angular/toast/public_api.ts +3 -0
- package/source/angular/toast/smart.element.ts +104 -0
- package/source/angular/toast/smart.toast.module.ts +12 -0
- package/source/angular/toast/smart.toast.ts +405 -0
- package/source/angular/tooltip/index.ts +1 -0
- package/source/angular/tooltip/public_api.ts +3 -0
- package/source/angular/tooltip/smart.element.ts +104 -0
- package/source/angular/tooltip/smart.tooltip.module.ts +12 -0
- package/source/angular/tooltip/smart.tooltip.ts +339 -0
- package/source/angular/tree/index.ts +1 -0
- package/source/angular/tree/public_api.ts +7 -0
- package/source/angular/tree/smart.element.ts +104 -0
- package/source/angular/tree/smart.tree.module.ts +14 -0
- package/source/angular/tree/smart.tree.ts +1042 -0
- package/source/angular/tree/smart.treeitem.ts +135 -0
- package/source/angular/tree/smart.treeitemsgroup.ts +135 -0
- package/source/angular/validator/index.ts +1 -0
- package/source/angular/validator/public_api.ts +3 -0
- package/source/angular/validator/smart.element.ts +104 -0
- package/source/angular/validator/smart.validator.module.ts +12 -0
- package/source/angular/validator/smart.validator.ts +124 -0
- package/source/angular/window/index.ts +1 -0
- package/source/angular/window/public_api.ts +3 -0
- package/source/angular/window/smart.element.ts +104 -0
- package/source/angular/window/smart.window.module.ts +12 -0
- package/source/angular/window/smart.window.ts +1180 -0
- package/source/components/smart.ui.chart.js +1 -1
- package/source/components/smart.ui.pivottable.js +1 -1
- package/source/modules/smart.3dchart.js +1 -1
- package/source/modules/smart.accordion.js +1 -1
- package/source/modules/smart.array.js +1 -1
- package/source/modules/smart.barcode.js +1 -1
- package/source/modules/smart.breadcrumb.js +1 -1
- package/source/modules/smart.button.js +1 -1
- package/source/modules/smart.buttongroup.js +1 -1
- package/source/modules/smart.calendar.js +1 -1
- package/source/modules/smart.card.js +1 -1
- package/source/modules/smart.cardview.js +1 -1
- package/source/modules/smart.carousel.js +1 -1
- package/source/modules/smart.chart.js +2 -2
- package/source/modules/smart.checkbox.js +1 -1
- package/source/modules/smart.checkinput.js +1 -1
- package/source/modules/smart.chip.js +1 -1
- package/source/modules/smart.colorinput.js +1 -1
- package/source/modules/smart.colorpanel.js +1 -1
- package/source/modules/smart.colorpicker.js +1 -1
- package/source/modules/smart.combobox.js +1 -1
- package/source/modules/smart.common.js +1 -1
- package/source/modules/smart.countryinput.js +1 -1
- package/source/modules/smart.dateinput.js +1 -1
- package/source/modules/smart.daterangeinput.js +1 -1
- package/source/modules/smart.datetimepicker.js +1 -1
- package/source/modules/smart.dockinglayout.js +1 -1
- package/source/modules/smart.dropdownbutton.js +1 -1
- package/source/modules/smart.dropdownlist.js +1 -1
- package/source/modules/smart.editor.js +1 -1
- package/source/modules/smart.element.js +1 -1
- package/source/modules/smart.fileupload.js +1 -1
- package/source/modules/smart.form.js +1 -1
- package/source/modules/smart.formulaparser.js +1 -1
- package/source/modules/smart.ganttchart.js +1 -1
- package/source/modules/smart.gauge.js +1 -1
- package/source/modules/smart.grid.js +1 -1
- package/source/modules/smart.gridpanel.js +1 -1
- package/source/modules/smart.input.js +1 -1
- package/source/modules/smart.kanban.js +1 -1
- package/source/modules/smart.layout.js +1 -1
- package/source/modules/smart.led.js +1 -1
- package/source/modules/smart.listbox.js +1 -1
- package/source/modules/smart.listmenu.js +1 -1
- package/source/modules/smart.map.js +1 -1
- package/source/modules/smart.maskedtextbox.js +1 -1
- package/source/modules/smart.menu.js +1 -1
- package/source/modules/smart.multicomboinput.js +1 -1
- package/source/modules/smart.multiinput.js +1 -1
- package/source/modules/smart.multilinetextbox.js +1 -1
- package/source/modules/smart.multisplitbutton.js +1 -1
- package/source/modules/smart.numberinput.js +1 -1
- package/source/modules/smart.numerictextbox.js +1 -1
- package/source/modules/smart.pager.js +1 -1
- package/source/modules/smart.passwordinput.js +1 -1
- package/source/modules/smart.passwordtextbox.js +1 -1
- package/source/modules/smart.path.js +1 -1
- package/source/modules/smart.phoneinput.js +1 -1
- package/source/modules/smart.pivottable.js +2 -2
- package/source/modules/smart.progressbar.js +1 -1
- package/source/modules/smart.qrcode.js +1 -1
- package/source/modules/smart.querybuilder.js +1 -1
- package/source/modules/smart.radiobutton.js +1 -1
- package/source/modules/smart.rating.js +1 -1
- package/source/modules/smart.router.js +1 -1
- package/source/modules/smart.scheduler.js +1 -1
- package/source/modules/smart.scrollbar.js +1 -1
- package/source/modules/smart.slider.js +1 -1
- package/source/modules/smart.sortable.js +1 -1
- package/source/modules/smart.splitter.js +1 -1
- package/source/modules/smart.switchbutton.js +1 -1
- package/source/modules/smart.table.js +1 -1
- package/source/modules/smart.tabs.js +1 -1
- package/source/modules/smart.tank.js +1 -1
- package/source/modules/smart.textarea.js +1 -1
- package/source/modules/smart.textbox.js +1 -1
- package/source/modules/smart.timeinput.js +1 -1
- package/source/modules/smart.timepicker.js +1 -1
- package/source/modules/smart.toast.js +1 -1
- package/source/modules/smart.tooltip.js +1 -1
- package/source/modules/smart.tree.js +1 -1
- package/source/modules/smart.validator.js +1 -1
- package/source/modules/smart.window.js +1 -1
- package/source/react/accordion/accordion.jsx +462 -0
- package/source/react/accordion/accordion.tsx +466 -0
- package/source/react/accordion/accordionitem.jsx +211 -0
- package/source/react/accordion/accordionitem.tsx +229 -0
- package/source/react/alertwindow/alertwindow.jsx +1391 -0
- package/source/react/alertwindow/alertwindow.tsx +1349 -0
- package/source/react/array/array.jsx +907 -0
- package/source/react/array/array.tsx +909 -0
- package/source/react/barcode/barcode.jsx +372 -0
- package/source/react/barcode/barcode.tsx +394 -0
- package/source/react/breadcrumb/breadcrumb.jsx +399 -0
- package/source/react/breadcrumb/breadcrumb.tsx +405 -0
- package/source/react/button/button.jsx +331 -0
- package/source/react/button/button.tsx +359 -0
- package/source/react/button/powerbutton.jsx +301 -0
- package/source/react/button/powerbutton.tsx +323 -0
- package/source/react/button/repeatbutton.jsx +325 -0
- package/source/react/button/repeatbutton.tsx +347 -0
- package/source/react/button/togglebutton.jsx +337 -0
- package/source/react/button/togglebutton.tsx +351 -0
- package/source/react/buttongroup/buttongroup.jsx +340 -0
- package/source/react/buttongroup/buttongroup.tsx +362 -0
- package/source/react/calendar/calendar.jsx +868 -0
- package/source/react/calendar/calendar.tsx +866 -0
- package/source/react/card/card.jsx +313 -0
- package/source/react/card/card.tsx +323 -0
- package/source/react/cardview/cardview.jsx +664 -0
- package/source/react/cardview/cardview.tsx +656 -0
- package/source/react/carousel/carousel.jsx +546 -0
- package/source/react/carousel/carousel.tsx +556 -0
- package/source/react/chart/chart.jsx +1014 -0
- package/source/react/chart/chart.tsx +996 -0
- package/source/react/checkbox/checkbox.jsx +361 -0
- package/source/react/checkbox/checkbox.tsx +375 -0
- package/source/react/checkinput/checkinput.jsx +566 -0
- package/source/react/checkinput/checkinput.tsx +588 -0
- package/source/react/chip/chip.jsx +329 -0
- package/source/react/chip/chip.tsx +351 -0
- package/source/react/colorinput/colorinput.jsx +516 -0
- package/source/react/colorinput/colorinput.tsx +538 -0
- package/source/react/colorpanel/colorpanel.jsx +570 -0
- package/source/react/colorpanel/colorpanel.tsx +580 -0
- package/source/react/colorpicker/colorpicker.jsx +846 -0
- package/source/react/colorpicker/colorpicker.tsx +824 -0
- package/source/react/columnpanel/columnpanel.jsx +276 -0
- package/source/react/columnpanel/columnpanel.tsx +294 -0
- package/source/react/combobox/combobox.jsx +1212 -0
- package/source/react/combobox/combobox.tsx +1198 -0
- package/source/react/combobox/listitem.jsx +279 -0
- package/source/react/combobox/listitem.tsx +305 -0
- package/source/react/combobox/listitemsgroup.jsx +159 -0
- package/source/react/combobox/listitemsgroup.tsx +185 -0
- package/source/react/countryinput/countryinput.jsx +409 -0
- package/source/react/countryinput/countryinput.tsx +423 -0
- package/source/react/customizationdialog/customizationdialog.jsx +425 -0
- package/source/react/customizationdialog/customizationdialog.tsx +435 -0
- package/source/react/dateinput/dateinput.jsx +513 -0
- package/source/react/dateinput/dateinput.tsx +535 -0
- package/source/react/daterangeinput/daterangeinput.jsx +516 -0
- package/source/react/daterangeinput/daterangeinput.tsx +538 -0
- package/source/react/datetimepicker/datetimepicker.jsx +967 -0
- package/source/react/datetimepicker/datetimepicker.tsx +973 -0
- package/source/react/dialogwindow/dialogwindow.jsx +1391 -0
- package/source/react/dialogwindow/dialogwindow.tsx +1349 -0
- package/source/react/dockinglayout/dockinglayout.jsx +923 -0
- package/source/react/dockinglayout/dockinglayout.tsx +925 -0
- package/source/react/dropdownbutton/dropdownbutton.jsx +665 -0
- package/source/react/dropdownbutton/dropdownbutton.tsx +659 -0
- package/source/react/dropdownlist/dropdownlist.jsx +1148 -0
- package/source/react/dropdownlist/dropdownlist.tsx +1130 -0
- package/source/react/dropdownlist/listitem.jsx +279 -0
- package/source/react/dropdownlist/listitem.tsx +305 -0
- package/source/react/dropdownlist/listitemsgroup.jsx +159 -0
- package/source/react/dropdownlist/listitemsgroup.tsx +185 -0
- package/source/react/editor/editor.jsx +1373 -0
- package/source/react/editor/editor.tsx +1287 -0
- package/source/react/element/element.jsx +392 -0
- package/source/react/element/element.tsx +410 -0
- package/source/react/fileupload/fileupload.jsx +643 -0
- package/source/react/fileupload/fileupload.tsx +641 -0
- package/source/react/filterbuilder/filterbuilder.jsx +608 -0
- package/source/react/filterbuilder/filterbuilder.tsx +594 -0
- package/source/react/filterpanel/filterpanel.jsx +433 -0
- package/source/react/filterpanel/filterpanel.tsx +447 -0
- package/source/react/form/form.jsx +383 -0
- package/source/react/form/form.tsx +413 -0
- package/source/react/form/formcontrol.jsx +495 -0
- package/source/react/form/formcontrol.tsx +521 -0
- package/source/react/form/formgroup.jsx +310 -0
- package/source/react/form/formgroup.tsx +336 -0
- package/source/react/ganttchart/ganttchart.jsx +2202 -0
- package/source/react/ganttchart/ganttchart.tsx +2116 -0
- package/source/react/gauge/gauge.jsx +755 -0
- package/source/react/gauge/gauge.tsx +777 -0
- package/source/react/grid/grid.jsx +2906 -0
- package/source/react/grid/grid.tsx +2782 -0
- package/source/react/grouppanel/grouppanel.jsx +313 -0
- package/source/react/grouppanel/grouppanel.tsx +323 -0
- package/source/react/input/input.jsx +626 -0
- package/source/react/input/input.tsx +632 -0
- package/source/react/kanban/kanban.jsx +1824 -0
- package/source/react/kanban/kanban.tsx +1736 -0
- package/source/react/layout/layout.jsx +449 -0
- package/source/react/layout/layout.tsx +451 -0
- package/source/react/layout/layoutgroup.jsx +233 -0
- package/source/react/layout/layoutgroup.tsx +259 -0
- package/source/react/layout/layoutitem.jsx +219 -0
- package/source/react/layout/layoutitem.tsx +245 -0
- package/source/react/layout/tablayoutgroup.jsx +243 -0
- package/source/react/layout/tablayoutgroup.tsx +269 -0
- package/source/react/layout/tablayoutitem.jsx +231 -0
- package/source/react/layout/tablayoutitem.tsx +257 -0
- package/source/react/led/led.jsx +412 -0
- package/source/react/led/led.tsx +434 -0
- package/source/react/listbox/listbox.jsx +1044 -0
- package/source/react/listbox/listbox.tsx +1030 -0
- package/source/react/listbox/listitem.jsx +279 -0
- package/source/react/listbox/listitem.tsx +305 -0
- package/source/react/listbox/listitemsgroup.jsx +159 -0
- package/source/react/listbox/listitemsgroup.tsx +185 -0
- package/source/react/listmenu/listmenu.jsx +740 -0
- package/source/react/listmenu/listmenu.tsx +746 -0
- package/source/react/listmenu/menuitem.jsx +231 -0
- package/source/react/listmenu/menuitem.tsx +257 -0
- package/source/react/listmenu/menuitemsgroup.jsx +267 -0
- package/source/react/listmenu/menuitemsgroup.tsx +293 -0
- package/source/react/map/map.jsx +233 -0
- package/source/react/map/map.tsx +259 -0
- package/source/react/maskedtextbox/maskedtextbox.jsx +617 -0
- package/source/react/maskedtextbox/maskedtextbox.tsx +631 -0
- package/source/react/menu/menu.jsx +817 -0
- package/source/react/menu/menu.tsx +807 -0
- package/source/react/menu/menuitem.jsx +231 -0
- package/source/react/menu/menuitem.tsx +257 -0
- package/source/react/menu/menuitemsgroup.jsx +267 -0
- package/source/react/menu/menuitemsgroup.tsx +293 -0
- package/source/react/multicolumnfilterpanel/multicolumnfilterpanel.jsx +361 -0
- package/source/react/multicolumnfilterpanel/multicolumnfilterpanel.tsx +371 -0
- package/source/react/multicomboinput/multicomboinput.jsx +626 -0
- package/source/react/multicomboinput/multicomboinput.tsx +648 -0
- package/source/react/multiinput/multiinput.jsx +566 -0
- package/source/react/multiinput/multiinput.tsx +588 -0
- package/source/react/multilinetextbox/listitem.jsx +279 -0
- package/source/react/multilinetextbox/listitem.tsx +305 -0
- package/source/react/multilinetextbox/listitemsgroup.jsx +159 -0
- package/source/react/multilinetextbox/listitemsgroup.tsx +185 -0
- package/source/react/multilinetextbox/multilinetextbox.jsx +638 -0
- package/source/react/multilinetextbox/multilinetextbox.tsx +664 -0
- package/source/react/multilinewindow/multilinewindow.jsx +1391 -0
- package/source/react/multilinewindow/multilinewindow.tsx +1349 -0
- package/source/react/multisplitbutton/listitem.jsx +279 -0
- package/source/react/multisplitbutton/listitem.tsx +305 -0
- package/source/react/multisplitbutton/listitemsgroup.jsx +159 -0
- package/source/react/multisplitbutton/listitemsgroup.tsx +185 -0
- package/source/react/multisplitbutton/multisplitbutton.jsx +751 -0
- package/source/react/multisplitbutton/multisplitbutton.tsx +745 -0
- package/source/react/numberinput/numberinput.jsx +413 -0
- package/source/react/numberinput/numberinput.tsx +435 -0
- package/source/react/numerictextbox/numerictextbox.jsx +721 -0
- package/source/react/numerictextbox/numerictextbox.tsx +719 -0
- package/source/react/pager/pager.jsx +524 -0
- package/source/react/pager/pager.tsx +542 -0
- package/source/react/passwordinput/passwordinput.jsx +317 -0
- package/source/react/passwordinput/passwordinput.tsx +335 -0
- package/source/react/passwordtextbox/passwordtextbox.jsx +523 -0
- package/source/react/passwordtextbox/passwordtextbox.tsx +541 -0
- package/source/react/path/path.jsx +629 -0
- package/source/react/path/path.tsx +623 -0
- package/source/react/phoneinput/phoneinput.jsx +481 -0
- package/source/react/phoneinput/phoneinput.tsx +495 -0
- package/source/react/pivottable/pivottable.jsx +990 -0
- package/source/react/pivottable/pivottable.tsx +980 -0
- package/source/react/progressbar/circularprogressbar.jsx +337 -0
- package/source/react/progressbar/circularprogressbar.tsx +359 -0
- package/source/react/progressbar/progressbar.jsx +351 -0
- package/source/react/progressbar/progressbar.tsx +375 -0
- package/source/react/progresswindow/progresswindow.jsx +1391 -0
- package/source/react/progresswindow/progresswindow.tsx +1349 -0
- package/source/react/promptwindow/promptwindow.jsx +1391 -0
- package/source/react/promptwindow/promptwindow.tsx +1349 -0
- package/source/react/qrcode/qrcode.jsx +396 -0
- package/source/react/qrcode/qrcode.tsx +418 -0
- package/source/react/querybuilder/querybuilder.jsx +589 -0
- package/source/react/querybuilder/querybuilder.tsx +587 -0
- package/source/react/radiobutton/radiobutton.jsx +373 -0
- package/source/react/radiobutton/radiobutton.tsx +387 -0
- package/source/react/rating/rating.jsx +315 -0
- package/source/react/rating/rating.tsx +337 -0
- package/source/react/scheduler/scheduler.jsx +2452 -0
- package/source/react/scheduler/scheduler.tsx +2336 -0
- package/source/react/scrollbar/scrollbar.jsx +380 -0
- package/source/react/scrollbar/scrollbar.tsx +402 -0
- package/source/react/slider/slider.jsx +731 -0
- package/source/react/slider/slider.tsx +753 -0
- package/source/react/sortable/sortable.jsx +319 -0
- package/source/react/sortable/sortable.tsx +341 -0
- package/source/react/sortpanel/sortpanel.jsx +273 -0
- package/source/react/sortpanel/sortpanel.tsx +291 -0
- package/source/react/splitter/splitter.jsx +613 -0
- package/source/react/splitter/splitter.tsx +627 -0
- package/source/react/splitter/splitterbar.jsx +205 -0
- package/source/react/splitter/splitterbar.tsx +231 -0
- package/source/react/splitter/splitteritem.jsx +288 -0
- package/source/react/splitter/splitteritem.tsx +314 -0
- package/source/react/switchbutton/switchbutton.jsx +421 -0
- package/source/react/switchbutton/switchbutton.tsx +435 -0
- package/source/react/table/table.jsx +1628 -0
- package/source/react/table/table.tsx +1590 -0
- package/source/react/tabs/tabitem.jsx +219 -0
- package/source/react/tabs/tabitem.tsx +245 -0
- package/source/react/tabs/tabitemsgroup.jsx +171 -0
- package/source/react/tabs/tabitemsgroup.tsx +197 -0
- package/source/react/tabs/tabs.jsx +720 -0
- package/source/react/tabs/tabs.tsx +722 -0
- package/source/react/tabswindow/tabswindow.jsx +1391 -0
- package/source/react/tabswindow/tabswindow.tsx +1349 -0
- package/source/react/tank/tank.jsx +680 -0
- package/source/react/tank/tank.tsx +702 -0
- package/source/react/textarea/textarea.jsx +541 -0
- package/source/react/textarea/textarea.tsx +559 -0
- package/source/react/textbox/listitem.jsx +279 -0
- package/source/react/textbox/listitem.tsx +305 -0
- package/source/react/textbox/listitemsgroup.jsx +159 -0
- package/source/react/textbox/listitemsgroup.tsx +185 -0
- package/source/react/textbox/textbox.jsx +842 -0
- package/source/react/textbox/textbox.tsx +864 -0
- package/source/react/threedchart/threedchart.jsx +1124 -0
- package/source/react/threedchart/threedchart.tsx +1106 -0
- package/source/react/timeinput/timeinput.jsx +463 -0
- package/source/react/timeinput/timeinput.tsx +485 -0
- package/source/react/timepicker/timepicker.jsx +406 -0
- package/source/react/timepicker/timepicker.tsx +428 -0
- package/source/react/toast/toast.jsx +510 -0
- package/source/react/toast/toast.tsx +508 -0
- package/source/react/tooltip/tooltip.jsx +453 -0
- package/source/react/tooltip/tooltip.tsx +463 -0
- package/source/react/tree/tree.jsx +1176 -0
- package/source/react/tree/tree.tsx +1158 -0
- package/source/react/tree/treeitem.jsx +243 -0
- package/source/react/tree/treeitem.tsx +269 -0
- package/source/react/tree/treeitemsgroup.jsx +243 -0
- package/source/react/tree/treeitemsgroup.tsx +269 -0
- package/source/react/validator/validator.jsx +202 -0
- package/source/react/validator/validator.tsx +228 -0
- package/source/react/waitwindow/waitwindow.jsx +1391 -0
- package/source/react/waitwindow/waitwindow.tsx +1349 -0
- package/source/react/window/window.jsx +1375 -0
- package/source/react/window/window.tsx +1349 -0
- package/source/smart.3dchart.js +6 -0
- package/source/smart.accordion.js +6 -0
- package/source/smart.ajax.js +5 -0
- package/source/smart.array.js +6 -0
- package/source/smart.barcode.js +6 -0
- package/source/smart.bootstrap.js +6 -0
- package/source/smart.breadcrumb.js +6 -0
- package/source/smart.button.js +6 -0
- package/source/smart.buttongroup.js +6 -0
- package/source/smart.calendar.js +6 -0
- package/source/smart.card.js +6 -0
- package/source/smart.cardview.js +6 -0
- package/source/smart.carousel.js +6 -0
- package/source/smart.chart.annotations.js +6 -0
- package/source/smart.chart.api.js +6 -0
- package/source/smart.chart.core.js +6 -0
- package/source/smart.chart.js +6 -0
- package/source/smart.chart.rangeselector.js +6 -0
- package/source/smart.chart.waterfall.js +6 -0
- package/source/smart.checkbox.js +6 -0
- package/source/smart.checkinput.js +6 -0
- package/source/smart.chip.js +6 -0
- package/source/smart.colorinput.js +6 -0
- package/source/smart.colorpanel.js +6 -0
- package/source/smart.colorpicker.js +6 -0
- package/source/smart.combobox.js +6 -0
- package/source/smart.complex.js +6 -0
- package/source/smart.core.js +6 -0
- package/source/smart.countryinput.js +6 -0
- package/source/smart.data.js +6 -0
- package/source/smart.date.js +6 -0
- package/source/smart.dateformatpanel.js +6 -0
- package/source/smart.dateinput.js +6 -0
- package/source/smart.daterangeinput.js +6 -0
- package/source/smart.datetimepicker.js +6 -0
- package/source/smart.dockinglayout.js +6 -0
- package/source/smart.draw.js +6 -0
- package/source/smart.dropdownbutton.js +6 -0
- package/source/smart.dropdownlist.js +6 -0
- package/source/smart.editor.js +6 -0
- package/source/smart.element.js +6 -0
- package/source/smart.elements.js +3 -3
- package/source/smart.export.js +6 -0
- package/source/smart.fileupload.js +6 -0
- package/source/smart.filter.js +6 -0
- package/source/smart.filterbuilder.js +6 -0
- package/source/smart.filterpanel.js +6 -0
- package/source/smart.form.js +6 -0
- package/source/smart.format.js +6 -0
- package/source/smart.formulaparser.js +6 -0
- package/source/smart.ganttchart.js +6 -0
- package/source/smart.gauge.js +6 -0
- package/source/smart.grid.cell.js +6 -0
- package/source/smart.grid.chart.js +6 -0
- package/source/smart.grid.column.js +6 -0
- package/source/smart.grid.core.js +6 -0
- package/source/smart.grid.dialog.js +6 -0
- package/source/smart.grid.edit.js +6 -0
- package/source/smart.grid.export.js +6 -0
- package/source/smart.grid.filter.js +6 -0
- package/source/smart.grid.group.js +6 -0
- package/source/smart.grid.js +6 -0
- package/source/smart.grid.menu.js +6 -0
- package/source/smart.grid.pager.js +6 -0
- package/source/smart.grid.reorder.js +6 -0
- package/source/smart.grid.resize.js +6 -0
- package/source/smart.grid.row.js +6 -0
- package/source/smart.grid.select.js +6 -0
- package/source/smart.grid.sort.js +6 -0
- package/source/smart.grid.toolbar.js +6 -0
- package/source/smart.grid.tree.js +6 -0
- package/source/smart.grid.view.js +6 -0
- package/source/smart.gridpanel.js +6 -0
- package/source/smart.input.js +6 -0
- package/source/smart.kanban.js +6 -0
- package/source/smart.layout.js +6 -0
- package/source/smart.led.js +6 -0
- package/source/smart.listbox.js +6 -0
- package/source/smart.listmenu.js +6 -0
- package/source/smart.map.js +6 -0
- package/source/smart.maskedtextbox.js +6 -0
- package/source/smart.math.js +6 -0
- package/source/smart.menu.js +6 -0
- package/source/smart.multicomboinput.js +6 -0
- package/source/smart.multiinput.js +6 -0
- package/source/smart.multilinetextbox.js +6 -0
- package/source/smart.multisplitbutton.js +6 -0
- package/source/smart.numberformatpanel.js +6 -0
- package/source/smart.numberinput.js +6 -0
- package/source/smart.numeric.js +6 -0
- package/source/smart.numerictextbox.js +6 -0
- package/source/smart.pager.js +6 -0
- package/source/smart.passwordinput.js +6 -0
- package/source/smart.passwordtextbox.js +6 -0
- package/source/smart.path.js +6 -0
- package/source/smart.phoneinput.js +6 -0
- package/source/smart.pivottable.js +6 -0
- package/source/smart.powerbutton.js +6 -0
- package/source/smart.progressbar.js +6 -0
- package/source/smart.qrcode.js +6 -0
- package/source/smart.radiobutton.js +6 -0
- package/source/smart.rating.js +6 -0
- package/source/smart.router.js +6 -0
- package/source/smart.scheduler.js +6 -0
- package/source/smart.scrollbar.js +6 -0
- package/source/smart.slider.js +6 -0
- package/source/smart.sortable.js +6 -0
- package/source/smart.splitter.js +6 -0
- package/source/smart.switchbutton.js +6 -0
- package/source/smart.table.js +6 -0
- package/source/smart.tabs.js +6 -0
- package/source/smart.tank.js +6 -0
- package/source/smart.textarea.js +6 -0
- package/source/smart.textbox.js +6 -0
- package/source/smart.tickintervalhandler.js +6 -0
- package/source/smart.timeinput.js +6 -0
- package/source/smart.timepicker.js +6 -0
- package/source/smart.toast.js +6 -0
- package/source/smart.tooltip.js +6 -0
- package/source/smart.tree.js +6 -0
- package/source/smart.validationpanel.js +6 -0
- package/source/smart.validator.js +6 -0
- package/source/smart.window.js +6 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
/* Smart UI v15.0.11 (2023-02-01)
|
|
3
|
+
Copyright (c) 2011-2023 jQWidgets.
|
|
4
|
+
License: https://htmlelements.com/license/ */ //
|
|
5
|
+
|
|
6
|
+
Smart("smart-tree-item",class extends Smart.MenuItem{static get properties(){return{selected:{value:!1,type:"boolean"}}}ready(){const e=this;Object.defineProperty(e,"hasStyleObserver",{get:function(){return!1}}),super.ready(),e.setAttribute("role","treeitem"),e.setAttribute("aria-label",e.label)}propertyChangedHandler(e,t,r){const n=this,l=n.menu;if(super.propertyChangedHandler(e,t,r),"level"===e)return void(n.level=t);if("disabled"===e||"separator"===e||!l)return;const a=l.context;switch(l.context=l,e){case"label":{const e=l.sorted&&l.autoSort;n.firstElementChild.firstElementChild.firstElementChild.innerHTML=r,e&&(l._unsortItems(l.$.mainContainer),l._applyGrouping(l.$.mainContainer)),l._state.filter&&l._applyFilter(l._state.filter),n.setAttribute("aria-label",r);break}case"selected":n.selected=t,r?l.select(n):l.unselect(n);break;case"shortcut":{let e=n.firstElementChild.children[1];e||(e=document.createElement("div"),e.className="smart-tree-item-shortcut",n.firstElementChild.appendChild(e)),e.innerHTML=r;break}case"value":l.sort&&l.sorted&&l.autoSort&&l._refreshSorting()}l.context=a}_setId(){}}),Smart("smart-tree-items-group",class extends Smart.MenuItemsGroup{static get properties(){return{selected:{value:!1,type:"boolean"}}}ready(){const e=this;Object.defineProperty(e,"hasStyleObserver",{get:function(){return!1}}),super.ready(),e.setAttribute("role","treeitem"),e.removeAttribute("aria-haspopup"),e.setAttribute("aria-label",e.label)}propertyChangedHandler(e,t,r){const n=this,l=n.menu;if(super.propertyChangedHandler(e,t,r),"level"===e)return void(n.level=t);if("disabled"===e||"separator"===e||!l)return;const a=l.context;switch(l.context=l,e){case"expanded":n.expanded=t,r?l.expandItem(n):l.collapseItem(n);break;case"label":{const e=l.sorted&&l.autoSort;n.firstElementChild.firstElementChild.firstElementChild.innerHTML=r,e&&(l._unsortItems(l.$.mainContainer),l._applyGrouping(l.$.mainContainer)),l._state.filter&&l._applyFilter(l._state.filter),n.setAttribute("aria-label",r);break}case"selected":n.selected=t,r?l.select(n):l.unselect(n);break;case"value":l.sort&&l.sorted&&l.autoSort&&l._refreshSorting()}l.context=a}_setId(){}}),Smart("smart-tree",class extends Smart.Menu{static get properties(){return{allowDrag:{value:!1,type:"boolean"},allowDrop:{value:!1,type:"boolean"},autoHideToggleElement:{value:!1,type:"boolean"},autoLoadState:{value:!1,type:"boolean"},autoSaveState:{value:!1,type:"boolean"},autoSort:{value:!0,type:"boolean"},displayLoadingIndicator:{value:!1,type:"boolean"},dragFeedbackFormatFunction:{value:null,type:"function?"},dragOffset:{value:[10,10],type:"array"},editable:{value:!1,type:"boolean"},expandMode:{value:"multiple",allowedValues:["multiple","single"],type:"string"},filterable:{value:!1,type:"boolean"},filterOnEnter:{value:!1,type:"boolean"},filterInputPlaceholder:{value:"",type:"string"},filterMember:{value:"label",type:"string"},filterMode:{value:"containsIgnoreCase",allowedValues:["contains","containsIgnoreCase","doesNotContain","doesNotContainIgnoreCase","equals","equalsIgnoreCase","startsWith","startsWithIgnoreCase","endsWith","endsWithIgnoreCase"],type:"string"},hasThreeStates:{value:!1,type:"boolean"},loadingIndicatorPlaceholder:{value:"Loading...",type:"string"},loadingIndicatorPosition:{value:"center",allowedValues:["bottom","center","top"],type:"string"},messages:{value:{en:{noId:"smart-tree: Saving and loading the element's state are not available if the element has no id."}},type:"object",extend:!0},scrollMode:{value:"scrollbar",allowedValues:["scrollbar","scrollButtons"],type:"string"},selectedIndexes:{value:[],type:"array"},selectionDisplayMode:{value:"row",allowedValues:["row","label"],type:"string"},selectionMode:{value:"one",allowedValues:["none","oneOrManyExtended","zeroOrMany","oneOrMany","zeroOrOne","zeroAndOne","one","checkBox","radioButton"],type:"string"},selectionTarget:{value:"all",allowedValues:["all","leaf"],type:"string"},showLines:{value:!1,type:"boolean"},showRootLines:{value:!1,type:"boolean"},sort:{value:null,type:"function?",reflectToAttribute:!1},sortDirection:{value:"asc",allowedValues:["asc","desc"],type:"string"},sorted:{value:!1,type:"boolean"},toggleElementPosition:{value:"near",allowedValues:["near","far"],type:"string"},toggleMode:{value:"dblclick",allowedValues:["click","dblclick","arrow"],type:"string"}}}static get listeners(){return{blur:"_blurHandler",focus:"_focusHandler",keydown:"_keydownHandler",mouseenter:"_mouseenterHandler",mouseleave:"_mouseleaveHandler",resize:"_checkOverflow",styleChanged:"_styleChangedHandler",transitionend:"_overriddenMenuHandler","container.click":"_overriddenMenuHandler","container.mouseout":"_overriddenMenuHandler","container.mouseover":"_overriddenMenuHandler","container.pointerover":"_pointeroverHandler","editInput.blur":"_editInputBlurHandler","filterInput.keydown":"_filterInputKeydownHandler","filterInput.keyup":"_filterInputKeyupHandler","mainContainer.click":"_overriddenMenuHandler","mainContainer.mouseleave":"_overriddenMenuHandler","mainContainer.mouseout":"_overriddenMenuHandler","mainContainer.mouseover":"_overriddenMenuHandler","mainContainer.swipeleft":"_mainContainerSwipeHandler","mainContainer.swiperight":"_mainContainerSwipeHandler","scrollButtonFar.click":"_scrollButtonFarClickHandler","scrollButtonNear.click":"_scrollButtonNearClickHandler","scrollViewer.down":"_scrollViewerDownHandler","scrollViewer.kineticScroll":"_scrollViewerWheelHandler","scrollViewer.touchmove":"_scrollViewerTouchmoveHandler","mainContainer.wheel":"_scrollViewerWheelHandler","document.move":"_moveHandler","document.selectstart":"_selectstartHandler","document.up":"_documentUpHandler"}}static get requires(){return{"Smart.ScrollBar":"smart.scrollbar.js"}}static get styleUrls(){return["smart.scrollbar.css","smart.scrollviewer.css","smart.tree.css"]}template(){return'<div id="container" role="presentation">\n <div class="smart-tree-filter-input-container" role="presentation"><input id="filterInput" class="smart-filter-input" disabled="[[disabled]]" placeholder="[[filterInputPlaceholder]]" type="text" role="searchbox" aria-label="[[filterInputPlaceholder]]" /></div>\n <smart-repeat-button id="scrollButtonNear" class="smart-tree-scroll-button smart-spin-button smart-scroll-button-near smart-hidden" animation="[[animation]]" unfocusable aria-label="Scroll up">\n <div id="arrowNear" class="smart-arrow smart-arrow-up"></div>\n </smart-repeat-button>\n <smart-scroll-viewer id="scrollViewer" animation="[[animation]]" horizontal-scroll-bar-visibility="hidden" right-to-left="[[rightToLeft]]">\n <div id="mainContainer" inner-h-t-m-l=\'[[innerHTML]]\' class="smart-tree-main-container" role="presentation">\n <content></content>\n </div>\n <input type="text" id="editInput" class="smart-tree-edit-input smart-hidden" />\n </smart-scroll-viewer>\n <smart-repeat-button id="scrollButtonFar" class="smart-tree-scroll-button smart-spin-button smart-scroll-button-far smart-hidden" animation="[[animation]]" unfocusable aria-label="Scroll down">\n <div id="arrowFar" class="smart-arrow smart-arrow-down"></div>\n </smart-repeat-button>\n <div id="loadingIndicatorContainer" class="smart-loader-container smart-hidden" role="presentation">\n <span id="loadingIndicator" class="smart-loader" role="img" aria-label="[[loadingIndicatorPlaceholder]]"></span>\n <span id="loadingIndicatorPlaceHolder" class="smart-loader-label smart-hidden">[[loadingIndicatorPlaceholder]]</span>\n </div>\n </div>'}detached(){const e=this,t=e._dragDetails;if(super.detached(),!t)return;const r=Smart.Tree.hoveredTree,n=Smart.Tree.hoveredItem;delete e._dragDetails,delete Smart.Tree.treeItemDragged,delete Smart.Tree.hoveredTree,delete Smart.Tree.hoveredItem,e.$.scrollViewer._scrollView.disableSwipeScroll=!1,t.FeedbackShown&&(n.classList.remove("drop-target","top","bottom"),document.body.classList.remove("smart-dragging"),t.Feedback.remove(),r&&clearInterval(r._dragInterval))}addAfter(e,t){void 0!==(t=this.getItem(t))&&this.addTo(e,t.parentItem,t,!0)}addBefore(e,t){void 0!==(t=this.getItem(t))&&this.addTo(e,t.parentItem,t)}addTo(e,t){const r=this;if(!(e instanceof Smart.TreeItem||e instanceof Smart.TreeItemsGroup))if("string"==typeof e){const t=document.createElement("smart-tree-item");t.label=e,e=t}else{if(!e||!e.label)return;{const t=document.createElement("smart-tree-item");t.label=e.label,e=t}}let n,l;if(e.isDirty=!1,void 0===t)n=1,l=t=r.$.mainContainer;else{if((t=r.getItem(t))instanceof Smart.TreeItemsGroup==0){const n=document.createElement("smart-tree-items-group");return n.innerHTML=t.innerHTML,n.appendChild(e),r.addBefore(n,t),void t.remove()}n=t.level+1,l=t.itemContainer}r._createItemHTMLStructure(e,n,t,l.childElementCount,0);const a=r.sorted&&r.autoSort,o=r._state.filter,s=r.selectedIndexes.slice(0);a&&r._unsortItems(r.$.mainContainer),e instanceof Smart.TreeItemsGroup&&(Array.from(e.querySelectorAll("smart-tree-item, smart-tree-items-group")).forEach((e=>e.isDirty=!1)),r._processHTML(e,n+1,!1));let i=arguments[2];i&&arguments[3]&&(i=i.nextElementSibling),i?(l.insertBefore(e,i),r._menuItems={},r._refreshItemPaths(r.$.mainContainer,!0,void 0,r.sorted&&!r.autoSort)):l.appendChild(e),a&&r._applyGrouping(r.$.mainContainer),o&&r._applyFilter(o),r._checkOverflow(),r._expandItemsByDefault(),r.selectedIndexes=[],r._applySelection(!0,s)}getSelectedValues(){const e=this,t=[];for(let r=0;r<e.selectedIndexes.length;r++){const n=e._menuItems[e.selectedIndexes[r]];n.hasAttribute("value")?t.push(n.getAttribute("value")):n.hasAttribute("label")&&t.push(n.getAttribute("label"))}return t}unselectValues(e){const t=this;e&&Object.keys(t._menuItems).forEach((r=>{const n=t._menuItems[r];let l=null;n.hasAttribute("value")?l=n.getAttribute("value"):n.hasAttribute("label")&&(l=n.getAttribute("label")),"string"==typeof e?e===l&&t.unselect(r):e.indexOf(l)>=0&&t.unselect(r)}))}setSelectedValues(e){const t=this;e&&Object.keys(t._menuItems).forEach((r=>{const n=t._menuItems[r];let l=null;n.hasAttribute("value")?l=n.getAttribute("value"):n.hasAttribute("label")&&(l=n.getAttribute("label")),"string"==typeof e?e===l&&t._canItemBeSelected(n)&&t._handleSelection(n,{type:"programmatic"}):e.indexOf(l)>=0&&t._canItemBeSelected(n)&&t._handleSelection(n,{type:"programmatic"})}))}clearSelection(){const e=this,t=e.selectedIndexes.slice(0);e.selectedIndexes=[],e._applySelection(!1,t)}collapseAll(e){const t=this,r=t.animation,n=!1===e&&t.hasAnimation;n&&(t.animation="none"),t._collapseAll(!0),n&&(t.animation=r)}ensureVisible(e){const t=this;if(void 0===(e=t.getItem(e))||e.hidden)return;let r=!1;e.level>1&&!t._isBranchExpanded(e)&&(super.expandItem(e.parentItem,void 0,!0),r=t.hasAnimation,r&&(t._ensureVisibleOnTransitionend=e)),r||t._ensureVisible(e)}expandAll(e){const t=this,r=t.animation,n=!1===e&&t.hasAnimation;let l=1,a=(t.enableShadowDOM?t.shadowRoot:t).querySelectorAll('smart-tree-items-group[level="1"]');for(n&&(t.animation="none");a.length>0;){for(let e=0;e<a.length;e++){const r=a[e];r.expanded||t._menuItemsGroupSelectionHandler(r,{target:r,type:"expand"})}l++,a=(t.enableShadowDOM?t.shadowRoot:t).querySelectorAll('smart-tree-items-group[level="'+l+'"]')}n&&(t.animation=r)}expandItem(e,t){const r=this;if(void 0===(e=r.getItem(e))||e instanceof Smart.TreeItemsGroup==0||e&&e.container&&r._isContainerOpened(e.container.level,e.container))return;void 0!==Smart.Menu.processTimer&&r._lazyInitItems();const n=!1===t&&r.hasAnimation,l=r.animation;n&&(r.animation="none"),r._discardKeyboardHover(),r._menuItemsGroupSelectionHandler(e,{target:e,type:"expand"},arguments[2]),n&&(r.animation=l)}filter(e){const t=this;t.filterable&&(t._applyFilter(e),t.$.filterInput.value=e)}getState(){return JSON.parse(JSON.stringify(this._state))}insert(e,t){const r=this;let n;if(e instanceof Smart.TreeItem||e instanceof Smart.TreeItemsGroup){if(r.contains(e))return;e.isDirty=!1,n=e}else{if("object"!=typeof e||e.constructor!==Object)return;n=function e(t){const n=t[r.itemsMember],l="smart-tree-items-group"===t.tagName||Array.isArray(n)?"smart-tree-items-group":"smart-tree-item",a=document.createElement(l);if(a.isDirty=!1,t.disabled&&(a.disabled=!0),t[r.displayMember]&&(a.label=t[r.displayMember]),t.selected&&(a.selected=!0),t.separator&&(a.separator=!0),t[r.valueMember]&&(a.value=t[r.valueMember]),"smart-tree-items-group"===l){if(t.expanded&&(a.expanded=!0),n)for(let t=0;t<n.length;t++)a.appendChild(e(n[t]))}else t.shortcut&&(a.shortcut=t.shortcut);return a}(e)}if(void 0===t)return void r.addTo(n);if("number"==typeof t)t=t.toString();else if(t instanceof Smart.TreeItem||t instanceof Smart.TreeItemsGroup){if(!r.contains(t))return;t=t.path}else if("string"!=typeof t)return;const l=t.split(".");let a,o;1===l.length?(o=r._menuItems[l[0]],o?r.addBefore(n,o):r.addTo(n)):(o=r._menuItems[t],a=r._menuItems[l.slice(0,l.length-1).join(".")],o?r.addBefore(n,o):a&&a instanceof Smart.TreeItemsGroup&&r.addTo(n,a))}loadState(e){const t=this,r=t.selectedIndexes.slice(0),n=[];if(!e){if(!t.id)return void t.warn(t.localize("noId"));if(!(e=window.localStorage.getItem("smartTree"+t.id)))return}"string"==typeof e&&(e=JSON.parse(e)),e.filter&&!t.filterable&&(e.filter="");let l=e.filter!==t._state.filter;e.sorted!==t.sorted?(t.sorted=e.sorted,t._updateState("sorted",t.sorted),e.sorted?t._applyGrouping(t.$.mainContainer):t._unsortItems(t.$.mainContainer),(e.filter||l)&&(t._applyFilter(e.filter),t.$.filterInput.value=e.filter)):l&&(t._applyFilter(e.filter),t.$.filterInput.value=e.filter),t._menuItemsGroupsToExpand=[];for(let r=0;r<e.expanded.length;r++){const n=t.getItem(e.expanded[r]);n&&t._menuItemsGroupsToExpand.push(n)}t._expandItemsByDefault(!0);for(let r=0;r<e.selected.length;r++){const l=t.getItem(e.selected[r]);l&&n.push(l.path)}t.selectedIndexes=n,t._applySelection(!1,r)}moveDown(e){const t=this,r=(e=t.getItem(e)).nextElementSibling;void 0!==e&&r&&!t.sorted&&(t._moveTreeItem(e,r,2,[t]),t.filterable&&t._state.filter&&t._applyFilter(t._state.filter))}moveUp(e){const t=this,r=(e=t.getItem(e)).previousElementSibling;void 0!==e&&r&&!t.sorted&&(t._moveTreeItem(e,r,0,[t]),t.filterable&&t._state.filter&&t._applyFilter(t._state.filter))}refresh(){this._checkOverflow()}removeItem(e){const t=this;if(void 0===(e=t.getItem(e)))return;if(e instanceof Smart.TreeItemsGroup){const r=e.container;t._isContainerOpened(r.level,r)&&t._closeSubContainersTreeMode(r.level,r)}const r=t.sorted&&t.autoSort;r&&t._unsortItems(t.$.mainContainer);const n=e.closest("smart-tree-items-group");e.parentElement.removeChild(e),t._menuItems={},t._refreshItemPaths(t.$.mainContainer,!0,void 0,t.sorted&&!t.autoSort),r&&t._applyGrouping(t.$.mainContainer);const l=t._state.filter,a=t.selectedIndexes.slice(0);if(l&&t._applyFilter(l),t._checkOverflow(),t.selectedIndexes=[],t._applySelection(!0,a),delete t._treeAnimationInProgress,n&&!n.querySelector("smart-tree-item")){const e=document.createElement("smart-tree-item");return e.innerHTML=n.innerHTML,t.addBefore(e,n),void n.remove()}}saveState(){const e=this;return e.id?window.localStorage.setItem("smartTree"+e.id,JSON.stringify(e._state)):e.warn(e.localize("noId")),JSON.parse(JSON.stringify(e._state))}select(e){const t=this;void 0!==(e=t.getItem(e))&&!e.selected&&t._canItemBeSelected(e)&&t._handleSelection(e,{type:"programmatic"})}unselect(e){void 0!==(e=this.getItem(e))&&e.selected&&!e.templateApplied&&this._handleSelection(e,{type:"programmatic"})}updateItem(e,t){if(void 0===(e=this.getItem(e))||void 0===t)return;const r=e instanceof Smart.TreeItem;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){if(r){if(-1===["disabled","label","level","selected","separator","shortcut","value"].indexOf(n))continue}else if(-1===["disabled","expanded","label","level","selected","separator","value"].indexOf(n))continue;e[n]=t[n]}}propertyChangedHandler(e,t,r){const n=this;switch(super.propertyChangedHandler(e,t,r),e){case"allowDrag":case"allowDrop":case"autoLoadState":case"autoSort":case"editable":case"filterInputPlaceholder":case"loadingIndicatorPlaceholder":case"selectionDisplayMode":case"showLines":case"showRootLines":case"toggleElementPosition":case"toggleMode":break;case"autoHideToggleElement":r?n.$mainContainer.addClass("hidden-arrows"):n.$mainContainer.removeClass("hidden-arrows");break;case"autoSaveState":if(!r)return;if(!n.id)return n.warn(n.localize("noId")),void(n.autoSaveState=!1);window.localStorage.setItem("smartTree"+n.id,JSON.stringify(n._state));break;case"dataSource":{const e=n.selectedIndexes.slice(0);n.selectedIndexes=[],n._menuItems={},n._processDataSource(),n._checkOverflow(),n._expandItemsByDefault(),n._applySelection(!0,e);const t=n._state.filter;t&&n._applyFilter(t);break}case"disabled":n._setFocusable(),n.$.scrollButtonNear.disabled=r,n.$.scrollButtonFar.disabled=r,r||n._updateScrollButtonVisibility();break;case"displayLoadingIndicator":r?(n._discardKeyboardHover(!0),n.$loadingIndicatorContainer.removeClass("smart-hidden")):n.$loadingIndicatorContainer.addClass("smart-hidden");break;case"expandMode":if("single"===r){const e=n._state.expanded.map((e=>Object.values(n._menuItems).find((t=>t.id===e)))),t={};for(let r=0;r<e.length;r++){const l=e[r],a=l.parentItem;if(t[a])continue;t[a]=!0;const o=e.filter((e=>e!==l&&e.parentItem===a));o.length>0&&o.forEach((e=>n.collapseItem(e)))}}break;case"filterable":!1===r&&(n._applyFilter(""),n.$.filterInput.value=""),n._checkOverflow();break;case"filterMode":n.filterable&&n._state.filter&&n._applyFilter(n._state.filter);break;case"hasThreeStates":if("checkBox"!==n.selectionMode)return;if(r)n._applySelection(!1);else{const e=(n.enableShadowDOM?n.shadowRoot:n).querySelectorAll("[indeterminate]");for(let t=0;t<e.length;t++)e[t].removeAttribute("indeterminate")}break;case"innerHTML":n.$.mainContainer.innerHTML=r,n._lazyInitItems();break;case"loadingIndicatorPosition":"center"===r?n.$loadingIndicatorPlaceHolder.addClass("smart-hidden"):n.$loadingIndicatorPlaceHolder.removeClass("smart-hidden");break;case"overflow":if("scrollbar"===n.scrollMode)return"hidden"===r?n.$.scrollViewer.$.verticalScrollBar.setAttribute("aria-hidden",!0):n.$.scrollViewer.$.verticalScrollBar.removeAttribute("aria-hidden"),void(n.$.scrollViewer.verticalScrollBarVisibility="scroll"===r?"visible":"auto");n.$.scrollViewer.scrollTop=0,"hidden"===r?(n.$scrollViewer.removeClass("scroll-buttons-shown"),n.$scrollButtonNear.addClass("smart-hidden"),n.$scrollButtonFar.addClass("smart-hidden")):(n.$.scrollButtonNear.disabled=n.disabled,n.$.scrollButtonFar.disabled=n.disabled,"auto"===r?(n.$scrollButtonNear.addClass("smart-hidden"),n.$scrollButtonFar.addClass("smart-hidden"),n._checkOverflow()):(n.$scrollViewer.addClass("scroll-buttons-shown"),n.$scrollViewer.removeClass("one-button-shown"),n.$scrollButtonNear.removeClass("smart-hidden"),n.$scrollButtonFar.removeClass("smart-hidden"),n._updateScrollButtonVisibility())),n.$.scrollViewer.refresh();break;case"rightToLeft":{let e,t;r?(e="paddingLeft",t="paddingRight"):(e="paddingRight",t="paddingLeft");for(let r in n._menuItems)if(Object.prototype.hasOwnProperty.call(n._menuItems,r)){const l=n._menuItems[r],a=l.firstElementChild;a.style[e]="",n._setIndentation(a,l.level,t)}break}case"scrollMode":if("hidden"===n.overflow)return;if(n.$.scrollViewer.scrollTop=0,"scrollButtons"===r)return"scroll"===n.overflow&&(n.$scrollViewer.addClass("scroll-buttons-shown"),n.$scrollButtonNear.removeClass("smart-hidden"),n.$scrollButtonFar.removeClass("smart-hidden")),n.$.scrollViewer.$.verticalScrollBar.setAttribute("aria-hidden",!0),n.$.scrollViewer.verticalScrollBarVisibility="auto",void n._checkOverflow();n.$.scrollViewer.$.verticalScrollBar.removeAttribute("aria-hidden"),n.$scrollViewer.removeClass("scroll-buttons-shown"),n.$scrollViewer.removeClass("one-button-shown"),n.$scrollButtonNear.addClass("smart-hidden"),n.$scrollButtonFar.addClass("smart-hidden"),"auto"===n.overflow?n.$.scrollViewer.verticalScrollBarVisibility="auto":n.$.scrollViewer.verticalScrollBarVisibility="visible";break;case"selectedIndexes":n._applySelection(!1,t);break;case"selectionMode":if(n.setAttribute("aria-multiselectable",-1!==["oneOrManyExtended","zeroOrMany","oneOrMany","checkBox","radioButton"].indexOf(r)),void 0===n._menuItems[0])return;if("one"===t&&"none"!==r&&"checkBox"!==r&&"radioButton"!==r||-1!==t.indexOf("oneOrMany")&&-1!==r.indexOf("oneOrMany")||"none"===t&&(-1!==r.indexOf("zero")||"checkBox"===r)||"zeroOrMany"===r&&"checkBox"!==t||"radioButton"===t&&-1!==r.indexOf("Many")||!n.hasThreeStates&&("checkBox"===r||"checkBox"===t&&"zeroOrMany"===r))return n._lastSelectedItem="one"===r||"oneOrManyExtended"===r?n._menuItems[n.selectedIndexes[n.selectedIndexes.length-1]]:void 0,void n._applyAriaSelected();if(n.hasThreeStates&&"checkBox"===t){const e=(n.enableShadowDOM?n.shadowRoot:n).querySelectorAll("[indeterminate]");for(let t=0;t<e.length;t++)e[t].removeAttribute("indeterminate")}n._applySelection(!1);break;case"sort":if(!n.sorted)return;n._refreshSorting();break;case"sortDirection":n.sorted&&!n.sort&&(n._unsortItems(n.$.mainContainer),n._applyGrouping(n.$.mainContainer));break;case"sorted":{if(!r&&!n.autoSort)return n._refreshItemPathsAndSelection(),void n._updateState("sorted",!1);r?n._applyGrouping(n.$.mainContainer):n._unsortItems(n.$.mainContainer);const e=n._state.filter;e&&n._applyFilter(e),n._updateState("sorted",r),n._checkOverflow();break}case"unfocusable":n._setFocusable()}}_addDragFeedback(){const e=this,t=document.createElement("div");return t.className="smart-tree-item-feedback",t.setAttribute("parent-tree-id",e.id),e.theme&&t.setAttribute("theme",e.theme),e.dragFeedbackFormatFunction?t.innerHTML=e.dragFeedbackFormatFunction(e._dragDetails.Items):1===e._dragDetails.Items.length?t.innerHTML=e._dragDetails.Item.label:(t.classList.add("multiple"),t.innerHTML=""),document.body.appendChild(t),t}_applyFilter(e){const t=this;function r(e,t){e?(t.hidden&&t.$.removeClass("smart-hidden"),t.hidden=!1):(t.hidden||t.$.addClass("smart-hidden"),t.hidden=!0)}if(""===e&&!t.hasAttribute("filter-applied"))return;const n=Array.from(t.$.mainContainer.getElementsByClassName("last-filtered-child"));for(let e=0;e<n.length;e++)n[e].$.removeClass("last-filtered-child");!function n(l,a){let o,s=!1,i=0;a=Array.from(a);for(let l=0;l<a.length;l++){const d=a[l];d instanceof Smart.TreeItem?r(t._findItem(d,e),d):n(d,d.itemContainer.children),d.hidden||(i++,o=d),s=s||!d.hidden}if(l!==t.$.mainContainer){const n=t._findItem(l,e);r(s||n,l),s&&null===n?l.$.addClass("filtered-child"):l.$.removeClass("filtered-child"),!s&&a.length>0?(l.hiddenChildren=!0,l.$.addClass("hidden-children"),t.collapseItem(l,void 0,!1)):(l.hiddenChildren=!1,l.$.removeClass("hidden-children"))}""!==e&&i>0&&o.$.addClass("last-filtered-child")}(t.$.mainContainer,t.$.mainContainer.children),""!==e?t.setAttribute("filter-applied",""):t.removeAttribute("filter-applied"),t._updateState("filter",e),t._checkOverflow()}_applyHierarchicalSelection(e,t){const r=this,n=e!==r.$.mainContainer,l=n?e.itemContainer.children:e.children;let a=0,o=0;for(let s=0;s<l.length;s++){const i=l[s];e.selected&&i.set("selected",!0),i instanceof Smart.TreeItemsGroup?r._applyHierarchicalSelection(i,t):i.selected&&t.push(i.path),n&&(i.selected?a++:i.hasAttribute("indeterminate")&&o++)}n&&(r._setThreeStateCheckbox(e,a,o),e.selected&&t.push(e.path))}_applyRadioButtonSelection(e,t,r){const n=this,l=e!==n.$.mainContainer?e.itemContainer.children:e.children,a=[];let o;for(let e=0;e<l.length;e++){const o=l[e];o instanceof Smart.TreeItemsGroup&&n._applyRadioButtonSelection(o,t,r),o.set("selected",!1),-1!==t.indexOf(o.path)&&a.push(o)}o=0===a.length?l[0]:a[a.length-1],o.set("selected",!0),r.push(o.path)}_applySelection(e,t){const r=this;let n=r.selectedIndexes.slice(0);function l(e){const t=Object.values(r._menuItems).filter((t=>t.level===e));if(0!==t.length){for(let e=0;e<t.length;e++)if(r._canItemBeSelected(t[e]))return t[e].path;return l(e+1)}}if(void 0===t&&(t=n.slice(0)),void 0===r._menuItems[0])return r.selectedIndexes=[],r._lastSelectedItem=void 0,void(r.isRendered&&JSON.stringify(t)!==JSON.stringify([])&&r.$.fireEvent("change",{selectedIndexes:r.selectedIndexes,oldSelectedIndexes:t}));const a=r.selectionMode,o=Array.from((r.shadowRoot||r).querySelectorAll("smart-tree-item[selected], smart-tree-items-group[selected]"));for(let e=n.length-1;e>=0;e--){const t=r._menuItems[n[e]];void 0!==t&&r._canItemBeSelected(t)||n.splice(e,1)}if(e)for(let e=0;e<o.length;e++)r._canItemBeSelected(o[e])?-1===n.indexOf(o[e].path)&&n.push(o[e].path):o[e].set("selected",!1);else{for(let e=0;e<o.length;e++)o[e].set("selected",!1);o.length=0}switch(r._sortPathCollection(n),a){case"none":n.length=0;for(let e=0;e<o.length;e++)o[e].set("selected",!1);break;case"one":case"zeroAndOne":case"zeroOrOne":"one"===a&&0===n.length&&n.push(l(1));for(let e=0;e<n.length;e++){const t=r._menuItems[n[e]];if(e===n.length-1){t.set("selected",!0),n=[n[e]];break}-1!==o.indexOf(t)&&t.set("selected",!1)}break;case"oneOrMany":case"oneOrManyExtended":0===n.length&&n.push(l(1));for(let e=0;e<n.length;e++)r._menuItems[n[e]].set("selected",!0);break;case"zeroOrMany":case"checkBox":for(let e=0;e<n.length;e++)r._menuItems[n[e]].set("selected",!0);if("checkBox"===a&&r.hasThreeStates){const e=[];r._applyHierarchicalSelection(r.$.mainContainer,e),r._sortPathCollection(e),n=e}break;case"radioButton":{const e=[];r._applyRadioButtonSelection(r.$.mainContainer,n,e),r._sortPathCollection(e),n=e;break}}r.selectedIndexes=n,r._updateState("selected"),r._lastSelectedItem="one"===a||"oneOrManyExtended"===a?r._menuItems[n[n.length-1]]:void 0,r.isRendered&&!1!==arguments[2]&&JSON.stringify(t)!==JSON.stringify(n)&&r.$.fireEvent("change",{selectedIndexes:r.selectedIndexes,oldSelectedIndexes:t}),r._applyAriaSelected()}_applyAriaSelected(){const e=this,t=e.selectionMode;for(let r in e._menuItems){const n=e._menuItems[r];n.selected?n.setAttribute("aria-selected",!0):e._canItemBeSelected(n)&&-1!==["oneOrManyExtended","zeroOrMany","oneOrMany","checkBox","radioButton"].indexOf(t)?n.setAttribute("aria-selected",!1):n.removeAttribute("aria-selected")}}_autoLoadState(e){const t=this,r=[];for(let e=0;e<t._menuItemsGroupsToExpand.length;e++)t._menuItemsGroupsToExpand[e].set("expanded",!1);t._menuItemsGroupsToExpand=[];for(let r=0;r<e.expanded.length;r++){const n=t.getItem(e.expanded[r]);n&&t._menuItemsGroupsToExpand.push(n)}t.filterable&&e.filter&&(t._applyFilter(e.filter),t.$.filterInput.value=e.filter);for(let n=0;n<e.selected.length;n++){const l=t.getItem(e.selected[n]);l&&r.push(l.path)}t.selectedIndexes=r}_blurHandler(){this._discardKeyboardHover(!0)}_canItemBeHovered(e){const t=e.level;return!1===e.disabled&&!0!==e.templateApplied&&!0!==e.hidden&&(1===t||t>1&&this._isContainerOpened(t,e.parentElement.container)&&e.getBoundingClientRect().height>0)}_canItemBeSelected(e,t){return!(!0!==t&&"leaf"===this.selectionTarget&&e instanceof Smart.TreeItemsGroup)&&!1===e.disabled&&!0!==e.templateApplied}_checkOverflow(){const e=this,t=e.$.scrollViewer,r=e.overflow;if("scrollbar"===e.scrollMode||"hidden"===r)return void t.refresh();const n=t.scrollTop;"auto"===r&&(t.$.removeClass("scroll-buttons-shown"),t.$.removeClass("one-button-shown"),e.$scrollButtonNear.addClass("smart-hidden"),e.$scrollButtonFar.addClass("smart-hidden"));const l=Math.round(t.$.scrollViewerContentContainer.offsetHeight)>Math.round(t.$.scrollViewerContainer.offsetHeight),a=Math.round(t.scrollTop)>0,o=Math.round(t.$.scrollViewerContainer.offsetHeight+t.scrollTop)<Math.round(t.$.scrollViewerContentContainer.offsetHeight);l?"auto"===r?(t.$.addClass("scroll-buttons-shown"),a&&e.$scrollButtonNear.removeClass("smart-hidden"),o&&e.$scrollButtonFar.removeClass("smart-hidden"),!1===(a&&o)&&t.$.addClass("one-button-shown"),e.disabled||(e.$.scrollButtonNear.disabled=!1,e.$.scrollButtonFar.disabled=!1),t.scrollTop=n):(e.$scrollButtonNear.removeClass("smart-hidden"),e.$scrollButtonFar.removeClass("smart-hidden"),e.disabled?(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0):(e.$.scrollButtonNear.disabled=!a,e.$.scrollButtonFar.disabled=!o)):"scroll"===r&&(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0),t.refresh()}_createElement(){const e=this,t=window.getComputedStyle(e.$.scrollViewer);if(e.setAttribute("role","tree"),e.setAttribute("aria-multiselectable",-1!==["oneOrManyExtended","zeroOrMany","oneOrMany","checkBox","radioButton"].indexOf(e.selectionMode)),e.setAttribute("aria-orientation","vertical"),e.$.scrollViewer.onVerticalChange=e._verticalScrollbarHandler,e.isRendered||Object.defineProperty(e,"dataSource",{get:function(){return e.context===e?e.properties.dataSource.value:e._getDataSource()},set(t){e.updateProperty(e,e._properties.dataSource,t)}}),e.id||!e.autoLoadState&&!e.autoSaveState||(e.warn(e.localize("noId")),e.autoLoadState=!1,e.autoSaveState=!1),e.mode="tree",e._element="tree",e._isMobile=Smart.Utilities.Core.isMobile,e._edgeMacFF=!1,e._autoScrollCoefficient=Smart.Utilities.Core.Browser.Firefox?4:Smart.Utilities.Core.Browser.Edge?8:2,e._scrollViewerPadding=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)||0,e._state={expanded:[],filter:"",selected:[]},e._dblclickObject={numberOfClicks:0},e.autoHideToggleElement&&e.$mainContainer.addClass("hidden-arrows"),e.disabled&&(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0),"scrollbar"===e.scrollMode&&"scroll"===e.overflow&&(e.$.scrollViewer.verticalScrollBarVisibility="visible"),null===e.dataSource&&e.$.mainContainer.firstElementChild instanceof HTMLUListElement&&e._processUList(),e.isRendered)return e._menuItems={},void(null===e.dataSource?e._processHTML(e.$.mainContainer,1):e._processDataSource());const r=(e.shadowRoot||e).querySelectorAll("smart-tree-item, smart-tree-items-group"),n=function(){let t;e.autoLoadState&&(t=window.localStorage.getItem("smartTree"+e.id),t&&(t=JSON.parse(t),e.sorted=t.sorted)),e._setFocusable(),e._menuItems={},null===e.dataSource?e._processHTML(e.$.mainContainer,1):e._processDataSource(),"scrollButtons"!==e.scrollMode&&"hidden"!==e.overflow||e.$.scrollViewer.$.verticalScrollBar.setAttribute("aria-hidden",!0),"scrollButtons"===e.scrollMode&&"scroll"===e.overflow&&(e.$scrollViewer.addClass("scroll-buttons-shown"),e.$scrollButtonNear.removeClass("smart-hidden"),e.$scrollButtonFar.removeClass("smart-hidden"),e._updateScrollButtonVisibility()),e._checkOverflow(),t&&e._autoLoadState(t),e._expandItemsByDefault(),e._applySelection(!0),e._updateState("sorted",e.sorted),e.displayLoadingIndicator&&e.$loadingIndicatorContainer.removeClass("smart-hidden"),"center"!==e.loadingIndicatorPosition&&e.$loadingIndicatorPlaceHolder.removeClass("smart-hidden"),e.__onCompleted&&(e._onCompleted=e.__onCompleted,e.__onCompleted=null,e._onCompleted())};0===r.length||e.enableShadowDOM||e.isInShadowDOM?n():(e._onCompleted&&(e.__onCompleted=e._onCompleted,e._onCompleted=null),e._ensureItemsReady(r,n))}appendChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}t.$.mainContainer&&t.$.mainContainer.appendChild(e)}_dblclickHandler(e,t,r){"dblclick"!==this.toggleMode||e instanceof Smart.TreeItem||t||this._menuItemsGroupSelectionHandler(e,r)}_discardKeyboardHover(e,t){const r=this;!t&&r._hoveredViaKeyboard&&(!e&&r._hoveredViaKeyboard instanceof Smart.MenuItemsGroup&&r._isContainerOpened(r._hoveredViaKeyboard.level+1,r._hoveredViaKeyboard.container)||(r._hoveredViaKeyboard.removeAttribute("focus"),r._hoveredViaKeyboard=void 0))}_documentUpHandler(e){if("pointercancel"===e.originalEvent.type)return;const t=this,r=t._downTimeoutInfo,n=t._dragDetails;!r||n&&n.FeedbackShown||(clearTimeout(r.timeout),t.$.scrollViewer.scrollTop!==r.scrollTop&&t.getBoundingClientRect().top===r.top||t._continueSelection(r.target,r.event)),delete t._downTimeoutInfo;const l=t._downItem,a=t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if(delete t._downItem,t._editedItem&&!t._editInputDown&&(!t._isMobile&&a!==t.$.editInput||t._isMobile&&t.getRootNode().elementFromPoint(e.clientX,e.clientY)!==t.$.editInput))return void t._endEditing();if(delete t._editInputDown,l){const r=a.closest("smart-tree-item")||a.closest("smart-tree-items-group");!r||!r.selected||r!==l||t._dragDetails&&t._dragDetails.FeedbackShown||r instanceof Smart.TreeItemsGroup&&(a.closest(".smart-tree-items-group-arrow")||a===r.container||a===r.container.firstElementChild)||t._handleSelection(r,e)}if(!n)return;const o=Smart.Tree.hoveredTree,s=Smart.Tree.hoveredItem;if(delete t._dragDetails,delete Smart.Tree.treeItemDragged,delete Smart.Tree.hoveredTree,delete Smart.Tree.hoveredItem,t.$.scrollViewer._scrollView.disableSwipeScroll=!1,!n.FeedbackShown)return;const i=o||t.getRootNode().elementFromPoint(e.clientX,e.clientY);let d;document.body.classList.remove("smart-dragging"),document.body.removeChild(n.Feedback),o&&clearInterval(o._dragInterval);const c=n.Item,m=n.Items,u=n.ValidItems;if(!i)return;if(!s||c.contains(s))return void t.$.fireEvent("dragEnd",{item:c,items:m,target:i,data:n,previousContainer:t,container:o||i,originalEvent:e});if(!o||!o.allowDrop||o.disabled)return;const p=[o];let h;if(s.classList.remove("drop-target"),s.classList.contains("top")?(s.classList.remove("top"),h="top",d=0):s.classList.contains("bottom")?(s.classList.remove("bottom"),h="bottom",d=2):(h="inside",d=1),n.DropDetails={item:s,position:h},o!==t)p.push(t);else if(n.ValidateOnDrop)for(let e=0;e<u.length;e++)if(u[e].contains(s))return;if(!t.$.fireEvent("dragEnd",{item:c,items:m,target:s,data:n,previousContainer:t,container:o,originalEvent:e}).defaultPrevented){o.sorted&&o.autoSort&&o._unsortItems(o.$.mainContainer);for(let e=0;e<u.length;e++)t._moveTreeItem(u[e],s,d,p);o.sorted&&o.autoSort&&o._applyGrouping(o.$.mainContainer),o!==t&&o._state.filter&&o._applyFilter(o._state.filter)}}_editInputBlurHandler(){this._endEditing()}_endEditing(e){const t=this,r=t._editedItem;if(!r)return;if(delete t._editedItem,t.$editInput.addClass("smart-hidden"),t.focus(),e)return;const n=t.$.editInput.value,l=t.sorted&&t.autoSort,a=t._state.filter;n!==r.label&&(r.set("label",n),r.setAttribute("aria-label",n),r.firstElementChild.firstElementChild.firstElementChild.innerHTML=n,l&&(t._unsortItems(t.$.mainContainer),t._applyGrouping(t.$.mainContainer)),a&&t._applyFilter(a))}_ensureVisible(e){const t=this;t._ensureVisibleTreeMode(e,e.getBoundingClientRect(),t.$.scrollViewer,t.$.scrollViewer.getBoundingClientRect(),t._scrollViewerPadding),t._ensureVisibleCallback&&t._ensureVisibleCallback(e)}_pointeroverHandler(e){const t=(this.isInShadowDOM?e.composedPath()[0]:e.target).closest(".smart-tree-item-label-element>span");if(!t)return;const r=this.$.container.querySelector(".tooltip");r&&(r.classList.remove("tooltip"),r.removeAttribute("title")),t.scrollWidth>t.offsetWidth&&(t.classList.add("tooltip"),t.title=t.innerText)}_filterInputKeyupHandler(e){const t=this;if(t._filterTimer&&clearTimeout(t._filterTimer),t.filterOnEnter){if("Enter"!==e.key)return;{const e=t.context;t.context=t,t._applyFilter(t.$.filterInput.value,t._view),t._checkOverflow(),t.context=e}}t._filterTimer=setTimeout((function(){const e=t.context;t.context=t,t._applyFilter(t.$.filterInput.value,t._view),t._checkOverflow(),t.context=e}),300)}_filterInputKeydownHandler(e){if("PageDown"!==e.key)return void("PageUp"===e.key&&(e.preventDefault(),e.stopPropagation()));const t=this;let r;if(e.preventDefault(),e.stopPropagation(),t.selectedIndexes.length>0){const e=t.selectedIndexes.slice(0);r=t._lastSelectedItem||t._menuItems[t.selectedIndexes[t.selectedIndexes.length-1]],"checkBox"!==t.selectionMode&&"radioButton"!==t.selectionMode&&(t.selectedIndexes=[r.path],t._applySelection(!1,e)),t.focus()}else r=t._getFirstEnabledChild(t.$.mainContainer),t.focus(),r&&t._hoverViaKeyboard(r);t._ensureVisible(r)}_focusHandler(){const e=this;e.selectedIndexes.length>0&&!e._hoveredViaKeyboard&&(e._lastSelectedItem?e._hoverViaKeyboard(e._lastSelectedItem,!1,void 0,!1):e._hoverViaKeyboard(e._menuItems[e.selectedIndexes[e.selectedIndexes.length-1]],!1,void 0,!1))}_getDataSource(){const e=[];return function e(t,r){for(let n=0;n<t.length;n++){const l=t[n],a={label:l.label};l.disabled&&(a.disabled=!0),l.selected&&(a.selected=!0),l.separator&&(a.separator=!0),null!==l.value&&(a.value=l.value),l instanceof Smart.TreeItem?l.shortcut&&(a.shortcut=l.shortcut):(l.expanded&&(a.expanded=!0),a.items=[],l.itemContainer&&l.itemContainer.children&&e(l.itemContainer.children,a.items)),r.push(a)}}(this.$.mainContainer.children,e),e}_handleHierarchicalSelection(e,t){const r=this;let n=e;for(e.selected?(e.set("selected",!1),e.setAttribute("aria-selected",!1)):(e.set("selected",!0),e.setAttribute("aria-selected",!0),e.removeAttribute("indeterminate"));n.parentItem;){const e=n.parentItem,t=e.itemContainer.children;let l=0,a=0;for(let e=0;e<t.length;e++)t[e].selected?l++:t[e].hasAttribute("indeterminate")&&a++;r._setThreeStateCheckbox(e,l,a),n=e}e instanceof Smart.TreeItemsGroup&&function e(t,r){const n=t.itemContainer.children;for(let t=0;t<n.length;t++){const l=n[t];l.set("selected",r),l.setAttribute("aria-selected",r),l.removeAttribute("indeterminate"),l instanceof Smart.TreeItemsGroup&&e(l,r)}}(e,e.selected),t.length=0;const l=Array.from((r.enableShadowDOM?r.shadowRoot:r).querySelectorAll("[selected]"));for(let e=0;e<l.length;e++)t.push(l[e].path);r._sortPathCollection(t)}_handleSelection(e,t){const r=this,n=r.selectionMode;if("none"===n||"programmatic"!==t.type&&!r._canItemBeSelected(e))return;const l=e.selected;if(l&&"down"===t.type)return;const a=r.selectedIndexes.slice(0);let o=a.slice(0);switch(n){case"one":case"zeroAndOne":if(l)return;r._menuItems[o[0]]&&(r._menuItems[o[0]].set("selected",!1),r._menuItems[o[0]].removeAttribute("aria-selected")),r.selectedIndexes=[e.path],e.set("selected",!0),e.setAttribute("aria-selected",!0),r._lastSelectedItem=e;break;case"zeroOrOne":l?(r.selectedIndexes=[],e.set("selected",!1),e.removeAttribute("aria-selected")):(void 0!==o[0]&&(r._menuItems[o[0]].set("selected",!1),r._menuItems[o[0]].removeAttribute("aria-selected")),r.selectedIndexes=[e.path],e.set("selected",!0),e.setAttribute("aria-selected",!0));break;case"oneOrMany":case"zeroOrMany":if(l){if(1===o.length&&"zeroOrMany"!==n)return;o.splice(o.indexOf(e.path),1),e.set("selected",!1),e.setAttribute("aria-selected",!1)}else o.push(e.path),r._sortPathCollection(o),e.set("selected",!0),e.setAttribute("aria-selected",!0);r.selectedIndexes=o;break;case"oneOrManyExtended":{const n=t.ctrlKey||t.metaKey,l=t.shiftKey;if(!n&&!l||l&&e===r._lastSelectedItem){for(let e=0;e<o.length;e++)r._menuItems[o[e]].set("selected",!1),r._menuItems[o[e]].setAttribute("aria-selected",!1);o=[e.path],e.set("selected",!0),e.setAttribute("aria-selected",!0),r._lastSelectedItem=e}else if(n)e.selected&&o.length>1?(o.splice(o.indexOf(e.path),1),e.set("selected",!1),e.setAttribute("aria-selected",!1)):e.selected||(o.push(e.path),r._sortPathCollection(o),e.set("selected",!0),e.setAttribute("aria-selected",!0),r._lastSelectedItem=e);else if(l){for(let e=0;e<o.length;e++)r._menuItems[o[e]].set("selected",!1),r._menuItems[o[e]].setAttribute("aria-selected",!1);o=r._selectItemRange(r._lastSelectedItem,e)}r.selectedIndexes=o;break}case"checkBox":r.hasThreeStates?r._handleHierarchicalSelection(e,o):l?(o.splice(o.indexOf(e.path),1),e.set("selected",!1),e.setAttribute("aria-selected",!1)):(o.push(e.path),r._sortPathCollection(o),e.set("selected",!0),e.setAttribute("aria-selected",!0)),r.selectedIndexes=o;break;case"radioButton":{if(e.selected)return;let t;for(let r=0;r<e.parentElement.children.length;r++){const n=e.parentElement.children[r];if(n.selected){t=n;break}}const n=o.indexOf(t.path);t.set("selected",!1),e.setAttribute("aria-selected",!1),e.set("selected",!0),e.setAttribute("aria-selected",!0),o.splice(n,1),o.push(e.path),r._sortPathCollection(o),r.selectedIndexes=o;break}}if(r._discardKeyboardHover(!0),r._hoverViaKeyboard(e,!1,void 0,!r._treeAnimationInProgress),r._updateState("selected"),JSON.stringify(a)!==JSON.stringify(r.selectedIndexes)){if(r.ownerElement&&!r.ownerElement.isRendered)return;r.$.fireEvent("change",{item:e,selectedIndexes:r.selectedIndexes,oldSelectedIndexes:a})}}_hoverViaKeyboard(e,t,r,n){if(!e)return;const l=this;e.setAttribute("focus",""),l._hoveredViaKeyboard=e,!1!==n&&l._ensureVisible(e),t&&l._handleSelection(e,r),l._hoverViaKeyboardCallback&&l._hoverViaKeyboardCallback(e)}_keydownHandler(e){const t=this,r=e.key;if(t._editedItem)return void("Enter"===r?t._endEditing():"Escape"===r&&t._endEditing(!0));if(t.getRootNode().activeElement!==t||-1===["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Enter","F2","Home","PageDown","PageUp"," "].indexOf(r)||t.disabled||t.displayLoadingIndicator)return;"Enter"!==r&&e.preventDefault();const n=Array.from(t.$.mainContainer.querySelectorAll("smart-tree-item, smart-tree-items-group")),l="one"===t.selectionMode||"oneOrManyExtended"===t.selectionMode&&!e.ctrlKey&&!e.metaKey,a=t.$.mainContainer.querySelector("[focus]");function o(r){for(let o=r;o<n.length;o++){const r=n[o];if(t._canItemBeHovered(r)){if(a){if(a===r)break;a.removeAttribute("focus")}t._hoverViaKeyboard(r,l,e);break}}}function s(r){for(let o=r;o>=0;o--){const r=n[o];if(t._canItemBeHovered(r)){if(a){if(a===r)break;a.removeAttribute("focus")}t._hoverViaKeyboard(r,l,e);break}}}function i(){a.level>1&&t._canItemBeSelected(a.parentItem)&&(a.removeAttribute("focus"),t._hoverViaKeyboard(a.parentItem,l,e))}let d;switch(r){case"ArrowDown":d=a?n.indexOf(a)+1:0,o(d);break;case"ArrowLeft":if(!a)return;if(a instanceof Smart.TreeItem)i();else{if(t._isContainerOpened(a.level+1,a.container))return void t._closeSubContainersTreeMode(a.level+1,a.container,!0,!0);i()}break;case"ArrowRight":if(!a||a instanceof Smart.TreeItem)return;if(t._isContainerOpened(a.level+1,a.container)){const r=t._getFirstEnabledChild(a.itemContainer);r&&(a.removeAttribute("focus"),t._hoverViaKeyboard(r,l,e))}else t._menuItemsGroupSelectionHandler(a,{target:a,type:"keydown"});break;case"ArrowUp":d=a?n.indexOf(a)-1:n.length-1,s(d);break;case"End":s(n.length-1);break;case"Enter":a&&a instanceof Smart.TreeItemsGroup&&t._menuItemsGroupSelectionHandler(a,{target:a,type:"keydown"});break;case"F2":t.editable&&t._startEditing(a);break;case"Home":o(0);break;case"PageDown":t._pageDownHandler(n,a,l,e);break;case"PageUp":t._pageUpHandler(n,a,l,e);break;case" ":a&&t._handleSelection(a,e)}}_mainContainerSwipeHandler(e){Smart.Tree.treeItemDragged&&e.stopPropagation()}_menuItemsGroupSelectionHandler(e,t,r){const n=this,l=n.toggleMode,a=!!t.originalEvent&&t.originalEvent.target.classList.contains("smart-tree-items-group-arrow"),o=e.container;if(n._waitAnimation&&n._treeAnimationInProgress)return;if("down"!==t.type||a||"dblclick"===l&&1!==n._dblclickObject.numberOfClicks||n._handleSelection(e,t),"down"===t.type&&!a&&("dblclick"===l&&2!==n._dblclickObject.numberOfClicks||"click"===l&&n._dblclickObject.numberOfClicks>1||"arrow"===l)||e.hiddenChildren)return;const s=o.level;let i=n.hasAnimation;if("keydown"===t.type&&n._discardKeyboardHover(),n._treeAnimationInProgress&&(o.removeEventListener("transitionend",n._transitionendHandlerExpand),o.removeEventListener("transitionend",n._transitionendHandlerCollapse)),n._isContainerOpened(s,o))n._closeSubContainersTreeMode(s,o,!0,!1!==r);else{if(n.$.fireEvent("expanding",{item:e,label:e.label,path:e.path,value:e.value,children:e.itemContainer.children}).defaultPrevented)return;if(n._handleSingleExpandMode(e),i&&("expand"!==t.type&&(n._ensureVisibleOnTransitionend=e),n._expandSection(o)),o.$.removeClass("smart-visibility-hidden"),"keydown"===t.type&&(e.setAttribute("focus",""),n._hoveredViaKeyboard=e),e.$.addClass("smart-tree-items-group-opened"),e.$.addClass("smart-tree-items-group-expanded"),n._addOpenedContainer(s,o),void 0===t.type&&n._hoverViaKeyboard(n._getFirstEnabledChild(e.itemContainer)),!1!==r){const t={item:e,label:e.label,path:e.path,value:e.value,children:e.itemContainer.children};n.toggleCallback?(t.type="expand",n.toggleCallback(t)):n.$.fireEvent("expand",t)}}i||(n._checkOverflow(),"expand"!==t.type&&n._ensureVisible(e))}_handleSingleExpandMode(e){const t=this;if("single"!==t.expandMode)return;const r=e.parentItem,n=t._state.expanded.map((e=>Object.values(t._menuItems).find((t=>t.id===e)))).filter((e=>e.parentItem===r));n.length>0&&n.forEach((e=>t.collapseItem(e)))}_mouseenterHandler(){const e=this;e.autoHideToggleElement&&e.$mainContainer.removeClass("hidden-arrows"),Smart.Tree.treeItemDragged&&e.allowDrop&&!e.disabled&&(Smart.Tree.hoveredTree=e)}_mouseleaveHandler(){const e=this;if(e.autoHideToggleElement&&e.$mainContainer.addClass("hidden-arrows"),Smart.Tree.treeItemDragged){Smart.Tree.hoveredTree&&(clearInterval(Smart.Tree.hoveredTree._dragInterval),delete Smart.Tree.hoveredTree);const e=Smart.Tree.hoveredItem;e&&(e.classList.remove("drop-target"),e.classList.remove("top"),e.classList.remove("bottom"),delete Smart.Tree.hoveredItem)}}_moveHandler(e){const t=this,r=t._dragDetails;if(!r)return;if(!r.FeedbackShown){if(!(Math.abs(r.StartPosition.left-e.pageX)>5||Math.abs(r.StartPosition.top-e.pageY)>5))return;if(t.$.fireEvent("dragStart",{item:r.Item,items:r.Items,data:r,container:t,previousContainer:t,originalEvent:r.OriginalEvent}).defaultPrevented)return delete t._dragDetails,delete Smart.Tree.treeItemDragged,delete Smart.Tree.hoveredTree,delete Smart.Tree.hoveredItem,void(t.$.scrollViewer._scrollView.disableSwipeScroll=!1);document.body.classList.add("smart-dragging"),r.Feedback=t._addDragFeedback(),r.FeedbackShown=!0}const n=t.dragOffset;let l,a,o;if(t.$.fireEvent("dragging",{item:r.Item,items:r.Items,data:r,originalEvent:e}),r.Feedback.style.left=e.pageX+n[0]+"px",r.Feedback.style.top=e.pageY+n[1]+"px",t._isMobile){const r=Smart.Tree.hoveredItem;r&&(r.classList.remove("drop-target"),r.classList.remove("top"),r.classList.remove("bottom"),delete Smart.Tree.hoveredItem);const n=t.getRootNode().elementFromPoint(e.clientX,e.clientY);Smart.Tree.hoveredTree&&(clearInterval(Smart.Tree.hoveredTree._dragInterval),delete Smart.Tree.hoveredTree),n&&(l=n.closest("smart-tree"),l&&l.allowDrop&&(Smart.Tree.hoveredTree=l,a=n.closest("smart-tree-item")||n.closest("smart-tree-items-group"),a?o=a:a=n))}if(l=Smart.Tree.hoveredTree,!l)return;const s=l.filterable?l.$.filterInput.offsetHeight+10:0;if(clearInterval(l._dragInterval),l._dragInterval=setInterval((function(){const r=l.getBoundingClientRect();l.$.scrollViewer.scrollHeight>0&&r.left<=e.clientX&&r.left+r.width>=e.clientX?e.clientY>=r.top+s&&e.clientY<=r.top+20+s?(l.$.scrollViewer.scrollTop-=t._autoScrollCoefficient,"scrollButtons"===l.scrollMode&&l._updateScrollButtonVisibility()):e.clientY>=r.top+r.height-20&&e.clientY<=r.top+r.height?(l.$.scrollViewer.scrollTop+=t._autoScrollCoefficient,"scrollButtons"===l.scrollMode&&l._updateScrollButtonVisibility()):clearInterval(l._dragInterval):clearInterval(l._dragInterval)}),1),t._isMobile||(a=e.originalEvent.target,a&&a.enableShadowDOM&&(a=e.originalEvent.composedPath()[0]),a&&a.closest&&(o=a.closest("smart-tree-item")||a.closest("smart-tree-items-group"))),o){if(Smart.Tree.hoveredItem&&o!==Smart.Tree.hoveredItem&&(Smart.Tree.hoveredItem.classList.remove("drop-target"),Smart.Tree.hoveredItem.classList.remove("top"),Smart.Tree.hoveredItem.classList.remove("bottom")),Smart.Tree.hoveredItem=o,r.Item.contains(o))return;const t=o.getBoundingClientRect();o instanceof Smart.TreeItem?e.clientY-t.top<=t.height/2?(o.classList.remove("bottom"),o.classList.add("top")):(o.classList.remove("top"),o.classList.add("bottom")):e.clientY-t.top<=10?(o.classList.remove("bottom"),o.classList.add("top")):!o.expanded&&t.bottom-e.clientY<=10?(o.classList.remove("top"),o.classList.add("bottom")):(o.classList.remove("top"),o.classList.remove("bottom")),o.classList.add("drop-target")}else if(Smart.Tree.hoveredItem&&(Smart.Tree.hoveredItem.classList.remove("drop-target"),Smart.Tree.hoveredItem.classList.remove("top"),Smart.Tree.hoveredItem.classList.remove("bottom")),a===l.$.scrollViewer.$.scrollViewerContainer)if(l._menuItems[0]){let e=l.$.mainContainer.lastElementChild,t=l.$.mainContainer.childElementCount-1;for(;e.hidden&&(t--,e=l.$.mainContainer.children[t],e););if(e){if(r.Item===e)return;Smart.Tree.hoveredItem=e,Smart.Tree.hoveredItem.classList.add("bottom")}else Smart.Tree.hoveredItem=l.$.container;Smart.Tree.hoveredItem.classList.add("drop-target")}else Smart.Tree.hoveredItem=l.$.container,Smart.Tree.hoveredItem.classList.add("drop-target");else delete Smart.Tree.hoveredItem}_moveSubItems(e,t,r){const n=this;for(let l=0;l<e.length;l++){const a=e[l];a.menu=t,a.set("level",a.parentItem.level+1),a.firstElementChild.style.paddingLeft="",a.firstElementChild.style.paddingRight="",n._setIndentation(a.firstElementChild,a.level,r),a.hidden=!1,a.$.removeClass("smart-hidden"),a.$.removeClass("filtered-child"),a.$.removeClass("last-filtered-child"),a instanceof Smart.TreeItemsGroup&&(a.$.removeClass("hidden-children"),a.container.level=a.level+1,n._moveSubItems(a.itemContainer.children,t,r),t!==n&&a.expanded&&(t._menuItemsGroupsToExpand.push(a),n._updateState("expanded",a.id,!1)))}}_moveTreeItem(e,t,r,n){const l=this,a=e.level;if(0===r){if(t.previousElementSibling===e)return;t.parentElement.insertBefore(e,t),e.set("level",t.level),e.parentItem=t.parentItem}else if(2===r){if(t.nextElementSibling===e)return;t.parentElement.insertBefore(e,t.nextElementSibling||null),e.set("level",t.level),e.parentItem=t.parentItem}else if(t===n[0].$.container)n[0].$.mainContainer.appendChild(e),e.set("level",1),e.parentItem=void 0;else{if(t.itemContainer.lastElementChild===e)return;t.itemContainer.appendChild(e),e.set("level",t.level+1),e.parentItem=t}const o=n[0].rightToLeft?"paddingRight":"paddingLeft";if(e.menu=n[0],e.parentItem=e.parentElement.menuItemsGroup,e.firstElementChild.style.paddingLeft="",e.firstElementChild.style.paddingRight="",l._setIndentation(e.firstElementChild,e.level,o),e.hidden=!1,e.$.removeClass("smart-hidden"),e.$.removeClass("filtered-child"),e.$.removeClass("last-filtered-child"),e instanceof Smart.TreeItemsGroup&&(e.$.removeClass("hidden-children"),e.container.level=e.level+1,l._moveSubItems(e.itemContainer.children,n[0],o),e.expanded)){const t=l._openedContainers[a+1].indexOf(e.container);-1!==t&&l._openedContainers[a+1].splice(t,1),n[0]._menuItemsGroupsToExpand.push(e),2===n.length&&l._updateState("expanded",e.id,!1)}for(let e=0;e<n.length;e++){const t=n[e],r=t.context,l=t.selectedIndexes.slice(0);t.context=t,t._menuItems={},t._refreshItemPaths(t.$.mainContainer,!0,void 0,t.sorted&&!t.autoSort),t.selectedIndexes=[],t._applySelection(!0,l,!1),t._checkOverflow(),t.context=r}n[0]._expandItemsByDefault()}_overriddenMenuHandler(){}_pageDownHandler(e,t,r,n){const l=this,a=l.$.scrollViewer;function o(){for(let t=e.length-1;t>=0;t--){const r=e[t];if(l._canItemBeHovered(r)&&l._getOffsetTop(r)+r.firstElementChild.offsetHeight<=a.scrollTop+a.$.container.offsetHeight)return r}}if(!t)return;let s=o();s&&(t!==s?(t.removeAttribute("focus"),l._hoverViaKeyboard(s,r,n)):a.scrollTop+a.$.container.offsetHeight!==a.$.scrollViewerContentContainer.offsetHeight&&(l.$.scrollViewer.scrollTop+=a.$.container.offsetHeight,"scrollButtons"===l.scrollMode&&l._updateScrollButtonVisibility(),s=o(),t.removeAttribute("focus"),l._hoverViaKeyboard(s,r,n)))}_pageUpHandler(e,t,r,n){const l=this,a=l.$.scrollViewer;function o(){for(let t=0;t<e.length;t++){const r=e[t];if(l._canItemBeHovered(r)&&l._getOffsetTop(r)>=a.scrollTop)return r}}if(!t)return;let s=o();s&&(t!==s?(t.removeAttribute("focus"),l._hoverViaKeyboard(s,r,n)):0!==a.scrollTop?(l.$.scrollViewer.scrollTop-=a.$.container.offsetHeight,"scrollButtons"===l.scrollMode&&l._updateScrollButtonVisibility(),s=o(),t.removeAttribute("focus"),l._hoverViaKeyboard(s,r,n)):l.filterable&&l.$.filterInput.focus())}_refreshItemPathsAndSelection(){const e=this,t=e.selectedIndexes.slice(0);e._menuItems={},e._refreshItemPaths(e.$.mainContainer,!0),e.selectedIndexes=[],e._applySelection(!0,t)}_refreshSorting(){const e=this;e._unsortItems(e.$.mainContainer),e._applyGrouping(e.$.mainContainer);const t=e._state.filter;t&&e._applyFilter(t),e._checkOverflow()}_scroll(e){const t=this;t.$.scrollViewer.scrollTop=t.$.scrollViewer.scrollTop+10*e,t._updateScrollButtonVisibility(),t.focus()}_scrollButtonFarClickHandler(){this.$.scrollButtonFar.disabled||this._scroll(1)}_scrollButtonNearClickHandler(){this.$.scrollButtonNear.disabled||this._scroll(-1)}_scrollViewerDownHandler(e){const t=this;if(e.target!==t.$.scrollViewer||t.disabled||t.displayLoadingIndicator||!t._isMobile&&1!==e.which)return;const r=e.originalEvent.target;if(r!==t.$.editInput)if(t._isMobile){const n=t.$.scrollViewer.scrollTop,l=t.getBoundingClientRect().top,a=setTimeout((function(){if(!t._dragDetails&&t.$.scrollViewer.scrollTop===n&&t.getBoundingClientRect().top===l){const n=t.context;t.context=t,t._continueSelection(r,e),t.context=n}}),250);t._downTimeoutInfo={target:r,event:e,scrollTop:n,top:l,timeout:a}}else t._continueSelection(r,e);else t._editInputDown=!0}_continueSelection(e,t){const r=this,n=e.closest("smart-tree-item")||e.closest("smart-tree-items-group");if(!(n&&n.parentElement&&r._canItemBeSelected(n,!0)))return;const l=e.closest(".smart-tree-items-group-arrow");let a;if(n instanceof Smart.TreeItem)a="_handleSelection";else{if(e===n.container||e===n.container.firstElementChild)return;a="_menuItemsGroupSelectionHandler"}if(clearTimeout(r._dblclickTimeout),n!==r._dblclickObject.target&&(r._dblclickObject.numberOfClicks=0),r._dblclickObject.target=n,r._dblclickObject.numberOfClicks++,r._dblclickTimeout=setTimeout((function(){r._dblclickObject.numberOfClicks=0}),300),2===r._dblclickObject.numberOfClicks){if(r.editable)return void r._startEditing(n);r._dblclickHandler(n,l,t),r._dblclickObject.numberOfClicks=0}n.selected&&(r._downItem=n),r[a](n,t),r._discardKeyboardHover(!0),r._hoverViaKeyboard(n,!1,void 0,!1),l||r._startDragging(n,t)}_scrollViewerTouchmoveHandler(e){this._dragDetails&&e.cancelable&&(e.preventDefault(),e.stopPropagation())}_scrollViewerWheelHandler(){const e=this;"scrollButtons"===e.scrollMode&&"hidden"!==e.overflow&&e._updateScrollButtonVisibility()}_selectItemRange(e,t){const r=this,n=Array.from(r.$.mainContainer.querySelectorAll("smart-tree-item, smart-tree-items-group")),l=n.indexOf(e),a=n.indexOf(t),o=[];for(let e=Math.min(l,a);e<=Math.max(l,a);e++){const t=n[e];r._canItemBeHovered(t)&&(o.push(t.path),t.set("selected",!0))}return o}_selectstartHandler(e){this._dragDetails&&e.preventDefault()}_setFocusable(){super._setFocusable();const e=this;e.disabled||e.unfocusable?e.$.filterInput.tabIndex=-1:e.$.filterInput.removeAttribute("tabindex")}_setIndentation(e,t,r){const n=this;let l=n._paddingSize;void 0===l&&(l=parseFloat(getComputedStyle(n).getPropertyValue("--smart-tree-indent")),isNaN(l)?l=20:l+=4,n._paddingSize=l),e.style[r]=t*l-l/2+"px"}_setThreeStateCheckbox(e,t,r){t===e.itemContainer.childElementCount&&t>0?(e.removeAttribute("indeterminate"),e.set("selected",!0),e.setAttribute("aria-selected",!0)):0===t&&0===r?(e.removeAttribute("indeterminate"),e.set("selected",!1),e.setAttribute("aria-selected",!1)):(e.setAttribute("indeterminate",""),e.set("selected",!1),e.setAttribute("aria-selected",!1))}_sortItems(e){const t=this;if(!t.sorted)return;let r;e instanceof Smart.TreeItemsGroup?r=e.container.firstElementChild:e===t.$.mainContainer&&(r=e);let n=Array.from(r.children);if(t.sort){const r=t.sort(n,e);Array.isArray(r)&&(n=r)}else"asc"===t.sortDirection?n.sort((function(e,t){return e.label.localeCompare(t.label)})):n.sort((function(e,t){return t.label.localeCompare(e.label)}));for(let e=n.length-1;e>=0;e--)r.insertBefore(n[e],r.firstElementChild)}_sortPathCollection(e){e.sort((function(e,t){const r=e.split("."),n=t.split("."),l=Math.max(r.length,n.length);for(let e=0;e<l;e++){const t=parseFloat(r[e]),l=parseFloat(n[e]);if(isNaN(t))return-1;if(isNaN(l))return 1;if(t<l)return-1;if(t>l)return 1}}))}_startDragging(e,t){const r=this,n=r.selectionMode;if(!r.allowDrag||r._editedItem||"none"===n)return;const l=[],a=[];let o;if(-1!==["one","zeroAndOne","zeroOrOne","checkBox","radioButton"].indexOf(n))o=!1,l.push(e),a.push(e);else{o=!0;for(let e=0;e<r.selectedIndexes.length;e++)l.push(r._menuItems[r.selectedIndexes[e]]),a.push(l[e]);for(let e=0;e<l.length;e++){const t=l[e];if(-1!==a.indexOf(t))for(let e=a.length-1;e>=0;e--){const r=a[e];if(r===t)break;t.contains(r)&&a.splice(e,1)}}}r._dragDetails={StartPosition:{left:t.pageX,top:t.pageY},Items:l,ValidItems:a,Item:e,FeedbackShown:!1,ValidateOnDrop:o,OriginalEvent:t,StartTime:new Date,Dragging:!0},Smart.Tree.treeItemDragged=!0,r.$.scrollViewer._scrollView.disableSwipeScroll=!0,r.allowDrop&&(Smart.Tree.hoveredTree=r,Smart.Tree.hoveredItem=e)}_startEditing(e){const t=this,r=t.$.editInput;let n,l;if(!t._canItemBeSelected(e,!0))return;const a=e.firstElementChild,o=a.firstElementChild;t.rightToLeft?(n=function(){return a.offsetWidth-o.offsetLeft-o.offsetWidth},l="paddingRight"):(n=function(){return o.offsetLeft+parseFloat(window.getComputedStyle(a).borderLeftWidth)},l="paddingLeft"),e instanceof Smart.TreeItemsGroup?(r.style[l]=n()+(t.showLines?parseFloat(window.getComputedStyle(o.firstElementChild).paddingLeft):0)-1+"px",r.style.height=a.offsetHeight+"px"):(r.style[l]=e.offsetWidth+parseInt(a.style[l],10)-a.offsetWidth+parseFloat(window.getComputedStyle(o.firstElementChild).paddingLeft)-2+"px",r.style.height=e.offsetHeight+"px"),r.style.top=t._getOffsetTop(e)+"px",t.$editInput.removeClass("smart-hidden"),r.value=e.label,t._editedItem=e,r.setAttribute("aria-label","Edit item "+e.label),setTimeout((function(){r.focus()}),0)}_styleChangedHandler(e){e.detail.styleProperties&&e.detail.styleProperties["font-size"]&&this._checkOverflow()}_updateScrollButtonVisibility(){const e=this,t=e.overflow;if("scrollbar"===e.scrollMode||"hidden"===t)return;let r=!0,n=!0;if(0===Math.round(e.$.scrollViewer.scrollTop)&&(r=!1),Math.round(e.$.scrollViewer.$.scrollViewerContainer.offsetHeight+e.$.scrollViewer.scrollTop)>=Math.round(e.$.scrollViewer.$.scrollViewerContentContainer.offsetHeight)&&(n=!1),"auto"===t){if(r&&n)return e.$scrollButtonNear.removeClass("smart-hidden"),e.$scrollButtonFar.removeClass("smart-hidden"),e.$scrollViewer.removeClass("one-button-shown"),void e.$.scrollViewer.refresh();r?e.$scrollButtonNear.removeClass("smart-hidden"):e.$scrollButtonNear.addClass("smart-hidden"),n?e.$scrollButtonFar.removeClass("smart-hidden"):e.$scrollButtonFar.addClass("smart-hidden"),e.$scrollViewer.addClass("one-button-shown"),e.$.scrollViewer.refresh()}else"scroll"!==t||e.disabled||(e.$.scrollButtonNear.disabled=!r,e.$.scrollButtonFar.disabled=!n)}_updateState(e,t,r){const n=this;switch(e){case"expanded":{const e=n._state.expanded.indexOf(t);if(r&&-1===e)n._state.expanded.push(t);else{if(r||-1===e)return;n._state.expanded.splice(e,1)}break}case"filter":n._state.filter=void 0!==t?t:n.$.filterInput.value;break;case"selected":n._state.selected=[];for(let e=0;e<n.selectedIndexes.length;e++){const t=n._menuItems[n.selectedIndexes[e]];n._state.selected.push(t.id)}break;case"sorted":n._state.sorted=t}n.autoSaveState&&window.localStorage.setItem("smartTree"+n.id,JSON.stringify(n._state))}_verticalScrollbarHandler(){const e=this,t=e.$.verticalScrollBar,r=t.value;e.disabled||(t.max!==r?t.min!==r?(delete e._topReached,delete e._bottomReached):e._topReached||(e.$.fireEvent("scrollTopReached"),delete e._bottomReached,e._topReached=!0):e._bottomReached||(e.$.fireEvent("scrollBottomReached"),delete e._topReached,e._bottomReached=!0))}});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
/* Smart UI v15.0.11 (2023-02-01)
|
|
3
|
+
Copyright (c) 2011-2023 jQWidgets.
|
|
4
|
+
License: https://htmlelements.com/license/ */ //
|
|
5
|
+
|
|
6
|
+
Smart.Utilities.Assign("ValidationPanel",class{constructor(e,t="en",a=""){const n=this;n._setLocalizationSettings(t,a),n.dataValidationModal=document.querySelector(e),n.criteriaType={Number:{between:{numberOfInputs:2,textBetweenInputs:n.messages[n.locale].andTextBetweenInput?n.messages[n.locale].andTextBetweenInput:n.defaultMessages[n.defaultLocale].andTextBetweenInput,"placeholderInput-1":"10","placeholderInput-2":"100",validationText:n.messages[n.locale].numberBetweenValidationText?n.messages[n.locale].numberBetweenValidationText:n.defaultMessages[n.defaultLocale].numberBetweenValidationText},not_between:{numberOfInputs:2,textBetweenInputs:n.messages[n.locale].andTextBetweenInput?n.messages[n.locale].andTextBetweenInput:n.defaultMessages[n.defaultLocale].andTextBetweenInput,"placeholderInput-1":"10","placeholderInput-2":"100",validationText:n.messages[n.locale].numberNotBetweenValidationText?n.messages[n.locale].numberNotBetweenValidationText:n.defaultMessages[n.defaultLocale].numberNotBetweenValidationText},less_than:{numberOfInputs:1,"placeholderInput-1":"10",validationText:n.messages[n.locale].numberLessThanValidationText?n.messages[n.locale].numberLessThanValidationText:n.defaultMessages[n.defaultLocale].numberLessThanValidationText},less_than_or_equal_to:{numberOfInputs:1,"placeholderInput-1":"10",validationText:n.messages[n.locale].numberLessThanOrEqualToValidationText?n.messages[n.locale].numberLessThanOrEqualToValidationText:n.defaultMessages[n.defaultLocale].numberLessThanOrEqualToValidationText},greater_than:{numberOfInputs:1,"placeholderInput-1":"10",validationText:n.messages[n.locale].numberGreaterThanValidationText?n.messages[n.locale].numberGreaterThanValidationText:n.defaultMessages[n.defaultLocale].numberGreaterThanValidationText},greater_than_or_equal_to:{numberOfInputs:1,"placeholderInput-1":"10",validationText:n.messages[n.locale].numberGreaterThanOrEqualToValidationText?n.messages[n.locale].numberGreaterThanOrEqualToValidationText:n.defaultMessages[n.defaultLocale].numberGreaterThanOrEqualToValidationText},equal_to:{numberOfInputs:1,"placeholderInput-1":"10",validationText:n.messages[n.locale].numberEqualToValidationText?n.messages[n.locale].numberEqualToValidationText:n.defaultMessages[n.defaultLocale].numberEqualToValidationText},not_equal_to:{numberOfInputs:1,"placeholderInput-1":"10",validationText:n.messages[n.locale].numberNotEqualToValidationText?n.messages[n.locale].numberNotEqualToValidationText:n.defaultMessages[n.defaultLocale].numberNotEqualToValidationText}},Text:{contains:{numberOfInputs:1,"placeholderInput-1":"Approved",validationText:n.messages[n.locale].textContainsValidationText?n.messages[n.locale].textContainsValidationText:n.defaultMessages[n.defaultLocale].textContainsValidationText},does_not_contain:{numberOfInputs:1,"placeholderInput-1":"Approved",validationText:n.messages[n.locale].textNotContainsValidationText?n.messages[n.locale].textNotContainsValidationText:n.defaultMessages[n.defaultLocale].textNotContainsValidationText},equals:{numberOfInputs:1,"placeholderInput-1":"Approved",validationText:n.messages[n.locale].textEqualsValidationText?n.messages[n.locale].textEqualsValidationText:n.defaultMessages[n.defaultLocale].textEqualsValidationText},is_valid_email:{numberOfInputs:0,validationText:n.messages[n.locale].textValidEmailValidationText?n.messages[n.locale].textValidEmailValidationText:n.defaultMessages[n.defaultLocale].textValidEmailValidationText},is_valid_url:{numberOfInputs:0,validationText:n.messages[n.locale].textValidUrlValidationText?n.messages[n.locale].textValidUrlValidationText:n.defaultMessages[n.defaultLocale].textValidUrlValidationText}},Date:{is_valid_date:{numberOfInputs:0,validationText:n.messages[n.locale].dateValidDateValidationText?n.messages[n.locale].dateValidDateValidationText:n.defaultMessages[n.defaultLocale].dateValidDateValidationText},equal_to:{numberOfInputs:1,"placeholderInput-1":"11/2017",validationText:n.messages[n.locale].dateEqualToValidationText?n.messages[n.locale].dateEqualToValidationText:n.defaultMessages[n.defaultLocale].dateEqualToValidationText},before:{numberOfInputs:1,"placeholderInput-1":"11/2017",validationText:n.messages[n.locale].dateBeforeValidationText?n.messages[n.locale].dateBeforeValidationText:n.defaultMessages[n.defaultLocale].dateBeforeValidationText},on_or_before:{numberOfInputs:1,"placeholderInput-1":"11/2017",validationText:n.messages[n.locale].dateOnOrBeforeValidationText?n.messages[n.locale].dateOnOrBeforeValidationText:n.defaultMessages[n.defaultLocale].dateOnOrBeforeValidationText},after:{numberOfInputs:1,"placeholderInput-1":"11/2017",validationText:n.messages[n.locale].dateAfterValidationText?n.messages[n.locale].dateAfterValidationText:n.defaultMessages[n.defaultLocale].dateAfterValidationText},on_or_after:{numberOfInputs:1,"placeholderInput-1":"11/2017",validationText:n.messages[n.locale].dateOnOrAfterValidationText?n.messages[n.locale].dateOnOrAfterValidationText:n.defaultMessages[n.defaultLocale].dateOnOrAfterValidationText},between:{numberOfInputs:2,textBetweenInputs:n.messages[n.locale].andTextBetweenInput?n.messages[n.locale].andTextBetweenInput:n.defaultMessages[n.defaultLocale].andTextBetweenInput,"placeholderInput-1":"11/2017","placeholderInput-2":"11/2018",validationText:n.messages[n.locale].dateBetweenValidationText?n.messages[n.locale].dateBetweenValidationText:n.defaultMessages[n.defaultLocale].dateBetweenValidationText},not_between:{numberOfInputs:2,textBetweenInputs:n.messages[n.locale].andTextBetweenInput?n.messages[n.locale].andTextBetweenInput:n.defaultMessages[n.defaultLocale].andTextBetweenInput,"placeholderInput-1":"11/2017","placeholderInput-2":"11/2018",validationText:n.messages[n.locale].dateNotBetweenValidationText?n.messages[n.locale].dateNotBetweenValidationText:n.defaultMessages[n.defaultLocale].dateNotBetweenValidationText}},Boolean:{"":{numberOfInputs:0,validationText:n.messages[n.locale].booleanValidationText?n.messages[n.locale].booleanValidationText:n.defaultMessages[n.defaultLocale].booleanValidationText}}},n._initContainers(),n._initDataTypeCriterias()}detach(){this._removeEventListeners()}_removeEventListeners(){const e=this;e.removeValidationButton.removeEventListener("click",e.removeValidationButton["reset-validation-form"]),delete e.removeValidationButton["reset-validation-form"],e.submitButton.removeEventListener("click",e.submitButton["submit-validation-form"]),delete e.submitButton["submit-validation-form"],e.appearanceCheckbox.removeEventListener("click",e.appearanceCheckbox["appearance-checkbox-change"]),delete e.appearanceCheckbox["appearance-checkbox-change"],e.smartInputCriteriaType.removeEventListener("change",e.smartInputCriteriaType["criteria-type-change"]),delete e.smartInputCriteriaType["criteria-type-change"],e.smartInputCriteria.removeEventListener("change",e.smartInputCriteria["criteria-change"]),delete e.smartInputCriteria["criteria-change"]}_setLocalizationSettings(e,t){const a=this;a.locale=e,a.messages=t,a.defaultLocale="en",a.defaultMessages={en:{criteriaText:"Criteria:",onInavlidData:"On invalid data:",appearance:"Appearance:",showWarning:"Show warning",rejectInput:"Reject input",showValidationHelpText:"Show validation help text:",cancelButtonText:"cancel",removeValidationButtonText:"remove validation",saveButtonText:"save",andTextBetweenInput:"and",expectTrue:"Expect true",expectFalse:"Expect false",resetButtonText:"Reset",NumberDataTypeText:"Number",Number_between:"between",Number_not_between:"not between",Number_less_than:"less than",Number_less_than_or_equal_to:"less than or equal to",Number_greater_than:"greater than",Number_greater_than_or_equal_to:"greater than or equal to",Number_equal_to:"equal to",Number_not_equal_to:"not equal to",TextDataTypeText:"Text",Text_contains:"contains",Text_does_not_contain:"does not contain",Text_equals:"equals",Text_is_valid_email:"is valid email",Text_is_valid_url:"is valid url",DateDataTypeText:"Date",Date_is_valid_date:"is valid date",Date_equal_to:"equal to",Date_before:"before",Date_on_or_before:"on or before",Date_after:"after",Date_on_or_after:"on or after",Date_between:"between",Date_not_between:"not between",BooleanDataTypeText:"Boolean",numberBetweenValidationText:"Enter a number between",numberNotBetweenValidationText:"Enter a number not between",numberLessThanValidationText:"Enter a number less than",numberLessThanOrEqualToValidationText:"Enter a number less than or equal to",numberGreaterThanValidationText:"Enter a number greater than",numberGreaterThanOrEqualToValidationText:"Enter a number greater than or equal to",numberEqualToValidationText:"Enter a number equal to",numberNotEqualToValidationText:"Enter a number not equal to",textContainsValidationText:"Enter text that contains",textNotContainsValidationText:"Enter text that does not contain",textEqualsValidationText:"Enter text that equals",textValidEmailValidationText:"Enter a valid email",textValidUrlValidationText:"Enter a valid url",dateValidDateValidationText:"Enter a valid date",dateEqualToValidationText:"Enter a date equal to",dateBeforeValidationText:"Enter a date before",dateOnOrBeforeValidationText:"Enter a date on or before",dateAfterValidationText:"Enter a date after",dateOnOrAfterValidationText:"Enter a date on or after",dateBetweenValidationText:"Enter a date between",dateNotBetweenValidationText:"Enter a date not between",booleanValidationText:"Enter 'true' or 'false'"}},a.messages||(a.messages=a.defaultMessages),a.messages[a.locale]||(a.messages[a.defaultLocale]||(a.messages=a.defaultMessages),a.locale=a.defaultLocale)}getDataValidationFormat(){const e=this;let t=!1,a=e.smartInputCriteria.$.input.dataValue;a||(a=e.smartInputCriteria.label);let n="";e.smartInputCriteriaType&&(n=e.smartInputCriteriaType.$.input.dataValue,n||(n=e.smartInputCriteriaType.label));let i="",l=[],o=e.inputsCriteriaContainer.querySelectorAll("smart-text-box");if(o)for(let e=0;e<o.length;e++)l[e]=o[e].value;if(l[0]&&(i=l[0],l[1]&&(i=JSON.stringify({from:l[0],to:l[1]}))),e.firstTextBox&&(e.firstTextBox.style.border="",e.firstTextBox.querySelector("input.smart-input").style.border="",o.length>=1&&(!l[0]||l[0]&&"Number"===a&&parseFloat(l[0]).toString()!==l[0].toString())&&(e.firstTextBox.style.border="1px solid red",e.firstTextBox.querySelector("input.smart-input").style.border="none",t=!0)),e.secondTextBox&&(e.secondTextBox.style.border="",e.secondTextBox.querySelector("input.smart-input").style.border="",2===o.length&&(!l[1]||l[1]&&"Number"===a&&parseFloat(l[1]).toString()!==l[1].toString())&&(e.secondTextBox.style.border="1px solid red",e.secondTextBox.querySelector("input.smart-input").style.border="none",t=!0)),t)return"";let r=e.onInvalidDataRadioOne.checked,s=e.onInvalidDataRadioTwo.checked,d="";e.appearanceContainer.querySelector(".smart-checkbox-appearance").checked&&(d=e.appearanceContainer.querySelector(".smart-appearance-text-box-value").value),"Boolean"===a&&(e.smartBooleanRadioYes.checked?n=!0:e.smartBooleanRadioNo.checked&&(n=!1));let u={dataType:a.toLowerCase(),condition:n,value:i,showWarning:r,rejectInput:s,validationHelpText:d};return JSON.stringify(u)}resetDataValidationForm(){const e=this;e.smartInputCriteria.value=e.smartInputCriterias[0].label,e.smartInputCriteria.label=e.smartInputCriterias[0].value,e.smartInputCriteria.$.input.dataValue=e.smartInputCriterias[0].value;let t=e.smartInputCriteria;t.$.scrollView.attached=function(){requestAnimationFrame((()=>{t.$.scrollView.querySelector("ul li.active").classList.remove("active"),t.$.scrollView.querySelector('ul li[value="'+e.smartInputCriteria.label+'"]').classList.add("active")}))},e.onInvalidDataRadioOne.checked=!0,e.onInvalidDataRadioTwo.checked=!1,e.appearanceCheckbox.checked=!1,e.appearanceTextBox.classList.add("smart-hidden"),e._resetHandler(),e._initConditionCriterias()}_resetHandler(){const e=this;e.resetButton&&e.resetButton.remove(),e.appearanceTextBox.value=e.appearanceTextBox.dataset.defaultValue,e.appearanceTextBox.addEventListener("keydown",(()=>e._showResetButton()),{once:!0})}_showResetButton(){const e=this;void 0!==e.resetButton&&e.resetButton.remove(),e.resetButton=document.createElement("div"),e.resetButton.classList.add("reset-appearance"),e.resetButton.innerHTML=e.messages[e.locale].resetButtonText?e.messages[e.locale].resetButtonText:e.defaultMessages[e.defaultLocale].resetButtonText,e.resetButton.addEventListener("click",(()=>e._resetHandler()),{once:!0}),e.appearanceRightElementsResetContainer.appendChild(e.resetButton)}_initContainers(){const e=this;e.dataValidationContainer=document.createElement("div"),e.dataValidationContainer.classList.add("smart-data-validation-container"),e.criteriaContainer=document.createElement("div"),e.criteriaContainer.classList.add("smart-criteria-container"),e.criteriaTypeContainer=document.createElement("div"),e.criteriaTypeContainer.classList.add("smart-criteria-type-container"),e.inputsCriteriaContainer=document.createElement("div"),e.inputsCriteriaContainer.classList.add("smart-input-criteria-container"),e.textBetweenInputsHolder=document.createElement("div"),e.textBetweenInputsHolder.classList.add("smart-text-between-inputs-container"),e.onInvalidDataContainer=document.createElement("div"),e.onInvalidDataContainer.classList.add("smart-on-invalid-data-container"),e.appearanceContainer=document.createElement("div"),e.appearanceContainer.classList.add("smart-appearance"),e.footerButtonsContainer=document.createElement("div"),e.footerButtonsContainer.classList.add("smart-footer-buttons"),e._generateStaticElements()}_generateStaticElements(){const e=this;let t=document.createElement("div");t.classList.add("left-title"),e.footerButtonsContainer.appendChild(t);let a=document.createElement("div");a.classList.add("right-elements");let n=document.createElement("smart-button");n.classList.add("smart-cancel-footer-button"),n.innerHTML=e.messages[e.locale].cancelButtonText?e.messages[e.locale].cancelButtonText:e.defaultMessages[e.defaultLocale].cancelButtonText,a.appendChild(n),e.footerButtonsContainer.appendChild(a),e.removeValidationButton=document.createElement("smart-button"),e.removeValidationButton.classList.add("smart-remove-validation-footer-button"),e.removeValidationButton.innerHTML=e.messages[e.locale].removeValidationButtonText?e.messages[e.locale].removeValidationButtonText:e.defaultMessages[e.defaultLocale].removeValidationButtonText;const i=()=>e.resetDataValidationForm();e.removeValidationButton.addEventListener("click",i),e.removeValidationButton["reset-validation-form"]=i,a.appendChild(e.removeValidationButton),e.footerButtonsContainer.appendChild(a),e.submitButton=document.createElement("smart-button"),e.submitButton.classList.add("smart-save-footer-button"),e.submitButton.innerHTML=e.messages[e.locale].saveButtonText?e.messages[e.locale].saveButtonText:e.defaultMessages[e.defaultLocale].saveButtonText;const l=()=>e.getDataValidationFormat();e.submitButton.addEventListener("click",l),e.submitButton["submit-validation-form"]=l,a.appendChild(e.submitButton),e.footerButtonsContainer.appendChild(a),e.dataValidationModal.appendChild(e.footerButtonsContainer);let o=document.createElement("div");o.classList.add("left-title");let r=document.createElement("div");r.classList.add("smart-appearance-text"),r.innerHTML=e.messages[e.locale].appearance?e.messages[e.locale].appearance:e.defaultMessages[e.defaultLocale].appearance,o.appendChild(r),e.appearanceRightElementsTextContainer=document.createElement("div"),e.appearanceRightElementsTextContainer.classList.add("right-elements"),e.appearanceRightElementsResetContainer=document.createElement("div"),e.appearanceRightElementsResetContainer.classList.add("right-elements-reset"),e.appearanceCheckbox=document.createElement("smart-check-box"),e.appearanceCheckbox.classList.add("smart-checkbox-appearance"),e.appearanceCheckbox.innerHTML=e.messages[e.locale].showValidationHelpText?e.messages[e.locale].showValidationHelpText:e.defaultMessages[e.defaultLocale].showValidationHelpText,e.appearanceRightElementsTextContainer.appendChild(e.appearanceCheckbox),e.appearanceTextBox=document.createElement("smart-text-box"),e.appearanceTextBox.classList.add("smart-appearance-text-box-value"),e.appearanceTextBox.classList.add("smart-hidden"),e.appearanceRightElementsResetContainer.appendChild(e.appearanceTextBox);const s=()=>{e.appearanceTextBox.classList.toggle("smart-hidden"),e.resetButton&&e.resetButton.classList.toggle("smart-hidden")};e.appearanceCheckbox.addEventListener("click",s),e.appearanceCheckbox["appearance-checkbox-change"]=s,e.appearanceTextBox.addEventListener("keydown",(()=>e._showResetButton()),{once:!0}),e.appearanceContainer.appendChild(o),e.appearanceContainer.appendChild(e.appearanceRightElementsTextContainer),e.appearanceRightElementsTextContainer.appendChild(e.appearanceRightElementsResetContainer),e.dataValidationModal.appendChild(e.appearanceContainer);let d=document.createElement("div");d.classList.add("left-title");let u=document.createElement("div");u.innerHTML=e.messages[e.locale].onInavlidData?e.messages[e.locale].onInavlidData:e.defaultMessages[e.defaultLocale].onInavlidData,d.appendChild(u);let c=document.createElement("div");c.classList.add("right-elements"),e.onInvalidDataRadioOne=document.createElement("smart-radio-button"),e.onInvalidDataRadioOne.classList.add("smart-on-invalid-data-radio-button-show-warning"),e.onInvalidDataRadioOne.checked=!0,e.onInvalidDataRadioOne.innerHTML=e.messages[e.locale].showWarning?e.messages[e.locale].showWarning:e.defaultMessages[e.defaultLocale].showWarning,c.appendChild(e.onInvalidDataRadioOne),e.onInvalidDataRadioTwo=document.createElement("smart-radio-button"),e.onInvalidDataRadioTwo.classList.add("smart-on-invalid-data-radio-button-reject-input"),e.onInvalidDataRadioTwo.innerHTML=e.messages[e.locale].rejectInput?e.messages[e.locale].rejectInput:e.defaultMessages[e.defaultLocale].rejectInput,c.appendChild(e.onInvalidDataRadioTwo),e.onInvalidDataContainer.appendChild(d),e.onInvalidDataContainer.appendChild(c),e.dataValidationModal.appendChild(e.onInvalidDataContainer)}_initConditionValueCriterias(){const e=this;e.inputsCriteriaContainer.innerHTML="",e.textBetweenInputsHolder.innerHTML="";let t=e.smartInputCriteria.$.input.dataValue;t||(t=e.smartInputCriteria.label);let a=e.smartInputCriteriaType.$.input.dataValue;a||(a=e.smartInputCriteriaType.label);let n,i,l=Object.keys(e.criteriaType[t][a]);for(let o=0;o<l.length;o++){let r=l[o],s=e.criteriaType[t][a][l[o]];if("numberOfInputs"===r)for(let t=0;t<s;t++){let a=document.createElement("smart-text-box");a.classList.add("smart-text-box-value-"+(t+1)),e.inputsCriteriaContainer.appendChild(a)}else if("textBetweenInputs"===r){let t=document.createElement("div");t.classList.add("smart-text-between-inputs"),t.innerHTML=s,e.textBetweenInputsHolder=t}else"validationText"===r?(e.appearanceTextBox.value=s,e.appearanceTextBox.dataset.defaultValue=s):"placeholderInput-1"===r?n=s:"placeholderInput-2"===r&&(i=s)}e.inputsCriteriaContainer.appendChild(e.textBetweenInputsHolder),e.inputCriteriaRightElements.appendChild(e.inputsCriteriaContainer),e.dataValidationContainer.appendChild(e.inputCriteriaRightElements),e.dataValidationModal.appendChild(e.dataValidationContainer),e.firstTextBox=e.dataValidationModal.querySelector(".smart-text-box-value-1"),e.firstTextBox&&e.firstTextBox.setAttribute("placeholder",n),e.secondTextBox=e.dataValidationModal.querySelector(".smart-text-box-value-2"),e.secondTextBox&&e.secondTextBox.setAttribute("placeholder",i)}_initConditionCriterias(){const e=this;let t=e.smartInputCriteria.$.input.dataValue;if(t||(t=e.smartInputCriteria.label),e.criteriaTypeContainer.innerHTML="",e.inputsCriteriaContainer.innerHTML="",e.textBetweenInputsHolder.innerHTML="",e.smartInputCriteriaType=(e.smartInputCriteriaType,""),"Boolean"===t)e.smartBooleanRadioYes=document.createElement("smart-radio-button"),e.smartBooleanRadioYes.classList.add("smart-boolean-radio-yes"),e.smartBooleanRadioYes.checked=!0,e.smartBooleanRadioYes.innerHTML=e.messages[e.locale].expectTrue?e.messages[e.locale].expectTrue:e.defaultMessages[e.defaultLocale].expectTrue,e.smartBooleanRadioNo=document.createElement("smart-radio-button"),e.smartBooleanRadioNo.classList.add("smart-boolean-radio-no"),e.smartBooleanRadioNo.innerHTML=e.messages[e.locale].expectFalse?e.messages[e.locale].expectFalse:e.defaultMessages[e.defaultLocale].expectFalse,e.appearanceTextBox.value=e.criteriaType.Boolean[""].validationText,e.appearanceTextBox.dataset.defaultValue=e.criteriaType.Boolean[""].validationText,e.criteriaTypeContainer.appendChild(e.smartBooleanRadioYes),e.criteriaTypeContainer.appendChild(e.smartBooleanRadioNo),e.inputCriteriaRightElements.appendChild(e.criteriaTypeContainer),e.dataValidationContainer.appendChild(e.inputCriteriaRightElements),e.dataValidationModal.appendChild(e.dataValidationContainer);else{e.smartInputCriteriaType=document.createElement("smart-input"),e.smartInputCriteriaType.classList.add("smart-input-criteria-type"),e.smartInputCriteriaType.dropDownButtonPosition="right",e.smartInputCriteriaType.readonly=!0;let a=[];const n=()=>e._initConditionValueCriterias();e.smartInputCriteriaType.addEventListener("change",n),e.smartInputCriteriaType["criteria-type-change"]=n;for(let n=0;n<Object.keys(e.criteriaType).length;n++){if(Object.keys(e.criteriaType)[n]!==t)continue;let i=t,l=Object.keys(e.criteriaType[i]);for(let t=0;t<l.length;t++){let n=l[t],o=n.replace(/ /g,"_"),r=e.messages[e.locale][i+"_"+o]?e.messages[e.locale][i+"_"+o]:e.defaultMessages[e.defaultLocale][i+"_"+o];a.push({value:n,label:r})}}e.smartInputCriteriaType.dataSource=a,e.smartInputCriteriaType.value=a[0].label,e.smartInputCriteriaType.label=a[0].value,e.criteriaTypeContainer.appendChild(e.smartInputCriteriaType),e.inputCriteriaRightElements.appendChild(e.criteriaTypeContainer),e.dataValidationContainer.appendChild(e.inputCriteriaRightElements),e.dataValidationModal.appendChild(e.dataValidationContainer),e._initConditionValueCriterias()}}_initDataTypeCriterias(){const e=this;let t=document.createElement("div");t.classList.add("left-title");let a=document.createElement("div");a.classList.add("criteria-container"),a.innerHTML=e.messages[e.locale].criteriaText?e.messages[e.locale].criteriaText:e.defaultMessages[e.defaultLocale].criteriaText,t.appendChild(a),e.inputCriteriaRightElements=document.createElement("div"),e.inputCriteriaRightElements.classList.add("right-elements"),e.smartInputCriteria=document.createElement("smart-input"),e.smartInputCriteria.classList.add("smart-input-criteria"),e.smartInputCriteria.dropDownButtonPosition="right",e.smartInputCriteria.readonly=!0,e.smartInputCriterias=[];const n=()=>e._initConditionCriterias();e.smartInputCriteria.addEventListener("change",n),e.smartInputCriteria["criteria-change"]=n;for(let t=0;t<Object.keys(e.criteriaType).length;t++){let a=Object.keys(e.criteriaType)[t],n=e.messages[e.locale][a+"DataTypeText"]?e.messages[e.locale][a+"DataTypeText"]:e.defaultMessages[e.defaultLocale][a+"DataTypeText"];e.smartInputCriterias.push({value:a,label:n})}e.smartInputCriteria.dataSource=e.smartInputCriterias,e.smartInputCriteria.value=e.smartInputCriterias[0].label,e.smartInputCriteria.label=e.smartInputCriterias[0].value,e.criteriaContainer.appendChild(e.smartInputCriteria),e.inputCriteriaRightElements.appendChild(e.criteriaContainer),e.dataValidationContainer.appendChild(t),e.dataValidationContainer.appendChild(e.inputCriteriaRightElements),e.dataValidationModal.appendChild(e.dataValidationContainer),e.dataValidationModal.style.display="flex",e.dataValidationModal.style.flexDirection="column-reverse",e._initConditionCriterias()}});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
/* Smart UI v15.0.11 (2023-02-01)
|
|
3
|
+
Copyright (c) 2011-2023 jQWidgets.
|
|
4
|
+
License: https://htmlelements.com/license/ */ //
|
|
5
|
+
|
|
6
|
+
Smart.Utilities.Assign("Validator",class{constructor(t,e="",r=!1){const s=this;if(s.errors={},s.inputs={},t){if(s.rules=t,s.validationSummarySelector=e,s.validationSummarySelector)for(let t=0;t<s.rules.length;t++){const e=s.rules[t],r=document.createElement("span");r.setAttribute("input-selector",e.input),document.querySelector(s.validationSummarySelector).appendChild(r)}s.errorHintOnRight=r,s._configureInputs(),s._addEventListeners()}}attach(){this._removeEventListeners(),this._addEventListeners()}detach(){this.reset(),this._removeEventListeners()}reset(){const t=this;for(let e=0;e<t.rules.length;e++){let r=t.rules[e],s=document.querySelectorAll(r.input);for(let e=0;e<s.length;e++)t._resetAttributes(s[e],r);r.hint=""}}_resetAttributes(t,e){const r=this;t.hasAttribute("smart-validation-success")&&r._removeErrorOrSuccessAttr(t,0),t.hasAttribute("smart-validation-error")&&(r._removeErrorOrSuccessAttr(t,1),r.validationSummarySelector&&(document.querySelector("span[input-selector='"+e.input+"']").innerHTML=""))}validate(t,e){const r=this;let s,a,n=!0,i=[],o=0;for(let t=0;t<r.rules.length;t+=1){const s=r.rules[t];e&&s.input!==e||"function"==typeof r.rules[t].type&&o++}for(let l=0;l<r.rules.length;l+=1){const u=r.rules[l];if(!e||u.input===e){if("function"==typeof r.rules[l].type){const e=function(e,a){s=e;const l=document.querySelector(a.input);!1===s&&(n=!1,i.push(l)),o--,0===o&&"function"==typeof t&&t&&t(n),l.errors=r.errors[a.input]};r._validateRule(r.rules[l],e)}else s=r._validateRule(r.rules[l]);!1===s&&(n=!1,i.push(a)),a=document.querySelector(r.rules[l].input),a.errors=r.errors[u.input]}}for(let t in r.inputs){const e=r.errors["#"+t];let s=!0;for(let t in e)s=s&&!1===e[t];const a=document.querySelector("#"+t);a.classList.remove("smart-valid"),a.classList.remove("smart-invalid"),s?a.classList.add("smart-valid"):a.classList.add("smart-invalid")}return 0===o?n:void 0}_calculateErrorMsgTooltipPosition(t,e){const r=document.body.getBoundingClientRect(),s=t.getBoundingClientRect(),a=s.top-r.top;e.style.top=a+s.height+"px",e.style.left=s.left+"px",this.errorHintOnRight&&(e.style.top=a-5+"px",e.style.left=s.left+5+s.width+"px")}_addErrorAttr(t,e){const r=this;function s(e,r,s){let a=t;const n=t.querySelector(".smart-validation-error input.smart-input")||t.querySelector(".smart-validation-error textarea.smart-input");let i;n&&(a=n),i=s?()=>e.classList.remove("smart-hidden"):()=>e.classList.add("smart-hidden"),a.addEventListener(r,i),a[r+a.id]=i}if(t.setAttribute("smart-validation-error",e),t.classList.add("smart-validation-error"),("input"===t.tagName.toLowerCase()||"textarea"===t.tagName.toLowerCase())&&"button"!==t.type&&"radio"!==t.type){const e=t.nextSibling;if(e&&(void 0===e.tagName||e.tagName&&"label"!==e.tagName.toLowerCase()&&"smart-error-label-like-after-element"!==e.className)){let r=document.createElement("label");r.setAttribute("class","smart-error-label-like-after-element"),t.parentNode.insertBefore(r,e)}}const a=document.createElement("span");a.classList.add("smart-error-holder"),a.classList.add("smart-hidden"),a.classList.add(t.id),r.errorHintOnRight&&a.classList.add("smart-error-hint-position-right"),a.innerHTML=e,document.body.appendChild(a),r._calculateErrorMsgTooltipPosition(t,a),window.addEventListener("orientationchange",(function(){setTimeout((function(){r._calculateErrorMsgTooltipPosition(t,a)}),300)})),window.addEventListener("resize",(function(){r._calculateErrorMsgTooltipPosition(t,a)})),t.addEventListener("focus",(()=>{r._calculateErrorMsgTooltipPosition(t,a)}));const n=t.querySelector(".smart-validation-error input.smart-input");n?(s(a,"click",1),"radio"!==n.type&&"checkbox"!==n.type&&s(a,"focusin",1),s(a,"focusout",0)):(s(a,"click",1),"radio"!==t.type&&"checkbox"!==t.type&&s(a,"focusin",1),s(a,"focusout",0))}_addSuccessAttr(t){t.setAttribute("smart-validation-success",""),t.classList.add("smart-validation-success");const e=t.nextSibling;if(e){if(e.tagName&&"label"===e.tagName.toLowerCase()&&"smart-error-label-like-after-element"===e.className){const r=document.createElement("label");r.setAttribute("class","smart-success-label-like-after-element"),t.parentNode.insertBefore(r,e)}if("input"===t.tagName.toLowerCase()&&(e.tagName&&"label"===e.tagName.toLowerCase()&&"smart-error-label-like-after-element"===e.className&&e.remove(),void 0===e.tagName||e.tagName&&"label"!==e.tagName.toLowerCase()&&"smart-success-label-like-after-element"!==e.className)){const r=document.createElement("label");r.setAttribute("class","smart-success-label-like-after-element"),t.parentNode.insertBefore(r,e)}}}_removeErrorOrSuccessAttr(t,e){const r=t.nextSibling;if(1===e){t.removeAttribute("smart-validation-error"),t.classList.remove("smart-validation-error");const e=document.querySelector("span.smart-error-holder."+t.id);e&&e.remove(),r&&r.tagName&&"label"===r.tagName.toLowerCase()&&"smart-error-label-like-after-element"===r.className&&r.remove()}0===e&&(t.removeAttribute("smart-validation-success"),t.classList.remove("smart-validation-success"),r&&r.tagName&&"label"===r.tagName.toLowerCase()&&"smart-success-label-like-after-element"===r.className&&r.remove())}_validateRule(t,e){const r=this,s=document.querySelectorAll(t.input+":not(.smart-error-holder)");let a,n=!0;if(!s||null===s[0])return;let i=!1;if("function"==typeof t.type&&(i=t.type.call(r,s[0],t),!0===i&&e&&e(!0,t)),"function"==typeof t.type&&!1===i){if("function"==typeof t.hintRender&&!t.hint&&!r._higherPriorityActive(t)){a=t.hintRender.apply(this,[t.message,s[0]]),r._removeLowPriorityHints(t),t.hint=a;for(let e=0;e<s.length;e++)r._removeErrorOrSuccessAttr(s[e],0),r._addErrorAttr(s[e],t.message);r.validationSummarySelector&&(document.querySelector("span[input-selector='"+t.input+"']").innerHTML=t.message)}n=!1,e&&e(!1,t)}else r._hideHintByRule(t);if(s[0]&&!s[0].hasAttribute("smart-validation-error"))if(s.length>1)for(let t=0;t<s.length;t++)r._removeErrorOrSuccessAttr(s[t],1);else r._addSuccessAttr(s[0]);return r.errors[t.input]||(r.errors[t.input]={}),r.errors[t.input][t._type]=!n,n}_hideHintByRule(t){const e=this,r=document.querySelectorAll(t.input);let s;if(t){if(s=t.hint,s){for(let t=0;t<r.length;t++)r.length>1?e._removeErrorOrSuccessAttr(r[t],1):(e._removeErrorOrSuccessAttr(r[t],1),e._addSuccessAttr(r[t]));e.validationSummarySelector&&(document.querySelector("span[input-selector='"+t.input+"']").innerHTML=""),s.remove()}t.hint=null}}_removeLowPriorityHints(t){const e=this;let r,s=!1;for(let a=0;a<e.rules.length;a+=1)r=e.rules[a],s&&r.input===t.input&&e._hideHintByRule(r),r===t&&(s=!0)}_removeEventListeners(){const t=this;let e,r,s;for(let a=0;a<t.rules.length;a+=1){e=t.rules[a],s=e.action.split(","),r=document.querySelectorAll(e.input);for(let n=0;n<s.length;n+=1)for(let i=0;i<r.length;i++){let o=r[i];1===r.length&&(i="");let l=!1;t._isjQWidget(o)&&(l=!0),!l||"blur"!==s[n].trim()&&"focus"!==s[n].trim()||o&&"input"!==o.nodeName.toLowerCase()&&(o=o.querySelector("input")),o.removeEventListener(s[n].trim(),o[s[n].trim()+e.input+e.message.split(" ").join("_")+a+""+i]),delete o[s[n].trim()+e.input+e.message.split(" ").join("_")+a+""+i]}}}_addEventListeners(){const t=this;let e;for(let r=0;r<t.rules.length;r+=1){let s=t.rules[r];e=document.querySelectorAll(s.input);for(let a=0;a<e.length;a++){let n=e[a];1===e.length&&(a="");const i=s.action.split(",");let o=!1;t._isjQWidget(n)&&(o=!0);for(let e=0;e<i.length;e+=1){const l=i[e].trim();!o||"blur"!==l&&"focus"!==l||n&&"input"!==n.nodeName.toLowerCase()&&(n=n.querySelector("input"));const u=()=>t._validateRule(s);null!==n&&(n.addEventListener(l,u),n[l+s.input+s.message.split(" ").join("_")+r+""+a]=u)}}}const r={};for(let e=0;e<t.rules.length;e+=1){let s=t.rules[e],a=document.querySelector(s.input),n=Smart.Utilities.Extend(a);if(t.inputs[a.id]||(t.inputs[a.id]=[]),t.inputs[a.id].push(s),!a||r[s.input])continue;r[s.input]=!0,a.checkValidity=()=>t.validate(null,"#"+a.id);const i=e=>{if(t.errors[e]){const r={};let s=!0;for(let a in t.errors[e]){const n=!1===t.errors[e][a];s=s&&n,n||"required"!==a?n||"minLength"!==a?n||"maxLength"!==a?n||"min"!==a?n||"max"!==a?n||"pattern"!==a?n||(r[a]=!1):r.patternMismatch=!0:r.rangeOverflow=!0:r.rangeUnderflow=!0:r.tooLong=!0:r.tooShort=!0:r.valueMissing=!0}r.valid=s,a.errors=t.errors[e],a.classList.remove("smart-valid"),a.classList.remove("smart-invalid"),a.setAttribute("aria-invalid",!s),s?(a.classList.add("smart-valid"),n.fireEvent("valid")):(a.classList.add("smart-invalid"),n.fireEvent("invalid",{errors:t.errors[e],validityState:r}))}};a.addEventListener("change",(()=>{i(s.input)})),a.addEventListener("blur",(()=>{i(s.input)})),a.addEventListener("keyup",(()=>{i(s.input)}))}}_configureInputs(){const t=this;t.rules=t.rules||[];for(let e=0;e<t.rules.length;e+=1)t._handleInput(e)}_handleInput(t){const e=this,r=e.rules[t];r.message||(r.message="Validation Failed!"),r.action||(r.action="blur"),r.hintRender||(r.hintRender=()=>document.createElement("div")),r.type&&(r._type=r.type),r.type?e._handleRule(r):r.type=null}_handleRule(t){const e=this,r=t.type;let s,a=!1;if(s=e["_"+r],s?t.type=function(r){return s.apply(e,[r].concat(t))}:a=!0,a)throw new Error("Wrong parameter: "+t.type)}_required(t,e){if(t instanceof HTMLDivElement){let e=!1;const r=t.querySelectorAll("input"),s=t.querySelectorAll("smart-radio-button"),a=t.querySelectorAll("smart-check-box"),n=(t=>{let e=[];for(let r=0;r<t.length;r++){const s=t[r];""===s.value&&s.checked?e.push(!0):""===s.value&&!1===s.checked?e.push(!1):s.checked&&e.push(s.value)}return 1===e.length?e[0]:0===e.length?"":e})(s.length>0?s:a.length>0?a:r);return!1===n?e=!1:(!0===n||""!==n)&&(e=!0),e}switch(this._getType(t)){case"smart-input-inner":{let e=t.querySelector("input").value;if(e.length>0)return""!==e.trim();break}case"smart-combo-box":case"smart-drop-down-list":if(t.querySelector('input[smart-id="hiddenInput"]')){let e=t.querySelector('input[smart-id="hiddenInput"]').value;return!!e&&""!==e.trim()}return!!t.value;case"smart-masked-text-box":return t.maskFull;case"textarea":case"password":case"smart-input":case"smart-multi-input":case"smart-check-input":case"smart-numeric-text-box":case"smart-date-time-picker":case"smart-date-range-input":case"smart-multi-combo-input":case"smart-text-box-element":case"text":case"number":return!!t.value&&t.value.trim&&""!==t.value.trim();case"radio":case"smart-radio-button":{const t=document.querySelectorAll(e.input);let r=!1;if(null===t||t.length<=0)return;for(let e=0;e<t.length;e++)t[e].checked&&(r=!0);return r}case"smart-check-box":case"checkbox":return t.checked}return!1}_notNumber(t){return this._validateText(t,(function(t){return""===t||!/\d/.test(t)}))}_startWithLetter(t){return this._validateText(t,(function(t){return""===t||!/\d/.test(t.substring(0,1))}))}_numeric(t){return this._validateText(t,(function(t){if(""===t)return!0;const e=new Number(t);return!isNaN(e)&&isFinite(e)}))}_phone(t){return this._validateText(t,(function(t){return""===t||/^\(\d{3}\)(\d){3}-(\d){4}$/.test(t)}))}_stringLength(t,e){const r=this;let s=!0,a=!0;return e.min&&(s=r._minLength(t,e.min)),e.max&&(a=r._maxLength(t,e.max)),s&&a}_maxLength(t,e){return e=parseInt(e,10),this._validateText(t,(function(t){return t.length<=e}))}_minLength(t,e){return e=parseInt(e,10),this._validateText(t,(function(t){if(void 0!==t)return t.length>=e}))}_pattern(t,e){return this._validateText(t,(function(t){return""===t||e.pattern.test(t)}))}_compare(t,e){return this._validateText(t,(function(r){switch(e.comparisonType){case"!=":return r!=e.comparisonTarget(t,e);case"!==":return r!==e.comparisonTarget(t,e);case"<":return r<e.comparisonTarget(t,e);case"<=":return r<=e.comparisonTarget(t,e);case"==":return r==e.comparisonTarget(t,e);case"===":return r===e.comparisonTarget(t,e);case">":return r>e.comparisonTarget(t,e);case">=":return r>=e.comparisonTarget(t,e);default:return r==e.comparisonTarget(t,e)}}))}_custom(t,e){return e.validationCallback(t,e)}_range(t,e){return this._validateText(t,(function(t){if(""===t)return!0;let r=!0,s=!0;return"function"==typeof e.max.getMonth&&(t=new Date(t)),e.min&&(r=t>=e.min),e.max&&(s=t<=e.max),r&&s}))}_email(t){return this._validateText(t,(function(t){return""!==t&&/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(t)}))}_zipCode(t){return this._validateText(t,(function(t){return""===t||/^(^\d{5}$)|(^\d{5}-\d{4}$)|(\d{3}-\d{2}-\d{4})$/.test(t)}))}_ssn(t){return this._validateText(t,(function(t){return""===t||/\d{3}-\d{2}-\d{4}/.test(t)}))}_validateText(t,e){const r=this;let s;if(r._isTextInput(t)){if(r._isjQWidget(t)){let e=t.querySelector("input");e||(e=t.querySelector("textarea")),e&&(e=e.value,s=e.length>0?e:t.value)}else s=t.value;return e(s)}return!1}_isjQWidget(t){return t.tagName.toLowerCase().indexOf("smart")>=0||t.tagName.toLowerCase().indexOf("smart-input")>=0||t.tagName.toLowerCase().indexOf("smart-password-text-box")>=0||t.tagName.toLowerCase().indexOf("smart-complex-input")>=0||t.tagName.toLowerCase().indexOf("smart-formatted-input")>=0||t.tagName.toLowerCase().indexOf("smart-masked-text-box")>=0||t.tagName.toLowerCase().indexOf("smart-date-time-picker")>=0||t.tagName.toLowerCase().indexOf("smart-numeric-text-box")>=0||t.tagName.toLowerCase().indexOf("smart-date-input")>=0||t.tagName.toLowerCase().indexOf("smart-number-input")>=0||t.tagName.toLowerCase().indexOf("smart-check-input")>=0||t.tagName.toLowerCase().indexOf("smart-multi-input")>=0||t.tagName.toLowerCase().indexOf("smart-multi-combo-input")>=0||t.tagName.toLowerCase().indexOf("smart-check-box")>=0||t.tagName.toLowerCase().indexOf("smart-radio-button")>=0||t.tagName.toLowerCase().indexOf("smartcheckbox")>=0||t.tagName.toLowerCase().indexOf("angular")>=0}_isTextInput(t){if(!t)return;const e=this._getType(t);return"text"===e||"textarea"===e||"password"===e||"smart-input-inner"===e||"smart-numeric-text-box"===e||t.classList.contains("smart-input")||t.classList.contains("smart-date-time-range-input")||t.classList.contains("smart-multi-combo-input")||t.classList.contains("smart-multi-input")||t.classList.contains("smart-check-input")||t.classList.contains("smart-masked-text-box")||t.classList.contains("smart-multiline-text-box")||t.classList.contains("smart-text-box")||t.classList.contains("smart-date-time-picker")}_getType(t){if(!t)return;const e=t.tagName.toLowerCase();let r=e,s=t;const a=t.querySelector(".smart-input"),n=s.querySelector(".smart-input"),i=t.querySelector(".smart-text-box-element"),o=s.querySelector(".smart-text-box-element");if(e&&"input"!==e&&(s=t.querySelector("input"),s&&(r=s.tagName.toLowerCase())),"smart-password-text-box"===e||"smart-password-text-box"===r)return"password";if("smart-masked-text-box"===e||"smart-masked-text-box"===r)return"smart-masked-text-box";if("smart-check-box"===e||"smart-check-box"===r)return"smart-check-box";if("smart-radio-button"===e||"smart-radio-button"===r)return"smart-radio-button";if("smart-drop-down-list"===e||"smart-drop-down-list"===r)return"smart-drop-down-list";if("smart-numeric-text-box"===e||"smart-numeric-text-box"===r)return"smart-numeric-text-box";if("textarea"===e||"textarea"===r)return"textarea";if(a||n)return"smart-input";if(i||o)return"smart-text-box-element";if(a&&a.value&&a.value.length>0||n&&n.value&&n.value.length>0)return"smart-input-inner";if("input"===e||"input"===r){const e=s.type?s.type.toLowerCase():void 0;if(e)return e;const r=t.type?t.type.toLowerCase():void 0;return r||"text"}return e}_higherPriorityActive(t){const e=this;let r,s=!1;for(let a=e.rules.length-1;a>=0;a-=1){if(r=e.rules[a],s&&r.input===t.input&&r.hint)return!0;r===t&&(s=!0)}return!1}});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
|
|
2
|
+
/* Smart UI v15.0.11 (2023-02-01)
|
|
3
|
+
Copyright (c) 2011-2023 jQWidgets.
|
|
4
|
+
License: https://htmlelements.com/license/ */ //
|
|
5
|
+
|
|
6
|
+
Smart("smart-window",class extends Smart.ContentElement{static get properties(){return{collapsed:{value:!1,type:"boolean"},closeOnMaskClick:{value:!1,type:"boolean"},disableEscape:{value:!1,type:"boolean"},disableSnap:{value:!1,type:"boolean"},footerPosition:{value:"bottom",allowedValues:["bottom","none"],type:"string"},footerTemplate:{value:null,type:"any"},headerButtons:{value:["close","maximize","minimize"],type:"array"},headerPosition:{value:"top",allowedValues:["top","bottom","left","right","none"],type:"string"},headerTemplate:{value:null,type:"any"},disableKeyboard:{value:!1,type:"boolean"},label:{value:"",type:"string"},liveResize:{value:!1,type:"boolean"},maximized:{value:!1,type:"boolean"},modal:{value:!1,type:"boolean"},minimized:{value:!1,type:"boolean"},opened:{value:!1,type:"boolean"},pinned:{value:!1,type:"boolean"},resizeIndicator:{value:!1,type:"boolean"},resizeMode:{allowedValues:["none","horizontal","vertical","both","top","bottom","left","right"],value:"none",type:"string"},windowParent:{value:null,type:"any"}}}static get listeners(){return{"document.dragstart":"_dragStartHandler","document.focusin":"_documentFocusInEventHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler","document.wheel":"_mouseWheelHandler","document.selectstart":"_documentSelectStartHandler",down:"_downHandler",focus:"_focusHandler",blur:"_focusHandler",move:"_moveHandler",keydown:"_keyDownHandler",keyup:"_keyUpHandler"}}get hasStyleObserver(){return!1}static get styleUrls(){return["smart.button.css","smart.window.css"]}template(){return'<div role="presentation">\n <div class="smart-content-container" id="container">\n <div id="headerSection" class="smart-header-section" role="heading" aria-level="1">\n <div id="header" class="smart-header" role="presentation">[[label]]</div>\n <div id="buttonsContainer" class="smart-buttons-container" role="presentation">\n <button id="pinButton" class="smart-button smart-element smart-pin-button" aria-label="Pin"></button>\n <button id="collapseButton" class="smart-button smart-element smart-collapse-button" aria-label="Collapse"></button>\n <button id="minimizeButton" class="smart-button smart-element smart-minimize-button"aria-label="Minimize"></button>\n <button id="maximizeButton" class="smart-button smart-element smart-maximize-button" aria-label="Maximize"></button>\n <button id="closeButton" class="smart-button smart-element smart-close-button" aria-label="Close"></button>\n </div>\n </div>\n <div class="smart-content" inner-h-t-m-l="[[innerHTML]]"><content></content></div>\n <div id="footer" class="smart-footer"></div>\n </div>\n </div>'}propertyChangedHandler(e,t,a){const i=this;switch(e){case"collapsed":a?i.collapse(!0):i.expand(!0);break;case"disabled":case"unfocusable":i._setFocusable();break;case"headerTemplate":case"footerTemplate":i._applyLayoutTemplate(i.$[e.split(/[T]/)[0]],a);break;case"headerButtons":i._setHeaderButtons();break;case"headerPosition":{const e=i.minimized;i._preventEventFiring=!0,i.restore(),delete i._preventEventFiring,e&&i.minimize();break}case"label":i.$.header.innerHTML=i.label;break;case"maximized":a?i.maximize(!0):i.restore(e);break;case"modal":i._setModal(),i.setAttribute("aria-modal",a);break;case"minimized":a?i.minimize(!0):i.restore(e);break;case"opened":a?i.open(!0):i.close(!0);break;case"resizeMode":i.$.container.classList.remove("smart-window-resizing-bottom-right","smart-window-resizing-top-right","smart-window-resizing-top-left","smart-window-resizing-bottom-left","smart-window-resizing-top","smart-window-resizing-bottom","smart-window-resizing-left","smart-window-resizing-right");break;case"windowParent":i._setElementParent(a);break;default:super.propertyChangedHandler(e,t,a)}}ready(){super.ready(),this._windowParent={initialParent:this.parentElement}}render(){const e=this,t=e.animation;e.$.header.id||(e.$.header.id=e.id+"Header"),e.$.content.id||(e.$.content.id=e.id+"Content"),e.opened||(e.animation="none"),e._windowParent={initialParent:e.parentElement},e.$.addClass("smart-window"),e._createElement(),e._setElementParent(e.windowParent),e._setHeaderButtons(),e.headerTemplate&&e._applyLayoutTemplate(e.$.header,e.headerTemplate),e.footerTemplate&&e._applyLayoutTemplate(e.$.footer,e.footerTemplate),e.opened?e.open():e.close(),e.maximized&&e.maximize(!0),e.minimized&&e.minimize(!0),e.collapsed&&e.collapse(!0),e.pinned?e.pin():e.unpin(),e._setFocusable(),e.animation=t,e.setAttribute("aria-modal",e.modal),e.setAttribute("aria-labelledby",e.$.header.id),e._setupDismissTargets(),super.render()}refresh(){const e=this;e.headerTemplate&&e._applyLayoutTemplate(e.$.header,e.headerTemplate),e.footerTemplate&&e._applyLayoutTemplate(e.$.footer,e.footerTemplate),e.opened?e.open():e.close(),e.maximized&&e.maximize(!0),e.minimized&&e.minimize(!0),e.collapsed&&e.collapse(!0),e.pinned?e.pin():e.unpin()}static get requires(){return{"Smart.Button":"smart.button.js"}}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)e.removeAttribute("tabindex");else{let t=e.tabIndex>0?e.tabIndex:0;e.setAttribute("tabindex",t)}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?t.$.content.appendChild(e):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}updateLabel(e){this.label=e}updateContent(e){this.content=e}move(e,t){const a=this,i=e=>"number"==typeof e?e+"px":"string"==typeof e?e:void 0;void 0!==e&&(a.style.left=i(e)),void 0!==t&&(a.style.top=i(t))}collapse(e){const t=this;!e&&t.collapsed||(t.collapsed=!0,t.$.fireEvent("collapse"),"left"===t.headerPosition||"right"===t.headerPosition?t.style.width="":t.style.height="")}close(e){const t=this;if(e||!t.$.hasClass("smart-visibility-hidden")){if(t.isCompleted){if(t.$.fireEvent("closing").defaultPrevented)return;t.$.addClass("smart-visibility-hidden"),t.opened=!1,t.isRendered&&t.$.fireEvent("close")}else t.$.addClass("smart-visibility-hidden"),t.opened=!1;t._setModal(),t.removeAttribute("ontop")}}attached(){super.attached();const e=this;e.isRendered,e._windowParent.parent&&e._windowParent.parent!==e.getShadowRootOrBody()&&e._windowParent.parent.querySelectorAll("smart-window, smart-dialog-window, smart-progress-window, smart-wait-window, smart-alert-window, smart-prompt-window, smart-multiline-prompt-window")&&"static"===window.getComputedStyle(e._windowParent.parent).getPropertyValue("position")&&(e._windowParent.parent.style.position="relative"),e.opened&&e._modal&&e.parentElement.insertBefore(e._modal,e)}bringToFront(){const e=this;if(!e.parentElement)return;const t=e.parentElement.closest(".smart-window");if(t)return void t.bringToFront();const a=document.body.getElementsByClassName("smart-window");let i=[];for(let e=0;e<a.length;e++){const t=a[e];t.removeAttribute("ontop"),t.opened&&i.push(t)}1===i.length&&i[0]===e||e.setAttribute("ontop","")}clear(){const e=this;e.isCompleted&&"Smart-WINDOW"===e.nodeName&&(e.innerHTML=e.$.content.innerHTML="")}detached(){super.detached();const e=this;e._windowParent.parent&&!e._windowParent.parent.querySelectorAll("smart-window, smart-dialog-window, smart-progress-window, smart-wait-window, smart-alert-window, smart-prompt-window, smart-multiline-prompt-window")&&(e._windowParent.parent.style.position=""),e._modal&&e._modal.parentElement&&e._modal.parentElement.removeChild(e._modal),e._resizeDummy&&e._resizeDummy.parentElement&&e._handleWindowResizeDummy(),e._refreshMinimizedWindowsPosition()}expand(e){const t=this;(e||t.collapsed)&&(t.collapsed=!1,t.$.fireEvent("expand"),t.maximized?"left"===t.headerPosition||"right"===t.headerPosition?t.style.width=Math.max(t._windowParent.scrollElement.scrollWidth,t._windowParent.element.clientWidth)-t._windowParent.borderWidth+"px":t.style.height=Math.max(t._windowParent.scrollElement.scrollHeight,t._windowParent.element.clientHeight)-t._windowParent.borderWidth+"px":"left"===t.headerPosition||"right"===t.headerPosition?t.style.width=t.className.indexOf("smart-window-snapped-")<0&&t._dragDetails?t._dragDetails.width+"px":"":t.style.height=t.className.indexOf("smart-window-snapped-")<0&&t._dragDetails?t._dragDetails.height+"px":"")}maximize(e){const t=this;if(!e&&t.maximized)return;t.minimized&&t._restoreFromMinimization(e),t._setDragDetails("minimize"),"none"!==t.resizeMode&&t.$.container.classList.remove("smart-window-resizing-bottom-right","smart-window-resizing-top-right","smart-window-resizing-top-left","smart-window-resizing-bottom-left","smart-window-resizing-top","smart-window-resizing-bottom","smart-window-resizing-left","smart-window-resizing-right"),t._snapDummy&&t.$.hasClass("smart-window-snapped-"+t._snapDummy._position)&&t.classList.remove("smart-window-snapped-"+t._snapDummy._position),t.maximized=!0,t.$.fireEvent("maximize"),t.style.left=t.style.top=0,t.style.maxWidth=t.style.maxHeight="none";const a=t._windowParent.scrollElement.scrollHeight,i=t._windowParent.scrollElement.scrollWidth,n=t._windowParent.element.clientHeight,o=t._windowParent.element.clientWidth,s=Math.max(a,n),r=Math.max(i,o);"top"===t.headerPosition||"bottom"===t.headerPosition?(t.style.width=i>o?r-t._windowParent.borderWidth+"px":"100%",t.collapsed||(t.style.height=a>n?s-t._windowParent.borderWidth+"px":"100%")):(t.collapsed||(t.style.width=i>o?r-t._windowParent.borderWidth+"px":"100%"),t.style.height=a>n?s-t._windowParent.borderWidth+"px":"100%"),"100%"!==t.style.height&&t.addEventListener("transitionend",(function e(){if(!t.maximized||!t.hasAnimation)return;const a=t._windowParent.scrollElement.scrollHeight,i=t._windowParent.element.clientHeight,n=Math.max(a,i);("top"===t.headerPosition||"bottom"===t.headerPosition)&&t.collapsed||(t.style.height=a>i?n-t._windowParent.borderWidth+"px":"100%"),t.removeEventListener("transitionend",e)}))}minimize(e){const t=this;if(!e&&t.minimized)return;t.maximized&&(t._preventEventFiring=!0,t.restore(),delete t._preventEventFiring),t._setDragDetails(),t.minimized=!0,t.$.fireEvent("minimize"),t._snapDummy&&t.$.hasClass("smart-window-snapped-"+t._snapDummy._position)&&(t.$.removeClass("smart-window-snapped-"+t._snapDummy._position),t.style.right=t.style.top=t.style.left="");const a=t._getAllMinimizedWindows(t._windowParent.element);if(a.length>0){const e=a[a.length-1];t.style.left=(e.offsetLeft+e.offsetWidth+t._dragDetails.minWidth+10>t._windowParent.element.clientWidth?e.offsetLeft:e.offsetLeft+e.offsetWidth+5)+"px",t.style.top=e.offsetTop+"px"}else t.style.left="5px",t.style.top=t._windowParent.element.clientHeight+t._windowParent.scrollElement.scrollTop-t.$.headerSection.offsetHeight-5+"px";t.style.width="",t.style.height=t.$.headerSection.offsetHeight+"px"}_createElement(){this.setAttribute("role","dialog")}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?t.$.content.removeChild(e):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}restore(e){const t=this;if("maximized"===e||t.maximized?(t.maximized=!1,t.style.width=t.style.height=t.style.top=t.style.left=""):("minimized"===e||t.minimized)&&t._restoreFromMinimization(e),t._preventEventFiring||t.$.fireEvent("restore"),t.style.maxWidth=t.style.maxHeight="",t._dragDetails){if(t.style.left=Math.max(0,Math.min(t._dragDetails.windowX,t._windowParent.element.clientWidth-t._dragDetails.width))+"px",t.style.top=Math.max(0,Math.min(t._dragDetails.windowY,t._windowParent.scrollElement.scrollHeight-t._dragDetails.height))+"px",t.collapsed)return void("top"===t.headerPosition||"bottom"===t.headerPosition?t.style.width=t._dragDetails.width+"px":t.style.height=t._dragDetails.height+"px");t._dragDetails.resized&&(t.style.width=t._dragDetails.width+"px",t.style.height=t._dragDetails.height+"px")}}toggle(){const e=this;e.opened?e.close():e.open()}openModal(){this.modal=!0,this.open()}open(e){const t=this;if(e||t.$.hasClass("smart-visibility-hidden")){if(t.isCompleted){if(t.$.fireEvent("opening").defaultPrevented)return;t.$.removeClass("smart-visibility-hidden"),t.opened=!0,t.$.fireEvent("open")}else t.$.removeClass("smart-visibility-hidden"),t.opened=!0;t.bringToFront(),t._setModal(),t._handleActiveState(),t.hasAnimation?t.addEventListener("transitionend",a):a()}function a(e){if(!t.hasAnimation||e&&e.target===t){if(t.removeEventListener("transitionend",a),t._onOpenCallback)return void t._onOpenCallback();t.focus()}}}_setupDismissTargets(){const e=this;if(e.querySelector('[data-dismiss="modal"]')){const t=e.querySelectorAll('[data-dismiss="modal"]'),a=()=>{e.close()};for(let e=0;e<t.length;e++)t[e].removeEventListener("click",a,null),t[e].addEventListener("click",a)}}pin(){this.pinned=!0}unpin(){this.pinned=!1}_applyLayoutTemplate(e,t){const a=this;if(!t)return e.innerHTML="",void(e===a.$.header&&a.label&&(e.innerHTML=a.label));"content"in document.createElement("template")?(t instanceof HTMLTemplateElement||(t=document.getElementById(t)),null!==t&&"content"in t?(e.innerHTML="",e.appendChild(document.importNode(t.content,!0))):a.error(a.localize("invalidTemplate",{elementType:a.nodeName.toLowerCase(),property:e===a.$.footer?"footerTemplate":"headerTemplate"}))):a.error(a.localize("htmlTemplateNotSuported",{elementType:a.nodeName.toLowerCase()}))}_cancelDragging(e){const t=this;if(t._dragDetails&&t._dragDetails.started&&"drag"===t._dragDetails.type){if(!e){const a=t.getBoundingClientRect();e={pageX:a.left,pageY:a.top}}t.$.fireEvent("dragEnd",{left:e.pageX,top:e.pageY}),t.removeAttribute("dragged"),t._dragDetails.started=!1,delete t._mouseManipulation}}_documentFocusInEventHandler(e){const t=this;t._changingFocus&&(t.contains(e.target)||t.contains(e.composedPath()[0])||t.focus(),delete t._changingFocus)}_downHandler(e){const t=this;let a=Smart.Utilities.Core.isMobile?document.elementFromPoint(e.pageX-window.pageXOffset,e.pageY-window.pageYOffset):e.originalEvent.target;if((t.shadowRoot||t.isInShadowDOM)&&(a=e.originalEvent.composedPath()[0]),e.stopPropagation(),t.disabled||!Smart.Utilities.Core.isMobile&&1!==e.which)return;if(t._tabsWindow&&(t._tabsWindow._isAutoHideWindowClicked=!0),t.hasAttribute("ontop")||t.bringToFront(),a.closest&&a.closest(".smart-buttons-container")===t.$.buttonsContainer){if(t._buttonPressed=a.closest(".smart-button"),t._buttonPressed)return}else if(a.getRootNode()&&a.getRootNode().host&&(t._buttonPressed=a.getRootNode().host,t._buttonPressed.closest(".smart-buttons-container")===t.$.buttonsContainer))return;t._isWindowContentClicked=a.closest(".smart-content");let i=t.closest("smart-docking-layout");if(t.isInShadowDOM&&!i){let e=t.getRootNode().host;for(;e&&(i=e.closest("smart-docking-layout"),!i)&&e.getRootNode();)e=e.getRootNode().host}if(!(t instanceof Smart.TabsWindow&&i&&i.disabled)){if(t._handleActiveState(),!(t instanceof Smart.TabsWindow&&i))return a.closest(".smart-header-section")===t.$.headerSection&&(void 0===t._dblClickDetails&&(t._dblClickDetails={clicks:0}),clearTimeout(t._dblClickDetails.timeOut),t._dblClickDetails.clicks++,t._dblClickDetails.timeOut=setTimeout((function(){t._dblClickDetails&&(t._dblClickDetails.clicks=0)}),300),2===t._dblClickDetails.clicks)?(t._headerDblCickHandler(e),void(t._dblClickDetails.clicks=0)):void(t.maximized||(Smart.Utilities.Core.isMobile&&t._moveHandler(e),!t.pinned&&!t.minimized&&t.$.container.className.indexOf("smart-window-resizing")<0&&(a=a.closest(".smart-header-section"),a&&a===t.$.headerSection&&(t._mouseManipulation=!0,t._setDragDetails("drag",e))),"none"!==t.resizeMode&&t.$.container.className.indexOf("smart-window-resizing")>-1&&(t._mouseManipulation=!0,t._setDragDetails("resize",e))));t.$.hasClass("smart-docking-layout-auto-hide-window")&&(Smart.Utilities.Core.isMobile&&t._moveHandler(e),"none"!==t.resizeMode&&t.$.container.className.indexOf("smart-window-resizing")>-1&&(t._mouseManipulation=!0,t._setDragDetails("resize",e)))}}_documentMoveHandler(e){const t=this;!t._dragDetails||!t._dragDetails.started||t.minimized||!t._mouseManipulation||Math.abs(e.pageX-t._dragDetails.x)<=5&&Math.abs(e.pageY-t._dragDetails.y)<=5||(t.hasAttribute("dragged")||t.hasAttribute("resized")||t.$.fireEvent(t._dragDetails.type+"Start",{left:e.pageX,top:e.pageY,width:t.offsetWidth,height:t.offsetHeight}),e.stopPropagation(),"drag"!==t._dragDetails.type||t.pinned?(t._dragDetails.resized=!0,t._resize(t._dragDetails.side,e),t._dragDetails.x=Math.max(t._windowParent.offsetLeft+t._dragDetails.left,Math.min(t._windowParent.offsetLeft+t._dragDetails.left+(t._dragDetails.side.toLowerCase().indexOf("left")>-1?0:t._dragDetails.newWidth),e.pageX)),t._dragDetails.y=Math.max(t._windowParent.offsetTop+t._dragDetails.top,Math.min(t._windowParent.offsetTop+t._dragDetails.top+(t._dragDetails.side.toLowerCase().indexOf("top")>-1?0:t._dragDetails.newHeight),e.pageY))):(t.setAttribute("dragged",""),t._snapDummy&&t.$.hasClass("smart-window-snapped-"+t._snapDummy._position)&&(t.$.removeClass("smart-window-snapped-"+t._snapDummy._position),t.style.right=t.style.top=t.style.left="",t.collapsed||(t.style.height=t._dragDetails.height+"px",t.style.width=t._dragDetails.width+"px")),t._drag(e,"both"),t._dragDetails.x=Math.max(t._windowParent.offsetLeft+t._dragDetails.offsetX-t._windowParent.scrollElement.scrollLeft,Math.min(t._windowParent.offsetLeft+t._windowParent.element.offsetWidth-(t._windowParent.element.offsetWidth-t.offsetLeft)+t._dragDetails.offsetX,e.pageX)),t._dragDetails.y=Math.max(t._windowParent.offsetTop+t._dragDetails.offsetY-t._windowParent.scrollElement.scrollTop,Math.min(t._windowParent.offsetTop+t._windowParent.element.offsetHeight-(t._windowParent.element.offsetHeight-t.offsetTop)+t._dragDetails.offsetY,e.pageY)),e.pageX>=t._windowParent.offsetLeft+t._windowParent.scrollElement.scrollWidth-1?t._handleSnapping("right"):e.pageY<=t._windowParent.offsetTop?t._handleSnapping("top"):e.pageX<=t._windowParent.offsetLeft?t._handleSnapping("left"):t._handleSnapping()))}_documentUpHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if(t.disabled)return t.removeAttribute("active"),delete t._buttonPressed,void delete t._isWindowContentClicked;if(t._dragDetails&&t._dragDetails.started&&(t.hasAttribute("resized")&&(t.$.fireEvent(t._dragDetails.type+"End",{left:e.pageX,top:e.pageY,width:t._dragDetails.newWidth,height:t._dragDetails.newHeight}),t.removeAttribute("resized"),t._handleWindowResizeDummy(),t.$.container.classList.remove("smart-window-resizing-bottom-right","smart-window-resizing-top-right","smart-window-resizing-top-left","smart-window-resizing-bottom-left","smart-window-resizing-top","smart-window-resizing-bottom","smart-window-resizing-left","smart-window-resizing-right")),setTimeout((function(){t.$.removeClass("no-transition")}),20),t.hasAttribute("dragged")&&(t.$.fireEvent(t._dragDetails.type+"End",{left:e.pageX,top:e.pageY}),t.removeAttribute("dragged")),t._dragDetails.started=!1,delete t._mouseManipulation),t._snapDummy&&!t._snapDummy.classList.contains("smart-visibility-hidden")){switch(t._snapDummy._position){case"left":case"top":t.style.left=t.style.top="0",t.style.right="auto";break;case"right":t.style.left="auto",t.style.top=t.style.right="0"}t.style.width="top"===t._snapDummy._position?"100%":"50%",t.style.height="100%",t.$.addClass("smart-window-snapped-"+t._snapDummy._position),t._handleSnapping()}t._modal&&a===t._modal&&!t._isWindowContentClicked&&(t.closeOnMaskClick?t.close():t.focus()),t._isWindowButton(a)&&t.focus(),delete t._isWindowContentClicked,delete t._buttonPressed;const i=t.shadowRoot&&t._windowParent.element&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;if(!t.hasAttribute("active")||i===t)return;if(!a.closest)return;let n=a.closest(".smart-window");for(;n&&n!==t;)n=n.parentElement,n&&(n=n.closest(".smart-window"));t.opened&&n!==t&&t.removeAttribute("active")}_documentSelectStartHandler(e){this._dragDetails&&this._dragDetails.started&&e.preventDefault()}_drag(e,t){const a=this;if(!e||a.pinned||a.maximized)return;let i,n;a._dragDetails&&a._dragDetails.started||a._setDragDetails("drag",e),a.$.addClass("no-transition"),"object"==typeof e?(i=e.pageX-a._dragDetails.x,n=e.pageY-a._dragDetails.y):i=n=e;const o=Math.max(a._windowParent.element.clientHeight,a._windowParent.scrollElement.scrollHeight),s=Math.max(a._windowParent.element.clientWidth,a._windowParent.scrollElement.scrollWidth);switch(t){case"horizontal":a._dragDetails.windowX=Math.max(0,Math.min(a._dragDetails.windowX+i,s-a.offsetWidth)),a.style.left=a._dragDetails.windowX+"px";break;case"vertical":a._dragDetails.windowY=Math.max(0,Math.min(a._dragDetails.windowY+n,o-a.offsetHeight)),a.style.top=a._dragDetails.windowY+"px";break;case"both":a._dragDetails.windowX=Math.max(0,Math.min(a._dragDetails.windowX+i,s-a.offsetWidth)),a._dragDetails.windowY=Math.max(0,Math.min(a._dragDetails.windowY+n,o-a.offsetHeight)),a.style.left=a._dragDetails.windowX+"px",a.style.top=a._dragDetails.windowY+"px"}a._dragDetails.top=a.offsetTop,a._dragDetails.left=a.offsetLeft}_dragStartHandler(e){this._dragDetails&&this._dragDetails.started&&e.preventDefault()}_focusHandler(e){const t=this;"focus"===e.type?(t.setAttribute("focus",""),t.bringToFront()):t._buttonPressed||(t.removeAttribute("focus"),t._dragDetails&&t._dragDetails.started&&t._handleWindowResizeDummy())}_getAllMinimizedWindows(e){const t=this;let a=[];e||(e=t._windowParent.element);const i=e.querySelectorAll("smart-window");for(let e=0;e<i.length;e++)i[e]!==t&&i[e].hasAttribute("minimized")&&a.push(i[e]);return a.sort((function(e,t){let a=e.getBoundingClientRect(),i=t.getBoundingClientRect();return a.right-i.right})),a}_handleSnapping(e){const t=this;e?t.disableSnap||t.collapsed||(t._snapDummy||(t._snapDummy=document.createElement("div"),t._snapDummy.addEventListener("transitionend",(function(){t._snapDummy.classList.contains("smart-visibility-hidden")&&t._snapDummy.parentElement&&t._snapDummy.parentElement.removeChild(t._snapDummy)}))),t._snapDummy.className="smart-window-snap-"+e+"-feedback",t._snapDummy._position=e,t._snapDummy.parentElement||t._windowParent.element.appendChild(t._snapDummy)):t._snapDummy&&t._snapDummy.parentElement&&t._snapDummy.classList.add("smart-visibility-hidden")}_headerDblCickHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;a!==t.$.headerSection&&a!==t.$.header||t.$.maximizeButton&&0===t.$.maximizeButton.offsetHeight||(t.maximized?t.restore():t.maximize())}_isWindowButton(e){const t=this;for(;e&&(e.closest&&e.closest(".smart-buttons-container"))!==t.$.buttonsContainer;)e=e.getRootNode().host;if(!e)return;const a=/smart-(\w+[-]*\w*)-button/gi;if((e=e.closest(".smart-button"))&&e===t._buttonPressed)switch(e){case t.$.closeButton:return t.close(),!0;case t.$.collapseButton:return t.collapsed?t.expand():t.collapse(),!0;case t.$.maximizeButton:return t.maximized?t.restore():t.maximize(),!0;case t.$.minimizeButton:return t.minimized?t.restore():t.minimize(),!0;case t.$.pinButton:return t.pinned?t.unpin():t.pin(),!0;default:if(!a.test(e.className))return;return t.$.fireEvent(Smart.Utilities.Core.toCamelCase(e.className.match(a).toString().replace("smart-","").replace("-button","")),{button:e}),!0}}_keyDownHandler(e){const t=this;if(delete t._changingFocus,t.disabled||(t.hasAttribute("dragged")||t.hasAttribute("resized"))&&t._mouseManipulation)return;const a="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,i=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;if(!t.disableKeyboard)switch(e.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":{if(t.minimized||i!==t)return;let n=e.key.indexOf("Right")>-1||e.key.indexOf("Left")>-1;e.preventDefault();const o=(t.isInShadowDOM?t.getRootNode().host:t).closest("smart-docking-layout");if(!n&&e.altKey&&!(t instanceof Smart.TabsWindow&&o))return void("ArrowUp"===e.key?t.maximize():t.restore());if(t.maximized)return;if(t.$.addClass("no-transition"),e.ctrlKey&&"none"!==t.resizeMode&&!t.collapsed)return n=-1===["horizontal","vertical","both"].indexOf(t.resizeMode)?t.resizeMode:n?"right":"bottom",t.hasAttribute("dragged")&&t._cancelDragging(e),t.hasAttribute("resized")||t.$.fireEvent("resizeStart",{position:{x:e.pageX,y:e.pageY}}),void t._resize(n,a);t.pinned||(t.hasAttribute("dragged")||(t.setAttribute("dragged",""),t.$.fireEvent("dragStart",{left:e.pageX,top:e.pageY})),t._drag(a,n?"horizontal":"vertical")),t.$.removeClass("no-transition");break}case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"p":e.altKey&&t.headerButtons.indexOf("pin")>-1&&(t.pinned?t.unpin():t.pin());break;case"c":e.altKey&&t.headerButtons.indexOf("collapse")>-1&&(t.collapsed?t.expand():t.collapse());break;case"m":e.altKey&&t.headerButtons.indexOf("minimize")>-1&&(t.minimized?t.restore():t.minimize());break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".smart-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}}_keyUpHandler(e){const t=this;if(e.key&&!t.disableKeyboard){if("Control"===e.key&&t._dragDetails&&t.hasAttribute("resized")&&!t._mouseManipulation){if(!t._dragDetails.started)return;"drag"!==t._dragDetails.type&&(t.removeAttribute("resized"),t.$.fireEvent("resizeEnd",{left:e.pageX,top:e.pageY,width:t._dragDetails.newWidth,height:t._dragDetails.newHeight}),t._handleWindowResizeDummy()),t._dragDetails.started=!1}e.key.indexOf("Arrow")>-1&&t.hasAttribute("dragged")&&!t._mouseManipulation&&t._cancelDragging(e)}}_mouseWheelHandler(e){const t=this;!t.disabled&&t._dragDetails&&t._dragDetails.started&&(e.deltaY<0&&t._windowParent.scrollElement.scrollTop+e.deltaY<=0?t.style.top=Math.max(0,t._dragDetails.windowY)+"px":e.deltaY>0&&(t._dragDetails.windowY+t.offsetHeight+e.deltaY>=t._windowParent.scrollElement.scrollHeight||t._windowParent.scrollElement.scrollTop+t._windowParent.element.clientHeight===t._windowParent.scrollElement.scrollHeight)||("drag"===t._dragDetails.type?(t._dragDetails.windowY+=e.deltaY,t.style.top=t._dragDetails.windowY+"px"):(t._dragDetails.height+=e.deltaY,t.style.height=t._dragDetails.height+"px")))}_moveHandler(e){const t=this;if(!(t.disabled||t.collapsed||t.maximized||t.minimized||(Smart.Utilities.Core.isMobile&&navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)&&t.hasAttribute("dragged")&&e.originalEvent.preventDefault(),t._mouseManipulation||(t.$.container.className.indexOf("smart-window-resizing")>-1&&t.$.container.classList.remove("smart-window-resizing-bottom-right","smart-window-resizing-top-right","smart-window-resizing-top-left","smart-window-resizing-bottom-left","smart-window-resizing-top","smart-window-resizing-bottom","smart-window-resizing-left","smart-window-resizing-right"),"none"===t.resizeMode)))){const a=t.getBoundingClientRect(),i=e.clientY<a.top+10,n=e.clientY>a.bottom-10,o=e.clientX>a.right-10,s=e.clientX<a.left+10;switch(t.resizeMode){case"none":break;case"both":if(t.resizeIndicator)return void(n&&o&&t.$.container.classList.add("smart-window-resizing-bottom-right"));if(s||o)return i?void t.$.container.classList.add("smart-window-resizing-top-"+(s?"left":"right")):n?void t.$.container.classList.add("smart-window-resizing-bottom-"+(s?"left":"right")):void t.$.container.classList.add("smart-window-resizing-"+(s?"left":"right"));if(i||n){if(o)return void t.$.container.classList.add("smart-window-resizing-"+(i?"top-right":"bottom-right"));if(s)return void t.$.container.classList.add("smart-window-resizing-"+(i?"top-left":"bottom-left"));t.$.container.classList.add("smart-window-resizing-"+(i?"top":"bottom"))}break;case"horizontal":if(t.resizeIndicator)return void(n&&o&&t.$.container.classList.add("smart-window-resizing-right"));if(s)return void t.$.container.classList.add("smart-window-resizing-left");o&&t.$.container.classList.add("smart-window-resizing-right");break;case"vertical":if(t.resizeIndicator)return void(n&&o&&t.$.container.classList.add("smart-window-resizing-bottom"));if(i)return void t.$.container.classList.add("smart-window-resizing-top");n&&t.$.container.classList.add("smart-window-resizing-bottom");break;case"top":if(i){if(t.resizeIndicator&&!s)return;t.$.container.classList.add("smart-window-resizing-top")}break;case"bottom":if(n){if(t.resizeIndicator&&!o)return;t.$.container.classList.add("smart-window-resizing-bottom")}break;case"left":if(s){if(t.resizeIndicator&&!i)return;t.$.container.classList.add("smart-window-resizing-left")}break;case"right":if(o){if(t.resizeIndicator&&!n)return;t.$.container.classList.add("smart-window-resizing-right")}}}}_handleActiveState(){const e=this,t=document.querySelectorAll(".smart-window");for(let a=0;a<t.length;a++)t[a].contains(e)||e.contains(t[a])||(t[a].removeAttribute("active"),t[a].removeAttribute("focus"));e.setAttribute("active","")}_handleWindowResizeDummy(){const e=this;if(e._resizeDummy||(e._resizeDummy=document.createElement("div"),e._resizeDummy.classList.add("smart-window-resize-feedback")),!e.hasAttribute("resized"))return e._resizeDummy&&e._resizeDummy.remove(),void(!e.liveResize&&"resize"===e._dragDetails.type&&e._dragDetails.started&&(e.style.top=e._dragDetails.top+"px",e.style.left=e._dragDetails.left+"px",e.style.width=e._dragDetails.newWidth+"px",e.style.height=e._dragDetails.newHeight+"px"));e._resizeDummy.parentElement||e._resizeDummy.getRootNode().host||(e._resizeDummy.style.width=e.offsetWidth+"px",e._resizeDummy.style.height=e.offsetHeight+"px",e._resizeDummy.style.top=e.offsetTop+"px",e._resizeDummy.style.left=e.offsetLeft+"px",e._windowParent.element.appendChild(e._resizeDummy))}_resize(e,t){const a=this;let i;if((!a._dragDetails||a._dragDetails&&"drag"===a._dragDetails.type)&&a._setDragDetails("resize"),!a._dragDetails)return;a._dragDetails.started=!0,a.hasAttribute("resized")||(a.setAttribute("resized",""),a.hasAnimation&&a.$.addClass("no-transition")),a.liveResize||a._handleWindowResizeDummy();const n=a._snapDummy&&a.$.hasClass("smart-window-snapped-"+a._snapDummy._position)?"snapWindowWidth":"width";switch(e){case"left":i="object"==typeof t?t.pageX-a._dragDetails.x:t,i=i>0?Math.min(i,a._dragDetails[n]-a._dragDetails.minWidth):-1*Math.min(a._dragDetails.maxWidth?a._dragDetails.maxWidth-a._dragDetails[n]:a._dragDetails.left,Math.abs(i)),a._dragDetails[n]=Math.min(a._dragDetails[n]+a._dragDetails.left-a._windowParent.scrollElement.scrollLeft,a._dragDetails[n]-i),a._dragDetails.windowX=Math.max(a._windowParent.scrollElement.scrollLeft,a._dragDetails.windowX+i),"object"!=typeof t&&(a._dragDetails[n]=Math.max(a._dragDetails[n],a._dragDetails.minWidth)),a._dragDetails[n]>=a._dragDetails.minWidth&&(a._dragDetails.left=a._dragDetails.windowX,a._dragDetails.newWidth=a._dragDetails[n]);break;case"right":{const e=a._windowParent.element.clientWidth!==a._windowParent.element.offsetWidth?a._windowParent.borderWidth:0,n=a._snapDummy&&a.$.hasClass("smart-window-snapped-"+a._snapDummy._position)?"snapWindowWidth":"width";i="object"==typeof t?t.pageX-a._dragDetails.x:t,i>0&&a._dragDetails.maxWidth&&(i=Math.min(a._dragDetails.maxWidth-a._dragDetails[n],i)),a._dragDetails[n]=Math.min(a._windowParent.element.clientWidth+a._windowParent.scrollElement.scrollLeft-a._dragDetails.left-e,Math.max(0,a._dragDetails[n]+i)),"object"!=typeof t&&(a._dragDetails[n]=Math.max(a._dragDetails[n],a._dragDetails.minWidth)),a._dragDetails.left=a.offsetLeft,a._dragDetails.newWidth=Math.max(a._dragDetails.minWidth,a._dragDetails[n]);break}case"top":a._snapDummy&&a.$.hasClass("smart-window-snapped-"+a._snapDummy._position)&&(a._dragDetails.height=a._dragDetails.snapWindowHeight),i="object"==typeof t?t.pageY-a._dragDetails.y:t,i=i>0?Math.min(i,a._dragDetails.height-a._dragDetails.minHeight):-1*Math.min(a._dragDetails.maxHeight?a._dragDetails.maxHeight-a._dragDetails.height:a._dragDetails.top,Math.abs(i)),a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.min(a._dragDetails.height+a._dragDetails.top-a._windowParent.scrollElement.scrollTop,a._dragDetails.height-i),a._dragDetails.windowY=Math.max(a._windowParent.scrollElement.scrollTop,a._dragDetails.windowY+i),"object"!=typeof t&&(a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.max(a._dragDetails.height,a._dragDetails.minHeight)),a._dragDetails.height>=a._dragDetails.minHeight&&(a._dragDetails.top=a._dragDetails.windowY,a._dragDetails.newHeight=a._dragDetails.height),a._dragDetails.newWidth=Math.max(a._dragDetails[n],a._dragDetails.newWidth);break;case"bottom":a._snapDummy&&a.$.hasClass("smart-window-snapped-"+a._snapDummy._position)&&(a._dragDetails.height=a._dragDetails.snapWindowHeight),i="object"==typeof t?t.pageY-a._dragDetails.y:t,i>0&&a._dragDetails.maxHeight&&(i=Math.min(a._dragDetails.maxHeight-a._dragDetails.height,i)),a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.min(a._windowParent.element.clientHeight+a._windowParent.scrollElement.scrollTop-a._dragDetails.top-a._windowParent.borderWidth,Math.max(0,a._dragDetails.height+i)),"object"!=typeof t&&(a._dragDetails.snapWindowHeight=a._dragDetails.height=Math.max(a._dragDetails.height,a._dragDetails.minHeight)),a._dragDetails.newHeight=Math.max(a._dragDetails.minHeight,a._dragDetails.height),a._dragDetails.newWidth=Math.max(a._dragDetails[n],a._dragDetails.newWidth);break;case"bottomLeftCorner":a._resize("bottom",t),a._resize("left",t);break;case"bottomRightCorner":a._resize("bottom",t),a._resize("right",t);break;case"topLeftCorner":a._resize("top",t),a._resize("left",t);break;case"topRightCorner":a._resize("top",t),a._resize("right",t)}const o=a.liveResize?a:a._resizeDummy;a._dragDetails.newHeight=Math.max(a._dragDetails.snapWindowHeight,a._dragDetails.newHeight),o.style.top=a._dragDetails.top+"px",o.style.left=a._dragDetails.left+"px",o.style.width=a._dragDetails.newWidth+"px",o.style.height=a._dragDetails.newHeight+"px"}_restoreFromMinimization(){const e=this;e.minimized=!1,e.style.width=e.style.height=e.style.top=e.style.left="",e._refreshMinimizedWindowsPosition()}_refreshMinimizedWindowsPosition(){const e=this,t=e._getAllMinimizedWindows();if(0===t.length)return;let a;t[0].style.left="5px";for(let i=1;i<t.length;i++)parseFloat(t[i-1].style.left)+t[i-1].offsetWidth+t[i].offsetWidth+10<e._windowParent.element.clientWidth?(t[i].style.left=parseFloat(t[i-1].style.left)+t[i-1].offsetWidth+5+"px",t[i].style.top=t[i-1].offsetTop+"px",a=t[i]):(t[i].style.left=parseFloat(a.style.left)+"px",t[i].style.top=a.offsetTop+"px")}_setHeaderButtons(){const e=this,t=e.headerButtons,a=e.$.buttonsContainer.children,i=function(t){const a=e.$.buttonsContainer.getElementsByClassName("smart-"+(t+"").split(/(?=[A-Z])/).join("-").toLowerCase()+"-button")[0];return a&&a.classList.remove("smart-hidden"),a};for(let e=0;e<a.length;e++)a[e].classList.add("smart-hidden");if(t.length>0)for(let a=0;a<t.length;a++){let n=i(t[a]);if(!n){const e=(t[a]+"").split(/(?=[A-Z])/);n=document.createElement("button"),n.setAttribute("aria-label",e.map((e=>e.slice(0,1).toUpperCase()+e.slice(1))).join(" ")),n.classList.add("smart-"+e.join("-").toLowerCase()+"-button","smart-button","smart-element")}e.$.buttonsContainer.insertBefore(n,e.$.buttonsContainer.firstElementChild)}}_setDragDetails(e,t){const a=this;if(a._dragDetails||(a._dragDetails={}),void 0===a._dragDetails.minWidth||void 0===a._dragDetails.minHeight||void 0===a._dragDetails.maxWidth||void 0===a._dragDetails.maxHeight){const e=getComputedStyle(a);a._dragDetails.minWidth=parseFloat(e.getPropertyValue("min-width"))||0,a._dragDetails.minHeight=parseFloat(e.getPropertyValue("min-height"))||0,a._dragDetails.maxWidth=parseFloat(e.getPropertyValue("max-width"))||0,a._dragDetails.maxHeight=parseFloat(e.getPropertyValue("max-height"))||0}a._dragDetails.windowX=a.offsetLeft,a._dragDetails.windowY=a.offsetTop;const i=a.getBoundingClientRect();if(a._snapDummy&&a.$.hasClass("smart-window-snapped-"+a._snapDummy._position))"right"===a.headerPosition&&a.collapsed&&(a._dragDetails.offsetX=i.left+a.offsetWidth-t.clientX);else{const n=a.parentElement===document.body?document.documentElement.getBoundingClientRect():a.parentElement?a.parentElement.getBoundingClientRect():document.documentElement.getBoundingClientRect(),o=window.scrollX||window.pageXOffset,s=window.scrollY||window.pageYOffset;a._windowParent.offsetLeft=n.left+o,a._windowParent.offsetTop=n.top+s,t&&"object"==typeof t&&(a._dragDetails.offsetX=t.clientX-i.left,a._dragDetails.offsetY=t.clientY-i.top),a.collapsed||(a.hasAnimation&&"minimize"===e?(a._dragDetails.width=a._dragDetails.width?a._dragDetails.width:a.offsetWidth,a._dragDetails.height=a._dragDetails.height?a._dragDetails.height:a.offsetHeight):(a._dragDetails.width=a.offsetWidth,a._dragDetails.height=a.offsetHeight),(a.style.width||a.style.height)&&(a._dragDetails.resized=!0))}if("minimize"!==e&&e&&(a._dragDetails.type=e,a._dragDetails.started=!0,a._dragDetails.snapWindowWidth=a.offsetWidth,a._dragDetails.snapWindowHeight=a.offsetHeight,t&&"object"==typeof t?(a._dragDetails.x=t.pageX,a._dragDetails.y=t.pageY):(a._dragDetails.x=a.offsetLeft,a._dragDetails.y=a.offsetTop),"resize"===e)){if("none"===a.resizeMode)return void delete a._dragDetails;a._dragDetails.top=a.offsetTop,a._dragDetails.left=a.offsetLeft,a._dragDetails.newWidth=a._dragDetails.width,a._dragDetails.newHeight=a._dragDetails.height,a.$container.hasClass("smart-window-resizing-right")?a._dragDetails.side="right":a.$container.hasClass("smart-window-resizing-left")?a._dragDetails.side="left":a.$container.hasClass("smart-window-resizing-top")?a._dragDetails.side="top":a.$container.hasClass("smart-window-resizing-bottom")?a._dragDetails.side="bottom":a.$container.hasClass("smart-window-resizing-top-left")?a._dragDetails.side="topLeftCorner":a.$container.hasClass("smart-window-resizing-bottom-left")?a._dragDetails.side="bottomLeftCorner":a.$container.hasClass("smart-window-resizing-top-right")?a._dragDetails.side="topRightCorner":a.$container.hasClass("smart-window-resizing-bottom-right")&&(a._dragDetails.side="bottomRightCorner")}}_setElementParent(e){const t=this;if(t._windowParent.element=void 0,t._windowParent.parent&&!t._windowParent.parent.querySelectorAll("smart-window, smart-dialog-window, smart-progress-window, smart-wait-window, smart-alert-window, smart-prompt-window, smart-multiline-prompt-window")&&(t._windowParent.parent.style.position=""),e instanceof HTMLElement)t._windowParent.element=e;else if("string"==typeof e)if("body"===e){const e=t.getRootNode();t._windowParent.element=e&&e.host?t.getShadowRootOrBody():document.body}else t._windowParent.element=document.getElementById(e);if(t._windowParent.element||(t._windowParent.initialParent?t._windowParent.element=t._windowParent.initialParent.parentElement?t._windowParent.initialParent:t.getShadowRootOrBody():t._windowParent.element=t.getShadowRootOrBody()),t.parentElement!==t._windowParent.element&&t._windowParent.element.appendChild(t),t._windowParent.element===document.body)t._windowParent.element=document.documentElement,t._windowParent.scrollElement=document.scrollingElement,t._windowParent.parent=document.body,t._windowParent.borderWidth=0;else{if(t.parentElement instanceof Smart.Window&&!t.parentElement.isCompleted)return void t.parentElement.whenRendered((function(){t.parentElement.appendChild(t),t._setElementParent(t.windowParent)}));t._windowParent.element instanceof Smart.Window&&(t._windowParent.element=t._windowParent.element.$.content);const e=getComputedStyle(t.parentElement),a=e.getPropertyValue("position");t._windowParent.borderWidth=2*parseInt(e.getPropertyValue("border-width")||0),t._windowParent.parent=t.parentElement,t._windowParent.scrollElement=t._windowParent.element,"static"===a&&(t.parentElement.style.position="relative")}t._setModal(),t.style.left&&t.offsetLeft>t._windowParent.scrollElement.scrollWidth&&(t.style.left=t._windowParent.scrollElement.scrollWidth-t.offsetWidth+"px"),t.style.top&&t.offsetTop>t._windowParent.scrollElement.scrollHeight&&(t.style.top=t._windowParent.scrollElement.scrollHeight-t.offsetHeight+"px")}_setModal(){const e=this;if(delete e._changingFocus,e._windowParent.element)if(e.modal)if(e._modal||(e._modal=document.createElement("div"),e._modal.classList.add("smart-modal")),e._windowParent.parent!==document.body?e._modal.setAttribute("nested-modal",""):e._modal.removeAttribute("nested-modal"),e._modal._window=e,e.opened&&!e._modal.parentElement){const t=parseInt(getComputedStyle(e).getPropertyValue("z-index"));isNaN(t)||(e._modal.style.zIndex=t-1),e.parentElement.insertBefore(e._modal,e)}else e._modal.parentElement&&e._modal.parentElement.removeChild(e._modal);else e._modal&&e._modal.parentElement&&(e._modal.parentElement.removeChild(e._modal),delete e._modal)}}),Smart("smart-dialog-window",class extends Smart.Window{static get properties(){return{cancelLabel:{value:"Cancel",type:"string"},confirmLabel:{value:"Ok",type:"string"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},headerButtons:{value:["close"],type:"array"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0}}}static get listeners(){return{"footer.click":"_footerClickHandler"}}template(){return'<div role="presentation">\n <div class="smart-content-container" id="container">\n <div id="headerSection" class="smart-header-section" role="heading" aria-level="1">\n <div id="header" class="smart-header">[[label]]</div>\n <div id="buttonsContainer" class="smart-buttons-container">\n <button id="pinButton" class="smart-pin-button" aria-label="Pin"></button>\n <button id="collapseButton" class="smart-button smart-element smart-collapse-button" aria-label="Collapse"></button>\n <button id="minimizeButton" class="smart-button smart-element smart-minimize-button" aria-label="Minimize"></button>\n <button id="maximizeButton" class="smart-button smart-element smart-maximize-button" aria-label="Maximize"></button>\n <button id="closeButton" class="smart-button smart-element smart-close-button" aria-label="Close"></button>\n </div>\n </div>\n <div class="smart-content">\n <content></content>\n </div>\n <div id="footer" class="smart-footer">\n <button id="confirmButton" class="smart-button smart-element smart-confirm-button">[[confirmLabel]]</button>\n <button id="cancelButton" class="smart-button smart-element smart-cancel-button">[[cancelLabel]]</button>\n </div>\n </div>\n </div>'}_createElement(){const e=this;e.setAttribute("role","alertdialog"),e.setAttribute("aria-describedby",e.$.content.id)}_footerClickHandler(e){const t=this,a=e.target;a.closest(".smart-confirm-button")?t.$.fireEvent("confirm"):a.closest(".smart-cancel-button")&&t.$.fireEvent("cancel")}_keyDownHandler(e){const t=this;if(delete t._changingFocus,t.disabled||(t.hasAttribute("dragged")||t.hasAttribute("resized"))&&t._mouseManipulation)return;if(t.disableKeyboard)return;e.stopPropagation();const a="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,i=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;switch(e.key){case"ArrowUp":case"ArrowDown":case"ArrowLeft":case"ArrowRight":{if(t.minimized||i!==t)return;const n=e.key.indexOf("Right")>-1||e.key.indexOf("Left")>-1;if(e.preventDefault(),!n&&e.altKey)return void("ArrowUp"===e.key?t.maximize():t.restore());if(t.$.addClass("no-transition"),t.maximized)return;if(e.ctrlKey&&"none"!==t.resizeMode)return t.hasAttribute("dragged")&&t._cancelDragging(e),t.hasAttribute("resized")||t.$.fireEvent("resizeStart",{position:{x:e.pageX,y:e.pageY}}),void t._resize(n?"right":"bottom",a);t.pinned||(t.hasAttribute("dragged")||(t.setAttribute("dragged",""),t.$.fireEvent("dragStart",{left:e.pageX,top:e.pageY})),t._drag(a,n?"horizontal":"vertical")),t.$.removeClass("no-transition");break}case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".smart-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}}}),Smart("smart-alert-window",class extends Smart.DialogWindow{static get properties(){return{headerButtons:{value:[],type:"array"}}}_createElement(){const e=this;e.setAttribute("role","alertdialog"),e.setAttribute("aria-describedby",e.$.content.id)}}),Smart("smart-prompt-window",class extends Smart.DialogWindow{static get properties(){return{autoComplete:{allowedValues:["none","manual","auto","inline"],type:"string",value:"manual"},confirmLabel:{value:"Ok",type:"string"},cancelLabel:{value:"Cancel",type:"string"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},displayMode:{value:"default",allowedValues:["default","escaped"],type:"string"},headerButtons:{value:["close"],type:"array"},form:{value:"",type:"string"},hint:{value:null,type:"any?"},maxLength:{value:null,type:"number?"},minLength:{value:2,type:"number"},messages:{extend:!0,value:{en:{missingReference:"{{elementType}}: Missing reference to {{files}}."}},type:"object"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},name:{value:"",type:"string"},placeholder:{value:"",type:"string"},promptLabel:{value:"",type:"string?"},required:{value:!1,type:"boolean"},requiredMessage:{value:"",type:"string"},selectAllOnFocus:{value:!1,type:"boolean"},value:{value:"",type:"string"}}}template(){return'<div role="presentation">\n <div class="smart-content-container" id="container">\n <div id="headerSection" class="smart-header-section" role="heading" aria-level="1">\n <div id="header" class="smart-header">[[label]]</div>\n <div id="buttonsContainer" class="smart-buttons-container">\n <button id="closeButton" class="smart-button smart-element smart-close-button" aria-label="Close"></button>\n </div>\n </div>\n <div class="smart-content">\n <content></content>\n <smart-text-box id="textBox"\n animation="[[animation]]"\n auto-complete="[[autoComplete]]"\n max-length="[[maxLength]]"\n value="{{value}}"\n form="[[form]]"\n label="[[promptLabel]]"\n hint="[[hint]]"\n display-mode="[[displayMode]]"\n max-length="[[maxLength]]"\n placeholder="[[placeholder]]"\n required="[[required]]"\n required-message="[[requiredMessage]]"\n select-all-on-focus="[[selectAllOnFocus]]"\n theme="[[theme]]"\n right-to-left="[[rightToLeft]]">\n </smart-text-box>\n </div>\n <div id="footer" class="smart-footer">\n <button id="confirmButton" class="smart-button smart-element smart-confirm-button flat">[[confirmLabel]]</button>\n <button id="cancelButton" class="smart-button smart-element smart-cancel-button flat">[[cancelLabel]]</button>\n </div>\n </div>\n </div>'}static get listeners(){return{"footer.click":"_footerClickHandler"}}static get requires(){return{"Smart.TextBox":"smart.textbox.js"}}_footerClickHandler(e){const t=this,a=e.target;a.closest(".smart-confirm-button")?t.$.fireEvent("confirm",{value:t.$.textBox.value}):a.closest(".smart-cancel-button")&&t.$.fireEvent("cancel",{value:t.$.textBox.value})}_keyDownHandler(e){const t=this;function a(){t._dragDetails&&(t._dragDetails.started=!1),t.$.removeClass("no-transition")}if(delete t._changingFocus,t.disabled||t._dragDetails&&t._dragDetails.started)return;if(t.disableKeyboard)return;e.stopPropagation();const i="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,n=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;switch(t.$.removeClass("no-transition"),e.key){case"ArrowUp":case"ArrowDown":if(n!==t)return;if(e.preventDefault(),e.altKey)return"ArrowUp"===e.key?t.maximize():t.restore(),void a();if(t.$.addClass("no-transition"),e.ctrlKey)return t._resize("bottom",i),void a();t._drag(i,"vertical");break;case"ArrowLeft":case"ArrowRight":if(n!==t)return;if(e.preventDefault(),t.$.addClass("no-transition"),e.ctrlKey)return t._resize("right",i),void a();t._drag(i,"horizontal"),t.$.removeClass("no-transition");break;case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".smart-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}a()}}),Smart("smart-multiline-prompt-window",class extends Smart.PromptWindow{static get properties(){return{autoCapitalize:{value:"none",allowedValues:["none","words","characters"],type:"string"},autoExpand:{value:!1,type:"boolean"},headerButtons:{value:["close"],type:"array"},horizontalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},selectionDirection:{value:"none",allowedValues:["forward","backward","none"],type:"string"},selectionEnd:{value:0,reflectToAttribute:!1,type:"number"},selectionStart:{value:0,reflectToAttribute:!1,type:"number"},spellCheck:{value:!1,type:"boolean"},verticalScrollBarVisibility:{type:"string",value:"auto",allowedValues:["auto","disabled","hidden","visible"]},wrap:{value:"soft",allowedValues:["hard","soft","off"],type:"string"}}}template(){return'<div role="presentation">\n <div class="smart-content-container" id="container">\n <div id="headerSection" class="smart-header-section" role="heading" aria-level="1">\n <div id="header" class="smart-header">[[label]]</div>\n <div id="buttonsContainer" class="smart-buttons-container">\n <button id="closeButton" class="smart-button smart-element smart-close-button" aria-label="Close"></button>\n </div>\n </div>\n <div class="smart-content">\n <content></content>\n <smart-multiline-text-box id="textBox"\n animation="[[animation]]"\n horizontal-scroll-bar-visibility= "[[horizontalScrollBarVisibility]]"\n vertical-scroll-bar-visibility= "[[verticalScrollBarVisibility]]"\n auto-capitalize="[[autoCapitalize]]"\n auto-expand = "[[autoExpand]]"\n selection-direction= "[[selectionDirection]]"\n selection-end= "[[selectionEnd]]"\n selection-start="[[selectionStart]]"\n spell-check= "[[spellCheck]]"\n wrap="[[wrap]]"\n max-length="[[maxLength]]"\n value="{{value}}"\n form="[[form]]"\n label="[[promptLabel]]"\n hint="[[hint]]"\n display-mode="[[displayMode]]"\n max-length="[[maxLength]]"\n placeholder="[[placeholder]]"\n required="[[required]]"\n required-message="[[requiredMessage]]"\n select-all-on-focus="[[selectAllOnFocus]]"\n theme="[[theme]]"\n right-to-left="[[rightToLeft]]">\n </smart-multiline-text-box>\n </div>\n <div id="footer" class="smart-footer">\n <button id="confirmButton" class="smart-button smart-element smart-confirm-button flat">[[confirmLabel]]</button>\n <button id="cancelButton" class="smart-button smart-element smart-cancel-button flat">[[cancelLabel]]</button>\n </div>\n </div>\n </div>'}static get listeners(){return{"footer.click":"_footerClickHandler"}}static get requires(){return{"Smart.MultilineTextBox":"smart.multilinetextbox.js"}}_footerClickHandler(e){const t=this,a=e.target;a.closest(".smart-confirm-button")?t.$.fireEvent("confirm",{value:t.$.textBox.value}):a.closest(".smart-cancel-button")&&t.$.fireEvent("cancel",{value:t.$.textBox.value})}}),Smart("smart-progress-window",class extends Smart.Window{static get properties(){return{completeLabel:{value:"Continue",type:"string"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},headerButtons:{value:["close"],type:"array"},indeterminate:{value:!1,type:"boolean"},inverted:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function"},max:{value:100,type:"number"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},min:{value:0,type:"number"},showProgressValue:{value:!1,type:"boolean"},value:{value:0,type:"number?"}}}template(){return'<div role="presentation">\n <div class="smart-content-container" id="container">\n <div id="headerSection" class="smart-header-section" role="heading" aria-level="1">\n <div id="header" class="smart-header">[[label]]</div>\n <div id="buttonsContainer" class="smart-buttons-container">\n <button id="closeButton" class="smart-button smart-element smart-close-button" aria-label="Close"></button>\n </div>\n </div>\n <div class="smart-content" inner-h-t-m-l="[[innerHTML]]">\n <content></content>\n </div>\n <div id="footer" class="smart-footer">\n <smart-progress-bar id="progressBar"\n animation="[[animation]]"\n min="[[min]]"\n max="[[max]]"\n indeterminate="[[inditerminate]]"\n inverted="[[inverted]]"\n format-function="[[formatFunction]]"\n show-progress-value="[[showProgressValue]]"\n theme="[[theme]]"\n right-to-left="[[rightToLeft]]"\n value="{{value}}">\n </smart-progress-bar>\n <button id="completeButton" class="smart-button smart-element smart-complete-button smart-visibility-hidden">[[completeLabel]]</button>\n </div>\n </div>\n </div>'}static get requires(){return{"Smart.ProgressBar":"smart.progressbar.js"}}propertyChangedHandler(e,t,a){const i=this;switch(e){case"value":i._handleCompletion();break;default:super.propertyChangedHandler(e,t,a)}}_createElement(){this.setAttribute("role","dialog"),this._handleCompletion()}_handleCompletion(){const e=this;e.$.completeButton&&(e.value>=e.max?(e.$completeButton.removeClass("smart-visibility-hidden"),e.$progressBar.addClass("smart-visibility-hidden")):(e.$completeButton.addClass("smart-visibility-hidden"),e.$progressBar.removeClass("smart-visibility-hidden")))}_keyDownHandler(e){const t=this;function a(){t._dragDetails&&(t._dragDetails.started=!1),t.$.removeClass("no-transition")}if(delete t._changingFocus,t.disabled||t._dragDetails&&t._dragDetails.started)return;if(t.disableKeyboard)return;e.stopPropagation();const i="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10,n=t.enableShadowDOM&&t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;switch(t.$.removeClass("no-transition"),e.key){case"ArrowUp":case"ArrowDown":if(n!==t)return;if(e.preventDefault(),e.altKey)return"ArrowUp"===e.key?t.maximize():t.restore(),void a();if(t.$.addClass("no-transition"),e.ctrlKey)return t._resize("bottom",i),void a();t._drag(i,"vertical"),t.$.removeClass("no-transition");break;case"ArrowLeft":case"ArrowRight":if(n!==t)return;if(e.preventDefault(),t.$.addClass("no-transition"),e.ctrlKey)return t._resize("right",i),void a();t._drag(i,"horizontal"),t.$.removeClass("no-transition");break;case"Escape":t.disableEscape||t.headerButtons.indexOf("close")>-1&&t.close();break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".smart-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}a()}}),Smart("smart-tabs-window",class extends Smart.Window{static get properties(){return{disableSnap:{value:!0,readOnly:!0,type:"boolean"},dropPosition:{value:["all"],type:"array"},addNewTab:{value:!1,type:"boolean"},allowToggle:{value:!1,type:"boolean"},autoHide:{value:!1,type:"boolean"},autoHideWindow:{value:null,type:"any"},dataSource:{value:null,type:"array?",reflectToAttribute:!1},tabCloseButtonMode:{value:"default",allowedValues:["default","selected"],type:"string"},tabCloseButtons:{value:!1,type:"boolean"},messages:{value:{en:{ambiguousIndexes:"smart-tabs: Initially set smart-tab-item indexes are ambiguous and are ignored in favour of the HTML structure.",detailsObjectRequired:'smart-tabs: The method "insert" requires a details Object to be passed as a second argument.',invalidIndex:'smart-tabs: "{{method}}" method accepts an index of type number.',referenceNodeNotChild:"smart-tabs: Passed {{argument}} is not part of this smart-tabs element.",tabItemRequired:'smart-tabs: The method "{{method}}" requires a "smart-tab-item" element to be passed as an argument.'}},type:"object",extend:!0},tabOverflow:{value:"auto",allowedValues:["auto","hidden","scroll"],type:"string"},tabReorder:{value:!1,type:"boolean"},tabResize:{value:!1,type:"boolean"},tabScrollButtonsPosition:{value:"both",allowedValues:["near","far","both"],type:"string"},selectedIndex:{value:null,type:"number?"},selectionMode:{value:"click",allowedValues:["click","dblclick","mouseenter","none"],type:"string"},collapsed:{value:!1,type:"boolean"},collapsible:{value:!1,type:"boolean"},locked:{value:!1,type:"boolean"},max:{value:"",type:"any"},min:{value:"",type:"any"},size:{value:"",type:"any"},tabLayout:{value:"scroll",allowedValues:["scroll","dropdown","wrap","shrink"],type:"string",defaultReflectToAttribute:!0},tabPosition:{value:"top",allowedValues:["top","bottom","left","right","hidden"],type:"string"},tabTextOrientation:{value:"horizontal",allowedValues:["horizontal","vertical"],type:"string"},layout:{value:null,type:"any"}}}static get listeners(){return{"tabsElement.blur":"_tabsFocusHandler","tabsElement.change":"_tabsChangeHandler","tabsElement.focus":"_tabsFocusHandler","autoHideWindow.close":"_autoHideWindowCloseHandler","autoHideWindow.open":"_autoHideWindowOpenHandler"}}template(){return'<div role="presentation">\n <div class="smart-content-container" id="container">\n <div id="headerSection" class="smart-header-section" role="heading" aria-level="1">\n <div id="header" class="smart-header">[[label]]</div>\n <div id="buttonsContainer" class="smart-buttons-container">\n <button id="minimizeButton" class="smart-button smart-element smart-minimize-button" aria-label="Minimize"></button>\n <button id="maximizeButton" class="smart-button smart-element smart-maximize-button" aria-label="Maximize"></button>\n <button id="closeButton" class="smart-button smart-element smart-close-button" aria-label="Close"></button>\n </div>\n </div>\n <div id="contentSection" class="smart-content">\n <smart-tabs id="tabsElement"\n animation="[[animation]]"\n add-new-tab="[[addNewTab]]"\n allow-toggle="[[allowToggle]]"\n close-button-mode="[[tabCloseButtonMode]]"\n close-buttons="[[tabCloseButtons]]"\n disabled="[[disabled]]"\n overflow="[[tabOverflow]]"\n reorder="[[tabReorder]]"\n resize="[[tabResize]]"\n scroll-buttons-position="[[tabScrollButtonsPosition]]"\n selected-index="{{selectedIndex}}"\n selection-mode="[[selectionMode]]"\n tab-layout="[[tabLayout]]"\n tab-position="[[tabPosition]]"\n tab-text-orientation="[[tabTextOrientation]]"\n theme="[[theme]]"\n right-to-left="[[rightToLeft]]">\n <content></content>\n </smart-tabs>\n </div>\n <div id="footer" class="smart-footer smart-hidden"></div>\n </div>\n </div>'}static get requires(){return{"Smart.Tabs":"smart.tabs.js"}}appendChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.appendChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(e instanceof Smart.TabItem||t.error(t.localize("tabItemRequired",{method:"removeChild"})),t.$.tabsElement.appendChild(e)):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}insert(e,t){this.$.tabsElement.insert(e,t);const a=this.$.tabsElement._tabs[e];a&&(a.draggable=void 0===t.draggable||t.draggable,a.floatable=void 0===t.floatable||t.floatable)}insertBefore(e,t){this.$.tabsElement.insertBefore(e,t)}removeAt(e){this.$.tabsElement.removeAt(e)}removeChild(e){const t=this;if(!t.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.removeChild.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(e instanceof Smart.TabItem||t.error(t.localize("tabItemRequired",{method:"removeChild"})),(t.shadowRoot||t).contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})),t.$.tabsElement.removeChild(e)):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}refreshTabHeader(){const e=this;e.$.tabsElement&&e.$.tabsElement.isCompleted&&e.$.tabsElement.refreshTabHeader()}refreshTabs(){const e=this;e.$.tabsElement&&e.$.tabsElement.isCompleted&&e.$.tabsElement._applyTabOverflow()}select(e){this.$.tabsElement.select(e)}update(e,t,a){this.$.tabsElement.update(e,t,a)}get items(){return this.isCompleted&&this.$.tabsElement?this.$.tabsElement._tabs:null}get itemLabels(){return this.$?this.$.tabsElement._tabLabelContainers:null}get siblings(){const e=this;let t=[];if(!e.isCompleted)return t;const a=e.closest("smart-splitter");if(!a||!a.closest("smart-docking-layout"))return t;const i=a._items;if(!i||!i.length)return t;for(let n=0;n<i.length;n++){const o=i[n];o!==e.closest("smart-splitter-item")&&o.querySelector("smart-tabs-window").closest("smart-splitter")===a&&t.push(o.querySelector("smart-tabs-window"))}return t}propertyChangedHandler(e,t,a){const i=this;switch("collapsed"!==e&&super.propertyChangedHandler(e,t,a),e){case"theme":""!==t&&(i.$.closeButton.classList.remove(t),i.$.collapseButton.classList.remove(t),i.$.maximizeButton.classList.remove(t),i.$.pinButton.classList.remove(t)),i._applyTheme(a);break;case"autoHideWindow":i._handleAutoHideWindow();break;case"autoHide":a||(null!==i.$.tabsElement.selectedIndex&&(i.$.tabsElement._tabs[i.$.tabsElement.selectedIndex]._autoHideWindowSize=void 0),i._autoHideWindow&&i._autoHideWindow.close());break;case"dataSource":i.$.tabsElement.dataSource=a;break;case"layout":i._handleLayoutProperty();break;case"collapsible":case"collapsed":case"locked":case"max":case"min":case"size":{const n=i.getRootNode(),o=(n&&n.host?n.host:i).closest("smart-docking-layout"),s=i.closest("smart-splitter-item");if(!o)return void("collapsed"===e&&super.propertyChangedHandler(e,t,a));s&&(s[e]=a);break}}}_applyTheme(e){if(""!==e){const t=this.$.buttonsContainer.children;for(let a=0;a<t.length;a++)t[a].classList.add(e)}}_autoHideWindowCloseHandler(){const e=this;e.allowToggle&&null!==e.$.tabsElement.selectedIndex&&e.$.tabsElement.select(e.$.tabsElement.selectedIndex),e._autoHideWindow&&e._moveContent(e._autoHideWindow.items[0],e._autoHideWindow._tab)}_autoHideWindowOpenHandler(){const e=this;e.$.tabsElement.selectedIndex&&e._handleAutoHide(e.$.tabsElement.selectedIndex)}_createElement(){const e=this;e.setAttribute("role","dialog"),e.$.tabsElement.$.tabHeaderControls&&!e.$.tabsElement.$.tabHeaderControls.innerHTML&&e.$.tabsElement.$tabHeaderControls.addClass("smart-hidden"),e.$.tabsElement.dataSource=e.dataSource,e._applyTheme(e.theme),e._handleAutoHideWindow(),e.autoHide&&e._handleAutoHide(e.$.tabsElement.selectedIndex),e.allowToggle||e.selectedIndex||null===e.$.tabsElement.selectedIndex||(e.selectedIndex=e.$.tabsElement.selectedIndex,e.$.tabsElement.setAttribute("selected-index",e.selectedIndex)),e._handleLayoutProperty();const t=(e.isInShadowDOM?e.getRootNode().host:e||e).closest("smart-docking-layout"),a=e.closest("smart-splitter-item");t&&a&&(a.collapsible=e.collapsible,a.collapsed=e.collapsed,a.min=e.min,a.max=e.max,a.size=e.size,a.locked=e.locked)}attached(){super.attached();const e=this;e.classList.add("smart-window"),e.shadowRoot&&e.$.root.classList.add("smart-window")}_handleLayoutProperty(){const e=this;let t=e.closest("smart-docking-layout");if(Smart.DockingLayout){if(!e.ownerLayout&&e.getRootNode()){let a=e.getRootNode().host;for(;a;){if(!a.closest)return;if(a.closest("smart-docking-layout")){t=a.closest("smart-docking-layout");break}a=a.getRootNode()?a.getRootNode().host:void 0}}t?e.layout=t:e.layout instanceof Smart.DockingLayout||"string"==typeof e.layout&&(e.layout=document.getElementById(e.layout))}}_headerDblCickHandler(e){const t=this,a=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;e.ctrlKey||a!==t.$.headerSection&&a!==t.$.header||t.$.maximizeButton&&0===t.$.maximizeButton.offsetHeight||(t.maximized?t.restore():t.maximize())}_documentUpHandler(e){const t=this;let a=e.originalEvent.target.closest?e.originalEvent.target.closest(".smart-window"):e.originalEvent.target,i=a===t||a===t._autoHideWindow||t._isAutoHideWindowClicked,n=t.closest("smart-docking-layout");(t.shadowRoot||t.isInShadowDOM)&&(a=e.originalEvent.composedPath()[0],i=a.getRootNode()===t.shadowRoot||a.closest(".smart-window")===t||a.closest(".smart-window")===t._autoHideWindow||t._isAutoHideWindowClicked),n=((t.isInShadowDOM?t.getRootNode().host:t)||t).closest("smart-docking-layout"),n&&n.disabled?delete t._isWindowContentClicked:(super._documentUpHandler(e),delete t._isAutoHideWindowClicked,t.autoHide&&t._autoHideWindow&&(i&&t._autoHideWindow.opened||(t.selectedIndex=null,t._autoHideWindow.parentElement&&t._autoHideWindow.parentElement.closest(".smart-window")===t&&t._autoHideWindow.close())))}_handleAutoHide(e){const t=this;if(!t.autoHide||null===e)return;if(t._autoHideWindow||t._handleAutoHideWindow(!0),!t._autoHideWindow)return;t._autoHideWindow._tabsWindow&&t._autoHideWindow._tabsWindow!==t&&(t._autoHideWindow._tabsWindow.selectedIndex=null);const a=t.$.tabsElement._tabs[e];t._autoHideWindow._tab!==a&&t._moveContent(t._autoHideWindow.items[0],t._autoHideWindow._tab),t._autoHideWindow.label=a.label,t._autoHideWindow.draggable=a.draggable,t._autoHideWindow.floatable=a.floatable,t._autoHideWindow._tab=a,t._autoHideWindow.headerButtons=t.headerButtons,t._moveContent(t._autoHideWindow._tab,t._autoHideWindow.items[0]),t._autoHideWindow.bringToFront(),t._setAutoHideWindowSize(e),t._autoHideWindow.open(),t._autoHideWindow._tabsWindow=t,t._autoHideWindow.controlledBy&&t._autoHideWindow.controlledBy.removeAttribute("aria-controls"),t._autoHideWindow.controlledBy=t.$.tabsElement._tabLabelContainers[e],t._autoHideWindow.controlledBy.setAttribute("aria-controls",t._autoHideWindow.id)}_moveHandler(e){const t=this,a=t.closest("smart-docking-layout");a&&a.items.indexOf(t)>-1||(Smart.Utilities.Core.isMobile&&navigator.platform&&/iPad|iPhone|iPod/.test(navigator.platform)&&t.layout instanceof Smart.DockingLayout&&t.layout.hasAttribute("dragged")&&e.originalEvent.preventDefault(),super._moveHandler(e))}_setAutoHideWindowSize(e){const t=this;if(!t._autoHideWindow)return;t._autoHideWindow.$.addClass("no-transition"),t._autoHideWindow.style.maxWidth=t._autoHideWindow.style.maxHeight="";const a=t.$.tabsElement._tabs[e],i=(t._autoHideWindow.isInShadowDOM?t._autoHideWindow.getRootNode().host:t._autoHideWindow).closest("smart-docking-layout")||t._autoHideWindow.parentElement;let n,o;if(a){if("top"===t.tabPosition||"bottom"===t.tabPosition){t._autoHideWindow.resizeMode="top"===t.tabPosition?"bottom":"top",t._autoHideWindow.style.width=t.$.tabsElement.offsetWidth+"px",n=i.getBoundingClientRect(),o=t.$.tabsElement.getBoundingClientRect();let e=a._autoHideWindowSize&&parseFloat(a._autoHideWindowSize)||"";Smart.DockingLayout&&i instanceof Smart.DockingLayout&&(e&&(e=Math.min(i.$.itemsContainer.offsetHeight,e)+"px"),t._autoHideWindow.style.maxHeight=i.$.itemsContainer.offsetHeight+"px"),t._autoHideWindow.style.height=e,t._autoHideWindow.style.left=o.left-n.left+"px",t._autoHideWindow&&("top"===t.tabPosition?t._autoHideWindow.style.top=o.top+-n.top+o.height+"px":t._autoHideWindow.style.top=o.top-n.top-t._autoHideWindow.offsetHeight+"px")}else{t._autoHideWindow.resizeMode="left"===t.tabPosition?"right":"left",t._autoHideWindow.style.height=t.$.tabsElement.offsetHeight+"px";let e=a._autoHideWindowSize&&parseFloat(a._autoHideWindowSize)||"";i instanceof Smart.DockingLayout&&(e&&(e=Math.min(i.$.itemsContainer.offsetWidth,e)+"px"),t._autoHideWindow.style.maxWidth=i.$.itemsContainer.offsetWidth+"px"),t._autoHideWindow.style.width=e,n=i.getBoundingClientRect(),o=t.$.tabsElement.getBoundingClientRect(),t._autoHideWindow.style.top=o.top-n.top+"px","left"===t.tabPosition?t._autoHideWindow.style.left=o.left-n.left+t.$.tabsElement.offsetWidth+"px":t._autoHideWindow.style.left=o.left-n.left-t._autoHideWindow.offsetWidth+"px"}t._autoHideWindow._dragDetails&&(t._autoHideWindow._dragDetails.maxWidth=void 0),t._autoHideWindow._setDragDetails("resize"),t._autoHideWindow._dragDetails.started=!1,t._autoHideWindow.$.removeClass("no-transition")}}_handleAutoHideWindow(e){const t=this;if(t.autoHideWindow){if(t._autoHideWindow&&t._autoHideWindow.parentElement.removeChild(t._autoHideWindow),"string"==typeof t.autoHideWindow)return void(t._autoHideWindow=document.getElementById(t.autoHideWindow));if(t.autoHideWindow instanceof Smart.Window)return void(t._autoHideWindow=t.autoHideWindow)}if(!e||t._autoHideWindow||2===t.$.contentSection.children.length&&t.$.contentSection.children[1]instanceof Smart.Window)return;const a=document.createElement("smart-window");a.$=Smart.Utilities.Extend(a),a.disableSnap=a.pinned=!0,a.headerButtons=["close"],t.$.contentSection.appendChild(a),t._autoHideWindow=a}_moveContent(e,t){if(!e||!t)return;const a=[].slice.call(e.$.content.childNodes);for(let e=0;e<a.length;e++)t.appendChild(a[e])}_tabsChangeHandler(e){const t=this;if(e.target===t.$.tabsElement&&t.autoHide){if(t._autoHideWindow||t._handleAutoHideWindow(!0),null!==e.detail.oldIndex&&t._autoHideWindow.opened&&(t.$.tabsElement._tabs[e.detail.oldIndex]._autoHideWindowSize=t._autoHideWindow.style["right"===t.$.tabsElement.tabPosition||"left"===t.$.tabsElement.tabPosition?"width":"height"]),!t.autoHide||null===e.detail.index||void 0===e.detail.index)return t._autoHideWindow.setAttribute("active",""),void t._autoHideWindow.close();t._handleAutoHide(e.detail.index)}}_tabsFocusHandler(e){const t=this;"focus"===e.type?(t.bringToFront(),t.setAttribute("focus","")):t.removeAttribute("focus")}}),Smart("smart-wait-window",class extends Smart.ProgressWindow{static get properties(){return{headerButtons:{value:[],type:"array"},disableSnap:{value:!0,readOnly:!0,type:"boolean"},modal:{value:!0,readOnly:!0,type:"boolean",defaultReflectToAttribute:!0},pinned:{value:!0,type:"boolean",readOnly:!0}}}template(){return'<div role="presentation">\n <div class="smart-content-container" id="container">\n <div id="headerSection" class="smart-header-section" role="heading" aria-level="1">\n <div id="header" class="smart-header">[[label]]</div>\n <div id="buttonsContainer" class="smart-buttons-container">\n <button id="closeButton" class="smart-button smart-element smart-close-button" aria-label="Close"></button>\n </div>\n </div>\n <div class="smart-content">\n <content></content>\n <smart-progress-bar id="progressBar" animation="[[animation]]" indeterminate theme="[[theme]]" right-to-left="[[rightToLeft]]"></smart-progress-bar>\n </div>\n <div id="footer" class="smart-footer"></div>\n </div>\n </div>'}_keyDownHandler(e){const t=this;function a(){t._dragDetails&&(t._dragDetails.started=!1),t.$.removeClass("no-transition")}if(delete t._changingFocus,t.disabled||t._dragDetails&&t._dragDetails.started)return;const i=t.shadowRoot||t._windowParent.element.getRootNode()?t._windowParent.element.getRootNode().activeElement:document.activeElement;e.stopPropagation();const n="ArrowDown"===e.key||"ArrowRight"===e.key?10:-10;switch(t.$.removeClass("no-transition"),e.key){case"ArrowUp":case"ArrowDown":if(i!==t)return;if(e.preventDefault(),e.altKey)return"ArrowUp"===e.key?t.maximize():t.restore(),void a();if(t.$.addClass("no-transition"),e.ctrlKey)return t._resize("bottom",n),void a();t._drag(n,"vertical");break;case"ArrowLeft":case"ArrowRight":if(i!==t)return;if(e.preventDefault(),t.$.addClass("no-transition"),e.ctrlKey)return t._resize("right",n),void a();t._drag(n,"horizontal");break;case"Tab":t.opened&&t.modal&&(t._changingFocus=!0);break;case"Enter":case" ":{let a;if(t.shadowRoot||t.isInShadowDOM?(a=e.composedPath()[0],t._buttonPressed=a.getRootNode().host):(a=e.target.closest&&e.target.closest(".smart-button"),t._buttonPressed=a),!a)return;t._isWindowButton(a),delete t._buttonPressed;break}}a()}});
|