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-tab-item",class extends Smart.ContentElement{static get properties(){return{closeButtonHidden:{value:!1,type:"boolean"},index:{value:null,type:"number?"},selected:{value:!1,type:"boolean"},label:{value:"",type:"string"},labelSize:{value:null,type:"number?"}}}get enableShadowDOM(){return!1}render(){this.setAttribute("role","tabpanel"),this.firstElementChild.setAttribute("role","presentation"),super.render()}attached(){const e=this;super.attached(),e.isCompleted&&(e.$.removeClass("right"),e.$.removeClass("left"),e.$.removeClass("top"),e.$.removeClass("bottom"),e.$.removeClass("animate"))}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;if(n._preventPropertyChangedHandler)delete n._preventPropertyChangedHandler;else switch(e){case"closeButtonHidden":n.$.fireEvent("closeButtonVisibilityChange",{hidden:o});break;case"disabled":{const e=n.tabLabelContainer;e&&(o?e.setAttribute("disabled",""):e.removeAttribute("disabled"));break}case"index":n.$.fireEvent("indexChange",{newIndex:o,oldIndex:t,tabItem:n});break;case"label":{const e=n.closest("smart-tabs");e?e._updateTabLabel(n,o):n.setAttribute("aria-label",o);break}case"selected":n.tabLabelContainer&&n.tabLabelContainer.setAttribute("aria-selected",o);break;case"labelSize":n.$.fireEvent("labelSizeChange",{size:o})}}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.firstElementChild.appendChild(e)}insertBefore(e,t){const o=this;if(!o.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(o,e.concat(Array.prototype.slice.call(arguments)))}o.firstElementChild.insertBefore(e,t)}_setIndex(e){const t=this,o=t.context;t.context=t,t.index=e,t.context=o}}),Smart("smart-tab-items-group",class extends Smart.ContentElement{static get properties(){return{label:{value:"",type:"string"},labelSize:{value:null,type:"number?"}}}get enableShadowDOM(){return!1}template(){return""}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;if(n._preventPropertyChangedHandler)delete n._preventPropertyChangedHandler;else switch(e){case"label":{const e=n.closest("smart-tabs");if(!e)return;const a=e._groups.indexOf(t);if(a<0)break;const r=Array.from(e.$.tabStrip.querySelectorAll(".smart-tab-group-container")).find((e=>e.group===t));Array.from(n.querySelectorAll("smart-tab-item")).forEach((e=>e.group=o)),r.querySelector(".smart-tab-label-text-container").innerHTML=o,r.setAttribute("aria-label",o),r.group=o,e._groups[a]=o;break}case"labelSize":this.$.fireEvent("labelSizeChange",{size:o})}}}),Smart("smart-tabs",class extends Smart.BaseElement{static get properties(){return{addNewTab:{value:!1,type:"boolean"},addNewTabAutoCreate:{value:!0,type:"boolean"},allowToggle:{value:!1,type:"boolean"},closeButtonMode:{value:"default",allowedValues:["default","selected"],type:"string"},closeButtons:{value:!1,type:"boolean"},collapsed:{value:!1,type:"boolean"},collapsible:{value:!1,type:"boolean"},dataSource:{value:null,type:"array?",reflectToAttribute:!1},enableMouseWheelAction:{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},name:{value:"",type:"string"},overflow:{value:"auto",allowedValues:["auto","hidden","scroll"],type:"string"},reorder:{value:!1,type:"boolean"},resize:{value:!1,type:"boolean"},scrollButtonsPosition:{value:"both",allowedValues:["near","far","both"],type:"string"},scrollMode:{value:"paging",allowedValues:["paging","continuous"],type:"string"},selectedIndex:{value:null,type:"number?"},selectionMode:{value:"click",allowedValues:["click","dblclick","mouseenter","none"],type:"string"},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"}}}static get listeners(){return{closeButtonVisibilityChange:"_closeButtonVisibilityChangeHandler",indexChange:"_indexChangeHandler",keydown:"_keydownHandler",labelSizeChange:"_labelSizeChangeHandler",resize:"_applyTabOverflow",styleChanged:"_applyTabOverflow","container.dblclick":"_containerHandler","container.down":"_containerHandler","container.mouseout":"_containerHandler","container.mouseover":"_containerHandler","scrollButtonFar.click":"_scrollButtonClickHandler","scrollButtonNear.click":"_scrollButtonClickHandler","tabContentSection.transitionend":"_tabContentSectionTransitionendHandler","tabsHeaderItems.wheel":"_tabsHeaderItemsWheelHandler","tabStrip.mouseleave":"_tabStripMouseleaveHandler","tabStrip.move":"_tabStripMoveHandler","tabStrip.touchmove":"_tabStripTouchmoveHandler","tabStrip.touchstart":"_tabStripTouchstartHandler","document.move":"_documentMoveHandler","document.selectstart":"_selectStartHandler","document.up":"_documentUpHandler"}}static get requires(){return{"Smart.RepeatButton":"smart.button.js"}}static get styleUrls(){return["smart.tabs.css"]}template(){return'<div id="container">\n <div id="tabsHeaderSection" class="smart-header smart-tabs-header-section">\n <div id="tabsHeaderItems" class="smart-tabs-header-items">\n <smart-repeat-button id="scrollButtonNear" class="smart-tabs-scroll-button smart-nav-button smart-spin-button smart-hidden" animation="[[animation]]" unfocusable>\n <div id="arrowNear" class="smart-arrow" aria-hidden="true"></div>\n </smart-repeat-button>\n <div id="tabStrip" class="smart-tab-strip"></div>\n <smart-repeat-button id="scrollButtonFar" class="smart-tabs-scroll-button smart-nav-button smart-spin-button smart-hidden" animation="[[animation]]" unfocusable>\n <div id="arrowFar" class="smart-arrow" aria-hidden="true"></div>\n </smart-repeat-button>\n <div id="dropDownButton" class="smart-drop-down-button" role="button" aria-expanded="false" aria-label="Open tab selection popup">\n <div id="dropDownButtonArrow" class="smart-drop-down-button-arrow smart-unselectable" aria-hidden="true"></div>\n </div>\n <span id="tabSelectionBar" class="smart-tabs-selection-bar" role="presentation"></span>\n <div id="resizeToken" class="smart-tabs-resize-token smart-hidden" role="presentation"></div>\n </div>\n <div id="tabHeaderControls" class="smart-tabs-header-controls"></div>\n </div>\n <div id="tabContentSection" class="smart-tabs-content-section">\n <content></content>\n </div>\n <div id="dropDownButtonDropDown" class="smart-drop-down-button-drop-down smart-hidden"></div>\n <input id="hiddenInput" type="hidden" name="[[name]]">\n </div>'}attached(){const e=this;super.attached(),e.isCompleted&&e.isRendered&&e._applyTabOverflow()}ready(){super.ready(),this._flexWritingModeNoFullSupport=!0}render(){this._createElement(),super.render()}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 instanceof Smart.TabItem||t.error(t.localize("tabItemRequired",{method:"appendChild"})),t.isRendered?t.insert(t._tabs.length,{node:e}):t.whenRendered((()=>t.insert(t._tabs.length,{node:e})))}collapse(){const e=this;e.collapsible&&!e.collapsed&&(e.collapsed=!0)}ensureVisible(e){const t=this;if(null===e||"wrap"===t.tabLayout||"shrink"===t.tabLayout||"hidden"===t.tabPosition)return;t._validateIndex(e,"ensureVisible"),e=Math.max(0,Math.min(e,t._tabs.length-1));const o=t._tabs[e].group,n=t.$.tabStrip,a=n.getBoundingClientRect(),r=(null===o?t._tabLabelContainers[e]:t._groupLabels[t._groups.indexOf(o)]).getBoundingClientRect();"top"===t.tabPosition||"bottom"===t.tabPosition?(a.left>r.left?n.scrollLeft+=Math.round(r.left-a.left):n.scrollLeft+=Math.round(r.right-a.right),t.addNewTab&&e===t._tabs.length-1&&(n.scrollLeft=n.scrollWidth-n.offsetWidth)):"left"!==t.tabPosition&&"right"!==t.tabPosition||!(a.top>r.top||a.bottom<r.bottom)?(n.scrollLeft=t._getScrollLeft(0),t.$.tabStrip.scrollTop=0):n.scrollTop+=Math.round(r.bottom-n.offsetHeight-a.top),t._updateScrollButtonVisibility(),t.resize&&t._getTabCoordinates()}expand(){const e=this;e.collapsible&&e.collapsed&&(e.collapsed=!1)}getOffsetFromEdgeOfElement(e){const t=this;t._validateIndex(e,"getOffsetFromEdgeOfElement"),e=Math.max(0,Math.min(e,t._tabs.length-1));const o=t._tabs[e],n=t.tabPosition;return"hidden"!==n?Math.abs(o.getBoundingClientRect()[n]-t.getBoundingClientRect()[n]):o.getBoundingClientRect().top-t.getBoundingClientRect().top}getTabs(){const e=this,t=e._tabs;return t?t.slice(0):Array.from(e.shadowRoot?e.shadowRoot.querySelectorAll("smart-tab-item"):e.getElementsByTagName("smart-tab-item"))}insert(e,t){const o=this;let n,a;if(o._validateIndex(e,"insert"),(void 0===t||void 0===t.label&&void 0===t.content&&void 0===t.node)&&o.error(o.localize("detailsObjectRequired")),void 0===t.node)n=t.group,a=document.createElement("smart-tab-item"),a.label=void 0!==t.label?t.label:"",a.labelSize=void 0!==t.labelSize?t.labelSize:null,a.content=t.content;else if(a=t.node,void 0!==a.index&&null!==a.index){const e=a.context;a.context=a,a.index=null,a.context=e}a.$.addClass("smart-visibility-hidden"),a.group=null;const r=o._addTabLabelContainer(a),s=r.tabLabelContainer,i=r.dropDownLabelContainer;s.tab=a,a.tabLabelContainer=s;const l={index:e,tab:a,tabLabelContainer:s,dropDownLabelContainer:i};if(o._setAriaRelations(a,s,i),0===o._groups.length&&void 0===n)o._insertNoGrouping(l);else if(null!=n){l.group=n;const e=o.$.tabContentSection.querySelector('smart-tab-items-group[label="'+n+'"]');null!==e?(l.smartTabItemsGroup=e,o._insertIntoExistingGroup(l)):o._insertIntoNewGroup(l)}else o._insertNearAGroup(l);o._getReorderItems(),null===o.selectedIndex&&!o.allowToggle&&o._tabs.length&&o._select(0,!0),null!==a.group&&null!==a.labelSize&&"shrink"!==o.tabLayout&&s.style.removeProperty([o._orientationSettings.dimension]),o._applyTabOverflow()}insertBefore(e,t){const o=this;if(!o.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(o,e.concat(Array.prototype.slice.call(arguments)))}let n;e instanceof Smart.TabItem&&(null==t||t instanceof Smart.TabItem)||o.error(o.localize("tabItemRequired",{method:"insertBefore"})),o.contains(e)&&(e.selected&&(n=!0),o.removeAt(e.index)),null!=t?(o.contains(t)||o.error(o.localize("referenceNodeNotChild",{argument:"referenceNode"})),o.insert(t.index,{node:e})):o.insert(o._tabs.length,{node:e}),n&&o._select(e.index,!1)}refreshTabHeader(){const e=this;"scroll"===e.tabLayout&&e._checkOverflowScroll(),e._positionTabSelectionBar(e._tabLabelContainers?e._tabLabelContainers[e.selectedIndex]:void 0,!0)}removeAt(e){const t=this,o=t._tabs.length;if(0===o)return;t._validateIndex(e,"remove"),e=Math.max(0,Math.min(e,o-1));const n=t._tabs[e],a=t._tabLabelContainers[e];if(a._lazyRemove?a.classList.add("smart-hidden"):a.parentElement.removeChild(a),n.parentElement.removeChild(n),null!==n.group){const e=t.$.tabContentSection.querySelector('smart-tab-items-group[label="'+n.group+'"]');if(0===e.childElementCount){const o=t._groups.indexOf(n.group);t.$.tabStrip.removeChild(t._groupLabels[o]),t._groups.splice(o,1),t.$.container.removeChild(t._groupLabels[0].dropDown),t._groupLabels.splice(o,1),t.$.tabContentSection.removeChild(e)}}o>1?e<t.selectedIndex?t.selectedIndex--:e===t.selectedIndex&&(e===o-1?t._select(e-1,!1):(t._select(e+1,!1),t.selectedIndex--)):(t.selectedIndex=null,t.$.tabContentSection.innerHTML=""),t._tabLabelContainers.splice(e,1),t.$.dropDownButtonDropDown.removeChild(t.$.dropDownButtonDropDown.children[e]),t._tabs.splice(e,1),t._focusedItem===n&&(t._focusedItem=t._tabs[t._focusedItem.index]),t._updateTabIndexes(),t._getReorderItems(),t._applyTabOverflow(),t.ensureVisible(t.selectedIndex),t.$.hiddenInput.value=t.selectedIndex}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 instanceof Smart.TabItem||t.error(t.localize("tabItemRequired",{method:"removeChild"})),t.contains(e)||t.error(t.localize("referenceNodeNotChild",{argument:"node"})),t.removeAt(e.index)}select(e){const t=this;0!==t._tabs.length&&(t._validateIndex(e,"select"),e=Math.max(0,Math.min(e,t._tabs.length-1)),t.ensureVisible(e),t._select(e,!0))}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.removeAttribute("tabindex"):(null===e.getAttribute("tabindex")||e.getAttribute("tabindex")<0)&&e.setAttribute("tabindex",0)}getTabContent(e){const t=this._getTabProperty(e,"content");return t&&t.innerHTML?t.innerHTML:t}getTabLabel(e){return this._getTabProperty(e,"label")}_getTabProperty(e,t){if(0===this._tabs.length)return null;const o=this._tabs[e];return o?o[t]:null}setTabLabel(e,t){const o=this;if(0===o._tabs.length)return;o._validateIndex(e,"update"),e=Math.max(0,Math.min(e,o._tabs.length-1));const n=o._tabs[e];void 0!==t&&n.label!==t&&o._updateTabLabel(n,t)}update(e,t,o){const n=this;if(0===n._tabs.length)return;n._validateIndex(e,"update"),e=Math.max(0,Math.min(e,n._tabs.length-1));const a=n._tabs[e];void 0!==t&&a.label!==t&&n._updateTabLabel(a,t),void 0!==o&&(a.content=o)}_createElement(){const e=this;e.$.dropDownButton.id||(e.$.dropDownButton.id=e.id+"DropDownButton"),e.$.dropDownButtonDropDown.id||(e.$.dropDownButtonDropDown.id=e.id+"DropDown"),e.setAttribute("role","tablist"),e.$.dropDownButton.setAttribute("role","button"),e.$.dropDownButton.setAttribute("aria-haspopup",!0),e.$.dropDownButton.setAttribute("aria-owns",e.$.dropDownButtonDropDown.id),e.$.dropDownButtonDropDown.setAttribute("role","menu"),e.disabled&&(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0),e.rightToLeft&&(e.$.tabsHeaderItems.removeChild(e.$.dropDownButton),"top"===e.tabPosition||"bottom"===e.tabPosition?e.$.tabsHeaderItems.insertBefore(e.$.dropDownButton,e.$.scrollButtonNear):e.$.tabsHeaderItems.insertBefore(e.$.dropDownButton,e.$.tabSelectionBar)),e._handlePosition(e.tabPosition),e._handleScrollButtonsPosition(e.scrollButtonsPosition,"both"),null!==e.dataSource&&e._processDataSource(),e._setFocusable(),e.collapsed&&!e.collapsible&&(e.collapsed=!1),e.collapsible&&e.allowToggle&&(e.allowToggle=!1),e._processHTML(),null===e.selectedIndex&&e.$.tabContentSection.setAttribute("show-placeholder",""),setTimeout((()=>e.refreshTabHeader()),300),e.$.hiddenInput.value=e.selectedIndex,e.enableShadowDOM&&HTMLElement.prototype.appendChild.apply(e,[e.$.hiddenInput])}propertyChangedHandler(e,t,o){super.propertyChangedHandler(e,t,o);const n=this;switch(e){case"addNewTab":o?n._insertAddNewTab():(n.$.tabStrip.removeChild(n._addNewTab),delete n._addNewTab),n._applyTabOverflow();break;case"allowToggle":o&&n.collapsible?(n.collapsed&&n._toggleCollapsedState(),n.collapsible=!1):o||null!==n.selectedIndex||(n.ensureVisible(n.selectedIndex=0),n._select(n.selectedIndex,!0,null));break;case"closeButtonMode":if("selected"===o){for(let e=0;e<n._tabs.length;e++)n._disableCloseButton(e);n._enableCloseButton(n.selectedIndex)}else{n._disableCloseButton(n.selectedIndex);const e=n._tabLabelContainers;for(let t=0;t<e.length;t++){const o=e[t];o.closeButtonEnabled=!0!==n._tabs[t].closeButtonHidden,n._showCloseButton(o)}}n._applyTabOverflow();break;case"closeButtons":{const e=n._tabLabelContainers,t=o?n._showCloseButton:n._hideCloseButton;for(let o=0;o<e.length;o++)t(e[o]);n._applyTabOverflow();break}case"collapsed":if(!n.collapsible&&o)return void(n.collapsed=!1);break;case"collapsible":!o&&n.collapsed&&(n.collapsed=!1),n.allowToggle=!1,void 0===n.selectedIndex&&n.select(n._focusedItem.index);break;case"dataSource":n.selectedIndex=null;for(let e=0;e<n._groupLabels.length;e++)n.$.container.removeChild(n._groupLabels[e].dropDown);n.$.tabStrip.innerHTML="",n._processDataSource(),n._processHTML();break;case"disabled":n._setFocusable(),n.$.scrollButtonNear.disabled=o,n.$.scrollButtonFar.disabled=o,o||n._updateScrollButtonVisibility(),n._closeDropDownButtonDropDown();break;case"messages":case"scrollMode":case"selectionMode":case"readonly":case"reorder":break;case"overflow":if("scroll"!==n.tabLayout)return;n.$.tabStrip.scrollLeft=n._getScrollLeft(0),n.$.tabStrip.scrollTop=0,"hidden"===o?(n.$tabsHeaderSection.removeClass("scroll-buttons-shown"),n.$scrollButtonNear.addClass("smart-hidden"),n.$scrollButtonFar.addClass("smart-hidden")):n._checkOverflowScroll(),n._getTabCoordinates();break;case"tabPosition":n.$.tabSelectionBar.style.transition="none",n._tabPositionChanging=!0,n._closeGroupDropDown(),n._handlePosition(o,t),"shrink"!==n.tabLayout&&n._applyLabelSizes("tabPosition"),n.rightToLeft&&(n.$.tabsHeaderItems.removeChild(n.$.dropDownButton),"top"===n.tabPosition||"bottom"===n.tabPosition?n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.scrollButtonNear):n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.tabSelectionBar)),n._applyTabOverflow(),delete n._tabPositionChanging,requestAnimationFrame((function(){n.$.tabSelectionBar.style.transition=null}));break;case"resize":o&&n._getTabCoordinates();break;case"rightToLeft":n._positionTabSelectionBar(n._tabLabelContainers[n.selectedIndex],!0),n.$.tabsHeaderItems.removeChild(n.$.dropDownButton),!o||"top"!==n.tabPosition&&"bottom"!==n.tabPosition?n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.tabSelectionBar):n.$.tabsHeaderItems.insertBefore(n.$.dropDownButton,n.$.scrollButtonNear),n.ensureVisible(n.selectedIndex);break;case"scrollButtonsPosition":n._handleScrollButtonsPosition(o,t);break;case"selectedIndex":{if(isNaN(o)&&(n.selectedIndex=o=t),!n.allowToggle&&null===o)return void(n.selectedIndex=t);let e=o;null!==o&&(e=Math.max(0,Math.min(o,n._tabs.length-1)),n.ensureVisible(e)),n._select(e,!0,t);break}case"tabLayout":"scroll"===t&&(n.$tabsHeaderSection.removeClass("scroll-buttons-shown"),n.$scrollButtonNear.addClass("smart-hidden"),n.$scrollButtonFar.addClass("smart-hidden")),"shrink"===o?n._applyLabelSizes("shrink",!0):"shrink"===t&&n._applyLabelSizes("shrink",!1),n._applyTabOverflow(),"scroll"===o&&n.disabled&&(n.$.scrollButtonNear.disabled=!0,n.$.scrollButtonFar.disabled=!0),n.ensureVisible(n.selectedIndex);break;case"tabTextOrientation":n._applyTabOverflow(),n.ensureVisible(n.selectedIndex);break;case"unfocusable":n._setFocusable()}}_addGroupContainer(e,t){const o=this,n=document.createElement("div"),a=document.createElement("div"),r=document.createElement("div"),s=document.createElement("div"),i=document.createElement("div");return n.className="smart-tab-group-container smart-unselectable",n.$=Smart.Utilities.Extend(n),n.setAttribute("role","group"),n.setAttribute("aria-expanded",!1),n.setAttribute("aria-haspopup",!0),n.setAttribute("aria-label",e),a.className="smart-tab-label-text-wrapper",a.setAttribute("role","presentation"),a.setAttribute("aria-hidden",!0),null!==t&&"shrink"!==o.tabLayout&&(n.style[o._orientationSettings.dimension]=parseInt(t,10)+"px"),r.className="smart-tab-label-text-container",r.innerHTML=e,s.className="smart-tab-group-arrow",i.className="smart-tab-group-drop-down smart-hidden",i.$=Smart.Utilities.Extend(i),i.id=o.id+"GroupDropDown"+e,i.setAttribute("role","tablist"),i.setAttribute("aria-orientation","vertical"),n.setAttribute("aria-owns",i.id),a.appendChild(r),a.appendChild(s),n.appendChild(a),o.$.container.appendChild(i),n.group=e,n.dropDown=i,i.groupContainer=n,{label:n,dropDown:i}}_addGroupElements(e){const t=this,o=e.groups,n=e.groupLabels,a=e.group,r=o.indexOf(a),s=e.tabLabelContainer;let i;if(-1!==r)i=n[r],i.dropDown.appendChild(s);else{o.push(a);const r=t._addGroupContainer(a,e.smartTabItemsGroup.labelSize),l=r.dropDown;i=r.label,l.appendChild(s),l.groupContainer=r.label,e.documentFragment.appendChild(i),n.push(i)}t.selectedIndex===e.i&&(t._selectedGroup=i,i.$.addClass("smart-tab-group-selected"))}_addNewTabHandler(e,t,o){const n=this;n._swiping||(o?(e.removeAttribute("hover"),n.addNewTabAutoCreate&&(n.insert(n._tabs.length,{label:"New Tab",content:""}),n._select(n._tabs.length-1,!0)),n.$.fireEvent("addNewTabClick")):n._reordering||n._swiping||("mouseover"===t?e.setAttribute("hover",""):"mouseout"===t&&e.removeAttribute("hover")))}_addTabLabelContainer(e,t){const o=this,n=document.createElement("div"),a=document.createElement("div"),r=document.createElement("div"),s=document.createElement("div");let i;return e&&(e.disabled?n.setAttribute("disabled",""):n.removeAttribute("disabled")),n.className="smart-tab-label-container smart-unselectable",a.className="smart-tab-label-text-wrapper",r.className="smart-tab-label-text-container",r.setAttribute("role","presentation"),s.className="smart-tab-close-button",s.setAttribute("role","button"),s.setAttribute("aria-label","Close"),void 0===t?(o.closeButtons?"default"===o.closeButtonMode&&e.closeButtonHidden||"selected"===o.closeButtonMode&&!e.selected?(s.classList.add("smart-hidden"),n.closeButtonEnabled=!1):(r.classList.add("smart-close-button-enabled"),n.closeButtonEnabled=!0):(s.classList.add("smart-hidden"),n.closeButtonEnabled=!0),i=document.createElement("div"),i.className="smart-tab-label-container smart-unselectable",e&&null===e.group&&null!==e.labelSize&&"shrink"!==o.tabLayout&&(n.style[o._orientationSettings.dimension]=parseInt(e.labelSize,10)+"px")):(s.classList.add("smart-hidden"),n.closeButtonEnabled=!1),o._setLabel(e?e.label:"+",r,i),r.$=Smart.Utilities.Extend(r),s.$=Smart.Utilities.Extend(s),a.appendChild(r),a.appendChild(s),n.appendChild(a),n.$=Smart.Utilities.Extend(n),{tabLabelContainer:n,dropDownLabelContainer:i}}_animateSelection(e,t,o){const n=this;let a="right",r="left";if(n.rightToLeft&&(a="left",a="right"),n._animatedTab=e,n._animatedOldTab=t,n._animatedTab&&n._animatedOldTab){"left"!==n.tabPosition&&"right"!==n.tabPosition||(a="top",r="bottom");for(let e=0;e<n._tabs.length;e++)n._tabs[e].$.removeClass(a),n._tabs[e].$.removeClass(r),n._tabs[e].$.removeClass("animate");if(e===t)return e.$.hasClass("smart-visibility-hidden")?e.$.removeClass("smart-visibility-hidden"):e.$.addClass("smart-visibility-hidden"),void(n._animatedOldTab.classToRemove=a);o?(e.$.addClass(a),e.$.removeClass("smart-visibility-hidden"),t.$.addClass("smart-visibility-hidden"),requestAnimationFrame((()=>{t.$.addClass("animate"),e.$.addClass("animate"),requestAnimationFrame((()=>{t.$.addClass(r),e.$.removeClass(a)}))})),n._animatedOldTab.classToRemove=r):(e.$.addClass(r),e.$.removeClass("smart-visibility-hidden"),t.$.addClass("smart-visibility-hidden"),requestAnimationFrame((()=>{t.$.addClass("animate"),e.$.addClass("animate"),requestAnimationFrame((()=>{t.$.addClass(a),e.$.removeClass(r)}))})),n._animatedOldTab.classToRemove=a)}}_applyConditionalTabOverflow(){const e=this,t="left"===e.tabPosition||"right"===e.tabPosition,o=e.$.tabStrip;if("scroll"!==e.tabLayout){if(e._flexWritingModeNoFullSupport&&"shrink"===e.tabLayout&&t&&o.scrollHeight>o.offsetHeight){const t=o.children,n=100/t.length+"%";o.$.addClass("shrink-tabs-vertical");for(let e=0;e<t.length;e++)t[e].style.height=n,t[e].firstElementChild.firstElementChild.classList.add("smart-tab-label-text-container-full-height");e._inlineStyleTabStripChildren=!0}}else e._checkOverflowScroll()}_applyLabelSizes(e,t){const o=this,n=o._orientationSettings.dimension,a="width"===n?"height":"width";for(let r=0;r<o._reorderItems.length;r++){const s=o._reorderItems[r],i=o._getCorrespondingCustomElement(s);null!==i.labelSize&&("tabPosition"===e&&s.style.removeProperty(a),t?s.style.removeProperty(n):s.style[n]=parseInt(i.labelSize,10)+"px")}}refresh(){this._applyTabOverflow()}_applyTabOverflow(){const e=this;if(!e._tabs)return;if(e._removeInlineStyle(),0===e._tabs.length)return void e._toggleNavigationElementsVisibility();const t=e.tabLayout,o=e.tabPosition,n="left"===o||"right"===o,a=e.$.tabStrip;switch(e._closeDropDownButtonDropDown(),t){case"scroll":case"dropDown":e._flexWritingModeNoFullSupport&&"vertical"===e.tabTextOrientation&&n&&e._fixTabStripNotChrome(a);break;case"wrap":if("vertical"===e.tabTextOrientation)if(e._flexWritingModeNoFullSupport)if(n)e._fixTabStripNotChrome(a);else{const t=a.children;let o=t[0].offsetHeight;for(let e=1;e<t.length;e++)o=Math.max(o,t[e].offsetHeight);for(let e=1;e<t.length;e++)t[e].style.height=o+"px";e._inlineStyleTabStripChildren=!0}else n||a.scrollHeight>a.offsetHeight&&(a.style.height=a.scrollHeight+"px",e._inlineStyleTabStrip=!0);else n&&a.scrollWidth>a.offsetWidth&&(a.style.width=a.scrollWidth+"px","right"===o&&(a.style.flexWrap="wrap-reverse"),e._inlineStyleTabStrip=!0);break;case"shrink":if(n){if(e._flexWritingModeNoFullSupport&&"vertical"===e.tabTextOrientation){const t=a.children,o=window.getComputedStyle(t[0].firstElementChild),n=parseInt(o.paddingLeft,10)+parseInt(o.paddingRight,10);let r=0;for(let e=0;e<t.length;e++)r=Math.max(r,t[e].firstElementChild.firstElementChild.offsetWidth);a.style.width=n+r+"px",e._inlineStyleTabStrip=!0;break}}else a.scrollWidth>a.offsetWidth&&a.$.addClass("shrink-tabs")}e._applyConditionalTabOverflow(),e._getTabCoordinates(),e._fixTabStripFlex(t),e._toggleNavigationElementsVisibility(),e._positionTabSelectionBar(e._tabLabelContainers[e.selectedIndex],!0)}_checkOverflowScroll(){const e=this,t=e.$tabsHeaderSection,o=e.$.tabStrip,n=e.overflow;if("hidden"===n)return;let a,r,s;if("left"!==e.tabPosition&&"right"!==e.tabPosition){const t=Math.abs(e._getScrollLeft());a=Math.round(o.scrollWidth)>Math.round(o.offsetWidth),e.rightToLeft?(s=Math.round(t)>0,r=Math.round(o.offsetWidth+t)<Math.round(o.scrollWidth)):(r=Math.round(t)>0,s=Math.round(o.offsetWidth+t)<Math.round(o.scrollWidth))}else a=Math.round(o.scrollHeight)>Math.round(o.offsetHeight),r=Math.round(o.scrollTop)>0,s=Math.round(o.offsetHeight+o.scrollTop)<Math.round(o.scrollHeight);"scroll"===n&&(t.addClass("scroll-buttons-shown"),e.$scrollButtonNear.removeClass("smart-hidden"),e.$scrollButtonFar.removeClass("smart-hidden")),a?"auto"===n?(t.hasClass("scroll-buttons-shown")||t.addClass("scroll-buttons-shown"),r?e.$scrollButtonNear.removeClass("smart-hidden"):e.$scrollButtonNear.addClass("smart-hidden"),s?e.$scrollButtonFar.removeClass("smart-hidden"):e.$scrollButtonFar.addClass("smart-hidden"),!1===(r&&s)?t.addClass("one-button-shown"):t.removeClass("one-button-shown"),e.disabled||(e.$.scrollButtonNear.disabled=!1,e.$.scrollButtonFar.disabled=!1)):(t.removeClass("one-button-shown"),e.disabled?(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0):(e.$.scrollButtonNear.disabled=!r,e.$.scrollButtonFar.disabled=!s)):!a&&"auto"===n&&t.hasClass("scroll-buttons-shown")?(t.removeClass("scroll-buttons-shown"),t.removeClass("one-button-shown"),e.$scrollButtonNear.addClass("smart-hidden"),e.$scrollButtonFar.addClass("smart-hidden")):a||"scroll"!==n||(e.$.scrollButtonNear.disabled=!0,e.$.scrollButtonFar.disabled=!0)}_closeButtonVisibilityChangeHandler(e){const t=this,o=(Smart.EnableShadowDOM?e.composedPath()[0]:e.target).index;"selected"!==t.closeButtonMode?e.detail.hidden?t._disableCloseButton(o):t._enableCloseButton(o):t._tabLabelContainers[o].closeButtonEnabled=e.detail.hidden}_closeDropDownButtonDropDown(){const e=this;e._dropDownButtonDropDownOpened&&(e.$.dropDownButton.setAttribute("aria-expanded",!1),e.$dropDownButtonDropDown.addClass("smart-hidden"),e._dropDownButtonDropDownOpened=!1)}_closeGroupDropDown(){const e=this;if(!e._openDropDown)return;const t=e._openDropDown.groupContainer;e._openDropDown.rippleInProgress?setTimeout((function(){e._openDropDown&&(t.setAttribute("aria-expanded",!1),e._openDropDown.$.addClass("smart-hidden"),delete e._openDropDown.rippleInProgress,e._openDropDown=void 0)}),450):(t.setAttribute("aria-expanded",!1),e._openDropDown.$.addClass("smart-hidden"),e._openDropDown=void 0)}_containerHandler(e){const t=this,o=e.type;if(t.disabled||t.readonly||t._resizing&&"mouseout"!==o||("down"===o||"up"===o)&&1!==e.which&&!Smart.Utilities.Core.isMobile)return;const n=t.shadowRoot||t.isInShadowDOM?(e.originalEvent||e).composedPath()[0]:(e.originalEvent||e).target;t.$.tabContentSection.contains(n)||(t.$.dropDownButton.contains(n)?t._dropDownButtonHandler(n,e):t.$.dropDownButtonDropDown.contains(n)?t._dropDownButtonHandler(n,e,!0):t._tabStripHandler(n,e))}_disableCloseButton(e){const t=this,o=t._tabLabelContainers[e];o.closeButtonEnabled=!1,t.closeButtons&&t._hideCloseButton(o)}_documentMoveHandler(e){const t=this,o=t._orientationSettings;if(t._reordering){t._reorderStartThrown||(t._fireDragEvent(e,"dragStart"),t._reorderStartThrown=!0);const n=e[o.coordinate],a="wrap"!==t.tabLayout?function(e){return n>=e[o.from]&&n<=e[o.to]}:function(t){return e.pageX>=t.fromX&&e.pageX<=t.toX&&e.pageY>=t.fromY&&e.pageY<=t.toY};let r=!1;for(let e=0;e<t._tabCoordinates.length;e++)if(a(t._tabCoordinates[e])){r=e;break}!0!==t._preventReorder&&!1!==r&&r!==t._draggedIndex&&(t._reorderTabs(t._draggedIndex,r),t._closeGroupDropDown(),t._draggedIndex=r,t._getReorderItems(),t._getTabCoordinates());const s=t._tabCoordinates[t._draggedIndex];"wrap"!==t.tabLayout&&(n<s[o.from]||n>s[o.to])||"wrap"===t.tabLayout&&(null!==e.originalEvent.target.closest(".smart-tab-label-container")||null!==e.originalEvent.target.closest(".smart-tab-group-container"))&&!(e.pageX>=s.fromX&&e.pageX<=s.toX&&e.pageY>=s.fromY&&e.pageY<=s.toY)?t._preventReorder=!0:t._preventReorder=!1}else t._resizing&&(t.$.resizeToken.style[o.edge]=e[o.coordinate]-t._tabsHeaderSectionCoordinate+"px",t.$resizeToken.removeClass("smart-hidden"))}_documentUpHandler(e){const t=this;let o=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;t.$.container.contains(o)&&t._containerHandler(e),t._touchmoveInside?t._endSwiping(e,Date.now()):(delete t._dragStartDetails,delete t._swiping),delete t._touchCoords,delete t._touchmoveInside,!t._openDropDown||t._openDropDown.rippleInProgress||o!==document&&o.closest(".smart-tab-group-container")===t._openDropDown.groupContainer||"pointercancel"===e.originalEvent.type||t._closeGroupDropDown(),t.$.dropDownButton.contains(o)||"pointercancel"===e.originalEvent.type||t._closeDropDownButtonDropDown(),t._endReordering(e,o),t._resize(e),void 0!==t._tabToResize&&(t._tabToResize=void 0),delete t._downTarget}_dropDownButtonHandler(e,t,o){const n=this,a=t.type;if(o){if(e.classList.contains("smart-tab-label-container"))switch(a){case"down":n._downTarget=e;break;case"mouseout":e.removeAttribute("hover");break;case"mouseover":e.setAttribute("hover","");break;case"up":e===n._downTarget&&t.originalEvent&&"pointercancel"!==t.originalEvent.type&&(n.select(Array.from(n.$.dropDownButtonDropDown.children).indexOf(e)),n._closeDropDownButtonDropDown())}}else if("down"===a)n._downTarget=n.$.dropDownButton;else if("up"===a&&n._downTarget===n.$.dropDownButton)if(n._dropDownButtonDropDownOpened)n._closeDropDownButtonDropDown();else{const e=n.tabPosition;let t,o;switch(n.$.dropDownButton.setAttribute("aria-expanded",!0),e){case"top":t=n.$.dropDownButton.offsetLeft,o=n.$.tabsHeaderSection.offsetTop+n.$.dropDownButton.offsetHeight;break;case"bottom":t=n.$.dropDownButton.offsetLeft,o=n.$.tabsHeaderSection.offsetTop;break;case"left":t=n.$.dropDownButton.offsetWidth,o=n.$.dropDownButton.offsetTop;break;case"right":t=n.$.tabsHeaderSection.offsetLeft,o=n.$.dropDownButton.offsetTop}n.$.dropDownButtonDropDown.style.left=t+"px",n.$.dropDownButtonDropDown.style.top=o+"px",n.$dropDownButtonDropDown.removeClass("smart-hidden"),n._dropDownButtonDropDownOpened=!0}}_enableCloseButton(e){const t=this,o=t._tabLabelContainers[e];o.closeButtonEnabled=!0,t.closeButtons&&t._showCloseButton(o)}_endReordering(e,t){const o=this;o._reordering&&(o._draggedHoveredTab&&(o._draggedHoveredTab.contains(t)||o._draggedHoveredTab.removeAttribute("hover"),delete o._draggedHoveredTab),o._reorderedIndex=void 0,o._reordering=!1,o._reorderStartThrown=!1,o.removeAttribute("dragged"),e&&o._fireDragEvent(e,"dragEnd"))}_endSwiping(e,t){const o=this;if(!o._dragStartDetails)return;const n=o._orientationSettings,a=o.$.tabStrip,r=Math.abs(o._dragStartDetails.startTime-t),s=200/r,i=(o._dragStartDetails[n.startCoordinate]-e[n.coordinate])*s;let l=Math.abs(i);const d=function(){if(o.rightToLeft&&"scrollLeft"===n.scrollDirection){const e=Math.abs(o._getScrollLeft());if(i<0&&e===a[n.scrollSize]-a[n.size]||i>0&&0===e)return!1}else if(i>0&&a[n.scrollDirection]===a[n.scrollSize]-a[n.size]||i<0&&0===a[n.scrollDirection])return!1;return!0};let c=.03*Math.abs(i)*s;const b=function(){if(c>5){const e=(l-c)/Math.abs(i);e<.1?c/=1.25:e<.15?c/=1.2:e<.2?c/=1.15:e<.25?c/=1.1:e<.3&&(c/=1.05)}c=Math.round(c);const e=a[n.scrollDirection];o.rightToLeft&&"scrollLeft"===n.scrollDirection?Smart.Utilities.Core.Browser.Chrome?a[n.scrollDirection]=i>0?Math.max(e+c,0):Math.min(e-c,a[n.scrollSize]-a[n.size]):a[n.scrollDirection]=i>0?Math.min(e+c,a[n.scrollSize]-a[n.size]):Math.min(e-c,0):a[n.scrollDirection]=i>0?Math.min(e+c,a[n.scrollSize]-a[n.size]):Math.max(e-c,0),l-=c,o._updateScrollButtonVisibility(!0);const t=d();l>0&&t?o._scrollingAnimationFrame=window.requestAnimationFrame(b):o._wheelInProgress=!1};o._scrollingAnimationFrame&&cancelAnimationFrame(o._scrollingAnimationFrame),r<500&&d()?o._scrollingAnimationFrame=window.requestAnimationFrame(b):o._wheelInProgress=!1,delete o._dragStartDetails,o._swiping&&delete o._swiping}_fireDragEvent(e,t){const o=this,n=o.$.tabStrip.children[o._draggedIndex],a=n.tab;let r,s,i;a?(r=a.selected,s=a.index,i=a.label):i=n.group,o.$.fireEvent(t,{position:{left:e.pageX,top:e.pageY},left:e.pageX,top:e.pageY,target:n,selected:r,index:s,label:i})}_fixTabStripNotChrome(e){const t=this;function o(){const o=[].slice.call(e.children).filter((e=>!e._lazyRemove));let n=o[0].getBoundingClientRect(),a=n.left,r=a+o[0].offsetWidth;for(let e=1;e<o.length;e++)n=o[e].getBoundingClientRect(),a=Math.min(a,n.left),r=Math.max(r,n.left+o[e].offsetWidth);e.style.width=r-a+"px",t._inlineStyleTabStrip=!0}0!==t._tabs.length&&(o(),Smart.Utilities.Core.Browser.Safari&&setTimeout((function(){e.parentElement.classList.add("smart-hidden"),setTimeout((function(){e.parentElement.classList.remove("smart-hidden"),o()}),10)}),10),t.$.fireEvent("tabStripResize"))}_fixTabStripFlex(e){const t=this;t._flexWritingModeNoFullSupport||"vertical"!==t.tabTextOrientation||"left"!==t.tabPosition&&"right"!==t.tabPosition||setTimeout((function(){t.$tabsHeaderSection.addClass("smart-hidden"),setTimeout((function(){t.$tabsHeaderSection.removeClass("smart-hidden"),t._getTabCoordinates(),"scroll"===e&&t._checkOverflowScroll()}),10)}),10)}_getCorrespondingCustomElement(e){return e.$.hasClass("smart-tab-label-container")?e.tab:this.$.tabContentSection.querySelector('smart-tab-items-group[label="'+e.group+'"]')}_getReorderItems(){const e=this;let t;0===e._groups.length?t=e._tabLabelContainers:(t=Array.from(e.$.tabStrip.children),e.addNewTab&&t.pop()),e._reorderItems=t}_getTabCoordinates(){const e=this;if(!e.reorder&&!e.resize||"hidden"===e.tabPosition)return;const t=[],o=window.scrollX||window.pageXOffset,n=window.scrollY||window.pageYOffset;for(let a=0;a<e._reorderItems.length;a++){const r=e._reorderItems[a],s=r.getBoundingClientRect(),i=window.getComputedStyle(r),l=parseFloat(i.marginLeft),d=parseFloat(i.marginRight),c=parseFloat(i.marginTop),b=parseFloat(i.marginBottom);t.push({fromX:s.left-l+o,toX:s.right+d+o,fromY:s.top-c+n,toY:s.bottom+b+n})}e._tabCoordinates=t}_getTabs(){const e=this;let t=e.shadowRoot?e.shadowRoot.querySelectorAll("smart-tab-item"):e.getElementsByTagName("smart-tab-item");if(e.querySelector("smart-tabs")){t=e.shadowRoot?e.shadowRoot.querySelectorAll("smart-tab-item"):e.getElementsByTagName("smart-tab-item");let o=[];const n=e.querySelector(".smart-tabs-content-section");if(n){for(let e=0;e<t.length;e++)t[e].parentNode===n&&o.push(t[e]);t=o}}null!==e.selectedIndex&&(0===t.length?e.selectedIndex=null:e.selectedIndex=Math.max(0,Math.min(e.selectedIndex,t.length-1))),e._tabs=Array.from(t),e.$.hiddenInput.value=e.selectedIndex}_groupContainerHandler(e,t){const o=this,n=e.dropDown;if("down"===t)return o._downTarget=e,void(o.reorder&&o._reorderItems.length>1&&(o._getTabCoordinates(),o._reordering=!0,o.setAttribute("dragged",""),o._draggedIndex=Array.from(o.$.tabStrip.children).indexOf(e)));o._reordering||o._swiping||(n===o._openDropDown||"mouseover"!==t||e.classList.contains("smart-tab-group-selected")?"mouseout"===t&&e.removeAttribute("hover"):e.setAttribute("hover","")),"up"!==t||o._downTarget!==e||void 0!==o._reorderedIndex||o._swiping||(n===o._openDropDown?(o._closeGroupDropDown(),e.classList.contains("smart-tab-group-selected")||e.setAttribute("hover","")):o._openGroupDropDown(e))}_handlePosition(e,t){const o=this;if(-1===[void 0,"top","left","hidden"].indexOf(t)||"bottom"!==e&&"right"!==e?"bottom"!==t&&"right"!==t||-1===["top","left","hidden"].indexOf(e)||o.$.container.insertBefore(o.$.tabsHeaderSection,o.$.tabContentSection):o.$.container.insertBefore(o.$.tabContentSection,o.$.tabsHeaderSection),"hidden"===e)return o._orientationSettings={coordinate:"pageY",dimension:"height",edge:"top",from:"fromY",size:"offsetHeight",to:"toY",scrollDirection:"scrollTop",scrollSize:"scrollHeight",startCoordinate:"startY",wheelOffset:35},o.removeAttribute("horizontal"),o.removeAttribute("vertical"),void o.setAttribute("aria-orientation","horizontal");"top"===e||"bottom"===e?(o._orientationSettings={coordinate:"pageX",dimension:"width",edge:"left",from:"fromX",size:"offsetWidth",to:"toX",scrollDirection:"scrollLeft",scrollSize:"scrollWidth",startCoordinate:"startX",wheelOffset:70},o.removeAttribute("vertical"),o.setAttribute("horizontal",""),o.$arrowNear.removeClass("smart-arrow-up"),o.$arrowNear.addClass("smart-arrow-left"),o.$arrowFar.removeClass("smart-arrow-down"),o.$arrowFar.addClass("smart-arrow-right"),o.setAttribute("aria-orientation","horizontal"),o.$.scrollButtonNear.setAttribute("aria-label","Scroll left"),o.$.scrollButtonFar.setAttribute("aria-label","Scroll right")):(o._orientationSettings={coordinate:"pageY",dimension:"height",edge:"top",from:"fromY",size:"offsetHeight",to:"toY",scrollDirection:"scrollTop",scrollSize:"scrollHeight",startCoordinate:"startY",wheelOffset:35},o.removeAttribute("horizontal"),o.setAttribute("vertical",""),o.$arrowNear.removeClass("smart-arrow-left"),o.$arrowNear.addClass("smart-arrow-up"),o.$arrowFar.removeClass("smart-arrow-right"),o.$arrowFar.addClass("smart-arrow-down"),o.setAttribute("aria-orientation","vertical"),o.$.scrollButtonNear.setAttribute("aria-label","Scroll up"),o.$.scrollButtonFar.setAttribute("aria-label","Scroll down"))}_handleScrollButtonsPosition(e,t){const o=this,n=o.$.tabsHeaderItems;e!==t&&("both"===e?"near"===t?n.insertBefore(o.$.scrollButtonFar,o.$.dropDownButton):n.insertBefore(o.$.scrollButtonNear,o.$.tabStrip):"near"===e?("far"===t&&n.insertBefore(o.$.scrollButtonNear,o.$.tabStrip),n.insertBefore(o.$.scrollButtonFar,o.$.tabStrip)):("near"===t&&n.insertBefore(o.$.scrollButtonFar,o.$.dropDownButton),n.insertBefore(o.$.scrollButtonNear,o.$.scrollButtonFar)))}_hideCloseButton(e){e.firstElementChild.children[0].$.removeClass("smart-close-button-enabled"),e.firstElementChild.children[1].$.addClass("smart-hidden")}_indexChangeHandler(e){const t=this,o=e.detail.oldIndex,n=Math.max(0,Math.min(e.detail.newIndex,t._tabs.length-1));if(o!==n){if(0===t._groups.length)t._reorderTabs(o,n);else{const a=e.detail.tabItem;a._setIndex(o),t.removeAt(o),t.insert(n,{node:a}),t.selectedIndex===o&&t._select(n,!1)}t._reorderedIndex=void 0}}_insertAddNewTab(){const e=this,t=e._addTabLabelContainer(void 0,!0).tabLabelContainer;t.$.addClass("smart-add-new-tab"),e.$.tabStrip.appendChild(t),e._addNewTab=t}_insertIntoExistingGroup(e){const t=this,o=e.smartTabItemsGroup,n=e.tab,a=e.tabLabelContainer,r=e.group,s=t._groupLabels[t._groups.indexOf(r)].dropDown;let i=e.index;i=Math.max(0,Math.min(i,o.childElementCount)),s.insertBefore(a,s.children[i]);const l=o.children[i];let d;d=l?l.index:o.children[i-1].index+1,o.insertBefore(n,l),t._tabLabelContainers.splice(d,0,a),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[d]||null),t._tabs.splice(d,0,n),i=d,n.group=r,t._updateIndexes(i)}_insertIntoNewGroup(e){const t=this,o=e.tab,n=e.tabLabelContainer,a=e.group,r=t._addGroupContainer(a),s=r.label;r.dropDown.appendChild(n),t._groups.push(a);let i=Math.max(0,Math.min(e.index,t.$.tabStrip.childElementCount)),l=i;t._addNewTab&&l===t.$.tabStrip.childElementCount&&l--,t.$.tabStrip.insertBefore(s,t.$.tabStrip.children[l]||null),t._groupLabels.push(s);const d=document.createElement("smart-tab-items-group");d.appendChild(o),t.$.tabContentSection.insertBefore(d,t.$.tabContentSection.children[i]),d.label=a;const c=d.previousElementSibling;let b=0;c&&(c instanceof Smart.TabItem?b=c.index+1:c&&(b=c.lastElementChild.index+1)),t._tabLabelContainers.splice(b,0,n),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[b]||null),t._tabs.splice(b,0,o),i=b,o.group=a,t._updateIndexes(i)}_insertNearAGroup(e){const t=this,o=e.tab,n=e.tabLabelContainer;let a=e.index;a=Math.max(0,Math.min(a,t._tabs.length));const r=t._tabs[a-1],s=t._tabs[a],i=s?s.group:void 0;r&&null!==r.group&&s&&null!==i?(s.tabLabelContainer.parentElement.insertBefore(n,s.tabLabelContainer),s.parentElement.insertBefore(o,s),o.group=i):s?null!==i?(t.$.tabStrip.insertBefore(n,t._groupLabels[t._groups.indexOf(i)]),t.$.tabContentSection.insertBefore(o,t.$.tabContentSection.querySelector('smart-tab-items-group[label="'+i+'"]'))):(t.$.tabStrip.insertBefore(n,s.tabLabelContainer),t.$.tabContentSection.insertBefore(o,s)):(t.$.tabStrip.insertBefore(n,t._addNewTab||null),t.$.tabContentSection.appendChild(o)),t._tabLabelContainers.splice(a,0,n),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[a]||null),t._tabs.splice(a,0,o),t._updateIndexes(a)}_insertNoGrouping(e){const t=this,o=Math.max(0,Math.min(e.index,t._tabs.length)),n=e.tab,a=e.tabLabelContainer;t.$.tabStrip.insertBefore(a,t._tabLabelContainers[o]||t._addNewTab||null),t.$.tabContentSection.insertBefore(n,t._tabs[o]||null),t._tabLabelContainers.splice(o,0,a),t.$.dropDownButtonDropDown.insertBefore(e.dropDownLabelContainer,t.$.dropDownButtonDropDown.children[o]||null),t._tabs.splice(o,0,n),t._updateIndexes(o)}_keydownHandler(e){const t=this,o=e.key;if((t.isInShadowDOM?t.getRootNode().activeElement:document.activeElement)!==t||-1===["ArrowLeft","ArrowDown","ArrowRight","ArrowUp","End","Home","Enter"," ","Escape"].indexOf(o)||t.disabled||t.readonly||"none"===t.selectionMode||!t.allowToggle&&null===t.selectedIndex||t._reordering||t._swiping)return;e.preventDefault();const n=t._tabs.length-1;let a,r,s,i,l=0;switch(t.rightToLeft?(s="ArrowRight",i="ArrowLeft"):(s="ArrowLeft",i="ArrowRight"),o){case s:case"ArrowUp":if(t.collapsible&&e.ctrlKey)return void(o===s?"right"===t.tabPosition?t.expand():"left"===t.tabPosition&&t.collapse():"ArrowUp"===o&&("bottom"===t.tabPosition?t.expand():"top"===t.tabPosition&&t.collapse()));if(l=-1,0===t.selectedIndex){r=!0;break}a=t.selectedIndex+l;break;case i:case"ArrowDown":if(t.collapsible&&e.ctrlKey)return void(o===i?"right"===t.tabPosition?t.collapse():"left"===t.tabPosition&&t.expand():"ArrowDown"===o&&("bottom"===t.tabPosition?t.collapse():"top"===t.tabPosition&&t.expand()));if(l=1,t.selectedIndex===n){r=!0;break}a=t.selectedIndex+l;break;case"End":if(t.selectedIndex===n){r=!0;break}a=n;break;case"Home":if(0===t.selectedIndex){r=!0;break}a=0;break;case"Enter":case" ":if(!t.allowToggle)return;if(t._focusedItem){t.select(t._focusedItem.index);const e=t._focusedItem.tabLabelContainer.closest(".smart-tab-group-drop-down");e&&t._openGroupDropDown(e.groupContainer)}return;case"Escape":return void(t._openDropDown&&t._closeGroupDropDown())}if(t.allowToggle&&t._tabs.length>0){t._focusedItem?t._focusedItem.tabLabelContainer.removeAttribute("focus"):t._focusedItem=t._focusedItem||t._tabs[t.selectedIndex]||t._tabs[0],t._focusedItem=t._tabs[Math.min(Math.max(0,t._focusedItem.index+l),n)],t._focusedItem.tabLabelContainer.setAttribute("focus",""),t.ensureVisible(t._focusedItem.index);const e=t._focusedItem.tabLabelContainer.closest(".smart-tab-group-drop-down");e&&e.groupContainer?(t._openDropDown&&t._openDropDown!==e.dropDown&&t._closeGroupDropDown(),t._openGroupDropDown(e.groupContainer)):t._openDropDown&&t._closeGroupDropDown()}else r||t.select(a)}_labelContainerHandler(e,t,o){const n=this,a="up"===o&&n._downTarget===e;if("down"===o&&(n._downTarget=e,"click"===n.selectionMode&&e!==n._addNewTab))if(Smart.Utilities.Core.isMobile&&null===e.tab.group){const o=n.$.tabStrip[n._orientationSettings.scrollDirection];setTimeout((function(){o===n.$.tabStrip[n._orientationSettings.scrollDirection]&&n._ripple(t,e)&&n._openDropDown&&n._openDropDown.contains(e)&&(n._openDropDown.rippleInProgress=!0)}),100)}else n._ripple(t,e)&&n._openDropDown&&n._openDropDown.contains(e)&&(n._openDropDown.rippleInProgress=!0);if(e===n._addNewTab)return void n._addNewTabHandler(e,o,a);const r=e.tab.index,s=!(n._reordering&&void 0!==n._reorderedIndex);a&&r===n.selectedIndex&&(n._closeGroupDropDown(),s&&null===e.tab.group&&n._toggleCollapsedState()),!n._swiping&&(s&&"click"===n.selectionMode&&a||!n._reordering&&(n.selectionMode===o||"mouseenter"===n.selectionMode&&"mouseover"===o))&&n._select(r,!0),n._reordering||n._swiping||"click"!==n.selectionMode&&"dblclick"!==n.selectionMode||("mouseover"!==o||e.hasAttribute("selected")?"mouseout"===o&&e.removeAttribute("hover"):e.setAttribute("hover","")),n.reorder&&"down"===o&&null===e.tab.group&&n._reorderItems.length>1&&(n._getTabCoordinates(),n._reordering=!0,n.setAttribute("dragged",""),e.hasAttribute("hover")&&(n._draggedHoveredTab=e),0===n._groups.length?n._draggedIndex=e.tab.index:n._draggedIndex=Array.from(n.$.tabStrip.children).indexOf(e))}_labelSizeChangeHandler(e){const t=this,o=e.detail.size;let n;"shrink"!==t.tabLayout&&(n=e.target instanceof Smart.TabItem?e.target.tabLabelContainer:t._groupLabels[t._groups.indexOf(e.target.label)],null!==o?n.style[t._orientationSettings.dimension]=parseInt(o,10)+"px":n.style.removeProperty(t._orientationSettings.dimension),t._applyTabOverflow())}_openGroupDropDown(e){const t=this;e&&(t._openDropDown&&t._openDropDown.$.addClass("smart-hidden"),e.dropDown.$.removeClass("smart-hidden"),t._positionGroupDropDown(e),t._openDropDown=e.dropDown,e.removeAttribute("hover"),e.setAttribute("aria-expanded",!0))}_orderTabs(){const e=this,t=[],o=[];let n=!0,a=!1;if(0===e.getElementsByTagName("smart-tab-items-group").length)for(let r=0;r<e._tabs.length;r++){const s=e._tabs[r],i=s.index;if(n&&null!==i&&(n=!1),-1!==t.indexOf(i||0)&&(a=!0,null!==i))break;t.push(i||0),o.push({tab:s,index:i})}if(!a){const e=t.slice(0).sort((function(e,t){return e-t}));JSON.stringify(t)===JSON.stringify(e)&&(n=!0)}if(n||a){n||e.warn(e.localize("ambiguousIndexes"));for(let t=0;t<e._tabs.length;t++)e._tabs[t]._setIndex(t)}else{o.sort((function(e,t){return e.index-t.index}));for(let t=0;t<o.length;t++){const n=o[t].tab;n._setIndex(t),e.$.tabContentSection.removeChild(n)}for(let t=0;t<o.length;t++){const n=o[t].tab;e.$.tabContentSection.appendChild(n),e._tabs[t]=n}}}_populateTabStrip(){const e=this,t=document.createDocumentFragment(),o=[],n=[],a=[];let r=null;for(let s=0;s<e._tabs.length;s++){const i=e._tabs[s],l=i.parentElement,d=l instanceof Smart.TabItemsGroup?l.label:null;i.group=d;const c=e._addTabLabelContainer(i),b=c.tabLabelContainer,p=c.dropDownLabelContainer;e.selectedIndex===s&&(b.$.addClass("smart-tab-selected"),b.setAttribute("selected",""),r=b),i.tabLabelContainer=b,b.tab=i,o.push(b),e._setAriaRelations(i,b,p),null===d?t.appendChild(b):e._addGroupElements({documentFragment:t,groups:n,groupLabels:a,i:s,group:d,tabLabelContainer:b,smartTabItemsGroup:l}),e.$.dropDownButtonDropDown.appendChild(p)}e.$.tabStrip.appendChild(t),e._tabLabelContainers=o,e._groups=n,e._groupLabels=a,e._positionTabSelectionBar(r,!0)}_setAriaRelations(e,t,o){const n=this.id;e.id||(e.id=n+"TabItem"+e.index),t.id||(t.id=n+"TabLabelContainer"+e.index),t.setAttribute("role","tab"),t.setAttribute("aria-controls",e.id),t.setAttribute("aria-label",e.label),t.setAttribute("aria-selected",e.selected),e.setAttribute("aria-label",e.label),o.setAttribute("role","menuitem"),o.setAttribute("aria-controls",e.id)}_positionTabSelectionBar(e,t){const o=this;if(!e)return;const n=o.tabPosition;let a,r,s,i;if(t&&(o.$.tabSelectionBar.style.transition="none"),e.tab.group&&(e=o._groupLabels[o._groups.indexOf(e.tab.group)]),"top"===n||"bottom"===n){if("wrap"===o.tabLayout?(r=e.offsetTop,"top"===n&&(r+=e.offsetHeight-o.$.tabSelectionBar.offsetHeight),r+="px"):r=null,i=null,o.rightToLeft&&"horizontal"===o.tabTextOrientation)if(Smart.Utilities.Core.Browser.Chrome){const t=o.$.tabStrip;a=-(t.scrollLeft-(t.scrollWidth-t.offsetWidth))+e.offsetLeft+"px"}else a=-o.$.tabStrip.scrollLeft+e.offsetLeft+"px";else a=-o.$.tabStrip.scrollLeft+e.offsetLeft+"px";s=e.offsetWidth+"px"}else"left"!==n&&"right"!==n||("wrap"===o.tabLayout?(a=e.offsetLeft,"left"===n&&(a+=e.offsetWidth-o.$.tabSelectionBar.offsetWidth),a+="px"):a=null,s=null,r=-o.$.tabStrip.scrollTop+e.offsetTop+"px",i=e.offsetHeight+"px");function l(){o.$.tabSelectionBar.style.top=r,o.$.tabSelectionBar.style.height=i,o.$.tabSelectionBar.style.left=a,o.$.tabSelectionBar.style.width=s}Smart.Utilities.Core.isMobile&&o.hasAnimation&&!t?requestAnimationFrame((function(){requestAnimationFrame(l)})):l(),t&&!o._tabPositionChanging&&requestAnimationFrame((()=>o.$.tabSelectionBar.style.transition=null))}_positionGroupDropDown(e){const t=this,o=t.tabPosition,n=e.dropDown,a=window.getComputedStyle(t.$.tabsHeaderSection),r=parseFloat(a[t.rightToLeft?"paddingRight":"paddingLeft"]),s=parseFloat(a.paddingTop);if("top"===o||"bottom"===o){const a=!1;if(t.rightToLeft?n.style.left=e.offsetLeft-t._getScrollLeft()-r-n.offsetWidth+e.offsetWidth+"px":n.style.left=e.offsetLeft-t.$.tabStrip.scrollLeft+r+"px","top"===o)a||(n.style.top=e.offsetTop+e.offsetHeight+s+"px");else{let o=e.getBoundingClientRect().top-t.$.container.getBoundingClientRect().top+s;a&&(o+=t.$.tabStrip.offsetHeight),n.style.top=o+"px"}}else n.style.top=e.offsetTop-t.$.tabStrip.scrollTop+s+"px",n.style.left="left"===o?e.offsetLeft+e.offsetWidth+r+"px":e.getBoundingClientRect().left-t.$.container.getBoundingClientRect().left+r+"px"}_processDataSource(){const e=this,t=e.dataSource;function o(e,t){let n;if(Array.isArray(e.items)&&e.items.length>0){n=document.createElement("smart-tab-items-group");for(let t=0;t<e.items.length;t++)e.items[t].items||o(e.items[t],n)}else n=document.createElement("smart-tab-item"),!0===e.closeButtonHidden&&(n.closeButtonHidden=!0),void 0!==e.content&&(n.innerHTML=e.content),void 0!==e.index&&(n.index=e.index),!0===e.selected&&(n.selected=e.selected);void 0!==e.label&&(n.label=e.label),void 0!==e.labelSize&&(n.labelSize=e.labelSize),t.appendChild(n)}if(e.$.tabContentSection.innerHTML="",null!==t)for(let n=0;n<t.length;n++)o(t[n],e.$.tabContentSection)}_processHTML(){const e=this;e._getTabs(),e._orderTabs(),e._validateInitialSelection(),e._populateTabStrip(),e.addNewTab&&e._insertAddNewTab(),e._getReorderItems(),e._applyTabOverflow(),e.ensureVisible(e.selectedIndex),e.$.hiddenInput.value=e.selectedIndex}_removeInlineStyle(){const e=this,t=e.$.tabStrip;if(e._inlineStyleTabStripChildren){const o=t.children;for(let e=0;e<o.length;e++)o[e].removeAttribute("style"),o[e].firstElementChild.firstElementChild.classList.remove("smart-tab-label-text-container-full-height");delete e._inlineStyleTabStripChildren}e._inlineStyleTabStrip&&(t.removeAttribute("style"),delete e._inlineStyleTabStrip),t.$.removeClass("shrink-tabs"),t.$.removeClass("shrink-tabs-vertical")}_reorderTabs(e,t){function o(e,t,o){const n=e[t];e.splice(t,1),e.splice(o,0,n)}const n=this,a=n.$.tabStrip[n._orientationSettings.scrollDirection];if(0===n._groups.length){const a=n._tabs,r=n._tabLabelContainers,s=e>t?t:t+1;let i;n.selectedIndex===e?n.selectedIndex=t:n.selectedIndex<=t&&n.selectedIndex>e?n.selectedIndex--:n.selectedIndex>=t&&n.selectedIndex<e&&n.selectedIndex++,i=r[s]?r[s]:n.addNewTab?n._addNewTab:null,n.$.tabStrip.insertBefore(r[e],i),n.$.dropDownButtonDropDown.insertBefore(n.$.dropDownButtonDropDown.children[e],n.$.dropDownButtonDropDown.children[s]||null),n.$.tabContentSection.insertBefore(a[e],a[s]||null),o(a,e,t),o(r,e,t),n._updateTabIndexes()}else n._reorderTabsGrouping(e,t);n.$.tabStrip[n._orientationSettings.scrollDirection]=a,n.$.fireEvent("reorder",{index:t,oldIndex:e,newIndex:t,originalIndex:e}),n._reorderedIndex=t,n._positionTabSelectionBar(n._tabLabelContainers[n.selectedIndex],!0),n.$.hiddenInput.value=n.selectedIndex}_reorderTabsGrouping(e,t){const o=this,n=o.$.tabStrip.children,a=o.$.tabContentSection.children,r=e>t?t:t+1,s=o._tabs[o.selectedIndex];o.$.tabStrip.insertBefore(n[e],n[r]||null),o.$.tabContentSection.insertBefore(a[e],a[r]||null),o._groupLabels=Array.from(o.$.tabStrip.getElementsByClassName("smart-tab-group-container")),o._groups=[];for(let e=0;e<o._groupLabels.length;e++)o._groups.push(o._groupLabels[e].group);o._tabs=Array.from(o.$.tabContentSection.getElementsByTagName("smart-tab-item"));const i=document.createDocumentFragment();let l=[];for(let e=0;e<o._tabs.length;e++)i.appendChild(o.$.dropDownButtonDropDown.children[o._tabs[e].index].cloneNode(!0));o.$.dropDownButtonDropDown.innerHTML="",o.$.dropDownButtonDropDown.appendChild(i);for(let e=0;e<o.$.tabStrip.childElementCount;e++){const t=o.$.tabStrip.children[e];t.$.hasClass("smart-tab-label-container")&&t!==o._addNewTab?l.push(t):t.$.hasClass("smart-tab-group-container")&&(l=l.concat(Array.from(t.dropDown.children)))}o._tabLabelContainers=l,o._updateTabIndexes(),s&&(o.selectedIndex=s.index)}_resize(e){const t=this;if(!t._resizing)return;const o=t._orientationSettings,n=e[o.coordinate]-t._resizeFrom,a=t._getCorrespondingCustomElement(t._tabToResize);let r;r=null===a.labelSize?t._tabToResize[o.size]:a.labelSize;const s=Math.max(10,r+n);s!==r&&(a._preventPropertyChangedHandler=!0,a.labelSize=s,t._tabToResize.style[o.dimension]=parseInt(s,10)+"px"),t.$resizeToken.addClass("smart-hidden"),t._applyTabOverflow(),t._resizing=!1,t.removeAttribute("resizing")}_ripple(e,t){if(this.hasRippleAnimation){const o=document.createElement("div");return o.className="ripple-agent",t.firstElementChild.appendChild(o),setTimeout((function(){t.firstElementChild.removeChild(o)}),1e3),Smart.Utilities.Animation.Ripple.animate(o,e.pageX,e.pageY),!0}}_scrollButtonClickHandler(e){const t=this,o=t.$.tabStrip;let n=e.target.closest("smart-repeat-button")===t.$.scrollButtonNear?-1:1;if("paging"===t.scrollMode){const a=t._orientationSettings,r={};return t._dragStartDetails={startX:0,startY:0,pageX:0,pageY:0,startTime:Date.now(),target:e.target},t._wheelInProgress=!0,r[a.coordinate]=-n*(o[a.size]/1.1428571428571428),void t._endSwiping(r,t._dragStartDetails.startTime+175)}t.hasAttribute("horizontal")?o.scrollLeft+=10*n:o.scrollTop+=10*n,t._updateScrollButtonVisibility(!0)}_getScrollLeft(e){const t=this,o=t.$.tabStrip;return void 0===e?t.rightToLeft&&Smart.Utilities.Core.Browser.Chrome?o.scrollLeft-(o.scrollWidth-o.offsetWidth):o.scrollLeft:(!t.rightToLeft||"top"!==t.tabPosition&&"bottom"!==t.tabPosition||(Smart.Utilities.Core.Browser.Chrome?e=o.scrollWidth-o.offsetWidth-e:e*=-1),e)}_select(e,t,o){const n=this,a=n.hasAnimation;void 0===o&&(o=n.selectedIndex);const r=n._tabs[e];if(!r||r.disabled||e===o&&(!n.allowToggle||n.allowToggle&&"mouseenter"===n.selectionMode))n.$.hiddenInput.value=n.selectedIndex;else{if(n._focusedItem&&n._focusedItem.tabLabelContainer.removeAttribute("focus"),null!==o){const t=n._tabs[o];a?n._animateSelection(r,t,e>o):t.$.addClass("smart-visibility-hidden"),t.selected=!1,n._tabLabelContainers[o].$.removeClass("smart-tab-selected"),n._tabLabelContainers[o].removeAttribute("selected"),n.closeButtons&&"selected"===n.closeButtonMode&&n._disableCloseButton(o)}null!==e&&(n._tabLabelContainers[e].removeAttribute("hover"),n.closeButtons&&"selected"===n.closeButtonMode&&n._enableCloseButton(e)),!n.allowToggle||null!==e&&(void 0!==arguments[2]?o:n.selectedIndex)!==e?(r.selected=!0,n.$.tabContentSection.removeAttribute("show-placeholder"),null!==o&&a||r.$.removeClass("smart-visibility-hidden"),n.selectedIndex=e,n._focusedItem=n._tabs[e],n._focusedItem.tabLabelContainer.$.addClass("smart-tab-selected"),n._focusedItem.tabLabelContainer.setAttribute("selected",""),n._positionTabSelectionBar(n._focusedItem.tabLabelContainer,null===o)):(n.selectedIndex=null,n.$.tabContentSection.setAttribute("show-placeholder",""),n.allowToggle&&(n._focusedItem=n._tabs[null===e?o:e],n._focusedItem&&n._focusedItem.tabLabelContainer.setAttribute("focus",""))),t&&(n.$.hiddenInput.value=n.selectedIndex,n.$.fireEvent("change",{index:n.selectedIndex,oldIndex:o})),n._closeGroupDropDown(),r&&null!==r.group?(n._selectedGroup&&n._selectedGroup.$.removeClass("smart-tab-group-selected"),null!==n.selectedIndex&&(n._selectedGroup=n._groupLabels[n._groups.indexOf(r.group)],n._selectedGroup.$.addClass("smart-tab-group-selected"))):n._selectedGroup&&(n._selectedGroup.$.removeClass("smart-tab-group-selected"),delete n._selectedGroup),n.$.hiddenInput.value=n.selectedIndex}}_selectStartHandler(e){(this._reordering||this._resizing)&&e.preventDefault()}_setLabel(e,t,o){const n=e?document.getElementById(e):null;if(null!==n&&"template"===n.tagName.toLowerCase()){const e=document.importNode(n.content,!0);if(t.appendChild(e),o){const e=document.importNode(n.content,!0);o.appendChild(e)}}else""===e&&(e=" "),t.innerHTML=e,o&&(o.innerHTML=e)}_showCloseButton(e){e.closeButtonEnabled&&(e.firstElementChild.children[0].$.addClass("smart-close-button-enabled"),e.firstElementChild.children[1].$.removeClass("smart-hidden"))}_tabContentSectionTransitionendHandler(e){const t=this,o=e.target;o instanceof Smart.TabItem&&(o===t._animatedOldTab?(o.$.addClass("smart-hidden"),o.$.removeClass("animate"),o.$.removeClass(t._animatedOldTab.classToRemove),o.$.removeClass("smart-hidden"),delete t._animatedOldTab):o===t._animatedTab&&(o.$.removeClass("animate"),delete t._animatedTab),o.classList.remove("left"),o.classList.remove("right"),o.classList.remove("top"),o.classList.remove("bottom"))}_tabsHeaderItemsWheelHandler(e){const t=this;if(!t.enableMouseWheelAction||t.disabled)return;const o=t.$.tabStrip,n=t._orientationSettings,a=o[n.size],r=o[n.scrollSize],s=o[n.scrollDirection],i=e.deltaY;if(a===r||0===s&&i<0||s+a===r&&i>0)return;if(e.preventDefault(),t._wheelInProgress)return;t._dragStartDetails={startX:e.pageX,startY:e.pageY,pageX:e.pageX,pageY:e.pageY,startTime:Date.now(),target:e.target},t._wheelInProgress=!0;const l={};l[n.coordinate]=e[n.coordinate]+(e.deltaY>0?-1:1)*n.wheelOffset,t._endSwiping(l,t._dragStartDetails.startTime+100)}_tabStripHandler(e,t){const o=this,n=t.type;if("down"===n&&void 0!==o._tabToResize)return o._resizing=!0,void(o._tabsHeaderSectionCoordinate=o.$.tabsHeaderSection.getBoundingClientRect()[o._orientationSettings.edge]);"down"===n&&Smart.Utilities.Core.isMobile&&(o._dragStartDetails={startX:t.pageX,startY:t.pageY,pageX:t.pageX,pageY:t.pageY,startTime:Date.now(),originalTime:Date.now(),target:t.originalEvent.target});const a=e.closest("smart-repeat-button");if("up"===n&&a)return o.focus(),void(o.resize&&o._getTabCoordinates());if(e.classList.contains("smart-tab-close-button"))if("up"===n){if(e===o._downTarget){const t=e.parentElement.parentElement.tab.index;return void(o.$.fireEvent("closing",{index:t}).defaultPrevented||(o.removeAt(t),o.$.fireEvent("close",{index:t})))}}else{if("down"===n)return void(o._downTarget=e);o._reordering||o._swiping||("mouseover"===n?e.setAttribute("hover",""):"mouseout"===n&&e.removeAttribute("hover"))}const r=e.closest(".smart-tab-label-container");if(null!==r)return void(t.originalEvent&&"pointercancel"===t.originalEvent.type?r.tab.group&&delete r.parentElement.rippleInProgress:o._labelContainerHandler(r,t,n));const s=e.closest(".smart-tab-group-container");null!==s&&o._groupContainerHandler(s,n)}_tabStripMouseleaveHandler(){const e=this;e.resize&&!e._resizing&&e.hasAttribute("resizing")&&e.removeAttribute("resizing")}_tabStripMoveHandler(e){const t=this;if(t._dragStartDetails&&!t._dragStartDetails.checked&&(Date.now()-t._dragStartDetails.originalTime<500?(t._endReordering(void 0,void 0),t._dragStartDetails.checked=!0):delete t._dragStartDetails),t._dragStartDetails&&(Math.abs(t._dragStartDetails.pageX-e.pageX)>=5||Math.abs(t._dragStartDetails.pageY-e.pageY)>=5)){const o=t._orientationSettings,n=t._dragStartDetails[o.coordinate]-e[o.coordinate],a=t.$.tabStrip[o.scrollDirection];return t.$.tabStrip[o.scrollDirection]+=n,a!==t.$.tabStrip[o.scrollDirection]&&t._updateScrollButtonVisibility(),t._dragStartDetails={startX:t._dragStartDetails.startX,startY:t._dragStartDetails.startY,pageX:e.pageX,pageY:e.pageY,startTime:t._dragStartDetails.startTime,originalTime:t._dragStartDetails.originalTime,target:e.originalEvent.target,checked:t._dragStartDetails.checked},void(t._swiping=!0)}if(!t.resize||t._resizing||t._reordering||"shrink"===t.tabLayout)return;const o=t._orientationSettings,n=e[o.coordinate],a=t._tabCoordinates;let r;for(let e=0;e<a.length;e++){const s=a[e][o.to];if(n>=s-4&&n<=s+4){r=t._reorderItems[e],t._resizeFrom=n;break}}void 0!==r?(t._tabToResize=r,t.setAttribute("resizing","")):(t._tabToResize=void 0,t.removeAttribute("resizing"))}_tabStripTouchmoveHandler(e){const t=this;if(t._touchmoveInside&&e.cancelable)return e.preventDefault(),void e.stopPropagation();const o=t.$.tabStrip,n=t._orientationSettings,a=o[n.size],r=o[n.scrollSize],s=t._touchCoords;if(a===r||!s)return;const i=e.touches[0],l=o[n.scrollDirection],d=i[n.coordinate],c=parseFloat(d.toFixed(5)),b=s["pageY"===n.coordinate?1:0],p=parseFloat(b.toFixed(5));t._touchCoords=[i.pageX,i.pageY],0===l&&c>=p||l+a===r&&c<=p||(d!==b&&(t._touchmoveInside=!0),e.cancelable&&(e.preventDefault(),e.stopPropagation()))}_tabStripTouchstartHandler(e){const t=e.touches[0];this._touchCoords=[t.pageX,t.pageY]}_toggleCollapsedState(){const e=this;e.collapsible&&(e.collapsed?e.expand():e.collapse())}_toggleNavigationElementsVisibility(){const e=this,t=e._tabs.length;let o;if(0===t)o="addClass";else{if(1!==t)return;o="removeClass"}"scroll"===e.tabLayout&&"scroll"===e.overflow?(e.$scrollButtonNear[o]("smart-hidden"),e.$scrollButtonFar[o]("smart-hidden")):"dropDown"===e.tabLayout&&e.$dropDownButton[o]("smart-hidden")}_updateIndexes(e){const t=this;null!==t.selectedIndex&&e<=t.selectedIndex&&t.selectedIndex++,t._updateTabIndexes()}_updateScrollButtonVisibility(e){const t=this;if("scroll"!==t.tabLayout||"hidden"===t.overflow)return void t._positionTabSelectionBar(t._tabLabelContainers[t.selectedIndex],e);const o=t.$tabsHeaderSection,n=t.$.tabStrip,a=t._orientationSettings;let r=!0,s=!0;if(t.rightToLeft&&"scrollLeft"===a.scrollDirection){const e=Math.abs(t._getScrollLeft());0===Math.round(e)&&(s=!1),Math.round(n[a.size]+e)>=Math.round(n[a.scrollSize])-1&&(r=!1)}else 0===Math.round(n[a.scrollDirection])&&(r=!1),Math.round(n[a.size]+n[a.scrollDirection])>=Math.round(n[a.scrollSize])-1&&(s=!1);if("auto"===t.overflow){if(r&&s)return t.$scrollButtonNear.removeClass("smart-hidden"),t.$scrollButtonFar.removeClass("smart-hidden"),o.removeClass("one-button-shown"),void(t._tabLabelContainers[t.selectedIndex]&&t._positionTabSelectionBar(t._tabLabelContainers[t.selectedIndex],e));r?t.$scrollButtonNear.removeClass("smart-hidden"):t.$scrollButtonNear.addClass("smart-hidden"),s?t.$scrollButtonFar.removeClass("smart-hidden"):t.$scrollButtonFar.addClass("smart-hidden"),o.addClass("one-button-shown"),t._getTabCoordinates()}else"scroll"!==t.overflow||t.disabled||(t.$.scrollButtonNear.disabled=!r,t.$.scrollButtonFar.disabled=!s);t._tabLabelContainers[t.selectedIndex]&&t._positionTabSelectionBar(t._tabLabelContainers[t.selectedIndex],e)}_updateTabIndexes(){const e=this;if(e._tabs.length>0)for(let t=0;t<e._tabs.length;t++)e._tabs[t]._setIndex(t);else e.selectedIndex=null;e.$.hiddenInput.value=e.selectedIndex}_updateTabLabel(e,t){const o=this,n=e.index,a=o._tabLabelContainers[n].firstElementChild.children[0],r=o.$.dropDownButtonDropDown.children[n];e.set("label",t),a.innerHTML="",r.innerHTML="",o._setLabel(t,a,r),o._applyTabOverflow(),e.setAttribute("aria-label",t),e.tabLabelContainer&&e.tabLabelContainer.setAttribute("aria-label",t)}_validateIndex(e,t){if(isNaN(parseInt(e,10))||"object"==typeof e){const e=this;e.error(e.localize("invalidIndex",{method:t}))}}_validateInitialSelection(){const e=this;let t=e.selectedIndex;for(let o=0;o<e._tabs.length;o++){const n=e._tabs[o];t===o?(n.selected=!0,n.$.removeClass("smart-visibility-hidden")):n.selected?null===t?(t=o,n.$.removeClass("smart-visibility-hidden")):(n.selected=!1,n.$.addClass("smart-visibility-hidden")):n.$.addClass("smart-visibility-hidden")}e._tabs.length>0&&null===t&&!e.allowToggle&&(t=0,e._tabs[0].selected=!0,e._tabs[0].$.removeClass("smart-visibility-hidden")),e.selectedIndex=t,null!==e.selectedIndex&&(e._focusedItem=e._tabs[e.selectedIndex])}});
|
|
@@ -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-tank",class extends Smart.BaseElement{static get properties(){return{coerce:{value:!1,type:"boolean"},customInterval:{value:!1,type:"boolean"},customTicks:{reflectToAttribute:!1,value:["0","50","100"],type:"array"},dateLabelFormatString:{value:"d",type:"string"},decimalSeparator:{value:".",type:"string"},interval:{value:"1",type:"any"},inverted:{value:!1,type:"boolean"},labelFormatFunction:{value:null,type:"function?"},labelsVisibility:{value:"all",allowedValues:["all","endPoints","none"],type:"string"},logarithmicScale:{value:!1,type:"boolean"},max:{value:"100",type:"any"},mechanicalAction:{value:"switchWhileDragging",allowedValues:["switchUntilReleased","switchWhenReleased","switchWhileDragging"],type:"string"},messages:{value:{en:{missingReference:"{{elementType}}: Missing reference to {{files}}.",significantPrecisionDigits:"{{elementType}}: the properties significantDigits and precisionDigits cannot be set at the same time.",invalidMinOrMax:"{{elementType}}: Invalid {{property}} value. Max cannot be lower than Min.",noInteger:'{{elementType}}: precisionDigits could be set only on "floatingPoint" scaleType.'}},type:"object",extend:!0},min:{value:"0",type:"any"},mode:{value:"numeric",allowedValues:["numeric","date"],type:"string"},name:{value:"",type:"string"},orientation:{value:"vertical",allowedValues:["horizontal","vertical"],type:"string"},precisionDigits:{value:null,type:"number?"},scalePosition:{value:"near",allowedValues:["near","far","both","none"],type:"string"},scaleType:{value:"floatingPoint",allowedValues:["floatingPoint","integer"],type:"string"},scientificNotation:{value:!1,type:"boolean"},showThumbLabel:{value:!1,type:"boolean"},showTooltip:{value:!1,type:"boolean"},showUnit:{value:!1,type:"boolean"},significantDigits:{value:null,type:"number?"},thumbLabelPosition:{value:"near",allowedValues:["near","far"],type:"string"},ticksPosition:{value:"scale",allowedValues:["scale","track"],type:"string"},ticksVisibility:{value:"minor",allowedValues:["major","minor","none"],type:"string"},tooltipPosition:{value:"near",allowedValues:["near","far"],type:"string"},unit:{defaultReflectToAttribute:!0,value:"kg",type:"string"},validation:{value:"strict",allowedValues:["strict","interaction"],type:"string"},value:{value:"0",type:"any"},wordLength:{value:"int32",allowedValues:["int8","uint8","int16","uint16","int32","uint32","int64","uint64"],type:"string"}}}static get listeners(){return{"track.down":"_trackDownHandler","track.move":"_trackMoveHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler",keydown:"_keydownHandler",resize:"_resizeHandler",styleChanged:"_styleChangedHandler","document.selectstart":"_selectStartHandler","track.mouseenter":"_trackOnMouseEnterHandler","track.mouseleave":"_trackOnMouseLeaveHandler"}}static get requires(){return{"Smart.Utilities.BigNumber":"smart.math.js","Smart.Utilities.NumericProcessor":"smart.numeric.js","Smart.Utilities.TickIntervalHandler":"smart.tickintervalhandler.js"}}static get styleUrls(){return["smart.tank.css"]}template(){return'<div id="container" class="smart-container" role="presentation">\n <div id="scaleNear" class="smart-scale smart-scale-near" role="presentation" aria-hidden="true"></div>\n <div id="track" class="smart-track" role="presentation">\n <div id="fill" class="smart-value" role="presentation">\n <div id="bubbleContainer" class="smart-bubble-container" role="presentation"></div>\n <div id="tooltip" class="smart-tooltip" role="tooltip"><div id="tooltipContent" class="smart-tooltip-content smart-unselectable" role="presentation"></div></div>\n <div id="thumb" class="smart-thumb">\n <div class="smart-thumb-label-container">\n <span id="thumbLabel" class="smart-thumb-label"></span>\n </div>\n </div>\n </div>\n <div id="trackTicksContainer" class="smart-track-ticks-container smart-hidden" role="presentation"></div>\n </div>\n <div id="scaleFar" class="smart-scale smart-scale-far" role="presentation" aria-hidden="true"></div>\n <input id="hiddenInput" type="hidden" name="[[name]]">\n </div>'}ready(){super.ready(),this._redefineProperty("customTicks"),this.checkLicense()}render(){const e=this;e.setAttribute("role","slider"),this._createElement(),e.enableShadowDOM&&e.$.hiddenInput&&e.appendChild(e.$.hiddenInput),super.render()}_createElement(){const e=this;e.$.tooltip.id||(e.$.tooltip.id=e.id+"Tooltip"),e.setAttribute("aria-describedby",e.$.tooltip.id),e.$.fill.style.transition="none","numeric"===e.mode?e._getEventValue=function(){return e.value}:e._handleDateScale(),e._setSettingsObject(),e._setDrawVariables(),e._getLayoutType(),e._numericProcessor=new Smart.Utilities.NumericProcessor(e,"scaleType"),e._numberRenderer=new Smart.Utilities.NumberRenderer,e._isVisible()?(e._renderingSuspended=!1,e._setInitialComponentDisplay(),e._measurements={},e._wordLengthNumber=e._numericProcessor.getWordLength(e.wordLength),e._validateInitialPropertyValues(),e._setTicksAndInterval(),e._validate(!0),e._updateTooltipValue(e._drawValue),e._setFocusable(),e._setTrackSize(),e._setBubbles(),e.$.fill.style.transition="",e.$.hiddenInput.value=e._getEventValue(),e.setAttribute("aria-orientation",e.orientation),e._setAriaValue("valuenow")):e._renderingSuspended=!0}val(e){const t=this;if(void 0===e)return t._getEventValue();if("date"===t.mode){let a=Smart.Utilities.DateTime.validateDate(e);return a=a.getTimeStamp(),0!==a.compare(t.value)?void t._validate(!1,a,void 0,!0):t._valueDate}if(t.value.toString().toUpperCase()===e.toString().toUpperCase())return t.value="string"==typeof e?e:e.toString();{e=e.toString().replace(/\s/g,""),t._numericProcessor.regexScientificNotation.test(e)&&(e=t._numericProcessor.scientificToDecimal(e));const a=t._discardDecimalSeparator(e.toString());t._validate(!1,a,void 0,!0),delete t._valueBeforeCoercion}}_setBubbles(){if(!this.hasAnimation)return;let e,t=document.createDocumentFragment();for(let a=0;a<5;a++)e=document.createElement("div"),e.classList.add("bubble"),e.classList.add("bubble"+(a+1)),t.appendChild(e);this.$.bubbleContainer.appendChild(t)}_setTrackSize(){const e=this;"vertical"===e.orientation?e._trackSize=e.$.track.offsetWidth:e._trackSize=e.$.track.offsetHeight}getOptimalSize(){const e=this;if(e._renderingSuspended)return{width:0,height:0};let t,a,i;switch(e.labelsVisibility){case"all":a=e._numericProcessor._longestLabelSize;break;case"endPoints":a=Math.max(e._tickIntervalHandler.labelsSize.minLabelOtherSize,e._tickIntervalHandler.labelsSize.maxLabelOtherSize);break;case"none":a=0}switch(e.orientation){case"horizontal":return t={marginA:"marginBottom",marginB:"marginTop",nearScaleDistance:"bottom",farScaleDistance:"top",paddingA:"paddingBottom",paddingB:"paddingTop",offset:"offsetWidth",distance:"left"},e._orientationChanged&&(t.offset="offsetHeight",e._trackChanged=!0),i=e._getSize(a,t),{width:i.optimalOtherSize,height:i.optimalSize};case"vertical":return t={marginA:"marginLeft",marginB:"marginRight",nearScaleDistance:"right",farScaleDistance:"left",paddingA:"paddingLeft",paddingB:"paddingRight",offset:"offsetHeight",distance:"top"},e._orientationChanged&&(t.offset="offsetWidth",e._trackChanged=!0),i=e._getSize(a,t),{width:i.optimalSize,height:i.optimalOtherSize}}}_updateTargetValue(){const e=this;if(e.dataset.target){const t=document.querySelector(e.dataset.target);if(t){const a=e.dataset.property,i=e.value;a&&void 0!==t[a]&&(t[a]=i)}}}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const i=this;if(i._isVisible()&&!i._renderingSuspended)if(a!=t)switch(e){case"labelsVisibility":case"ticksVisibility":return void i._updateScaleWidth(i._numericProcessor._longestLabelSize);case"coerce":if(a){const e=i.value,t=a=i.logarithmicScale?Math.pow(10,i._numericProcessor.getCoercedValue(Math.log10(e))):i._numericProcessor.getCoercedValue(e);i._validate(!1,t,!0,!0),i._valueBeforeCoercion=e}else void 0!==i._valueBeforeCoercion&&i._validate(!1,i._valueBeforeCoercion,!1,!0);return;case"interval":{i._numericProcessor.validateInterval(a);const e=a=i.logarithmicScale?Math.pow(10,i._numericProcessor.getCoercedValue(Math.log10(i.value))):i._numericProcessor.getCoercedValue(i.value);i._validate(!1,e,i.coerce,!0);break}case"min":case"max":{"date"===i.mode&&(delete i._dateInterval,i[e]=Smart.Utilities.DateTime.validateDate(a).getTimeStamp()),i._validateMinMax(e,!1,t);const r=i._numericProcessor.createDescriptor(i._discardDecimalSeparator(i.value,i.decimalSeparator),void 0,!0,"strict"===i.validation);i._setTicksAndInterval(),i._numericProcessor.updateValue(r);let n=i.getOptimalSize(),s=i.getBoundingClientRect(),o=i.$.track.getBoundingClientRect();n.width>s.width&&o.width<20&&(i.style.width=n.width+"px",i.style.height=n.height+"px");break}case"inverted":case"rightToLeft":{i._getLayoutType(),i._normalLayout&&(i.$.fill.style[i._settings.margin]="0px");let e=i._numericProcessor.createDescriptor(i.value),t=i._numericProcessor.validate(e,i._minObject,i._maxObject);i._setTicksAndInterval(),i._numericProcessor.updateValue(t);break}case"orientation":{const e=i.$.fill.style,t=i.$.container.style;switch(!0!==i._orientationChanged&&(i._orientationChanged=!0),i._tankSizeBeforeOrientation={width:i.offsetWidth,height:i.offsetHeight},i._setSettingsObject(),i._getLayoutType(),i.rightToLeft&&(e.marginLeft="0"),i.inverted&&(e.marginTop="0",e.marginLeft="0"),i.orientation){case"vertical":i.inverted||(e.marginTop="auto",e.marginLeft="0"),e.width="100%",t.paddingLeft="0",t.paddingRight="0";break;case"horizontal":(!i.inverted||!i.inverted&&!i.rightToLeft||i.rightToLeft&&i.inverted)&&(e.marginTop="0",e.marginLeft="auto"),e.height="100%",t.paddingTop="0",t.paddingBottom="0"}i._validateMinMax("both");const r=i._numericProcessor.createDescriptor(i.value),n=i._numericProcessor.validate(r,i._minObject,i._maxObject);i._setTicksAndInterval(),i._setTicksAndInterval(),i._numericProcessor.updateValue(n),i._trackChanged=!0,i.setAttribute("aria-orientation",a);break}case"significantDigits":case"precisionDigits":if("date"===i.mode)return;if("precisionDigits"===e&&"integer"===i.scaleType&&i.error(i.localize("noInteger",{elementType:i.nodeName.toLowerCase(),property:e})),"significantDigits"===e&&null!==i.precisionDigits?i.precisionDigits=null:"precisionDigits"===e&&null!==i.significantDigits&&(i.significantDigits=null),i._validateInitialPropertyValues(),i._setTicksAndInterval(),"horizontal"===i.orientation&&(i.inverted||i.rightToLeft)){const e=i._numericProcessor.valueToPx(i._numericProcessor.getCoercedValue(i._drawValue));i.updateFillSizeAndPosition(e,i._settings.margin,a,!1)}break;case"decimalSeparator":{if("integer"===i.scaleType||"date"===i.mode)return;const e=i._discardDecimalSeparator(i.value,t),a=i._applyDecimalSeparator(e);i.value=e,delete i._valueBeforeCoercion,i._numericProcessor.addTicksAndLabels(),i._updateTooltipValue(a);break}case"value":if(i.value=t,null===a)return;if("date"===i.mode){let e=Smart.Utilities.DateTime.validateDate(a);return e=e.getTimeStamp(),void(0!==e.compare(t)&&i._validate(!1,e,void 0,!0))}if(a.toString().toUpperCase()!==t.toString().toUpperCase()){let e=void 0!==a?a.toString().replace(/\s/g,""):t.toString().replace(/\s/g,"");i._numericProcessor.regexScientificNotation.test(e)&&(e=i._numericProcessor.scientificToDecimal(e)),i._validate(!1,e,void 0,!0),delete i._valueBeforeCoercion}else i.value="string"==typeof a?a:a.toString();break;case"scaleType":if("date"===i.mode)return void(i.scaleType="integer");i._changeScaleType(t,a);break;case"disabled":case"unfocusable":i._setFocusable();break;case"showUnit":case"unit":i._setTicksAndInterval(),i._moveThumbBasedOnValue(i._drawValue);break;case"tooltipPosition":break;case"wordLength":{if("date"===i.mode)return void(i.wordLength="uint64");i._wordLengthNumber=i._numericProcessor.getWordLength(a),i._validateMinMax("both");const e=i._numericProcessor.createDescriptor(i.value),t=i._numericProcessor.validate(e,i._minObject,i._maxObject);i._setTicksAndInterval(),i._numericProcessor.updateValue(t);break}case"scalePosition":i._setInitialComponentDisplay(),i._setTicksAndInterval(),i._moveThumbBasedOnValue(i._drawValue);break;case"labelFormatFunction":case"scientificNotation":{if("date"===i.mode&&"scientificNotation"===e)return;const t=i._discardDecimalSeparator(i.value,i.decimalSeparator);i._setTicksAndInterval(),i._updateTooltipValue(t);break}case"logarithmicScale":if("date"===i.mode)return void(i.logarithmicScale=!1);i._validateMinMax("both"),i._setTicksAndInterval(),i._validate(!1,i.value,void 0,!0);break;case"ticksPosition":"scale"===a?(i.$trackTicksContainer.addClass("smart-hidden"),i.$.trackTicksContainer.innerHTML=""):i.$trackTicksContainer.removeClass("smart-hidden"),i._numericProcessor.addTicksAndLabels();break;case"customInterval":a?(i._customTicks&&(i.customTicks=i._customTicks),i._numericProcessor.validateCustomTicks()):"date"===i.mode&&(i._customTicks=i.customTicks),i._setTicksAndInterval(),i._coerceCustomInterval();break;case"customTicks":if("date"===i.mode&&!i.customInterval)return i._customTicks=a,void(i.customTicks=t);i._numericProcessor.validateCustomTicks(),i.customInterval&&(i._setTicksAndInterval(),i._coerceCustomInterval());break;case"dateLabelFormatString":"date"===i.mode&&i._setTicksAndInterval();break;case"mode":i.mode=t;break;case"showThumbLabel":a&&i.showTooltip&&(i.showTooltip=!1);break;case"showTooltip":a&&i.showThumbLabel&&(i.showThumbLabel=!1);break;case"validation":"strict"===a&&i._validate(!1,i.value)}else i[e]=t;else i._renderingSuspended=!0}_setSettingsObject(){const e=this;"horizontal"===e.orientation?e._settings={clientSize:"clientWidth",dimension:"width",leftOrTop:"left",margin:"marginLeft",offset:"offsetLeft",otherSize:"offsetHeight",size:"offsetWidth",page:"pageX"}:e._settings={clientSize:"clientHeight",dimension:"height",leftOrTop:"top",margin:"marginTop",offset:"offsetTop",otherSize:"offsetWidth",size:"offsetHeight",page:"pageY"}}_setInitialComponentDisplay(){const e=this;switch(e.scalePosition){case"near":e.$scaleNear.removeClass("smart-hidden"),e.$scaleFar.addClass("smart-hidden");break;case"far":e.$scaleNear.addClass("smart-hidden"),e.$scaleFar.removeClass("smart-hidden");break;case"both":e.$scaleFar.removeClass("smart-hidden"),e.$scaleNear.removeClass("smart-hidden");break;case"none":e.$scaleFar.addClass("smart-hidden"),e.$scaleNear.addClass("smart-hidden")}e.$tooltip.addClass("smart-hidden"),"track"===e.ticksPosition&&e.$trackTicksContainer.removeClass("smart-hidden")}_styleChangedHandler(){const e=this;e._isVisible()?e._renderingSuspended?e._createElement():e._renderingSuspended||(e._setTicksAndInterval(),e._moveThumbBasedOnValue(e._drawValue)):e._renderingSuspended=!0}_validateInitialPropertyValues(){const e=this,t=typeof e.value===String?e.value.replace(/\s/g,""):e.value.toString().replace(/\s/g,"");"numeric"===e.mode&&e._numericProcessor.regexScientificNotation.test(t)&&(e.value=e._numericProcessor.scientificToDecimal(t),delete e._valueBeforeCoercion),e.significantDigits=null!==e.significantDigits?Math.min(Math.max(e.significantDigits,1),21):null,null===e.significantDigits&&null===e.precisionDigits?e.significantDigits=8:null!==e.significantDigits&&null!==e.precisionDigits&&e.error(e.localize("significantPrecisionDigits",{elementType:e.nodeName.toLowerCase()})),e._validateMinMax("both",!0),e.showTooltip&&e.showThumbLabel&&(e.showTooltip=!1)}_validateMinMax(e,t,a){const i=this;let r="min"===e||"both"===e,n="max"===e||"both"===e;function s(e,a){i._numericProcessor.validateMinMax("min"===e||t,"max"===e||t);const s=i["_"+e+"Object"];("min"===e?i._numericProcessor.compare(i.max,s,!0)<=0:i._numericProcessor.compare(i.min,s,!0)>0)?a?(i._numberRenderer=new Smart.Utilities.NumberRenderer(a),"min"===e?r=!1:n=!1,i[e]=a,i["_"+e+"Object"]=a):i.error(i.localize("invalidMinOrMax",{elementType:i.nodeName.toLowerCase(),property:e})):(i._numberRenderer=new Smart.Utilities.NumberRenderer(s),i[e]=i["_"+e+"Object"])}void 0===typeof t&&(t=!1),"both"===e?(s("min",a),s("max",a)):s(e,a),i.logarithmicScale?i._validateOnLogarithmicScale(r,n,a):(i._drawMin=i.min,i._drawMax=i.max),i.min=i.min.toString(),i.max=i.max.toString(),i._minObject=i._numericProcessor.createDescriptor(i.min),i._maxObject=i._numericProcessor.createDescriptor(i.max),"date"===i.mode&&(i._minDate=Smart.Utilities.DateTime.fromFullTimeStamp(i.min),i._maxDate=Smart.Utilities.DateTime.fromFullTimeStamp(i.max)),i._numericProcessor.validateInterval(i.interval),i.customInterval&&i._numericProcessor.validateCustomTicks(),i._setAriaValue("valueminmax")}_calculateTickInterval(){const e=this;let t=e._tickIntervalHandler.getInterval("linear",e._drawMin,e._drawMax,e.$.track,e.logarithmicScale);t.major!==e._majorTicksInterval?(e._intervalHasChanged=!0,e._majorTicksInterval=t.major):e._intervalHasChanged=!0,e._minorTicksInterval=t.minor,"date"===e.mode&&e._calculateDateInterval(t.major)}_calculateDateInterval(e){const t=this,a={month:"2628000000000000000000000000000",day:"86400000000000000000000000000",hour:"3600000000000000000000000000",minute:"60000000000000000000000000",second:"1000000000000000000000000"};let i="year",r=new Smart.Utilities.BigNumber("31536000000000000000000000000000"),n=r.subtract(e).abs(),s=new Smart.Utilities.BigNumber(t.min).subtract(t.max).abs(),o=s.divide(e).toString();o<2&&(e=s.divide(3));for(let t in a)if(Object.prototype.hasOwnProperty.call(a,t)){const s=new Smart.Utilities.BigNumber(a[t]),o=s.subtract(e).abs();if(-1!==o.compare(n))break;i=t,r=s,n=o}if("second"===i){if(t._numberRenderer.numericValue=parseFloat(e),t._numberRenderer.numericValue<1e3)return t._dateIncrementMethod="addYoctoseconds",void(t._dateIntervalNumber=1);let a=t._numberRenderer.toScientific(10);return a=a.charAt(a.length-1),t._dateIncrementMethod=t._unitToMethod[a],void(t._dateIntervalNumber=Math.pow(10,t._numericProcessor.prefixesToPowers[a]))}t._dateInterval=!0;const l=!t.customInterval;let c,d,m;switch(l&&(c=[new Smart.Utilities.BigNumber(t.min)],d=s.divide(r).toString(),m=Math.max(1,Math.floor(d/o))),i){case"year":if(l)for(let e=t._minDate.year()+m;e<t._maxDate.year();e+=m)c.push(new Smart.Utilities.BigNumber(new Smart.Utilities.DateTime(e,1,1).getTimeStamp()));t._dateIncrementMethod="addYears";break;case"month":if(l)for(let e=new Smart.Utilities.DateTime(t._minDate.year(),t._minDate.month()+m,1);-1===e.compare(t._maxDate);e.addMonths(m,!1))c.push(new Smart.Utilities.BigNumber(e.getTimeStamp()));t._dateIncrementMethod="addMonths";break;case"day":if(l)for(let e=new Smart.Utilities.DateTime(t._minDate.year(),t._minDate.month(),t._minDate.day()+m);-1===e.compare(t._maxDate);e.addDays(m,!1))c.push(new Smart.Utilities.BigNumber(e.getTimeStamp()));t._dateIncrementMethod="addDays",t._dateIntervalNumber=864e26;break;case"hour":if(l)for(let e=new Smart.Utilities.DateTime(t._minDate.year(),t._minDate.month(),t._minDate.day(),t._minDate.hour()+m);-1===e.compare(t._maxDate);e.addHours(m,!1))c.push(new Smart.Utilities.BigNumber(e.getTimeStamp()));t._dateIncrementMethod="addHours",t._dateIntervalNumber=36e26;break;case"minute":if(l)for(let e=new Smart.Utilities.DateTime(t._minDate.year(),t._minDate.month(),t._minDate.day(),t._minDate.hour(),t._minDate.minute()+m);-1===e.compare(t._maxDate);e.addMinutes(m,!1))c.push(new Smart.Utilities.BigNumber(e.getTimeStamp()));t._dateIncrementMethod="addMinutes",t._dateIntervalNumber=6e25}l&&(-1===c[c.length-1].compare(t.max)&&c.push(new Smart.Utilities.BigNumber(t.max)),t.customTicks=c)}_formatNumber(e){const t=this;if("date"===t.mode)return Smart.Utilities.DateTime.fromFullTimeStamp(e).toString(t.dateLabelFormatString);const a=t._numberRenderer;let i=parseFloat(e);if(a.numericValue=e,t.scientificNotation)i=t._numberRenderer.toScientific(t.significantDigits,t.precisionDigits);else switch(t.scaleType){case"floatingPoint":i=t._applyDecimalSeparator(a.toDigits(t.significantDigits,t.precisionDigits));break;case"integer":i=a.isENotation(i)?Math.round(a.largeExponentialToDecimal(i)):Math.round(i),i=a.toDigits(t.significantDigits,0)}return i}_formatLabel(e,t){const a=this;let i;return a.labelFormatFunction&&("date"===a.mode&&(e=Smart.Utilities.DateTime.fromFullTimeStamp(e)),i=a.labelFormatFunction(e),void 0!==i&&""!==i)||(i=a._formatNumber(e),a._numberRenderer=new Smart.Utilities.NumberRenderer(i),a.showUnit&&(i+=!1!==t?' <span class="smart-unselectable">'+a.unit+"</span>":" "+a.unit)),i}_layout(){const e=this,t=e.$.container.style,a=e._tickIntervalHandler.labelsSize.minLabelSize/2+"px",i=e._tickIntervalHandler.labelsSize.maxLabelSize/2+"px";switch(e.orientation){case"horizontal":if("none"===e.scalePosition){t.paddingLeft="",t.paddingRight="";break}!e.inverted&&!e.rightToLeft||e.rightToLeft&&e.inverted?(t.paddingLeft=a,t.paddingRight=i):(t.paddingLeft=i,t.paddingRight=a);break;case"vertical":if("none"===e.scalePosition){t.paddingTop="",t.paddingBottom="";break}e.inverted?(t.paddingBottom=i,t.paddingTop=a):(t.paddingBottom=a,t.paddingTop=i)}e._measurements.trackLength=e.$.track[this._settings.clientSize]}_trackDownHandler(e){const t=this;t.disabled||t.readonly||!Smart.Utilities.Core.isMobile&&0!==e.button||("switchUntilReleased"===t.mechanicalAction&&(t._cachedValue={},t._cachedValue._number=t._number,t._cachedValue._drawValue=t._drawValue,t._cachedValue.value=t.value,t._valueDate&&(t._cachedValue._valueDate=t._valueDate)),t._getTrackStartAndEnd(),t._moveThumbBasedOnCoordinates(e,!0,"switchWhenReleased"!==t.mechanicalAction),t._thumbDragged=!0,t.$track.addClass("smart-dragged"),t.showTooltip&&t.$tooltip.removeClass("smart-hidden"))}_trackMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_documentMoveHandler(e){const t=this;t._thumbDragged&&(e.originalEvent.preventDefault(),t._moveThumbBasedOnCoordinates(e,!0,"switchWhenReleased"!==t.mechanicalAction),t.$fill.addClass("disable-animation"))}_documentUpHandler(e){const t=this;if(t._thumbDragged){if("switchWhenReleased"===t.mechanicalAction)t._moveThumbBasedOnCoordinates(e,!0,!0);else if("switchUntilReleased"===t.mechanicalAction&&t._numericProcessor.compare(t._number,t._cachedValue._number)){const e=t._getEventValue();t._number=t._cachedValue._number,t._drawValue=t._cachedValue._drawValue,t._cachedValue._valueDate&&(t._valueDate=t._cachedValue._valueDate),t.value=t._cachedValue.value,t._moveThumbBasedOnValue(t._drawValue);const a=t._getEventValue();t.$.fireEvent("change",{value:a,oldValue:e}),t._updateTargetValue(),t.$.hiddenInput.value=a,t._setAriaValue("valuenow")}t.showTooltip&&t.$tooltip.addClass("smart-hidden"),t._thumbDragged=!1,t.$track.removeClass("smart-dragged"),t.$fill.removeClass("disable-animation")}}_selectStartHandler(e){this._thumbDragged&&e.preventDefault()}refresh(){this._resizeHandler()}_resizeHandler(){const e=this;e._isVisible()?e._renderingSuspended?e._createElement():e._renderingSuspended||(!0!==e._orientationChanged&&(e._setTicksAndInterval(),e._moveThumbBasedOnValue(e._drawValue)),e._trackChanged&&(e._measurements.trackLength=e.$.track[this._settings.clientSize],e._setTicksAndInterval(),e._moveThumbBasedOnValue(e._drawValue)),e._setTrackSize(),delete e._orientationChanged,delete e._trackChanged):e._renderingSuspended=!0}_moveThumbBasedOnCoordinates(e,t,a){const i=this;let r=t?Math.min(Math.max(e[i._settings.page],i._trackStart),i._trackEnd):e[i._settings.page],n=i._numericProcessor.pxToValue(r);i.logarithmicScale?(i._drawValue=Math.log10(n),n=i._numericProcessor.getCoercedValue(i._drawValue)):(i._drawValue=n,n=i._numericProcessor.getCoercedValue(n)),r=Math.min(Math.max(i._numericProcessor.valueToPx(n)+i._trackStart,i._trackStart),i._trackEnd);const s=r-i._trackStart;i.updateFillSizeAndPosition(s,i._settings.margin,n,!0,a),e.originalEvent&&e.originalEvent.stopPropagation()}_moveThumbBasedOnValue(e){const t=this,a=t._numericProcessor.valueToPx(t._numericProcessor.getCoercedValue(e));t.updateFillSizeAndPosition(a,t._settings.margin,e,!0)}updateFillSizeAndPosition(e,t,a,i,r){const n=this,s=n.$.fill.style;if(n._normalLayout?s[n._settings.dimension]=e+"px":(s[n._settings.dimension]=Math.min(n._measurements.trackLength,Math.max(0,n._measurements.trackLength-e))+"px",s[t]=e+"px"),i){const e=n.value;delete n._valueBeforeCoercion,n._numericProcessor.updateToolTipAndValue(a,e,r)}}_updateTooltipValue(e){const t=this;void 0===e&&(e=t.value),t.logarithmicScale&&(e=Math.pow(10,e.toString())),e=t._formatLabel(e),t.$.tooltipContent.innerHTML=e,t.$.thumbLabel.innerHTML=e}_getSize(e,t){const a=this,i=window.getComputedStyle(a),r=window.getComputedStyle(a.$.track),n=a._trackSize+parseFloat(r[t.marginA])+parseFloat(r[t.marginB]);let s,o,l,c,d,m,u;function _(e,t){const a=e.getElementsByClassName("smart-label");s=a[0],o=a[a.length-1];const i=window.getComputedStyle(a[0])[t];l+=parseFloat(i)}switch(l=n,a.scalePosition){case"none":return l+=parseFloat(i[t.paddingA])+parseFloat(i[t.paddingB]),c=void 0!==a._tankSizeBeforeOrientation?"horizontal"===a.orientation?a._tankSizeBeforeOrientation.height:a._tankSizeBeforeOrientation.width:"horizontal"===a.orientation?parseFloat(r.width):parseFloat(r.height),!0!==a._trackChanged&&(a._trackChanged=!0),{optimalSize:l,optimalOtherSize:c};case"near":l+=e,_(a.$.scaleNear,t.nearScaleDistance);break;case"far":l+=e,_(a.$.scaleFar,t.farScaleDistance);break;case"both":l+=2*e,_(a.$.scaleNear,t.nearScaleDistance),_(a.$.scaleFar,t.farScaleDistance)}return l+=parseFloat(i[t.paddingA])+parseFloat(i[t.paddingB]),d=s.getBoundingClientRect(),m=o.getBoundingClientRect(),c=a[t.offset],u=d[t.distance]+s[t.offset]-m[t.distance],u>0&&(c=s[t.offset]+o[t.offset]),{optimalSize:l,optimalOtherSize:c}}_getRange(){const e=this;e.logarithmicScale?e._range=e._drawMax-e._drawMin:"floatingPoint"===e.scaleType?e._range=(e._drawMax-e._drawMin).toString():e._range=new Smart.Utilities.BigNumber(e._drawMax).subtract(e._drawMin).toString()}_getTrackStartAndEnd(){const e=this;let t,a=e.$.track.getBoundingClientRect();if("horizontal"===e.orientation){const e=document.body.scrollLeft||document.documentElement.scrollLeft;t=a.left+e}else{const e=document.body.scrollTop||document.documentElement.scrollTop;t=a.top+e}const i=t+e._measurements.trackLength,r=i-t;e._trackStart=t,e._trackEnd=i,e._valuePerPx=e._numericProcessor.getValuePerPx(e._range,r)}_updateScaleWidth(e){const t=this;let a="track"===t.ticksPosition?4:12;switch(t.labelsVisibility){case"all":e=t._numericProcessor._longestLabelSize;break;case"endPoints":e=Math.max(t._tickIntervalHandler.labelsSize.minLabelOtherSize,t._tickIntervalHandler.labelsSize.maxLabelOtherSize);break;case"none":e=0}let i=a+e,r=window.getComputedStyle(t.$.track);if(Boolean(r.getPropertyValue("--smart-tank-scale-size")))t.$.container.style.setProperty("--smart-tank-scale-size",i+"px");else{const e=window.getComputedStyle(t),a=t.$.scaleNear.style,n=t.$.scaleFar.style,s=t.$.track.style,o=parseFloat(r.getPropertyValue("min-width"));let l,c,d,m,u,_=(parseFloat(r.getPropertyValue("outline-width"))||0)+(parseFloat(r.getPropertyValue("outline-offset"))||0);switch(t.orientation){case"horizontal":l="height",c="width",d=t.offsetHeight,u=parseFloat(e.getPropertyValue("padding-top"))+parseFloat(e.getPropertyValue("padding-bottom")),m=parseFloat(r.getPropertyValue("margin-top"))+parseFloat(r.getPropertyValue("margin-bottom"));break;case"vertical":l="width",c="height",d=t.offsetWidth,u=parseFloat(e.getPropertyValue("padding-left"))+parseFloat(e.getPropertyValue("padding-right")),m=parseFloat(r.getPropertyValue("margin-left"))+parseFloat(r.getPropertyValue("margin-right"))}switch(t.scalePosition){case"near":a.setProperty(l,i+"px"),s.setProperty(l,Math.max(isNaN?0:o,d-u-i-4-m-_)+"px");break;case"far":n.setProperty(l,i+"px"),s.setProperty(l,Math.max(isNaN?0:o,d-u-i-4-m-_)+"px");break;case"both":a.setProperty(l,i+"px"),n.setProperty(l,i+"px"),s.setProperty(l,Math.max(isNaN?0:o,d-u-2*i-4-m-_)+"px");break;case"none":s.setProperty(l,"")}s.setProperty(c,"100%"),a.setProperty(c,"100%"),n.setProperty(c,"100%")}}_appendTicksAndLabelsToScales(e,t){const a=this;function i(i){i.innerHTML=t,"scale"===a.ticksPosition&&(i.innerHTML+=e)}switch(a.scalePosition){case"near":i(a.$.scaleNear);break;case"far":i(a.$.scaleFar);break;case"both":i(a.$.scaleNear),i(a.$.scaleFar)}"track"===a.ticksPosition&&(a.$.trackTicksContainer.innerHTML=e)}_discardDecimalSeparator(e,t){if(void 0===t&&(t=this.decimalSeparator),"."!==t){let a=new RegExp(t,"g");return"string"==typeof e?e.replace(a,"."):e.toString().replace(a,".")}return e}_applyDecimalSeparator(e){const t=this;return"string"!=typeof e&&(e=e.toString()),"."!==t.decimalSeparator&&(e=e.replace(/\./g,t.decimalSeparator)),e}_validate(e,t,a,i){const r=this;let n,s,o;r._programmaticValueIsSet=i&&"interaction"===r.validation,n=e?r.value:t,!0!==a&&r.coerce?(s=r._numericProcessor.createDescriptor(n,!0,!0,!0),s=r.logarithmicScale?Math.pow(10,r._numericProcessor.getCoercedValue(Math.log10(s))):r._numericProcessor.getCoercedValue(s),o=s):"strict"===r.validation||!e&&!r._programmaticValueIsSet?(s=r._numericProcessor.createDescriptor(n,!0,!0,!0),o=s):(s=r._numericProcessor.createDescriptor(n,!0,!0,!1),o=r._numericProcessor.validate(s,r._minObject,r._maxObject)),r._numericProcessor.regexScientificNotation.test(o)&&(o=r._numericProcessor.scientificToDecimal(o)),o=r._discardDecimalSeparator(o,r.decimalSeparator),e?(r._number=o,r._drawValue=r.logarithmicScale?Math.log10(o):o,"numeric"===r.mode?r.value=s.toString():(r._valueDate=Smart.Utilities.DateTime.fromFullTimeStamp(s),r.value=s),delete r._valueBeforeCoercion,r._moveThumbBasedOnValue(r._drawValue)):r._numericProcessor.updateValue(s),r._programmaticValueIsSet=!1}_changeScaleType(){const e=this;e._numericProcessor=new Smart.Utilities.NumericProcessor(e,"scaleType"),e._validateMinMax("both"),e._setTicksAndInterval(),e._scaleTypeChangedFlag=!0,e._validate(!0,e._number.toString()),e._scaleTypeChangedFlag=!1}_setTicksAndInterval(){const e=this;if(!e._isVisible()||e._renderingSuspended)return void(e._renderingSuspended=!0);let t=e._formatLabel(e.min),a=e._formatLabel(e.max);e._getRange(),e._tickIntervalHandler=new Smart.Utilities.TickIntervalHandler(e,t,a,"smart-label",e._settings.size,"integer"===e.scaleType,e.logarithmicScale),e._layout(),e.customInterval?("date"===e.mode&&e._calculateTickInterval(),e._intervalHasChanged=!0,e._numericProcessor.addCustomTicks()):(e._calculateTickInterval(),e._dateInterval?(e._intervalHasChanged=!0,e._numericProcessor.addCustomTicks()):e._numericProcessor.addTicksAndLabels())}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.removeAttribute("tabindex"):e.tabIndex=e.tabIndex>0?e.tabIndex:0}_keyIncrementDecrement(e,t){const a=this,i="add"===e?1:-1,r=void 0===t;if(r&&(t=a.logarithmicScale?new Smart.Utilities.BigNumber(a._drawValue):a._drawValue),a.customInterval&&a.coerce){let n,s;r&&(a.logarithmicScale&&(t=a.value),"numeric"===a.mode&&(t=t.toString())),"numeric"===a.mode?(n=-1!==a.customTicks.indexOf(a.min)?a.customTicks.slice(0):[a.min].concat(a.customTicks),s=n.indexOf(t)):(n=-1!==a.customTicks.findIndex((function(e){return 0===e.compare(a._drawMin)}))?a.customTicks.slice(0):[a._drawMin].concat(a.customTicks),s=n.findIndex((function(e){return 0===e.compare(t)})));const o=n[s+1*i];return void 0!==o?o:t===a.max&&"subtract"===e?n[n.length-2]:t}if("numeric"===a.mode){let i=a._numericProcessor.incrementDecrement(t,e,a._validInterval);return a.logarithmicScale&&(a._drawValue=i,i=Math.pow(10,Math.round(i))),i}return"interaction"!==a.validation||-1!==a._valueDate.compare(a._minDate)&&1!==a._valueDate.compare(a._maxDate)||(a._valueDate=Smart.Utilities.DateTime.fromFullTimeStamp(a._drawValue)),a._valueDate[a._dateIncrementMethod](i*parseFloat(a.interval),!1),a._drawValue=new Smart.Utilities.BigNumber(a._valueDate.getTimeStamp()),-1===a._drawValue.compare(a._drawMin)&&(a._drawValue=new Smart.Utilities.BigNumber(a._drawMin),a._valueDate=Smart.Utilities.DateTime.fromFullTimeStamp(a._drawValue)),1===a._drawValue.compare(a._drawMax)&&(a._drawValue=new Smart.Utilities.BigNumber(a._drawMax),a._valueDate=Smart.Utilities.DateTime.fromFullTimeStamp(a._drawValue)),a._drawValue}_keydownHandler(e){const t=this;if(t.disabled||t.readonly)return;const a=e.charCode?e.charCode:e.which;if(-1===[35,36,37,38,39,40].indexOf(a))return;const i=[35,38,39].indexOf(a)>-1,r=[36,37,40].indexOf(a)>-1;if(e.preventDefault(),"floatingPoint"===t.scaleType){if(parseFloat(t.value)<=parseFloat(t.min)&&r||parseFloat(t.value)>=parseFloat(t.max)&&i)return}else{let e=new Smart.Utilities.BigNumber(t._drawValue);if(1!==e.compare(t._drawMin)&&r||-1!==e.compare(t._drawMax)&&i)return}let n;switch(a){case 40:case 37:n=t._keyIncrementDecrement("subtract");break;case 38:case 39:n=t._keyIncrementDecrement("add");break;case 36:t._drawValue=t._drawMin,n=t.min;break;case 35:t._drawValue=t._drawMax,n=t.max}return t._validate(!1,n,a),!1}_setDrawVariables(){const e=this;e.logarithmicScale?(e._drawValue=Math.log10(e.value),e._drawMin=Math.log10(e.min),e._drawMax=Math.log10(e.max)):(e._drawValue=e.value,e._drawMin=e.min,e._drawMax=e.max)}_validateOnLogarithmicScale(e,t){const a=this;function i(e){return Math.pow(10,Math.round(Math.log10(e)-Math.log10(5.5)+.5))}if(e)if(a.min<=0)a.min=1,a._drawMin=0;else if(Math.log10(a.min)%1!=0){let e=i(parseFloat(a.min));e>a.min&&(e/=10),a._drawMin=Math.log10(a.min)}else a._drawMin=Math.log10(a.min);if(t)if(a.max<=0)a.max=1,a._drawMax=0;else if(Math.log10(a.max)%1!=0){let e=i(parseFloat(a.max));e<a.max&&(e*=10),a._drawMax=Math.log10(a.max)}else a._drawMax=Math.log10(a.max);"integer"===a.scaleType&&(a._drawMin<0&&(a._drawMin=0,a.min=1),a._drawMax<0&&(a._drawMax=1,a.max=10)),a._drawMax===a._drawMin&&(a._drawMax=a._drawMin+1)}_getLayoutType(){const e=this,t=e.orientation,a=e.inverted,i=e.rightToLeft;e._normalLayout="horizontal"===t&&(!a&&!i||i&&a)||"vertical"===t&&a}_trackOnMouseEnterHandler(){const e=this;e.readonly||e.disabled||(e.$track.addClass("track-hovered"),e.$.track.setAttribute("hover",""))}_trackOnMouseLeaveHandler(){const e=this;e.readonly||e.disabled||(e.$track.removeClass("track-hovered"),e.$.track.removeAttribute("hover"))}_isVisible(){const e=this;return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}_coerceCustomInterval(){const e=this;if(!e.coerce)return;const t=e._valueBeforeCoercion,a=e.logarithmicScale?Math.pow(10,e._numericProcessor.getCoercedValue(Math.log10(e.value))):e._numericProcessor.getCoercedValue(e.value);e._validate(!1,a,!0,!0),e._valueBeforeCoercion=t}_handleDateScale(){const e=this,t=Smart.Utilities.DateTime;t||e.error(e.localize("missingReference",{elementType:e.nodeName.toLowerCase(),files:"smart.date.js"})),e._customTicks=e.customTicks,e._unitToMethod={Y:"addSeconds",Z:"addMilliseconds",E:"addMicroseconds",P:"addNanoseconds",T:"addPicoseconds",G:"addFemtoseconds",M:"addAttoseconds",k:"addZeptoseconds"},e._minDate=t.validateDate(e.min),e.min=e._minDate.getTimeStamp(),e._maxDate=t.validateDate(e.max),e.max=e._maxDate.getTimeStamp(),e.rangeSlider||(e._valueDate=t.validateDate(e.value),e.value=e._valueDate.getTimeStamp()),e._properties.min.serialize="_serializeMin",e._properties.max.serialize="_serializeMax",e._properties.value.serialize="_serializeValue",e.scaleType="integer",e.logarithmicScale=!1,e.wordLength="uint64";const a=["min","max","value"];for(let t=0;t<a.length;t++){const i=a[t];Object.defineProperty(e,i,{get:function(){return e.context===e?e.properties[i].value:e["_"+i+"Date"]},set(t){e.updateProperty(e,e._properties[i],t)}})}e._getEventValue=function(t){return t?(e.setAttribute("aria-valuetext",e._valueDate.toString("f")),e.value.toString()):e._valueDate.clone()}}_serializeMin(){return this._minDate.toString()}_serializeMax(){return this._maxDate.toString()}_serializeValue(){return this._valueDate.toString()}_redefineProperty(e){const t=this;Object.defineProperty(t,e,{get:function(){return t.properties[e].value},set(a){function i(e,t){return t instanceof Smart.Utilities.BigNumber?t.toString():t}const r=t.properties[e].value;if(JSON.stringify(r,i)!==JSON.stringify(a,i)&&(t.properties[e].value=a,t.isReady&&(!t.ownerElement||t.ownerElement&&t.ownerElement.isReady)&&t.context!==t)){const i=t.context;t.context=t,t.propertyChangedHandler(e,r,a),t.context=i}}})}_setAriaValue(e){const t=this;"valuenow"===e?t.setAttribute("aria-valuenow",t._getEventValue(!0)):(t.setAttribute("aria-valuemin",t.min.toString()),t.setAttribute("aria-valuemax",t.max.toString()))}});
|
|
@@ -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-text-area",class extends Smart.Input{template(){return'<div id="inputContainer" role="presentation"><textarea class="smart-input" id=\'input\' readonly=\'[[readonly]]\' placeholder=\'[[placeholder]]\' name=\'[[name]]\' value=\'{{value::keyup}}\' disabled=\'[[disabled]]\' aria-label="[[placeholder]]"></textarea><span class="smart-hidden smart-hint" inner-h-t-m-l="[[hint]]" id="span"></span><div id="dropDownButton" tabindex=-1 class="smart-drop-down-button" role="button" aria-label="Toggle popup"><div id="arrow" class="arrow" aria-hidden="true"></div></div></div>'}render(){super.render(),this.classList.add("smart-input")}});
|
|
@@ -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-text-box",class extends Smart.ComboBox{static get properties(){return{autoFocus:{value:!1,type:"boolean"},autoComplete:{allowedValues:["none","manual","auto","inline"],type:"string",value:"manual"},displayMode:{value:"default",allowedValues:["default","escaped"],type:"string"},dropDownOpenMode:{allowedValues:["none","default","auto"],value:"default",type:"string"},enterKeyBehavior:{value:"submit",allowedValues:["submit","clearOnSubmit"],type:"string"},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"},required:{value:!1,type:"boolean"},requiredMessage:{value:"",type:"string"},selectAllOnFocus:{value:!1,type:"boolean"},selectionMode:{value:"zeroOrOne",allowedValues:["none","oneOrManyExtended","zeroOrMany","oneOrMany","zeroOrOne","one","checkBox","radioButton"],type:"string"},type:{value:"input",type:"string",defaultReflectToAttribute:!0,readonly:!0},value:{value:"",type:"string"}}}static get listeners(){return{"document.up":"_documentUpHandler",focus:"_focusHandler",keydown:"_keyDownHandler",mouseenter:"_mouseEventsHandler",mouseleave:"_mouseEventsHandler","input.blur":"_focusHandler","input.change":"_textBoxChangeHandler","input.focus":"_focusHandler","input.keyup":"_textBoxKeyUpHandler","input.paste":"_textBoxChangeHandler","input.select":"_textBoxSelectHandler","listBox.bindingComplete":"_bindingCompleteHandler"}}template(){return'<div id="container" role="presentation">\n <span id="label" inner-h-t-m-l="[[label]]" class="smart-label"></span>\n <div id="content" class="smart-content" role="presentation">\n <input class="smart-input" type="text" id="input"\n disabled="[[disabled]]"\n maxlength="[[maxLength]]"\n name="[[name]]"\n placeholder="[[placeholder]]"\n readonly="[[readonly]]"\n role="textbox"\n aria-label="[[placeholder]]"\n autocomplete="[[inputPurpose]]">\n <div id="autoCompleteString"></div>\n <div id="dropDownContainer" class="smart-drop-down smart-drop-down-container smart-visibility-hidden" role="presentation">\n <smart-list-box id="listBox"\n data-source="[[dataSource]]"\n unfocusable="true"\n disabled="[[disabled]]"\n display-loading-indicator="[[displayLoadingIndicator]]"\n display-member="[[displayMember]]"\n item-height="[[itemHeight]]"\n item-template="[[itemTemplate]]"\n item-measure-mode="[[itemMeasureMode]]"\n filter-callback="[[filterCallback]]"\n filter-mode="[[filterMode]]"\n loading-indicator-placeholder="[[loadingIndicatorPlaceholder]]"\n loading-indicator-position="[[loadingIndicatorPosition]]"\n placeholder="[[dropDownPlaceholder]]"\n readonly="[[readonly]]"\n right-to-left="[[rightToLeft]]"\n selection-mode="[[selectionMode]]"\n value-member="[[valueMember]]">\n <content></content>\n </smart-list-box>\n </div>\n </div>\n <span id="hint" class ="smart-hidden smart-hint"></span>\n </div>'}propertyChangedHandler(e,t,n){const l=this;switch(e){case"autoComplete":l.$.listBox._filteredItems&&l.$.listBox._filteredItems.length!==l.$.listBox._items.length&&super._autoComplete(!0),l._setAriaAutocomplete();break;case"dataSource":case"valueMember":l._clearSelection(),l._setDropDownSize(),l._positionDetection.checkBrowserBounds("vertically"),l._positionDetection.positionDropDown(),l._positionDetection.checkBrowserBounds("horizontally");break;case"displayMember":case"inputMember":{const e=l.$.listBox;if(e.selectedIndexes.length){const t=e._items[e.selectedIndexes[0]][l.inputMember];l.$.listBox.$.filterInput.value=t,l.$.input.value="escaped"===l.displayMode?l._toEscapedDisplayMode(t):l._toDefaultDisplayMode(t),l.set("value",l._toDefaultDisplayMode(l.$.input.value))}break}case"displayMode":l.$.input.value="escaped"===n?l._toEscapedDisplayMode(l.value):l.value=l._toDefaultDisplayMode(l.$.input.value);break;case"dropDownOpenMode":l._setFocusable(),l.$dropDownContainer.addClass("smart-visibility-hidden"),l.opened=!1;break;case"value":(l.$.input!==document.activeElement||l.$.input===document.activeElement&&l.$.input.value===l._oldValue)&&(l.$.input.value="escaped"===l.displayMode?l._toEscapedDisplayMode(l.value):l.value,l._oldValue=l._changingOldValue=t),l.value||l.clearSelection(),n.length>0?l.$.addClass("has-value"):l.$.removeClass("has-value");break;case"hint":if(null===n)return l.$.hint.innerHTML="",void l.$.removeClass("invalid");l._handleHintContainer();break;default:super.propertyChangedHandler(e,t,n)}}static get requires(){return{"Smart.ComboBox":"smart.combobox.js"}}static get styleUrls(){return["smart.textbox.css"]}open(){const e=this;0===e.$.listBox.items.length&&"function"!=typeof e.dataSource||"none"===e.autoComplete||(0===e.$.input.value.length&&e.$.listBox._filteredItems&&e.$.listBox._filteredItems.length!==e.$.listBox._items.length?super._autoComplete(!0):super.open())}close(){const e=this;super.close(),e.$.autoCompleteString.textContent="",e.$.listBox._focusedItem&&(e.$.listBox._focusedItem._focused=!1),"none"!==e.autoComplete&&e.$.input._filteredItems&&e.$.input._filteredItems[0]&&e.$.input._filteredItems[0]!==e.$.input.value&&super._autoComplete(!0)}cloneNode(){const e=this;let t=HTMLElement.prototype.cloneNode.apply(e,Array.prototype.slice.call(arguments,0,1));return e.$.listBox&&(t.dataSource=e.dataSource),t}focus(){this.$.input.focus()}_setFocusable(){const e=this;e.disabled||e.unfocusable?e.$.input.tabIndex=-1:e.$.input.removeAttribute("tabindex")}reset(){const e=this;"escaped"===e.displayMode?(e.value=e._initializationValue,e.$.input.value=e._toEscapedDisplayMode(e._initializationValue)):e.$.input.value=e.value=e._initializationValue,!e.value&&e.$.listBox&&e.clearSelection()}_bindingCompleteHandler(){const e=this;e.$.listBox&&e.isRendered&&(e._setDropDownSize(),e._positionDetection.checkBrowserBounds())}_createElement(){const e=this;e._browserIsIEorEdge=Smart.Utilities.Core.Browser.IE||Smart.Utilities.Core.Browser.Edge,e.value&&(e.$.input.value="escaped"===e.displayMode?e._toEscapedDisplayMode(e.value):e.value),e.autoFocus&&(e.$.input.focus(),e.selectAllOnFocus&&e.$.input.select()),e._setDropDownSize(),e._handleSelectedText(),e._setFocusable(),e._initializationValue=e._oldValue=e._changingOldValue=e.value,e.value.length>0?e.$.addClass("has-value"):e.$.removeClass("has-value"),e._handleHintContainer(),e._setAriaRelations()}_focusHandler(e){const t=this;if(e.target===t&&t.hasAttribute("tabindex")&&(t.$.input.tabIndex=t.disabled||t.unfocusable?-1:t.tabIndex,t.removeAttribute("tabindex")),"blur"===e.type){if(t._isDropDownClicked||e.target===t)return;if(t.removeAttribute("focus"),t.$.autoCompleteString.textContent="",t.value.length>0?t.$.addClass("has-value"):t.$.removeClass("has-value"),("auto"===t.autoComplete||"inline"===t.autoComplete)&&t.$.input.value.length>0&&t.$.listBox._focusedItem&&t.$.listBox._focusedItem._focused){const e=t.$.listBox._focusedItem[t.inputMember];t.$.input.value="escaped"===t.displayMode?t._toEscapedDisplayMode(e):t._toDefaultDisplayMode(e),t.set("value",t._toDefaultDisplayMode(e))}return t._preventDropDownClose||t.close(),t._oldValue!==t.value&&(t.$.fireEvent("change",{oldValue:t._oldValue,value:t.value}),t._updateTargetValue()),void t.$.fireEvent("blur")}t.disabled||(t.setAttribute("focus",""),t._oldValue=t._changingOldValue=t.value,t.selectAllOnFocus&&t.$.input.select(),e.target===t&&t.$.input.focus(),!1!==t._canFireFocus&&(t._canFireFocus=!1,t.$.fireEvent("focus"),t._canFireFocus=!0))}_handlePointerInEscapedSymbol(e){const t=this;if("escaped"!==t.displayMode)return;let n=t.$.input.selectionStart,l=t.$.input.selectionEnd,a=t.$.input.value;if("\\"===a[n-1]&&a[n].match(/n|r|s|t|f/g)){if(n===l){let l="next"===e?1:-1;return t.$.input.selectionStart=n+l,void(t.$.input.selectionEnd=n+l)}t.$.input.selectionStart=n-1,"\\"===a[l-1]&&a[l].match(/n|r|s|t|f/g)&&(t.$.input.selectionEnd=l+1)}}_handleSelectedText(){const e=this;null===e.selectionStart||null===e.selectionEnd||e.selectionStart===e.selectionEnd||e.selectAllOnFocus||(e.selectionStart=e.selectionStart<0?0:e.selectionStart,e.selectionEnd=e.selectionEnd>e.value.length?e.value.length:e.selectionEnd,e.$.input.setSelectionRange(e.selectionStart,e.selectionEnd))}_handleHintContainer(){const e=this;if(!e.hint)return;const t=e.$.hint;if("function"==typeof e.hint){const n=e.value;e.hint(n,t)?e.$.addClass("invalid"):e.$.removeClass("invalid")}else"string"==typeof e.hint&&(t.innerHTML=e.hint,e.$.removeClass("invalid"),e.hint.length>0&&!e.classList.contains("outlined")&&!e.classList.contains("underlined")&&t.classList.remove("smart-hidden"))}_keyDownHandler(e){const t=this;switch(t._showAutoCompleteHighlighter=!1,e.key){case"ArrowUp":case"ArrowDown":if(e.altKey)return e.preventDefault(),void("ArrowDown"===e.key?t.open():t.close());if(t.opened){if(e.preventDefault(),t.$.listBox._handleKeyStrokes(e.key),"inline"!==t.autoComplete)break;t._showAutoCompleteHighlighter=!0,super._updateAutoCompleteHelper()}break;case"PageUp":case"PageDown":e.preventDefault(),t.$.input.selectionStart=t.$.input.selectionEnd="PageUp"===e.key?0:t.$.input.value.length;break;case"Enter":{const e="function"==typeof t.$.listBox._focusedItem?t.$.listBox._focusedItem():t.$.listBox._focusedItem;if(t.opened&&e&&e._focused&&(t.$.listBox.$.filterInput.value=e[t.inputMember],t.$.input.value="escaped"===t.displayMode?t._toEscapedDisplayMode(e[t.inputMember]):t._toDefaultDisplayMode(e[t.inputMember]),t.select(e),t.close()),"default"!==t.enterKeyBehavior){const e=t.$.input.value;t._oldValue!==e&&(t.close(),t.$.fireEvent("change",{oldValue:t._oldValue,value:e,type:"submit"}),t._updateTargetValue(),"clearOnSubmit"===t.enterKeyBehavior&&(Smart.MaskedTextBox&&t instanceof Smart.MaskedTextBox?(t._cleanMask(),t._setMaskToInput(),t.$.input.selectionStart=t.$.input.selectionEnd=0):t.$.input.value=""),t._oldValue=t._changingOldValue=t.value=t._toDefaultDisplayMode(t.$.input.value)),t._submitted=!0}break}case"Escape":if(t.$.dropDownContainer&&t.close(),t._closedFromKeyCombination=!0,"none"===t.escKeyMode)return;switch(t.escKeyMode){case"none":break;case"clearValue":t.value=t.$.input.value="";break;case"previousValue":t.$.input.value="escaped"===t.displayMode?t._toEscapedDisplayMode(t._oldValue):t._oldValue}break;case" ":"escaped"===t.displayMode&&function(n){let l=t.$.input.selectionStart,a=t.$.input.selectionEnd,o=t.$.input.value;e.preventDefault(),o=o.substring(0,l)+n+o.substring(a,o.length),t.value=t._toDefaultDisplayMode(o),t.$.input.value=o,t.$.input.selectionStart=t.$.input.selectionEnd=l+2}("\\s");break;case"Backspace":if("escaped"===t.displayMode&&t.$.input.selectionStart===t.$.input.selectionEnd){let e=t.$.input.selectionStart;"\\"!==t.$.input.value[e-2]||"s"!==t.$.input.value[e-1]&&"n"!==t.$.input.value[e-1]||(t.$.input.value=t.$.input.value.substring(0,e-2)+t.$.input.value.substring(e-2,t.$.input.value.length),t.$.input.selectionStart=e-2)}}}_keyUpHandler(e){const t=this;if(!t.disabled&&"Escape"!==e.key&&e.target!==t.$.listBox.$.filterInput&&(e.target===t.$.input&&"oneOrManyExtended"===t.selectionMode&&(t.$.listBox._keysPressed[e.key]=!1),t.$.input)){const e=t.$.input.value;t._changingOldValue!==e&&(t.$.fireEvent("changing",{oldValue:t._changingOldValue,value:e}),t._updateTargetValue()),t._changingOldValue=e}}_listBoxItemClickHandler(e){const t=this,n=e.detail;if(super._listBoxItemClickHandler(e),n.selected){if("escaped"===t.displayMode){const e=t.$.input.value;t.value=t._toDefaultDisplayMode(e),t.$.input.value=e}else t.value=t.$.input.value;t._oldValue!==t.value&&(t.$.fireEvent("change",{oldValue:t._oldValue,value:t.value}),t._updateTargetValue(),t.$.input.focus())}}_submitKeyUpHandler(){const e=this;e._submitted&&("clearOnSubmit"===e.enterKeyBehavior&&(e.$.input.selectionStart=e.$.input.selectionEnd=0),e._submitted=!1)}_textBoxKeyUpHandler(e){const t=this;if(t.disabled||e.altKey||e.ctrlKey)return;if("escaped"===t.displayMode){const e=t.$.input.value;t.value=t._toDefaultDisplayMode(t.$.input.value),t.$.input.value=e}else t.value=t.$.input.value;let n;if(1===t.$.listBox.selectedIndexes.length&&(n=t.$.listBox.getItem(t.$.listBox.selectedValues[0]),t.value!==n[t.inputMember]&&t.unselect(n)),t._showAutoCompleteHighlighter||(t.$.autoCompleteString.textContent=""),"Alt"===e.key||"Control"===e.key||!t.opened&&"Escape"===e.key||"Enter"===e.key)t._closedFromKeyCombination=!1;else if(e.key&&e.key.indexOf("Arrow")>-1)t._handlePointerInEscapedSymbol("ArrowRight"===e.key?"next":void 0);else{if("none"!==t.autoComplete&&(t.$.input.value.length>0||"auto"===t.dropDownOpenMode)){const e=super._autoComplete.bind(t);if(t._autoCompleteTimer&&clearTimeout(t._autoCompleteTimer),0===t.$.listBox._items.length&&"function"!=typeof t.dataSource)return void t.close();t._autoCompleteTimer=setTimeout((function(){e(!0)}),t.autoCompleteDelay)}else t.close();"Enter"===e.key&&t.value!=t.value&&t._browserIsIEorEdge&&(t.value=t.$.input.value,t.$.fireEvent("change",{oldValue:t._oldValue,value:t.value}),t._updateTargetValue())}}_listBoxChangeHandler(e){const t=this;if(e.stopPropagation(),e.detail.selected){const n=t.$.listBox._items[e.detail.index];let l="";n&&(l=n[t.inputMember]),t.$.listBox.$.filterInput.value=l,t.$.input.value="escaped"===t.displayMode?t._toEscapedDisplayMode(l):t._toDefaultDisplayMode(l),t.set("value",t._toDefaultDisplayMode(t.$.input.value))}"none"!==t.autoComplete&&"function"!=typeof t.dataSource&&t._autoComplete(!0)}_mouseEventsHandler(e){"mouseenter"===e.type?this.setAttribute("hover",""):this.removeAttribute("hover")}_textBoxChangeHandler(e){const t=this;if(e.stopPropagation(),"escaped"===t.displayMode){const n=t.$.input.value,l=t.$.input.selectionStart,a=t.$.input.selectionEnd,o=e.clipboardData||e.originalEvent&&e.originalEvent.clipboardData||window.clipboardData;if(o){let n=o.getData("text"),i=t.$.input.value;e.preventDefault(),n=t._toEscapedDisplayMode(n),t.$.input.value=i.substring(0,l)+n+i.substring(a,i.length)}t.value=t._toDefaultDisplayMode(t.$.input.value),t.$.input.value=n}else t.value=t.$.input.value;t._handleHintContainer()}_textBoxSelectHandler(){const e=this;e.disabled||(e.selectionStart=e.$.input.selectionStart,e.selectionEnd=e.$.input.selectionEnd)}_toEscapedDisplayMode(e){const t=[{key:/\r\n|\n\r|\n|\r/g,value:"\\n"},{key:/\s/g,value:"\\s"},{key:/\n/g,value:"\\n"},{key:/\t/g,value:"\\t"},{key:/\f/g,value:"\\f"},{key:/\r/g,value:"\\r"}];for(let n=0;n<t.length;n++)e=e.replace(t[n].key,t[n].value);return e}_toDefaultDisplayMode(e){e||(e="");const t=[{key:/\\s/g,value:" "},{key:/\\n/g,value:"\n"},{key:/\\t/g,value:"\t"},{key:/\\f/g,value:"\f"},{key:/\\r/g,value:"\r"}];for(let n=0;n<t.length;n++)e=e.replace(t[n].key,t[n].value);return e}_documentDownHandler(e){const t=this;if(t.disabled||t.readonly)return;let n=e.originalEvent.target;if(t.enableShadowDOM)if(n=e.originalEvent.composedPath()[0],null===t._dropDownParent)t._isDropDownClicked=n.closest(".smart-drop-down-container")===t.$.dropDownContainer;else{let e=n.getRootNode().host;e&&e.closest(".smart-drop-down-container")===t.$.dropDownContainer&&(t._isDropDownClicked=!0)}else t._isDropDownClicked=n.closest(".smart-drop-down-container")===t.$.dropDownContainer;(e.originalEvent.target.closest("smart-list-item")||t._isDropDownClicked)&&(t._preventDropDownClose=!0)}_documentMoveHandler(){}_documentUpHandler(e){const t=this;if(t.disabled)return;let n=t.enableShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if(n)if("escaped"===t.displayMode&&n===t.$.input&&t._handlePointerInEscapedSymbol(),t._isDropDownClicked||t.readonly)delete t._isDropDownClicked;else if(n!==t.$.input||"auto"!==t.dropDownOpenMode){for(;n;){if(n instanceof Smart.ListItem&&n.ownerListBox===t.$.listBox){if(n.unselectable||n.disabled)return;return"escaped"===t.displayMode?t.$.input.value=t._toEscapedDisplayMode(n[t.inputMember]):t.$.input.value=t._toDefaultDisplayMode(n[t.inputMember]),t.value=t.$.input.value,t.$.fireEvent("change",{oldValue:t._oldValue,value:t.value,type:"submit"}),t._updateTargetValue(),t._oldValue=t._changingOldValue=t.value,"clearOnSubmit"===t.enterKeyBehavior&&(t.$.input.value=t.value=""),super._autoComplete(!0),t.close(),n="item",void t.$.input.focus()}if(n===t.$.listBox)return void(n="listBox");n=n.parentElement}"listBox"===n||"item"===n||t.close()}else super._autoComplete(!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("TickIntervalHandler",class{constructor(e,t,i,a,l,s,n){const r=this;r.context=e,r.minLabel=t,r.maxLabel=i,r.labelClass=a,r.dimension=l,r.logarithmic=n,e.customInterval?e.customTicks.length>0?r.labelsSize=r.getCustomTicksLabelSize():r.labelsSize={minLabelSize:0,minLabelOtherSize:0,maxLabelSize:0,maxLabelOtherSize:0}:r.labelsSize=r.getMinAndMaxLabelSize(),s?(r.getNiceInterval=r.getNiceIntervalInteger,r.getPossibleBiggerLabel=r.getPossibleBiggerLabelInteger):(r.getNiceInterval=r.getNiceIntervalFloatingPoint,r.getPossibleBiggerLabel=r.getPossibleBiggerLabelFloatingPoint)}getInterval(e,t,i,a){const l=this.context,s=l._measurements.innerRadius;let n,r,o=1;"radial"===e?(n=Math.max(this.labelsSize.minLabelSize,this.labelsSize.minLabelOtherSize,this.labelsSize.maxLabelSize,this.labelsSize.maxLabelOtherSize),o=1.35):(n=Math.max(this.labelsSize.minLabelSize,this.labelsSize.maxLabelSize),o=1.45),n*=o,r="radial"===e?function(){let e=2*Math.PI*s*(Math.abs(l.startAngle-l.endAngle)/360);return Math.round(e)}():l[this.dimension]-this.labelsSize.minLabelSize/2-this.labelsSize.maxLabelSize/2,r=Math.max(10,r);const m=Math.ceil(r/n),b="radial"===e?4*m:3*m;let h=this.getNiceInterval(t,i,m,!0),g=this.getNiceInterval(t,i,b);if(l._cachedLabelsSize=this.labelsSize,m>2&&!l.customInterval){const s=this.getPossibleBiggerLabel(m,h);if(s.length>Math.max(this.minLabel.length,this.maxLabel.length)){const n=this.minLabel;this.minLabel=s,this.labelsSize=this.getMinAndMaxLabelSize(),l._cachedLabelsSize=this.labelsSize;const r=this.getInterval(e,t,i,a);return this.minLabel=n,this.labelsSize=this.getMinAndMaxLabelSize(),r}}return{major:h,minor:g}}getNiceIntervalFloatingPoint(e,t,i,a){const l=t-e,s=Math.floor(Math.log10(l)-Math.log10(i));let n,r=Math.pow(10,s),o=i*r;n=l<2*o?1:l<3*o?2:l<7*o?5:10;let m=n*r;if(a&&this.context._range/m>i){switch(n){case 5:n=10;break;case 2:n=5;break;case 1:n=2}m=n*r}return this.nearestPowerOfTen=r,this.logarithmic&&a?Math.max(1,m):m}getPossibleBiggerLabelFloatingPoint(e,t){const i=this.context;let a,l,s=parseFloat(i.min-i._numericProcessor.getPreciseModulo(parseFloat(i.min),t)+parseFloat(t)),n=s;this.logarithmic&&(s=Math.pow(10,s)),a=i._formatLabel(s);for(let s=1;s<e&&(n+=t,!(n>=i._drawMax));s++)l=this.logarithmic?Math.pow(10,n):n,l=i._formatLabel(l),l.length>a.length&&(a=l);return a}getNiceIntervalInteger(e,t,i,a){const l=new Smart.Utilities.BigNumber(t).subtract(new Smart.Utilities.BigNumber(e)),s=Math.floor(Math.log10(l.toString())-Math.log10(i)),n=new Smart.Utilities.BigNumber(10).pow(new Smart.Utilities.BigNumber(s)),r=new Smart.Utilities.BigNumber(i).multiply(n);let o;o=-1===l.compare(new Smart.Utilities.BigNumber(2*r))?1:-1===l.compare(new Smart.Utilities.BigNumber(3*r))?2:-1===l.compare(new Smart.Utilities.BigNumber(7*r))?5:10;let m=new Smart.Utilities.BigNumber(o).multiply(n);if(a&&1===new Smart.Utilities.BigNumber(this.context._range).divide(m).compare(i)){switch(o){case 5:o=10;break;case 2:o=5;break;case 1:o=2}m=new Smart.Utilities.BigNumber(o).multiply(n)}return-1===m.compare(1)&&(m=new Smart.Utilities.BigNumber(1)),this.nearestPowerOfTen=n,m}getPossibleBiggerLabelInteger(e,t){const i=this.context,a=new Smart.Utilities.BigNumber(10);let l,s,n=new Smart.Utilities.BigNumber(i.min).subtract(new Smart.Utilities.BigNumber(i.min).mod(t)).add(t),r=n;this.logarithmic&&(n=a.pow(n)),l=i._formatLabel(n);for(let n=1;n<e&&(r=r.add(t),-1===r.compare(i._drawMax));n++)s=this.logarithmic?a.pow(r):r,s=i._formatLabel(s),s.length>l.length&&(l=s);return l}getMinAndMaxLabelSize(){const e=this,t=e.context,i=t.$.container,a=document.createElement("span");a.className=e.labelClass,a.style.position="absolute",a.style.visibility="hidden",i.appendChild(a),a.innerHTML=e.minLabel;const l=a[e.dimension],s=a[t._settings.otherSize];a.innerHTML=e.maxLabel;const n=a[e.dimension],r=a[t._settings.otherSize];return i.removeChild(a),{minLabelSize:l,minLabelOtherSize:s,maxLabelSize:n,maxLabelOtherSize:r}}getCustomTicksLabelSize(){const e=this,t=e.context,i=t.$.container,a=document.createElement("span"),l=t.customTicks;a.className=e.labelClass,a.style.position="absolute",a.style.visibility="hidden",i.appendChild(a),a.innerHTML=t._formatLabel(l[0]);let s=a[e.dimension],n=a[t._settings.otherSize];for(let i=1;i<t.customTicks.length;i++){a.innerHTML=t._formatLabel(t.customTicks[i]);const l=a[e.dimension],r=a[t._settings.otherSize];l>s&&(s=l),r>n&&(n=r)}return i.removeChild(a),{minLabelSize:s,minLabelOtherSize:n,maxLabelSize:s,maxLabelOtherSize:n}}});
|
|
@@ -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-time-box",class extends Smart.BaseElement{static get properties(){return{messages:{value:{en:{hours:"Hours",minutes:"Minutes",am:"am",pm:"pm"}},type:"object",extend:!0},value:{type:"array",value:[0,0]}}}static get listeners(){return{click:"_changeHandler"}}render(){const e=this,t=document.createElement("div");e.tabindex=-1,t.innerHTML='\n <div class="hour-selection smart-calendar-week" role="row"><div class="header" role="rowheader"></div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="0">12</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="1">01</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="2">02</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="3">03</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="4">04</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="5">05</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="6">06</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="7">07</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="8">08</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="9">09</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="10">10</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="11">11</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="12" pm>12</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="13" pm>01</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="14" pm>02</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="15" pm>03</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="16" pm>04</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="17" pm>05</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="18" pm>06</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="19" pm>07</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="20" pm>08</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="21" pm>09</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="22" pm>10</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="23" pm>11</div>\n </div>\n <div class="minute-selection smart-calendar-week" role="row"><div class="header" role="rowheader"></div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="0">00</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="5">05</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="10">10</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="15">15</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="20">20</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="25">25</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="30">30</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="35">35</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="40">40</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="45">45</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="50">50</div>\n <div class="smart-calendar-cell" role="gridcell" aria-selected="false" value="55">55</div>\n </div>',t.classList.add("smart-timepicker","smart-calendar"),t.setAttribute("role","grid"),e.$.content.appendChild(t),Smart.Utilities.Core.isMobile||(t.onmouseover=function(e){const t=e.target.closest(".smart-calendar-cell");t&&t.setAttribute("hover","")},t.onmouseout=function(e){const t=e.target.closest(".smart-calendar-cell");t&&t.removeAttribute("hover")}),e._timepicker=t;const l=e._timepicker.querySelector(".hour-selection"),a=e._timepicker.querySelector(".minute-selection");l.setAttribute("am-label",e.localize("am")),l.setAttribute("pm-label",e.localize("pm")),l.querySelector(".header").textContent=e.localize("hours"),a.querySelector(".header").textContent=e.localize("minutes"),Array.from(e._timepicker.querySelectorAll("div[selected]")).map((e=>{e.removeAttribute("selected"),e.setAttribute("aria-selected",!1)}));const r=e._timepicker.querySelectorAll(`.hour-selection div[value="${e.value[0]}"], .minute-selection div[value="${e.value[1]}"]`);for(let e=0;e<r.length;e++){const t=r[e];t&&(t.setAttribute("selected",!0),t.setAttribute("aria-selected",!0))}}_changeHandler(e){const t=this;let l=e.target;if(!l)return;if(!l.classList.contains("smart-calendar-cell"))return;l.closest(".hour-selection")?Array.from(t._timepicker.querySelectorAll(".hour-selection div[selected]")).map((e=>{e.removeAttribute("selected"),e.setAttribute("aria-selected",!1)})):Array.from(t._timepicker.querySelectorAll(".minute-selection div[selected]")).map((e=>{e.removeAttribute("selected"),e.setAttribute("aria-selected",!1)})),l.setAttribute("selected",!0),l.setAttribute("aria-selected",!0);const a=t._timepicker.querySelector(".hour-selection div[selected]"),r=a?parseInt(a.getAttribute("value")):0,i=t._timepicker.querySelector(".minute-selection div[selected]"),s=i?parseInt(i.getAttribute("value")):0;t.value=[r,s]}_setValue(e,t){const l=this;if(isNaN(e)&&(e=0),isNaN(t)&&(t=0),!l._timepicker)return;Array.from(l._timepicker.querySelectorAll(".hour-selection div[selected]")).map((e=>{e.removeAttribute("selected"),e.setAttribute("aria-selected",!1)})),Array.from(l._timepicker.querySelectorAll(".minute-selection div[selected]")).map((e=>{e.removeAttribute("selected"),e.setAttribute("aria-selected",!1)}));const a=l._timepicker.querySelector(`.hour-selection div[value="${e}"]`),r=l._timepicker.querySelector(`.minute-selection div[value="${t}"]`);a&&(a.setAttribute("selected",!0),a.setAttribute("aria-selected",!0)),r&&(r.setAttribute("selected",!0),r.setAttribute("aria-selected",!0)),l.value=[e,t]}propertyChangedHandler(e,t,l){const a=this;switch(e){case"value":a._setValue(l[0],l[1]);break;case"locale":{const e=a._timepicker.querySelector(".hour-selection"),t=a._timepicker.querySelector(".minute-selection");e.setAttribute("am-label",a.localize("am")),e.setAttribute("pm-label",a.localize("pm")),e.querySelector(".header").textContent=a.localize("hours"),t.querySelector(".header").textContent=a.localize("minutes");break}}}}),Smart("smart-time-input",class extends Smart.Input{static get properties(){return{dropDownButtonPosition:{allowedValues:["none","left","right"],value:"right",defaultReflectToAttribute:!0,type:"string"},dropDownHeight:{type:"any",value:"auto"},messages:{value:{en:{hours:"Hours",minutes:"Minutes",am:"am",pm:"pm"}},type:"object",extend:!0},placeholder:{value:"hh:mm",type:"string"},dateTimeFormat:{type:"object",value:{hour:"2-digit",minute:"2-digit"}},value:{type:"any",value:""}}}template(){return'<div id="inputContainer" role="presentation"><input class="smart-input" id=\'input\' readonly=\'[[readonly]]\' placeholder=\'[[placeholder]]\' type=\'[[type]]\' name=\'[[name]]\' disabled=\'[[disabled]]\' aria-label="[[placeholder]]" /><span class="smart-hidden smart-hint" id="span">[[hint]]</span><div id="dropDownButton" tabindex=-1 class="smart-drop-down-button" role="button" aria-label="Toggle popup"><div id="arrow" class="arrow" aria-hidden="true"></div></div></div>'}static get listeners(){return{"input.change":"_changeHandler","input.focus":"_focusHandler","input.blur":"_blurHandler","input.keydown":"_keyDownHandler","input.keyup":"_keyUpHandler","input.keypress":"_keyPressHandler","dropDownButton.down":"_dropDownButtonDownHandler","inputContainer.down":"_downHandler","document.up":"_documentUpHandler"}}focus(){this.$.input.focus()}select(){const e=this;e.readonly?e.$.input.focus():e.$.input.select()}_documentUpHandler(e){const t=this,l=t.shadowRoot||t.isInShadowDOM?e.originalEvent.composedPath()[0]:e.originalEvent.target;if(t.contains(l))requestAnimationFrame((()=>{}));else{if(t.$.scrollView.contains(l.shadowParent||l))return t._isPointerDown&&(t._isPointerDown=!1,t.opened&&(t._preventLookup=!0),t.$.input.focus()),void e.preventDefault();t.opened&&(t._preventLookup=!0),t._isPointerDown=!1,t.close()}}_changeHandler(e){e.stopPropagation(),this._performSelect()}_focusHandler(){const e=this;e.setAttribute("focus",""),(e.readonly||0!==e.minLength||0!==e.$.input.value.length||e._preventLookup)&&(e.$.fireEvent("focus"),delete e._preventLookup)}_blurHandler(){const e=this;if(e.opened||e.removeAttribute("focus"),e.$.fireEvent("blur"),e._popup&&e._popup.isCompleted)e._setInputValue(e._popup.value[0],e._popup.value[1]);else{const t=e._getInputValue();e._setInputValue(t[0],t[1])}delete e._preventLookup}_is12HourFormat(){const e=(new Date).toLocaleTimeString(this.locale,this.dateTimeFormat);return e.indexOf("A")>=0||e.indexOf("a")>=0||e.indexOf("P")>=0||e.indexOf("p")>=0}_getInputValue(){const e=this.$.input.value,t=this.$.input.value.split(":");if(t.length<2)return[0,0];let l=parseInt(t[0]),a=parseInt(t[1]);if(isNaN(l)&&(l=0),isNaN(a)&&(a=0),e.match(/\s(.*)$/)){const t=e.match(/\s(.*)$/)[1];"PM"===t&&l<12&&(l+=12),"AM"===t&&12===l&&(l-=12)}return[l,a]}_setInputValue(e,t){const l=this;let a=l.value&&l.value.slice?l.value.slice(0):[0,0];const r=new Date;isNaN(e)&&(e=0),isNaN(t)&&(t=0),e>24&&(e=0),t>59&&(t=0),r.setHours(e),r.setMinutes(t);const i=r.toLocaleTimeString(l.locale,l.dateTimeFormat),s=[e,t];l.$.input.value=i,l.value=[e,t],l.setAttribute("data-value",e+":"+t),a.some((e=>s.indexOf(e)<0))&&(l.$.fireEvent("change",{oldValue:a,value:s}),l._updateTargetValue())}_performSelect(){}_open(){const e=this,t=e.getBoundingClientRect(),l=window.scrollX,a=window.scrollY;let r=0,i=0;if(this.opened)return;if(e.timer&&clearTimeout(e.timer),document.body.appendChild(e.$.scrollView),e.setAttribute("aria-owns",e.$.scrollView.id),e.readonly||e.$.input.setAttribute("aria-controls",e.$.scrollView.id),e.$.scrollView.enableShadowDOM&&!e._importedStyle&&(e.$.scrollView.importStyle(e._getStyleUrl("smart.textbox.css")),e._importedStyle=!0),"static"!==getComputedStyle(document.body).position){const e=document.body.getBoundingClientRect();r=e.left,i=e.top}e.$.scrollView.style.setProperty("--smart-input-drop-down-menu-width",""),e.$.scrollView.style.left=-3+t.left+l-r+"px",e.$.scrollView.style.top=t.bottom+a-i+1+"px",e.$.scrollView.classList.remove("open"),e.$.scrollView.onpointerdown=function(){e._isPointerDown=!0};const s=e._popup,n=s.context;s.rightToLeft=e.rightToLeft,s.messages=e.messages,s.theme=e.theme,s.context=e,s.locale=e.locale,s.context=n,e._refreshPopup(),requestAnimationFrame((function(){e.$.scrollView.setAttribute("open",""),e.setAttribute("open",""),e.$.dropDownButton.setAttribute("open",""),e.$.input.setAttribute("open","")})),this.opened=!0}_refreshPopup(){const e=this._getInputValue();this._popup._setValue(e[0],e[1])}close(){const e=this;return!!e.opened&&(e.timer&&clearTimeout(e.timer),e.timer=setTimeout((function(){e.$.scrollView.parentNode&&!e.opened&&(document.body.removeChild(e.$.scrollView),e.removeAttribute("aria-owns"),e.readonly||e.$.input.removeAttribute("aria-controls"))}),1e3),e.$.scrollView.removeAttribute("open"),e.$.dropDownButton.removeAttribute("open"),e.$.input.removeAttribute("open"),e.removeAttribute("open"),e.opened=!1,!0)}_lookup(){}_downHandler(e){const t=this;t.readonly&&t._dropDownButtonDownHandler(e)}_dropDownButtonDownHandler(e){return this._toggle(),e.preventDefault(),e.stopPropagation(),e.originalEvent.preventDefault(),e.originalEvent.stopPropagation(),!1}_toggle(){const e=this;e.opened?e.close():e.open()}open(){const e=this;e._process(),e.$.input.focus(),setTimeout((function(){e.$.input.focus()}),25)}_process(){this._performSelect(void 0,!0),this._open()}_matcher(){}_sorter(){}_highlighter(){}_render(){}ensureVisible(){}_next(){}_prev(){}_move(e){e.stopPropagation()}_keyPressHandler(e){this._suppressKeyPressRepeat||e.shiftKey||e.altKey||e.ctrlKey}_insertKey(e,t=1){const l=this,a=l.$.input.selectionStart,r=l.$.input.value,i=r.substring(0,a),s=r.substring(a+t);l.$.input.value=i+e.key+s,l.$.input.selectionStart=l.$.input.selectionEnd=a+1}_keyDownHandler(e){const t=this;t._suppressKeyPressRepeat=![40,38,9,13,27,16,17,18].includes(e.keyCode);let l=!1;e.keyCode>=48&&e.keyCode<=57&&(l=!0),":"===e.key&&1===t.$.input.value.length&&(t.$.input.value="0"+t.$.input.value+":");const a=t.$.input.selectionEnd-t.$.input.selectionStart;switch(t.$.input.value.length>5&&l&&a<=1&&(t.$.input.value.indexOf(":")===t.$.input.selectionStart&&(t.$.input.selectionStart=t.$.input.selectionEnd=t.$.input.selectionStart+1),t._insertKey(e),e.preventDefault()),e.key){case"ArrowLeft":case"ArrowUp":case"ArrowDown":case"ArrowRight":case"Home":case"End":case"Delete":case"Backspace":case"Tab":l=!0}"Tab"===e.key&&t.close(),e.ctrlKey&&(l=!0),l||e.preventDefault(),e.shiftKey||e.altKey||e.ctrlKey}_keyUpHandler(e){const t=this,l=t.$.input.value.trim(),a=l.indexOf(":");2===l.length&&"Backspace"!==e.key&&"Delete"!==e.key?t.$.input.value=l+":":":"===e.key&&-1===a?t._insertKey(e,0):":"===e.key&&a>=0&&(t.$.input.selectionStart=t.$.input.selectionEnd=a+1);const r=l.split(":"),i=t._is12HourFormat();if(2===r.length&&i&&("p"===e.key||"a"===e.key)){let a=parseInt(parseInt(r[0])),i=parseInt(parseInt(r[1]));isNaN(a)&&(a=0),isNaN(i)&&(i=0);let s=l.match(/\s(.*)$/);if(!s)return;s=l.match(/\s(.*)$/)[1],"PM"===s&&a<12&&(a+=12),"AM"===s&&12===a&&(a-=12);const n=l.indexOf("a")>=0||l.indexOf("A")>=0;if("p"===e.key&&n)a+=12;else{if("a"!==e.key||n)return;a-=12}const o=t.$.input.selectionStart;t._setInputValue(a,i),t.$.input.selectionStart=o,t.$.input.selectionEnd=o}if(2===r.length&&(t.value=t._getInputValue()),t._refreshPopup(),!e.shiftKey)switch(e.keyCode){case 40:case 38:case 16:case 17:case 18:40===e.keyCode&&e.altKey&&t.open(),38===e.keyCode&&e.altKey&&t.close();break;case 27:if(!t.opened)return;t.close(),e.stopPropagation(),e.preventDefault()}}propertyChangedHandler(e,t,l){const a=this;switch(e){case"value":if("string"==typeof l)a.$.input.value=l;else if(l instanceof Date)a._setInputValue(l.getHours(),l.getMinutes());else if(Array.isArray(l))a._setInputValue(l[0],l[1]);else{a.$.input.value=l;const e=a._getInputValue();a._setInputValue(e[0],e[1])}break;case"month":case"min":case"max":a.$.calendar&&(a.$.calendar[e]=l);break;case"theme":case"rightToLeft":case"animation":case"inverted":a.$.calendar&&(a.$.calendar[e]=l),l?a.$.scrollView.setAttribute(Smart.Utilities.Core.toDash(e),"boolean"==typeof l?"":l):a.$.scrollView.removeAttribute(Smart.Utilities.Core.toDash(e));break;case"locale":a._performSelect(),a.$.calendar.locale=l;break;default:super.propertyChangedHandler(e,t,l)}}_createElement(){const e=this,t=document.createElement("div");if(t.classList.add("smart-input-drop-down-menu","smart-date-input-drop-down-menu"),t.setAttribute("animation",e.animation),t.setAttribute("role","presentation"),e.rightToLeft?t.setAttribute("right-to-left",""):t.removeAttribute("right-to-left"),e.inverted?t.setAttribute("inverted",""):t.removeAttribute("inverted"),t.onclick=function(l){l.stopPropagation(),l.preventDefault();const a=l.target;e.$.input.focus();const r=a.closest(".smart-timepicker-button");if(r){const e=t.querySelectorAll(".smart-timepicker-button");for(let t=0;t<e.length;t++)e[t].removeAttribute("selected");r.setAttribute("selected","")}else a.closest("smart-done-button")?e.close():a.closest(".smart-timepicker")&&e._popup&&e._setInputValue(e._popup.value[0],e._popup.value[1])},!t.id){const e=t.tagName.toLowerCase();t.id=e.slice(0,1).toLowerCase()+e.slice(1)+Math.floor(65536*(1+Math.random())).toString(16).substring(1)}e.$.scrollView=t,e.classList.add("smart-input");const l=document.createElement("smart-time-box");if(e._popup=l,t.appendChild(l),""===e.value&&(e.value=[0,0]),e.$.input.value=e.value.join(":"),e.value&&e.value.length>0){const t=e._getInputValue();e._setInputValue(t[0],t[1])}}setValue(e){this.value=e}getValue(){return this.value}getFormattedValue(){const e=this;if(!e.$.input)return"";if(e.value&&e.value.length>0){const t=e._getInputValue();e._setInputValue(t[0],t[1])}return e.$.input.value}_refreshMenu(){}_setAriaRelations(){const e=this,t=e.getAttribute("aria-label");e.readonly?(e.setAttribute("role","button"),!t&&e.placeholder&&e.setAttribute("aria-label",e.placeholder),e.removeAttribute("aria-readonly"),e.$.input.setAttribute("aria-hidden",!0),e.$.input.removeAttribute("aria-controls"),e.$.dropDownButton.setAttribute("aria-hidden",!0)):(e.setAttribute("role","presentation"),t&&t===e.placeholder&&e.removeAttribute("aria-label"),e.$.input.removeAttribute("aria-hidden"),e.$.dropDownButton.removeAttribute("aria-hidden")),e.setAttribute("aria-haspopup","dialog"),e.$.scrollView.setAttribute("role","dialog")}_setActiveDescendant(){}_setInputPurpose(){}});
|
|
@@ -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-time-picker",class extends Smart.BaseElement{static get properties(){return{autoSwitchToMinutes:{value:!1,type:"boolean"},footer:{value:!1,type:"boolean"},footerTemplate:{value:null,type:"any?"},format:{value:"12-hour",allowedValues:["12-hour","24-hour"],type:"string"},minuteInterval:{value:1,type:"number"},name:{value:"",type:"string"},selection:{value:"hour",allowedValues:["hour","minute"],type:"string"},value:{value:new Date,type:"any",reflectToAttribute:!1},view:{value:"portrait",allowedValues:["landscape","portrait"],type:"string"}}}static get listeners(){return{keydown:"_keydownHandler",resize:"_resizeHandler","header.click":"_headerClickHandler","picker.down":"_pickerDownHandler","picker.move":"_pickerMoveHandler","document.move":"_documentMoveHandler","document.up":"_documentUpHandler"}}static get requires(){return{"Smart.Utilities.NumericProcessor":"smart.numeric.js","Smart.Utilities.BigNumber":"smart.math.js","Smart.Utilities.Draw":"smart.draw.js"}}static get styleUrls(){return["smart.timepicker.css"]}template(){return'<div id="container" role="presentation">\n <div id="header" class="smart-header smart-unselectable" role="heading" aria-level="1">\n <div id="hourMinuteContainer" class="smart-hour-minute-container">\n <div id="hourContainer" class="smart-hour-container" role="button"></div>\n <div role="presentation">:</div>\n <div id="minuteContainer" class="smart-minute-container" role="button"></div>\n </div>\n <div id="ampmContainer" class="smart-am-pm-container" role="presentation">\n <div id="amContainer" class="smart-am-container" role="button">AM</div>\n <div id="pmContainer" class="smart-pm-container" role="button">PM</div>\n </div>\n </div>\n <div id="main" class="smart-main-container">\n <div id="svgContainer" class="smart-svg-container">\n <div id="picker" class="smart-svg-picker" role="slider"></div>\n </div>\n <div id="footer" class="smart-footer"></div>\n </div>\n <input id="hiddenInput" type="hidden" name="[[name]]">\n </div>'}ready(){super.ready()}render(){this._createElement(),super.render()}setHours(e){const t=this;(e=24===e?0:Math.max(0,Math.min(e,23)))<12?t._selectAmPm("am"):t._selectAmPm("pm"),"12-hour"===t.format&&(0===e?e=12:e>12&&(e-=12)),t._updateHours(e,arguments[1]),"hour"===t.selection&&(t._inInnerCircle="24-hour"===t.format&&(0===e||e>12),t._drawArrow(!0,e,arguments[2]),t.hasAnimation||(t._inInnerCircle=!1))}setMinutes(e){const t=this;e=60===e?0:Math.max(0,Math.min(e,59)),t._updateMinutes(e),"minute"===t.selection&&t._drawArrow(!0,e,arguments[1])}propertyChangedHandler(e,t,a){super.propertyChangedHandler(e,t,a);const r=this;switch(e){case"disabled":case"unfocusable":r._setFocusable();break;case"footer":case"view":r._resizeHandler();break;case"footerTemplate":r._validateFooterTemplate();break;case"format":{let e=r.value.getHours();"12-hour"===a?(r.$ampmContainer.removeClass("smart-hidden"),r.value.getHours()<12?r._selectAmPm("am"):r._selectAmPm("pm"),0===e?e=12:e>12&&(e-=12)):r.$ampmContainer.addClass("smart-hidden"),r.$.hourContainer.innerHTML=e,"hour"===r.selection&&(r.$.picker.setAttribute("aria-valuenow",e),r._draw.clear(),r._renderSVG());break}case"minuteInterval":{const e=Math.max(1,Math.min(a,60));e!==a&&(r.minuteInterval=e),"minute"===r.selection&&(r.interval=e);break}case"selection":"hour"===a?r._changeToHourSelection():r._changeToMinuteSelection();break;case"value":{r._oldValue=t,r._validateValue();const e=r.value.getHours()===t.getHours(),a=r.value.getMinutes()===t.getMinutes();e&&a||(a?r.setHours(r.value.getHours()):(e||r.setHours(r.value.getHours(),!0),r.setMinutes(r.value.getMinutes()))),delete r._oldValue;break}}}_applyInitialSettings(){const e=this,t=e.value;let a,r;a=t.getHours(),r=t.getMinutes(),"12-hour"===e.format?a<12?(e._ampm="am",e.$amContainer.addClass("smart-selected"),0===a&&(a=12)):(e._ampm="pm",e.$pmContainer.addClass("smart-selected"),a>12&&(a-=12)):e.$ampmContainer.addClass("smart-hidden"),r=r.toString(),1===r.length&&(r="0"+r),e.$.hourContainer.innerHTML=a,e.$.minuteContainer.innerHTML=r,"hour"===e.selection?(e.$hourContainer.addClass("smart-selected"),e.$.picker.setAttribute("aria-valuenow",a)):(e.$minuteContainer.addClass("smart-selected"),e.$.picker.setAttribute("aria-valuenow",r))}_changeSelection(e,t){const a=this,r=e.pageX,n=e.pageY,i=a._getCenterCoordinates(),s=Math.sqrt(Math.pow(i.x-r,2)+Math.pow(i.y-n,2));if(a._measurements.center=i,"down"===e.type){if(s>a._measurements.radius)return void e.stopPropagation();a._dragging=!0}"24-hour"===a.format&&"hour"===a.selection&&s<a._measurements.radius-50?a._inInnerCircle=!0:a._inInnerCircle=!1;let o=-1*Math.atan2(n-i.y,r-i.x)*180/Math.PI;o<0&&(o+=360),a._angle=o;let l=a._numericProcessor.getValueByAngle(a._angle);"hour"===a.selection?("24-hour"===a.format&&a._inInnerCircle?0!==l&&12!==l?l+=12:l=0:0===l&&(l=12),a._updateHours(l)):(60===l&&(l=0),a._updateMinutes(l)),void 0!==a._oldTimePart&&(cancelAnimationFrame(a._animationFrameId),delete a._animationFrameId,a._drawArrow(!0,l,t))}_changeToHourSelection(){const e=this,t=e._centralCircle.parentElement||e._centralCircle.parentNode;let a=e.value.getHours();cancelAnimationFrame(e._animationFrameId),delete e._animationFrameId,e.interval=1,e.$hourContainer.addClass("smart-selected"),e.$minuteContainer.removeClass("smart-selected"),t.removeChild(e._centralCircle),t.removeChild(e._arrow),t.removeChild(e._head),e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._draw.clear(),t.appendChild(e._centralCircle),t.appendChild(e._arrow),t.appendChild(e._head),e._renderHours(),"24-hour"===e.format&&(0===a||a>12)?e._inInnerCircle=!0:"12-hour"===e.format&&(a%=12,0===a&&(a=12)),e._drawArrow(!0,void 0,!0),e._inInnerCircle=!1,e.$.picker.firstElementChild.setAttribute("aria-hidden",!0),e.$.picker.setAttribute("aria-valuenow",a)}_changeToMinuteSelection(){const e=this,t=e._centralCircle.parentElement||e._centralCircle.parentNode;e._inInnerCircle=!1,cancelAnimationFrame(e._animationFrameId),delete e._animationFrameId,e.interval=e.minuteInterval,e.$hourContainer.removeClass("smart-selected"),e.$minuteContainer.addClass("smart-selected"),t.removeChild(e._centralCircle),t.removeChild(e._arrow),t.removeChild(e._head),e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._draw.clear(),t.appendChild(e._centralCircle),t.appendChild(e._arrow),t.appendChild(e._head),e._renderMinutes(),e._drawArrow(!0,void 0,!0),e.$.picker.firstElementChild.setAttribute("aria-hidden",!0),e.$.picker.setAttribute("aria-valuenow",e.value.getMinutes())}_computeArrowBodyPoints(e,t,a,r){const n=Math.sin(t),i=Math.cos(t),s=e-a*i+r*n,o=e+a*n+r*i,l=e+a*i+r*n,d=e-a*n+r*i,u="M "+(e+a*i)+","+(e-a*n)+" L "+(e-a*i)+","+(e+a*n)+" L "+s+","+o+" "+l+","+d;return this._headCenter={x:(s+l)/2,y:(o+d)/2},u}_createElement(){const e=this;e.setAttribute("role","dialog"),e.coerce=!0,e.min=0,e._drawMin="0",e.startAngle=-270,e.endAngle=90,e._angleDifference=e.endAngle-e.startAngle,e.ticksVisibility="none",e._tickIntervalHandler={},e._tickIntervalHandler.labelsSize={},e._distance={majorTickDistance:0,minorTickDistance:0,labelDistance:10},e._measurements={},e._validateInitialPropertyValues(),e._applyInitialSettings(),e._numericProcessor=new Smart.Utilities.DecimalNumericProcessor(e),e._draw=new Smart.Utilities.Draw(e.$.picker),e._isVisible()?(e._setPickerSize(),e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._renderSVG(),e._setFocusable(),e.$.hiddenInput.value=e.value,e.enableShadowDOM&&e.appendChild(e.$.hiddenInput)):e._renderingSuspended=!0}_documentMoveHandler(e){const t=this;t._dragging&&t._changeSelection(e,!0)}_documentUpHandler(){const e=this;e._dragging?(e._inInnerCircle=!1,e._dragging=!1,e.autoSwitchToMinutes&&"hour"===e.selection&&(e.hasAnimation?function t(){e._animationFrameId?requestAnimationFrame(t):(e.$picker.addClass("animate"),setTimeout((function(){e.selection="minute",e._changeToMinuteSelection()}),250),setTimeout((function(){e.$picker.removeClass("animate")}),550))}():(e.selection="minute",e._changeToMinuteSelection()))):e.hasAttribute("focus")&&(e.$.fireEvent("blur"),e.removeAttribute("focus"))}_drawArrow(e,t,a){const r=this,n="hour"===r.selection,i="12-hour"===r.format;let s,o,l=r._oldTimePart;if(delete r._oldTimePart,void 0===t&&(n?(t=r.value.getHours(),i&&t>12&&(t-=12)):t=r.value.getMinutes()),void 0===l||a||!r.hasAnimation)return void r._drawArrowSVG(e,t);if(n&&!i)return void r._animate24HourView(l,t);n?(s=.2,o=12,t%=o,l%=o):(s=1,o=60);let d=t-l,u=l-t;d<0&&(d+=o),u<0&&(u+=o),u<d&&(s*=-1),function a(){l+=s,l=parseFloat((l%o).toFixed(1)),l<0&&(l+=o),r._drawArrowSVG(e,l),e=!0,l!==t%o?r._animationFrameId=requestAnimationFrame(a):delete r._animationFrameId}()}_animate24HourView(e,t){const a=this;let r=.2;a._inInnerCircle=!1;const n=0===e||e>12,i=0===t||t>12;if(n!==i){if(e=n?Math.abs(e-12):(e+12)%24,a._inInnerCircle=i,a._drawArrowSVG(!0,e),e===t)return}else a._inInnerCircle=i;let s=e,o=t;a._inInnerCircle&&(0===o&&s<18?o=12:0===s&&o<18&&(s=12));let l=o-s,d=s-o;l<0&&(l+=12),d<0&&(d+=12),d<l&&(r*=-1),function n(i){a._inInnerCircle=i,i?((e=parseFloat((e+r).toFixed(1)))<0?e+=24:e<1&&(e+=12),12!==e&&24!==e||(e=0)):(12!==(e+=r)&&(e=parseFloat((e%12).toFixed(1))),e<=0&&(e+=12)),a._drawArrowSVG(!0,e),e!==t?a._animationFrameId=requestAnimationFrame((function(){n(i)})):(delete a._animationFrameId,a._inInnerCircle=!1)}(a._inInnerCircle)}_drawArrowSVG(e,t){const a=this,r=a._measurements,n=a._numericProcessor.getAngleByValue(t);let i;i=a._inInnerCircle?a._computeArrowBodyPoints(r.radius,n,1,r.innerRadius-a._largestLabelSize/2-45):a._computeArrowBodyPoints(r.radius,n,1,r.innerRadius-a._largestLabelSize/2),e?(a._arrow.setAttribute("d",i),a._head.setAttribute("cx",a._headCenter.x),a._head.setAttribute("cy",a._headCenter.y),a._head.setAttribute("r",a._largestLabelSize),a._headRect=a._head.getBoundingClientRect(),t%1==0&&a._highlightLabel(t)):(a._arrow=a._draw.path(i,{class:"smart-needle"}),a._head=a._draw.circle(a._headCenter.x,a._headCenter.y,a._largestLabelSize,{class:"smart-needle-central-circle"}),a._headRect=a._head.getBoundingClientRect())}_drawLabel(e,t,a){const r=this,n=r._measurements,i=n.radius,s={class:"smart-label smart-unselectable","font-size":n.fontSize,"font-family":n.fontFamily,"font-weight":n.fontWeight,"font-style":n.fontStyle};"hour"===r.selection?r._plotInnerCircle?t>0?t+=12:t="00":0===t&&(t=12):1===t.toString().length&&(t="0"+t);const o=r._draw.measureText(t,0,s),l=i-a-r._largestLabelSize/2,d=i+l*Math.sin(e),u=i+l*Math.cos(e);r._draw.text(t,Math.round(d)-o.width/2,Math.round(u)-o.height/2,o.width,o.height,0,s).setAttribute("value",parseFloat(t))}_getCenterCoordinates(){const e=this.$.picker.getBoundingClientRect(),t=this._measurements.radius,a=document.body.scrollLeft||document.documentElement.scrollLeft,r=document.body.scrollTop||document.documentElement.scrollTop;return{x:e.left+a+t,y:e.top+r+t}}_getMeasurements(){const e=this,t=e._measurements,a=document.createElement("div");let r,n,i,s,o,l;a.className="smart-label",a.style.position="absolute",a.style.visibility="hidden",e.$.svgContainer.appendChild(a),"hour"===e.selection?(r="1",n="23",e.max=12,e._drawMax="12",e._range=12):(r="00",n="55",e.max=60,e._drawMax="60",e._range=60),a.innerHTML=r,i=a.offsetWidth,o=a.offsetHeight,a.innerHTML=n,s=a.offsetWidth,l=a.offsetHeight,e._largestLabelSize=Math.max(i,o,s,l),e._tickIntervalHandler.labelsSize.minLabelSize=o,e._tickIntervalHandler.labelsSize.maxLabelSize=l;const d=window.getComputedStyle(a);t.fontSize=d.fontSize,t.fontFamily=d.fontFamily,t.fontWeight=d.fontWeight,t.fontStyle=d.fontStyle,e.$.svgContainer.removeChild(a)}_headerClickHandler(e){const t=this;if(!t.disabled&&!t.readonly)switch(e.target){case t.$.hourContainer:"hour"!==t.selection&&(t.selection="hour",t._changeToHourSelection());break;case t.$.minuteContainer:"minute"!==t.selection&&(t.selection="minute",t._changeToMinuteSelection());break;case t.$.amContainer:if(!t.$amContainer.hasClass("smart-selected")){t._selectAmPm("am");const e=new Date(t.value.getTime());t.value.setHours(t.value.getHours()-12),t.$.hiddenInput.value=t.value,t.$.fireEvent("change",{value:t.value,oldValue:e})}break;case t.$.pmContainer:if(!t.$pmContainer.hasClass("smart-selected")){t._selectAmPm("pm");const e=new Date(t.value.getTime());t.value.setHours(t.value.getHours()+12),t.$.hiddenInput.value=t.value,t.$.fireEvent("change",{value:t.value,oldValue:e})}}}_highlightLabel(e){const t=this;if(t._highlightedLabel){if(parseFloat(t._highlightedLabel.getAttribute("value"))===e)return;t._highlightedLabel.classList.remove("smart-selected"),t._highlightedLabel=void 0}let a;"hour"===t.selection?(void 0===e&&(e=t.value.getHours()),"12-hour"===t.format&&(0===e?e=12:e>12&&(e-=12)),a=e):(void 0===e&&(e=t.value.getMinutes()),a=5*Math.round(e/5),60===a&&(a=0));const r=t.$.picker.querySelector('.smart-label[value="'+a+'"]');r&&(a===e||t._overlapsLabel(r))&&(t._highlightedLabel=r,r.classList.add("smart-selected"))}_isVisible(){const e=this;return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)}_keydownHandler(e){const t=this;if(t._dragging)return;const a=(t.shadowRoot||t.getRootNode()).activeElement,r=e.key;if(!t.$.header.contains(a)||"Enter"!==r&&" "!==r){if(a===t.$.picker&&!e.altKey){let a;if("ArrowRight"===r||"ArrowUp"===r?a=1:"ArrowLeft"!==r&&"ArrowDown"!==r||(a=-1),a)if(e.preventDefault(),"hour"===t.selection){let e=t.value.getHours();0===e&&-1===a?e=23:23===e&&1===a?e=0:e+=a,"12-hour"===t.format&&(e>=12&&t.$amContainer.hasClass("smart-selected")?e-=12:e<12&&t.$pmContainer.hasClass("smart-selected")&&(e+=12)),t.setHours(e,void 0,!0)}else{let e=t.value.getMinutes();a*=t.minuteInterval,e+a>=60?e=0:e<-1*a?e=60%a==0?60+a:60-60%a:e+=a,t.setMinutes(e,!0)}}}else e.preventDefault(),t._headerClickHandler({target:a})}_overlapsLabel(e){const t=this,a=e.getBoundingClientRect();let r=t._headRect;return 0===r.height&&(r=t._headRect=t._head.getBoundingClientRect()),!(a.right-10<r.left||a.left+10>r.right||a.bottom-10<r.top||a.top+10>r.bottom)}_parseDateString(e,t){const a=e.indexOf("Date("),r=e.indexOf(")");let n=e;if(-1!==a&&-1!==r){if(n=e.slice(a+5,r),n=n.replace(/'/g,"").replace(/"/g,"").replace(/^\s+|\s+$|\s+(?=\s)/g,""),""===n.trim())return new Date;if(new RegExp(/(^(\d+)(\s*,\s*\d+)+$)/g).test(n))return n=n.replace(/\s/g,""),n=n.split(","),n.map((function(e,t){n[t]=parseInt(e)})),n.unshift(null),n=new(Function.prototype.bind.apply(Date,n)),n}if(""===n.trim())return t;if(!isNaN(n))return new Date(parseInt(n,10));try{n=new Date(n)}catch(e){n=t}return isNaN(n.getTime())?t:n}_pickerDownHandler(e){const t=this;t.disabled||t.readonly||!Smart.Utilities.Core.isMobile&&1!==e.which||(t._changeSelection(e),t.$.fireEvent("focus"),t.setAttribute("focus",""))}_pickerMoveHandler(e){"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}_renderHours(){const e=this;e._highlightedLabel=void 0,e._majorTicksInterval=1,e._numericProcessor.addGaugeTicksAndLabels(),"24-hour"===e.format?(e._plotInnerCircle=!0,e._distance.labelDistance=55,e._numericProcessor.addGaugeTicksAndLabels(),e._plotInnerCircle=!1,e._distance.labelDistance=10,e.$.picker.setAttribute("aria-valuemin",0),e.$.picker.setAttribute("aria-valuemax",23)):(e.$.picker.setAttribute("aria-valuemin",1),e.$.picker.setAttribute("aria-valuemax",12))}_renderMinutes(){const e=this;e._highlightedLabel=void 0,e._majorTicksInterval=5,e._numericProcessor.addGaugeTicksAndLabels(),e.$.picker.setAttribute("aria-valuemin",0),e.$.picker.setAttribute("aria-valuemax",59)}_renderSVG(){const e=this;if(e._isVisible()&&!e._renderingSuspended){if(e._centralCircle=e._draw.circle(e._measurements.radius,e._measurements.radius,4,{class:"smart-needle-central-circle"}),"hour"===e.selection&&"24-hour"===e.format&&(0===e.value.getHours()||e.value.getHours()>12)&&(e._inInnerCircle=!0),e._drawArrow(!1),e._inInnerCircle=!1,"hour"===e.selection){e.interval=1,e._renderHours();let t=e.value.getHours();"12-hour"===e.format&&t>12&&(t-=12),e._highlightLabel(t)}else e.interval=e.minuteInterval,e._renderMinutes(),e._highlightLabel(e.value.getMinutes());e.$.picker.firstElementChild.setAttribute("aria-hidden",!0)}else e._renderingSuspended=!0}refresh(){const e=this;let t=!1;e.isRendered&&(e._isVisible()?(e._renderingSuspended=!1,t=!0,e._getMeasurements(),e._numericProcessor.getAngleRangeCoefficient(),e._setPickerSize(),e._sizeChanged||t?(e._draw.clear(),e._renderSVG(),e._sizeChanged=!1):(e._headRect=e._head.getBoundingClientRect(),e._highlightLabel())):e._renderingSuspended=!0)}_resizeHandler(){this.refresh()}_selectAmPm(e){const t=this;"am"===e?(t._ampm="am",t.$pmContainer.removeClass("smart-selected"),t.$amContainer.addClass("smart-selected")):(t._ampm="pm",t.$amContainer.removeClass("smart-selected"),t.$pmContainer.addClass("smart-selected"))}_setFocusable(){const e=this;if(e.disabled||e.unfocusable)return e.$.hourContainer.removeAttribute("tabindex"),e.$.minuteContainer.removeAttribute("tabindex"),e.$.amContainer.removeAttribute("tabindex"),e.$.pmContainer.removeAttribute("tabindex"),void e.$.picker.removeAttribute("tabindex");const t=e.tabIndex>0?e.tabIndex:0;e.$.hourContainer.tabIndex=t,e.$.minuteContainer.tabIndex=t,e.$.amContainer.tabIndex=t,e.$.pmContainer.tabIndex=t,e.$.picker.tabIndex=t}_setPickerSize(){const e=this,t=e.$.svgContainer.offsetWidth,a=e.$.svgContainer.offsetHeight;let r=.9*Math.min(t,a);void 0!==e._pickerSize&&e._pickerSize!==r?e._sizeChanged=!0:e._sizeChanged=!1,e._pickerSize=r,e._measurements.radius=r/2,e._measurements.innerRadius=e._measurements.radius-10,r+="px",e.$.picker.style.width=r,e.$.picker.style.height=r}_updateHours(e,t){const a=this;let r=e;"12-hour"===a.format?"am"===a._ampm?12===r&&(r=0):r<12&&(r+=12):r=e;const n=void 0!==a._oldValue?a._oldValue:new Date(a.value.getTime()),i=n.getHours();r!==i?(a._oldTimePart=i,void 0===a._oldValue&&a.value.setHours(r),a.$.hourContainer.innerHTML=e,!0!==t&&(a.$.hiddenInput.value=a.value,a.$.fireEvent("change",{value:a.value,oldValue:n})),"hour"===a.selection&&a.$.picker.setAttribute("aria-valuenow",e)):delete a._oldTimePart}_updateMinutes(e){const t=this,a=void 0!==t._oldValue?t._oldValue:new Date(t.value.getTime()),r=a.getMinutes();e!==r?(t._oldTimePart=r,void 0===t._oldValue&&t.value.setMinutes(e),"minute"===t.selection&&t.$.picker.setAttribute("aria-valuenow",e),1===(e=e.toString()).length&&(e="0"+e),t.$.minuteContainer.innerHTML=e,t.$.hiddenInput.value=t.value,t.$.fireEvent("change",{value:t.value,oldValue:a})):delete t._oldTimePart}_validateFooterTemplate(){const e=this,t=e.footerTemplate;if(null===t)return void(e.$.footer.innerHTML="");let a;if(t instanceof HTMLTemplateElement?a=t:"string"==typeof t&&(a=document.getElementById(t),a instanceof HTMLTemplateElement||(a=void 0)),void 0===a)return e.footerTemplate=null,void(e.$.footer.innerHTML="");const r=document.importNode(a.content,!0);if(e.enableShadowDOM)return e.$.footer.innerHTML="<slot></slot>",void e.appendChild(r);e.$.footer.appendChild(r)}_validateInitialPropertyValues(){const e=this;e._validateFooterTemplate(),e.minuteInterval=Math.max(1,Math.min(e.minuteInterval,60)),e._validateValue()}_validateValue(){const e=this,t=e.value,a=void 0!==e._oldValue?this._oldValue:new Date;if(!(t instanceof Date))if("string"==typeof t){if(/^\d{1,2}:\d{1,2}$/.test(t)){const r=t.split(":");return void(e.value=new Date(a.getFullYear(),a.getMonth(),a.getDate(),parseFloat(r[0]),parseFloat(r[1])))}e.value=e._parseDateString(t,a)}else e.value=a}});
|
|
@@ -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-toast-item",class extends Smart.ContentElement{static get properties(){return{showCloseButton:{value:!1,type:"boolean"},iconClass:{value:null,type:"string?"},itemClass:{value:null,type:"string?"},opened:{value:!1,type:"boolean"}}}static get styleUrls(){return["smart.toast.css"]}template(){return'<div id="container" role="presentation">\n <div class="smart-toast-item-header">\n <span class="smart-toast-item-close-button" role="button" aria-label="Close"></span>\n </div>\n <div class="smart-toast-item-container" id="itemContainer">\n <span class="smart-toast-item-icon" role="presentation"></span>\n <span class="smart-toast-item-content" id="itemContent" inner-h-t-m-l="[[innerHTML]]">\n <content></content>\n </span>\n </div>\n </div>'}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n)}render(){const e=this,t=e.iconClass;e.setAttribute("role","alert"),e.itemClass&&(e.className+=" "+e.itemClass),e.$.itemContainer.firstElementChild.className+=" "+(t||"default"),super.render()}appendChild(e){const t=this;if(e){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)))}t.$.itemContent.appendChild(e)}else t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}refresh(){}insertBefore(e,t){const n=this;if(e){if(!n.isCompleted||e instanceof HTMLElement&&e.classList.contains("smart-resize-trigger-container")){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(n,e.concat(Array.prototype.slice.call(arguments)))}n.$.itemContent.insertBefore(e,t||null)}else n.error(n.localize("invalidNode",{elementType:n.nodeName.toLowerCase(),method:"insertBefore",node:"node"}))}removeChild(e){const t=this;if(e){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)))}t.$.itemContent.removeChild(e)}else t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}}),Smart("smart-toast",class extends Smart.ContentElement{static get properties(){return{appendTo:{value:null,type:"any"},autoClose:{value:!1,type:"boolean"},autoCloseDelay:{value:3e3,type:"number"},autoOpen:{value:!1,type:"boolean"},iconClass:{value:null,type:"string?"},itemClass:{value:null,type:"string?"},itemTemplate:{value:null,type:"string?"},modal:{value:!1,type:"boolean"},position:{allowedValues:["top-left","top-right","bottom-left","bottom-right"],value:"top-right",type:"string"},showCloseButton:{value:!1,type:"boolean"},type:{allowedValues:["info","warning","success","error","mail","time",null],value:"info",type:"string?"},value:{value:"",type:"any"}}}get enableShadowDOM(){return!1}template(){return""}propertyChangedHandler(e,t,n){const s=this;switch(e){case"value":{const e=s._instances[s._instances.length-1];e&&(n instanceof HTMLElement?e.appendChild(n):s.itemTemplate?e.innerHTML=s._handleItemTemplate(n)||n:(e.shadowRoot?e.shadowRoot:e).querySelector(".smart-toast-item-content").innerHTML=n);break}case"itemTemplate":{const e=s._instances[s._instances.length-1];e&&s.itemTemplate&&(e.innerHTML=s._handleItemTemplate(s.value)||s.value);break}case"appendTo":case"modal":case"position":s._handleContainers();break;case"rightToLeft":case"showCloseButton":case"type":s._instances&&s._instances.forEach((t=>{if(t[e]=n,"type"===e&&n){const e=t.querySelector(".smart-toast-item-icon");["info","warning","success","error","mail","time"].forEach((e=>{t.classList.remove(e)})),t.classList.add(n),e&&e.setAttribute("aria-label",n+" icon")}}));break;default:super.propertyChangedHandler(e,t,n)}}attached(){super.attached();const e=this,t=["TopLeft","TopRight","BottomLeft","BottomRight","Custom","Modal"];for(let n=0;n<t.length;n++){const s=e.$["toastContainer"+t[n]];s&&s.children.length&&("Custom"===t[n]?e._appendTo.appendChild(e._container):e.getShadowRootOrBody().appendChild(s))}}detached(){super.detached();const e=this,t=["TopLeft","TopRight","BottomLeft","BottomRight","Custom","Modal"];for(let n=0;n<t.length;n++){const s=e.$["toastContainer"+t[n]];s&&(e._removeContainerListeners(s),s.remove()),e.closeAll()}}ready(){super.ready()}render(){const e=this;if(!e.value||e.value instanceof HTMLElement){const t=e.querySelectorAll(".smart-element");if(t.length>0){for(let e=0;e<t.length;e++){const n=t[e],s=document.createElement(n.nodeName+"-clone");s.innerHTML=n.innerHTML,s.className=n.className,n.parentElement.insertBefore(s,n),n.remove()}const n=document.createElement("div");for(;e.childNodes.length;)n.appendChild(e.firstChild);e.value=n.innerHTML.replace(/-clone/gi,"")}else e.value=e.innerHTML}else e.innerHTML=e.value;e._instances=[],e.autoOpen&&e.open(),super.render()}closeAll(){const e=this,t=e._instances;if(t&&t.length)for(var n=e._instances.length-1;n>-1;n--)e._close(e._instances[n])}closeItem(e){const t=this;e&&0!==t._instances.length&&("string"==typeof e?e=document.getElementById(e):e instanceof HTMLElement&&(e=e.closest("smart-toast-item")),e&&-1!==t._instances.indexOf(e)&&t._close(e))}closeLast(){const e=this;e._instances.length>0&&e._close(e._instances[e._instances.length-1])}get items(){const e=this._instances;return this.isReady&&e&&e.length?e.slice():[]}toggle(){const e=this;void 0===e.opened&&(e.opened=!1,e.autoOpen&&(e.opened=!0)),e.opened=!e.opened,e.opened?e.open():e.closeAll()}open(e,t){const n=this;if(n.disabled)return;void 0===e&&(e=n.value),t||(t=n.type),n._handleContainers();let s=document.createElement("smart-toast-item");s.iconClass=n.iconClass,s.itemClass=n.itemClass,e instanceof HTMLElement?s.appendChild(e):s.innerHTML=n._handleItemTemplate(e)||e,s.rightToLeft=n.rightToLeft,s.theme=n.theme,s.animation=n.animation,s.showCloseButton=n.showCloseButton;for(let e=0;e<n.classList.length;e++)n.classList[e].indexOf("smart-")<0&&s.classList.add(n.classList[e]);if(n._container.appendChild(s),t){const e=s.querySelector(".smart-toast-item-icon");s.classList.add(t),e&&e.setAttribute("aria-label",t+" icon")}return s._parent=n._container,n._instances.push(s),n.hasAttribute("smart-blazor")?n.$.fireEvent("open",{instance:s.id||""}):n.$.fireEvent("open",{instance:s}),setTimeout((function(){s.opened=!0}),10),n.autoClose&&(s._autoCloseTimeout=setTimeout((function(){n._close(s)}),n.autoCloseDelay)),s}_containerClickHandler(e){const t=this,n=e.target.shadowRoot?e.composedPath()[0]:e.target,s=n.closest(".smart-toast-item-close-button"),o=(n.getRootNode().host||n).closest("smart-toast-item");n.closest('[data-dismiss="toast"]')&&(t.opened=!1,t._close(o)),s||o?(t.hasAttribute("smart-blazor")?t.$.fireEvent("itemClick",{instance:o.id||"",target:n.id||""}):t.$.fireEvent("itemClick",{instance:o,target:n}),s&&t._close(o)):t.modal&&t.closeAll()}_close(e){const t=this;function n(){clearTimeout(e._autoCloseTimeout),t.hasAttribute("smart-blazor")?t.$.fireEvent("close",{instance:e.id||""}):t.$.fireEvent("close",{instance:e}),e.parentNode&&e.parentNode.removeChild(e);const n=e._parent;n&&!n.children.length&&n.parentElement&&(t._removeContainerListeners(n),n.parentElement.removeChild(n))}if(t._instances.indexOf(e)>-1){const s=window.getComputedStyle(e,null).getPropertyValue("transition-duration");let o=s.indexOf("ms")>-1?parseInt(s):1e3*parseFloat(s);isNaN(o)&&(o=0),e.opened=!1,t._instances.splice(t._instances.indexOf(e),1),o?setTimeout(n,o):n()}}_handleContainers(){const e=this;let t;if("string"==typeof e.appendTo?t=document.getElementById(e.appendTo):e.appendTo instanceof HTMLElement&&(t=e.appendTo),e._container=e._getToastContainer(t),t)return e._appendTo=t,void(e._container.parentElement||(e._addContainerListeners(e._container),e._appendTo.appendChild(e._container)));t||!e.$.toastContainerCustom||e.$.toastContainerCustom.children.length||(e._removeContainerListeners(e.$.toastContainerCustom),e.$.toastContainerCustom.parentElement&&e.$.toastContainerCustom.parentElement.removeChild(e.$.toastContainerCustom)),e._container.parentElement||(e._addContainerListeners(e._container),e.getShadowRootOrBody().appendChild(e._container))}_addContainerListeners(e){const t=this;if(!e)return;const n=t["$"+e.getAttribute("smart-id")];n&&(n.listen("click",t._containerClickHandler.bind(t)),n.listen("swipeleft",t._swipeHandler.bind(t)),n.listen("swiperight",t._swipeHandler.bind(t)),n.listen("swipetop",t._swipeHandler.bind(t)),n.listen("swipebottom",t._swipeHandler.bind(t)))}_removeContainerListeners(e){if(!e)return;const t=this["$"+e.getAttribute("smart-id")];t&&(t.unlisten("click"),t.unlisten("swipeleft"),t.unlisten("swiperight"),t.unlisten("swipetop"),t.unlisten("swipebottom"))}_getToastContainer(e){const t=this;let n;e?n="Custom":t.modal?n="Modal":(n=Smart.Utilities.Core.toCamelCase(t.position),n=n.charAt(0).toUpperCase()+n.slice(1));const s="toastContainer"+n;if(!t.$[s]){let e=document.createElement("div");e.setAttribute("smart-id",s),e.classList.add("smart-toast-container"),e.classList.add("smart-toast-container-"+Smart.Utilities.Core.toDash(n)),t.$["toastContainer"+n]=e,t["$toastContainer"+n]=Smart.Utilities.Extend(e)}return t.$[s]}_handleItemTemplate(e){const t=this;let n=t.itemTemplate;if("content"in document.createElement("template")){if(e||(e=t.value),!n)return e;if(n=document.getElementById(n),null!==n&&"content"in n)return n.innerHTML.replace(/{{\w+}}/g,e);t.error(t.localize("invalidTemplate",{elementType:t.nodeName.toLowerCase(),property:"template"}))}else t.error(t.localize("htmlTemplateNotSuported",{elementType:t.nodeName.toLowerCase()}))}_swipeHandler(e){const t=this,n=e.originalEvent.target.closest("smart-toast-item");e.stopPropagation(),n&&(t.hasAttribute("smart-blazor")?t.$.fireEvent(e.type,{instance:n.id||""}):t.$.fireEvent(e.type,{instance:n}))}});
|
|
@@ -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-tooltip",class extends Smart.ContentElement{static get properties(){return{arrow:{value:!1,type:"boolean"},arrowDirection:{allowedValues:["bottom","top","left","right"],value:"bottom",type:"string"},align:{allowedValues:["left","center","right"],value:"center",type:"string"},delay:{value:0,type:"number"},messages:{extend:!0,value:{en:{invalidSelector:'{{elementType}}: "{{property}}" must be a String, an HTMLElement or null.',htmlTemplateNotSuported:"{{elementType}}: Browser doesn't support HTMLTemplate elements.",invalidTemplate:'{{elementType}}: "{{property}}" property accepts a string that must match the id of an HTMLTemplate element from the DOM.',invalidNode:'{{elementType}}: Invalid parameter "{{node}}" when calling {{method}}.'}},type:"object"},iframeRect:{value:null,type:"object?"},offset:{value:[],type:"array"},openMode:{allowedValues:["click","focus","hover","manual"],value:"hover",type:"string"},position:{allowedValues:["bottom","top","left","right","absolute","auto"],value:"top",type:"string"},selector:{value:null,type:"any?"},tooltipTemplate:{value:null,type:"any"},value:{value:"",type:"string",reflectToAttribute:!1},visible:{value:!1,type:"boolean"}}}static get styleUrls(){return["smart.tooltip.css"]}template(){return'<div id="container" role="presentation">\n <div id="content" class="smart-tooltip-content" inner-h-t-m-l="[[innerHTML]]" role="presentation">\n <content></content>\n </div>\n </div>'}propertyChangedHandler(e,t,n){super.propertyChangedHandler(e,t,n);const o=this;let l;switch(e){case"align":o._applyPosition(n);break;case"openMode":o.close(),o._handleEventListeners(t),o._handleResize();break;case"selector":o._oldOwnerElement=o._ownerElement,o._handleSelector(n,t),o._handleEventListeners();break;case"tooltipTemplate":o._handleTemplate(t);break;case"value":o.tooltipTemplate?o._handleTemplate():o.$.content.innerHTML=o.value;break;case"visible":l=n?"open":"close",o.$.fireEvent(l,{owner:o._ownerElement},o.isInShadowDOM?{composed:!0,bubbles:!0,cancelable:!0}:void 0);break;case"position":return void o._applyPosition(t)}o._applyPosition()}ready(){super.ready()}render(){const e=this;super.render(),e.getAttribute("role")||e.setAttribute("role","tooltip"),e._isParentPositionStatic="static"===window.getComputedStyle(e.parentElement||document.querySelector("body")).position,e._handleSelector(e.selector),e.visible&&e._applyPosition(),e._handleEventListeners(),e._handleResize(),e.value=e.$.content.innerHTML=e.value?e.value:e.innerHTML,e._handleTemplate()}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)))}e?(t.$.content.appendChild(e),t._applyPosition()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"appendChild",node:"node"}))}close(){const e=this;if(e._isOpening&&clearTimeout(e._isOpening),!e.visible)return;const t=e.isInShadowDOM?{composed:!0,bubbles:!0,cancelable:!0}:void 0;e.$.fireEvent("closing",{owner:e._ownerElement},t).defaultPrevented||(e.$.fireEvent("close",{owner:e._ownerElement},t),e.visible=!1)}clear(){const e=this.$.content;if(e)for(;e.childNodes.length;)e.removeChild(e.firstChild)}insertBefore(e,t){const n=this;if(!n.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(n,e.concat(Array.prototype.slice.call(arguments)))}e&&t?(n.$.content.insertBefore(e,t),n._applyPosition()):n.error(n.localize("invalidNode",{elementType:n.nodeName.toLowerCase(),method:"insertBefore",node:"newNode/referenceNode"}))}open(){const e=this;e.disabled||e.readonly||e.visible||(clearTimeout(e._isOpening),e._isOpening=setTimeout((function(){const t=e.isInShadowDOM?{composed:!0,bubbles:!0,cancelable:!0}:void 0;if(e.$.fireEvent("opening",{owner:e._ownerElement},t).defaultPrevented)return void clearTimeout(e._isOpening);e._applyPosition(),e.$.fireEvent("open",{owner:e._ownerElement},t);const n=e.context;e.context=e,e.visible=!0,e.context=n}),e.delay))}removeChild(e){const t=this;if(!t.isCompleted){const e=Array.prototype.slice.call(arguments,2);return HTMLElement.prototype.insertBefore.apply(t,e.concat(Array.prototype.slice.call(arguments)))}e?(t.$.content.removeChild(e),t._applyPosition()):t.error(t.localize("invalidNode",{elementType:t.nodeName.toLowerCase(),method:"removeChild",node:"node"}))}reposition(){const e=this;e.isRendered&&e._applyPosition()}toggle(){const e=this;e.visible?e.close():e.open()}_getDomElementPosition(e){let t=[],n=e.parentElement;for(;n&&"BODY"!==n.nodeName;)t.push(n),n=!this.enableShadowDOM||n.parentElement?n.parentElement:n.getRootNode().host;return t}_getElementAndOwnerRelation(e){const t=this._getDomElementPosition(e||this),n=t.length;let o=null;for(let e=0;e<n;e++)if("static"!==window.getComputedStyle(t[e]).getPropertyValue("position")){o=t[e];break}return o}_applyPosition(e){const t=this;if(!t._ownerElement)return;if(!t.parentElement)return;t._isParentPositionStatic="static"===window.getComputedStyle(t.parentElement).position;const n=t._ownerElement.getBoundingClientRect(),o=t.parentElement?t.parentElement.getBoundingClientRect():{top:0,left:0};let l,i;t.parentElement&&"BODY"===t.parentElement.nodeName.toUpperCase()?(l=n.top+window.scrollY,i=n.left+window.scrollX):(l=n.top-o.top,i=n.left-o.left);const r=t.position,s=t.iframeRect;let a,p={top:n.top,left:n.left,right:n.right,width:n.width,height:n.height,nonStaticParent:t._getElementAndOwnerRelation()};switch(s&&(p.top+=s.top,p.left+=s.left,p.right+=s.right),r){case"auto":case"bottom":case"top":case"left":case"right":{t.style.left="";const e=t["_position"+r.charAt(0).toUpperCase()+r.slice(1)](i,l,p);l=e.top,i=e.left,a=e.translate;break}case"absolute":e?(t.style.top=t.style.left="",l=i=0):(l=parseFloat(t.style.top),i=parseFloat(t.style.left))}const d=t.getAttribute("arrow-direction");a?t.$.container.style.setProperty("--smart-tooltip-arrow-translate",a+"px"):t.$.container.style.removeProperty("--smart-tooltip-arrow-translate"),void 0===l||isNaN(l)||(l+=("auto"===r&&"top"===d?-1:1)*parseInt(t.offset[1])||0,t.style.top=l+"px"),void 0===i||isNaN(i)||(i+=("auto"===r&&"left"===d?-1:1)*parseInt(t.offset[0])||0,t.style.left=i+"px")}_positionAuto(e,t,n){const o=this;let l,i,r=o.parentElement;for(;r;){if("hidden"===getComputedStyle(r).getPropertyValue("overflow")){l=r;break}r=r.parentElement}if(l)i=l.getBoundingClientRect();else{const e=document.scrollingElement;let t,n;document.scrollingElement?(t=e.offsetWidth,n=e.offsetHeight):(t=window.innerWidth,n=window.innerHeight),l=document.body,i={width:t,height:n,left:0,top:0,right:t,bottom:n}}const s=parseFloat(window.getComputedStyle(o).getPropertyValue("--smart-tooltip-arrow-width"))||0;let a=o._positionTop(e,t,n),p=n.nonStaticParent,d=o.offsetWidth/2-s,c=0,f=0,m=a.left,h=i.right-(m+f+o.offsetWidth),u=Math.min(0,h);if(m<=0&&h>0&&(m=Math.min(e,m+h)),u<=0&&(u=Math.sign(u)*(Math.abs(u)+i.right-(e+n.width))),p){const e=p.getBoundingClientRect();c=e.top,f=e.left}return a.top+c>=i.top?(m<=0&&(m=e),t=a.top,{left:e=Math.max(i.left-f,m+u),top:t,translate:Math.max(-d,Math.min(d,a.left-e))}):(a=o._positionBottom(e,t,n),a.top+o.offsetHeight+c<=i.bottom?(m=a.left,m<=0&&(m=e),t=a.top,{left:e=Math.max(i.left-f,m+u),top:t,translate:Math.max(-d,Math.min(d,a.left-e))}):(a=o._positionLeft(e,t,n),t=a.top,d=o.offsetHeight/2-s,t=Math.max(i.top-c,a.top+Math.min(0,i.bottom-(a.top+c+o.offsetHeight))),a.left+f>=i.left?e=a.left:(a=o._positionRight(e,t,n),e=a.left+o.offsetWidth+f<=i.right?a.left:i.right-o.offsetWidth),{left:e,top:t,translate:Math.max(-d,Math.min(d,a.top-t))}))}_getRelativeParentOffset(e){const t=this,n=t._ownerElement;let o=t._getElementAndOwnerRelation(n),l=0,i=0;if(!e)return{left:i,top:l};for(;e&&o&&e!==o;)l+=o.offsetTop,i+=o.offsetLeft,o=t._getElementAndOwnerRelation(o);return{left:i,top:l}}_positionTop(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);if(o.set("arrowDirection","bottom"),null===n.nonStaticParent)return t=n.top+window.scrollY-o.offsetHeight,{left:(e=o._getAlignmentOffset(n.left,o.offsetWidth,n.width)+window.scrollX)+l.left,top:t+l.top};if(o._isParentPositionStatic){if(t=o._ownerElement.offsetTop-o.offsetHeight,e=o._getAlignmentOffset(o._ownerElement.offsetLeft,o.offsetWidth,n.width),o._ownerElement instanceof SVGElement){const n=o._ownerElement.getBoundingClientRect(),l=o._ownerElement.parentNode.getBoundingClientRect();t=n.top-l.top-o.offsetHeight/2,e=o._getAlignmentOffset(n.left,o.offsetWidth,l.left)}return{left:e+l.left,top:t+l.top}}if(o._ownerElement instanceof SVGElement&&o._ownerElement.parentElement){const n=o._ownerElement.getBoundingClientRect(),i=o._ownerElement.parentNode.getBoundingClientRect();return t=n.top-i.top-o.offsetHeight,{left:(e=o._getAlignmentOffset(n.left-i.left,o.offsetWidth,n.width))+l.left,top:t+l.top}}return t-=o.offsetHeight,{left:(e=o._getAlignmentOffset(e,o.offsetWidth,n.width))+l.left,top:t+l.top}}_positionBottom(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);return o.set("arrowDirection","top"),null===n.nonStaticParent?(t=n.top+window.scrollY+n.height,{left:(e=o._getAlignmentOffset(n.left,o.offsetWidth,n.width)+window.scrollX)+l.left,top:t+l.top}):o._isParentPositionStatic?(t=o._ownerElement.offsetTop+n.height,{left:(e=o._getAlignmentOffset(o._ownerElement.offsetLeft,o.offsetWidth,n.width))+l.left,top:t+l.top}):(t+=n.height,{left:(e=o._getAlignmentOffset(e,o.offsetWidth,n.width))+l.left,top:t+l.top})}_getAlignmentOffset(e,t,n){switch(this.align){case"left":return e;case"right":return e-t+n;default:return e-t/2+n/2}}_positionLeft(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);return o.set("arrowDirection","right"),null===n.nonStaticParent?(t=n.top+window.scrollY+n.height/2-o.$.content.offsetHeight/2,{left:(e=n.left+window.scrollX-o.offsetWidth)+l.left,top:t+l.top}):o._isParentPositionStatic?(t=o._ownerElement.offsetTop+n.height/2-o.$.content.offsetHeight/2,{left:(e=o._ownerElement.offsetLeft-o.offsetWidth)+l.left,top:t+l.top}):(t=t+n.height/2-o.$.content.offsetHeight/2,{left:(e-=o.offsetWidth)+l.left,top:t+l.top})}_positionRight(e,t,n){const o=this,l=o._getRelativeParentOffset(n.nonStaticParent);return o.set("arrowDirection","left"),null===n.nonStaticParent?(t=n.top+window.scrollY+n.height/2-o.$.content.offsetHeight/2,{left:(e=n.left+window.scrollX+n.width)+l.left,top:t+l.top}):o._isParentPositionStatic?(t=o._ownerElement.offsetTop+n.height/2-o.$.content.offsetHeight/2,{left:(e=o._ownerElement.offsetLeft+n.width)+l.left,top:t+l.top}):(t=t+n.height/2-o.$.content.offsetHeight/2,{left:(e+=n.width)+l.left,top:t+l.top})}_eventsHandler(e){const t=this;t.disabled||t.readonly||("click"!==e.type?"mouseenter"===e.type||"focus"===e.type?this.open():this.close():t.visible?this.close():this.open())}_handleEventListeners(e){const t=this;if(t._oldOwnerElement&&"manual"!==t.openMode){let e=t._oldOwnerElement.getAttribute("aria-describedby");e&&"tooltip"===t.getAttribute("role")&&(e===t.id?t._oldOwnerElement.removeAttribute("aria-describedby"):(e=e.replace(" "+t.id,""),e=e.replace(t.id+" ",""),t._oldOwnerElement.setAttribute("aria-describedby",e))),t._oldOwnerElement.$.unlisten("mouseenter.tooltip"),t._oldOwnerElement.$.unlisten("mouseleave.tooltip"),t._oldOwnerElement.$.unlisten("focus.tooltip"),t._oldOwnerElement.$.unlisten("blur.tooltip"),t._oldOwnerElement.$.unlisten("click.tooltip"),t._oldOwnerElement=null}if(t._ownerElement){if(e)switch(e){case"hover":t._ownerElement.$.unlisten("mouseenter.tooltip"),t._ownerElement.$.unlisten("mouseleave.tooltip");break;case"focus":t._ownerElement.$.unlisten("focus.tooltip"),t._ownerElement.$.unlisten("blur.tooltip");break;case"click":t._ownerElement.$.unlisten("click.tooltip")}if("manual"!==t.openMode)switch(t._ownerElement instanceof Smart.BaseElement||(t._ownerElement.$=Smart.Utilities.Extend(t._ownerElement)),t.openMode){case"hover":t._ownerElement.$.listen("mouseenter.tooltip",t._eventsHandler.bind(t)),t._ownerElement.$.listen("mouseleave.tooltip",t._eventsHandler.bind(t));break;case"focus":t._ownerElement.$.listen("focus.tooltip",t._eventsHandler.bind(t)),t._ownerElement.$.listen("blur.tooltip",t._eventsHandler.bind(t));break;case"click":t._ownerElement.$.listen("click.tooltip",t._eventsHandler.bind(t))}}}_handleResize(){const e=this;function t(){e._applyPosition()}"click"===e.openMode?window.addEventListener("resize",t):window.removeEventListener("resize",t)}_handleSelector(e,t){const n=this;if(t&&t.removeAttribute&&t.removeAttribute("aria-describedby"),"string"==typeof e)n._ownerElement=e.length>0?document.getElementById(e):void 0;else if(e&&e.nodeType===Node.ELEMENT_NODE)n._ownerElement=e;else{if(null===e)return void(n._ownerElement=void 0);n.error(n.localize("invalidSelector",{elementType:n.nodeName.toLowerCase(),property:"selector"}))}if(!n._ownerElement||"tooltip"!==n.getAttribute("role"))return;if(!n.value)return;const o=n._ownerElement?n._ownerElement.getAttribute("aria-describedby"):null;o?o.indexOf(n.id)<0&&n._ownerElement.setAttribute("aria-describedby",o+" "+n.id):n._ownerElement.setAttribute("aria-describedby",n.id)}_handleTemplate(e){const t=this;let n=t.tooltipTemplate;if(e&&(t.$.content.innerHTML=t.value?t.value:""),null===n||!n)return;if("function"==typeof t.tooltipTemplate)return void t.tooltipTemplate(t.$.content,{value:t.value});if(!("content"in document.createElement("template")))return void t.error(t.localize("htmlTemplateNotSuported",{elementType:t.nodeName.toLowerCase()}));if(n=document.getElementById(n),null===n||!("content"in n))return void t.error(t.localize("invalidTemplate",{elementType:t.nodeName.toLowerCase(),property:"template"}));const o=n.content,l=o.childNodes.length,i=/{{\w+}}/g;let r,s=[];for(let e=0;e<l;e++)for(r=i.exec(o.childNodes[e].innerHTML);r;)s.push({childNodeIndex:e,bindingString:r[0]}),r=i.exec(o.childNodes[e].innerHTML);const a=s.length;let p,d,c=document.importNode(n.content,!0);for(let e=0;e<a;e++){p=c.childNodes[s[e].childNodeIndex],d=s.length;for(let n=0;n<d;n++)p.innerHTML=p.innerHTML.replace(s[e].bindingString,t.value)}t.$.content.innerHTML="";for(let e=0;e<c.childNodes.length;e++)c.childNodes[e].outerHTML&&(t.$.content.innerHTML+=c.childNodes[e].outerHTML)}}),function(){const e=()=>{const e=document.querySelectorAll('[data-toggle="tooltip"');if(e.length>0)for(let t=0;t<e.length;t++){if(!e[t].hasAttribute("data-title"))continue;const n=document.createElement("smart-tooltip");n.selector=e[t],n.innerHTML=e[t].getAttribute("data-title"),document.body.appendChild(n),e[t].hasAttribute("data-placement")&&(n.position=e[t].getAttribute("data-placement"))}};"complete"===document.readyState?e():(window.removeEventListener("load",e),window.addEventListener("load",e))}();
|